I designed a board with a microcontroller (Atmega328), 3 relays and a RS485 transceiver. The relays control SMPS LED drivers (Meanwell LPF series). The system consists of 10 boards, each one controlling 3 drivers, for a total of 30 drivers. These boards are the slaves, while a PC running linux, with a USB-RS485 dongle, acts as the master.

I don't have any problems with comms (Modbus RTU at 9600bps) as long as the power supplies are disconnected or the relays are turned off. Immediately after SMPSs are powered on, noise appears on the bus (and stays), completely killing communications. The noise is seen as a huge amount of random data on the python script manning the communications. If I disconnect the drivers, comms are reestablished. If only a few drivers are powered on (less than 10), no problems are observed. Connecting more and more drivers begins to add noise. Between 10-15 SMPSs the bus becomes unreliable, more than 15 drivers, bus becomes unusable.

I implemented this design (same board, but with HLG series drivers) in other installations, with up to 60 drivers, with no problems. I can't find in the driver's datasheet any substantial differences.

My questions are:

  1. Can a faulty/very unregulated electrical grid be the culprit of this behavior? (this control system is implemented in farms, where a poor quality electrical grid is common)

  2. Does Total Harmonic Distortion play a role in this?

  3. The bus connects to the dongle using only A and B, the third connection (shield) is not used. Should the GND plane of all boards be connected to this pin?

  4. Any ideas on how to solve the problem? (without changing the LED drivers, not even sure if this solves the problem)

  • \$\begingroup\$ Using your scope, is there noise or unexpected signal present at the output of your 485 receiver? If so, connect your two scope channels for differential measurement and look for noise on your X-Y 485 transmission line nodes. \$\endgroup\$
    – AlmostDone
    Commented Apr 1, 2019 at 17:27
  • 6
    \$\begingroup\$ I think it might help your question to add a diagram of the system, carefully including all power supply, ground, and cable shield connections. This would make it easier to understand and possibly reveal the problem. \$\endgroup\$
    – Kevin Reid
    Commented Apr 1, 2019 at 17:27
  • \$\begingroup\$ I hope you are using STP cable and relay coils have clamp diodes close to driver. Large area loops = bigger EMI noise energy. You may have to divert noise to earth ground from DC gnd with 10nF. \$\endgroup\$ Commented Apr 1, 2019 at 18:10
  • 2
    \$\begingroup\$ Obviously all nodes need to share a common ground, which is the fundamental basics in data communication. Preferably a clean signal ground which is separated from the supply. Your PC is unlikely driven from the same source as the boards. Sounds like your ground potentials are dancing freely and when you get ground currents they dance even more. We do indeed need more information about the ground and power supply connections in order to answer. But in general you cannot connect some random externally driven PCB to a desktop PC without a signal ground. \$\endgroup\$
    – Lundin
    Commented Apr 2, 2019 at 6:46

1 Answer 1


Add this between each SMPS and the loads


simulate this circuit – Schematic created using CircuitLab


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.