UART To RS-485 Interface / Pro Mini / LoRa Interface

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 มิ.ย. 2024
  • This video will describe how to use a UART to RS485 interface board in your project for reliable long distance communications. The board used is half duplex with auto Tx/Rx switching and over voltage/current protection.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 56

  • @HeadakusMaximus
    @HeadakusMaximus ปีที่แล้ว +1

    Damn! You hit this one out of the park. Clear, concise, covering - like a good solder job. :)

  • @bobvincent5921
    @bobvincent5921 4 ปีที่แล้ว +2

    Thanks, 40 years back I used four drums of twisted pair totaled of 200 meters and devised a floating supply to infect common mode pulses and of course it worked,nice!

  • @riazahmedis
    @riazahmedis 2 ปีที่แล้ว

    Fantastic, you solved my confusion about these ttl to 485 and data sending from 485 to LoRa. you are great. thank you.

  • @DavidSikesII
    @DavidSikesII ปีที่แล้ว

    Thank you very much for this overview, the information online is iffy for this board and this made it easy. Much appreciated!

    • @0033mer
      @0033mer  ปีที่แล้ว

      You're welcome. Glad it was helpful.

  • @sinewave3323
    @sinewave3323 4 ปีที่แล้ว +1

    Awesome video very interesting! I love how u made ur avatar the popukar 555 timer chip! Great idea!

  • @pileofstuff
    @pileofstuff 4 ปีที่แล้ว

    I've got one of those USB adapters coming on the slow boat. I have to try out that "long distance programming" trick when it gets here.
    Thanks for the idea!

    • @0033mer
      @0033mer  4 ปีที่แล้ว +2

      You can get them from DipMicro, a Canadian online store. www.dipmicro.com/store/USB485

    • @billiejean3748
      @billiejean3748 3 ปีที่แล้ว

      Unfortunately, i think you can't program the pro mini because of the missing dtr line that resets the mcu, which checks the presence and location of the bootloader from the burned fuses, then runs the bootloader, which listens on the serial line for incoming program data, and self-programs the flash, but dosen't overwrite the bootloader. I guess you could extend the reset pin to wherever you were programming from and hook up a switch but that method is error prone and highly timing sensitive. You'd have to hit the switch exactly when the IDE wants to begin the upload.

  • @noweare1
    @noweare1 4 ปีที่แล้ว

    Interesting tutorial, thanks

  • @jeffbeck6501
    @jeffbeck6501 2 ปีที่แล้ว

    You are awesome. Sadly, I was already subscribed.

  • @qzorn4440
    @qzorn4440 2 ปีที่แล้ว

    really well explained thank you 🤩

    • @0033mer
      @0033mer  2 ปีที่แล้ว

      You’re welcome! Thanks for the feedback

  • @boonedockjourneyman7979
    @boonedockjourneyman7979 4 ปีที่แล้ว

    Saved me a month of fooling around.

  • @R4Ve2202
    @R4Ve2202 4 ปีที่แล้ว +2

    Wich library did you use for programming? I want to read some holding registers of my ABB B23 energy meter and the most libraries for Arduino are using other MAX485 modules.

    • @545sytes
      @545sytes 2 ปีที่แล้ว

      Need Library and Example

  • @reeb8587
    @reeb8587 3 ปีที่แล้ว

    thanks man

    • @0033mer
      @0033mer  3 ปีที่แล้ว +1

      You're welcome!

  • @dandyfabian6961
    @dandyfabian6961 4 ปีที่แล้ว

    Hello, great explaination but I find my self some problem. When I tried to send a Data (ex : 01 03 00 00 00 00 A0 FF) the recieve data will be the same as the data that i send. Do you ever find this same problem?

  • @evertspies3345
    @evertspies3345 4 ปีที่แล้ว

    Interesting to see the potentials on the A and B terminals. Sometime ago while I was battling with an camera control circuit I came across this on the internet; Quote..The EIA RS-485 Specification labels the data wires "A" and "B", but many manufacturers label their wires "+" and "-". In our experience, the "-" wire should be connected to the "A" line, and the "+" wire to the "B" line. Reversing the polarity will not damage a 485 device, but it will not communicate... unquote. A bit confusing.

    • @0033mer
      @0033mer  4 ปีที่แล้ว +1

      Yes .. the true spec is A is "-" and B is "+" but vendors like TI and Maxim do the reverse. Some manufacturers use D- and D+ in their products. If you have two devices from the same manufacture I just match the two ends the same.

  • @klave8511
    @klave8511 4 ปีที่แล้ว +1

    I was wondering when you were going to mention the noise pickup from long lines that need the transient suppression. Snuck that in at the end. It may be better to go with isolated 485 for longer lines, especially up a tower where transients or lightning will couple into the twisted pair referenced to ground. You left out the direction selection for half duplex communication where the same lines do transmit and receive. Your module didn’t have that so I guess that was the reason but should really be part of any 485 discussion.
    Finally, where is the mandatory Forth code? I feel cheated now not seeing any 😊

    • @0033mer
      @0033mer  4 ปีที่แล้ว +4

      I try to keep my videos to 10 min max and as simple as possible as I primary make them for students at my maker club. Getting into full duplex 4 wire, repeater/isolators , ground wire vs no ground, multi-drop ... etc would take a few videos. The board I used has auto direction switching for half duplex. For tower work I use shielded cable with grounding kits and polyphasers on all lines. The board is very popular for tethered robotics. Forh code was left out as there is little interest which is sad as the kids I work with are doing some amazing things with it.

  • @steveolivier4504
    @steveolivier4504 2 ปีที่แล้ว

    how did you configured the transceiver for communication? just hooked it up and it automatically transmit?
    im trying to use this board the same way and it gives me all sort of issues

    • @0033mer
      @0033mer  2 ปีที่แล้ว

      This board has automatic flow control. When idle it is in receive mode. When you transmit it switches to transmit mode automatically. After the transmission, you have to wait for it to switch to receive mode before receiving data and the remote node must know to delay before it sends. If you want to switch manually there are other boards where you control the D DE and R RE lines.

  • @mark-ze4en
    @mark-ze4en 2 ปีที่แล้ว

    Are there any Audio applications using the RS485 to reduce data latency with DAW recording ?

    • @ReneKnuvers74rk
      @ReneKnuvers74rk ปีที่แล้ว

      That is no use. First RS485 does not reduce latency in any way. It is just to imunize transmission lines. And this is in no way helpful to improve transmission speeds or latency.
      That being said: RS485 is the underlying standard for AES3 aka AES/EBU digital audio transmission. As well as for DMX512 lighting control.

  • @ReneKnuvers74rk
    @ReneKnuvers74rk ปีที่แล้ว +1

    In your explanation you say the levels on A and B go between 5V and 0V. This is not necessarily the case. A 200mV difference is regarded enough. So pulling the lines all the way to GND and VCC should be kind of an edge case.

    • @0033mer
      @0033mer  ปีที่แล้ว +1

      Yes ... the receiver can detect a differential input signal down to 200 mv while the driver must have at least a minimum of 1.5 volts output to meet the RS485 spec. The explanation was to describe the working concept of a differential link. For more details the viewer can consult the datasheets.

  • @lostlife4631
    @lostlife4631 3 ปีที่แล้ว

    Thank you for this explaining, there is one question, can I convert USB-RS485 to USB-TTL serial connection?

    • @0033mer
      @0033mer  3 ปีที่แล้ว

      The module will convert the RS-485 output of a USB-RS485 interface to TTL serial.

    • @lostlife4631
      @lostlife4631 3 ปีที่แล้ว

      @@0033mer
      Please which module I shoud use to convert it, Do explain that in diagram.

  • @mumbaiverve2307
    @mumbaiverve2307 4 ปีที่แล้ว

    Hi there seems to be only Rx and Tx from the Arduino, any idea how the half duplex is switching Rx / Tx.

    • @0033mer
      @0033mer  4 ปีที่แล้ว

      When you send data to the module from the Arduino it sends it out the RS485 line. The module senses when transmission has stopped and switches to receive mode where the Arduino can receive data.

    • @mumbaiverve2307
      @mumbaiverve2307 4 ปีที่แล้ว

      @@0033mer Is the 8pin chip 555 timer ?

    • @0033mer
      @0033mer  4 ปีที่แล้ว

      @@mumbaiverve2307 No .. it is a RS485 transceiver IC.

  • @prebenpayne3184
    @prebenpayne3184 10 หลายเดือนก่อน

    I had a problem with this module not being able to communicate. I found the problem to be C2 being to small in value. After removing C2 and replacing with a 22nF, the module worked. I think the purpose of C2 is to keep the transmission running in one direction, but when there is a pause in the communication, C2 will charge up or down and prepare the module for either transmitting or receiving the next block of data

    • @0033mer
      @0033mer  10 หลายเดือนก่อน

      RS485 is half duplex so this board switches the Tx/Rx function automatically with a delay set by the capacitor. This board is made by many China vendors and I have seen different capacitor values used. My board capacitor value is .1uF ( 100 nF) which actually was too high and I had to use delays to get my system working properly. This is described in this video: th-cam.com/video/2YD3pNjR1nY/w-d-xo.html If timing is a problem you can get a UART to RS485 board where you control the RE and DE lines for Tx/Rx switching timing in software.

    • @prebenpayne3184
      @prebenpayne3184 10 หลายเดือนก่อน

      @@0033mer Thank you very much, I saw the video, interesting. Only one thing, can the A and B differential lines work without any ground connection?

    • @0033mer
      @0033mer  10 หลายเดือนก่อน

      That is a big question. If you polled 100 engineers you would get a split decision. In a "normal" point to point application no ground connection between the two nodes are needed. The ground potential difference (GPD) tolerated is +12/-7 volts. In a multi node system with high GPD if the grounds are connected together you can get high loop currents. A 100 ohm resistor from each nodes signal ground to the ground bus would limit any ground loop current. If this becomes a big problem an opto-isolated link would be the way to go. Just my opinion.

  • @jaounarak
    @jaounarak 3 ปีที่แล้ว

    How to the code in Promini

  • @ruben34
    @ruben34 2 ปีที่แล้ว

    I had a problem with this rs485 modules from aliexpress where I had lots of errors per second, and I fixed it by connecting the RS485 GND to the arduino GND, so, all of my devices on the bus had to have the same ground, which I wanted to avoid since it is a 500 meters installation and I wanted to avoid ground loops.
    Does anyone watching this had a similar problem?
    PS: the problem happened with all the 20 pcbs I had, so, maybe it's not a problem, and I'm just no using it properly, but I can't find datasheets or documentation on this product.

    • @K9-33
      @K9-33 2 ปีที่แล้ว

      Your RS485 link works on the bench with two wires (without GNDs connected) because the "ground" levels are at the same potential. On a long run the "ground" potentials could be different which will cause problems. If the grounds vary more than -7 to +12 volts you will need a ground wire between nodes. To solve the ground loop problem connect a 100 Ohm resistor from each node's ground to the common ground wire. If the problem still persist check out opto-isolated RS485 nodes.

  • @muhammadafifuddin2129
    @muhammadafifuddin2129 2 ปีที่แล้ว

    Hi, can i use the rs485-TTL converter to ESP32 dev kit?

    • @0033mer
      @0033mer  2 ปีที่แล้ว +2

      Any microcontroller that has an onboard UART.

  • @toan3931
    @toan3931 3 ปีที่แล้ว

    I buy a module uart to rs485 like you, but on this don't have name of 2 IC U1 and U2. What are U1, U2 name pls? I need them to read datasheet.

    • @0033mer
      @0033mer  3 ปีที่แล้ว

      U1 is 74HC14 and U2 is SN65176B

  • @ebeb9156
    @ebeb9156 2 ปีที่แล้ว

    What Arduino library sgould i use with this exact module? Stuck for a week with that 🤣

    • @0033mer
      @0033mer  2 ปีที่แล้ว

      No need for a library. Just use the serial.print statement.
      serial.print("Hello World")

    • @Ragavenutb
      @Ragavenutb 2 ปีที่แล้ว

      Depends upon the application your dealing with. Master or slave.

  • @carlos.galhano
    @carlos.galhano ปีที่แล้ว

    I can not understand the utility of this. You can send Data, but what type of Data? Send to where? I will appreciate an example.

    • @0033mer
      @0033mer  ปีที่แล้ว +1

      You can sent temperature data for frost alarm in farming applications.
      Water level flood alarm
      Mud slide alarm
      Wireless remote control .... etc
      th-cam.com/video/6NHL-avk8BU/w-d-xo.html
      th-cam.com/video/ysNILdPZ7hk/w-d-xo.html

  • @gingarrison104
    @gingarrison104 2 ปีที่แล้ว

    “接大地” another chip made in China

    • @karabgut
      @karabgut 2 ปีที่แล้ว

      what is its meaning I am wondering that do I have to use that port or not ?