0
\$\begingroup\$

All - I know variations of this have been asked, but I couldn't find one that seemed to address my application or situation and apologize in advance for any overlap

I have a board design used to control WS2811 pixels using an ESP32 MCU whose outputs are fed into a Max485 module as the transmitter and another module as the receiver. My RS485 network is only ever 1 transmitter and 1 receiver. I'm overheating to the point of damage the Max485 module after a couple of minutes of use. The signal coming out of the receiver is fantastic for several minutes, but then the transmitter overheats and dies. What's even more frustrating is that I've used this same design for months without issue and suddenly my Max485 modules are dropping like flies. The module even overheats if it isn't connected to a receiver.

The biggest delta I could see from what I'm doing and others' posts is that I'm taking my transmit max485 module's DE and RE direct to the 5V trace on my PCB rather than a pin on my MCU. However, the max485 module I'm using has the pullup/down 10 kohm resistor built onto it so I didn't think that would be a problem. I also only require one way communication, so the module near my MCU will always be the transmitter.

The module I'm using is built to this schematic: https://protosupplies.com/product/max485-ttl-to-rs-485-interface-module/

The PCB I'm installing it on uses this schematic:

PCB Schematic

I may be reaching now, but is it possible that my supply power has somehow become too dirty? O-scope image of the board 5V is attached. You can see the periodic (9.4 us) pulses of 800 mV spikes. Could this kill the module? I'm supplying nominal power of 5.0 VDC using an AC-DC SMPS to get to 12 VDC, then an DC-DC downconverter to go from 12 VDC to 5 VDC. I tried the 7805 DC downconverter shown in the schematic and an external, standalone downconverter, but had the same symptoms.

enter image description here

I'm at a loss. I've looked at all of the TI RS485 guides, the Max485 design guide, and forum posts and I just can't figure out why I'm burning these up.

Your insight is greatly appreciated.

\$\endgroup\$
12
  • \$\begingroup\$ Have you tried this with a different supply arrangement. Disconnect onboard supply and try with an external unit. \$\endgroup\$
    – Syed
    Mar 29, 2022 at 4:15
  • \$\begingroup\$ What's really missing is how the RS485 transmitters are connected to receivers. Two data wires for sure, but do the receivers share power supplies, or at least ground connection, or how do the receivers work? \$\endgroup\$
    – Justme
    Mar 29, 2022 at 4:38
  • \$\begingroup\$ If a device is overheating, then it is taking significant current from somewhere, you just have to find out where. First measure the supply current with your unit in isolation, then gradually connect up the interfaces etc., until the current shoots up, then you've found the problem. If the supply current doesn't change at all, then the spurious current must be entering via one or more of the interface wires; measure each one as you connect it. \$\endgroup\$
    – jayben
    Mar 29, 2022 at 8:52
  • \$\begingroup\$ @Syed I have tried it with an on board 12 to 5v BUC and a standalone converter, but the issue persists. I've also tried two different 120AC to 12VDC converters and have the same problems \$\endgroup\$ Mar 29, 2022 at 10:37
  • \$\begingroup\$ @Justme The issue persists with or without an RS485 receiver connected. However, when connected, I have tried 3 different topologies. Currently, I don't even have a receiver connected as I try to get to the bottom of this. My original design had the receivers connected via Cat5 cable. I used 4 of the 8 wires and passed the D+, D-, VCC, and GND through the cable to the receiver. This works great from a signal perspective, but I read that it could cause lethal ground loops so I thought that might be what was happening, but the issue persists without a receiver. \$\endgroup\$ Mar 29, 2022 at 10:39

1 Answer 1

0
\$\begingroup\$

All - thank you for the great troubleshooting help. I completed a lot of the tests provided and can only conclude that the issue was a batch of bad parts.

The bad modules would overheat after just a couple minutes with only VCC and GND connected. However, even my good modules seem to run pretty warm, though they function for extended periods of time. I did a little work cleaning up some transients coming out of my SMPS and that dropped case temperature by about 10C.

Before cleaning up the transients, I was seeing regular transient spikes of 2V (on a 5V bus) at 120kHz. I haven't fully cleaned them up, but just putting a 22uF capacitor in dropped them to 1.12V and dropped case temp of my good Max485 modules.

So, the root cause of total failure was probably questionable Max485 modules combined with frequent voltage transients.

Going forward, I'm going to pre-test my Max485 modules, further clean-up the power transients from my SMPS, and add heatsinks to the Max485 ICs on my modules. So far I have steady operation with only adding the 22uF cap and tossing the "bad" modules, but this can be made much better with the things just mentioned.

Thanks again for all the great ideas!

enter image description here

\$\endgroup\$
2
  • \$\begingroup\$ RS485 transceivers should not need heatsinks, so the underlying issue will not be solved by mounting heatsinks. \$\endgroup\$
    – Justme
    Mar 31, 2022 at 16:49
  • \$\begingroup\$ @Justme it looks like you’re right. I did a 3 hour test and had no issues with Max485 overheat. The bypass capacitors and better parts seemed to have done the trick \$\endgroup\$ Apr 1, 2022 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.