I bought a very cheap USB to RS485 dongle to connect to an experimental board of my own.
Specifications (may differ from the one I used but externally similar): - Any baud rate from 1200 bps to 115 kbps - Current: 100mA current at 5V DC taken from PC’s USB Port - Modes: RS-485 Half Duplex (2-wire) - Built in terminal resistor of 120R Ohm - The USB-RS485 cable is a USB to RS485 levels serial UART converter cable incorporating FTDI’s FT232RQ USB to serial UART interface IC device which handles all the USB signalling and protocols. The cable provides a fast, simple way to connect devices with a RS485 interface to USB.
- Any baud rate from 1200 bps to 115 kbps
- Current: 100mA current at 5V DC taken from PC’s USB Port
- Modes: RS-485 Half Duplex (2-wire)
- Built in terminal resistor of 120R Ohm
- Length of twisted pair cable maximum can be 1.2 Km (Kilometer) Maximum
- Cable type for optimal range: Two core, Twisted Pair Shielded type, D+ and D- (actualy A and B) should be twisted with each other to get optimal range
This dongle had only A and B outputs. No GND pin. My experimental board has its data input connected to the input of a schmitt trigger. In order to read the data with the schmitt trigger, I connected output B from the dongle to the schmitt trigger input (B line) and output A to the ground of my board.
Between the USB-to-RS485 B output and the schmitt trigger BUF1, there is a 470 ohms resistor R1, a schottky diode D1 from ground to the B lime, a 5V zener z1 between ground to the B line and a second resistor of 140 ohms R2.
Bit "0" were at 3.2V and bit "1" at 0V. I added the schottky diode from ground to erase a very short negative voltage drop at each falling edge between a "0" and a "1". The 5V zener diode is just elementary protection (just in case). The resistors help reduce noise, albeit not totally and increase protection. There is a lot of noise on the B line, but it worked perfectly. ...Until after a few test, the dongle started to heat and stop responding. The plastic cover even thermo-deformed. I transfered very short data, at the default baud rate of 19200. It wasn't used intensively.
Now I'm using a less cheap yet still quite cheap dongle which has a GND and a +5V pins on top of A and B. It works very well too. But I'm afraid it will be destroyed in the same way if I did a mistake.
I didn't try connecting USB ground to common ground because the voltage difference would not fit for detecting data with the schmitt trigger. On ouptu B, Bit "0" is at 5V relative to the USB ground and bit "1" is at 2.5V relative to USB ground. On output A Bit "0" is at 0V and bit "1" at 2.5V.
My question is: Did the very cheap dongle melt because it was very cheap or because I did a mistake in the circuit?