Multicell Voltage Monitoring with Modbus RTU RS485

Hi, I have a project to monitor the battery voltage for each cell in series (36 cells, each cell 1.4V), after that each voltage data will be sent using an RS485 module. For each RS485 modbus slave I use an Arduino Nano and it will be sent to the master (Arduino Mega). After the Arduino Mega gets voltage data from each modbus slave. Arduino Mega will send the data via Modbus TCP/IP which will be monitored using Modbus Poll. The problem I had, when I only used 1 cell battery, communication ran smoothly (trial using 36 slave). But when I use 36 cell batteries in series. Then I used more than 5 slave (if use less than 5 slave communication ran smoothly) slaves for communication, no data was sent and the LEDs from the modbus module (tx, rx) were on. Below I attach the schematic that I use


This is schematic using 36 batteries in series


This is schematic using 1 cell battery


This is modbus module that I use

Best Regards

Caraka Tri

Okay. Those modules have the 120 ohm resistor across the A/B bus connection(see device labeled "121", on the right hand side of the image). RS485 spec calls for one at each end of the bus, but NOT at each node. So you need to remove these termination resistors for some of your connections, but NOT all. As it stands, your bus has probably a half dozen of these resistors in parallel, which is loading down the signal, drawing too much current from the drivers.
See section six, here:

Clearly not an IDE problem :wink: Topic moved to a more suitable location on the forum.

Okay, I'll try removing the termination resistor from the A/B connection. I will update the results

Okay thanks @sterretje

@CarakaTri
I don't see any ground connections anywhere.
Are the step-up converters isolated?

Sorry if my wiring diagram is not detailed. Below I have attached the wiring diagram that I am currently using for trial

So like the wiring diagram that I attached. The step up module that I use is not isolated. Will it affect his communication?

The third screw terminal on your 485 side of each module is for ground. That's what the chicken-scratch character represents, AFAIK. Without a common reference, your RS485 bus will work, until it doesn't ...
See grounding section in document already linked.

Now I have connected the terminal labeled "chicken-scratch" character to each connected RS485 module. But there was no change. Maybe what we need to pay attention here is "that when I use a 1 cell battery, communication runs normally, but if I use a series of batteries, communication will have problems". I suspect this is a wiring problem or some kind of noise if my batteries are in series

All the RS485 grounds need to be connected together, including the Master RTU.
However, once you do that, then all the battery negatives will be connected together, preventing you from measuring individual cells.
If the step-up converters are isolated then all the cell voltages will be isolated.

Good point, Jim. @CarakaTri You can buy opto-isolated versions of the RS485 interface. However, I cannot tell you, without perusing data sheets, whether they will operate for your intended purpose, as the isolation is primarily intended for noise rejection, not common-mode voltage rejection.

Isolated transceivers are available. Whether you'll find them as an Amazon, or other, vendor's packaged product I cannot say; a quick search yields a few results worth following.

No headers, have to solder, yuk..
If you're sourcing a new part get one that requires no soldering..
The less you have to do the better..

curious, did you solder connectors to the board or wires directly??

good luck.. ~q

Thank you @jim-p for your points. I will look for an alternative way to safely isolate the power supply used for the slave. Maybe that's a reasonable solution

Okay, thanks for the suggestion @camsysca . I will update this project if the problem like above has been resolved

Sadly not. I just solder connectors battery and cable jumpers. Apart from that, I use the project board for trials

Then every slave will need a separate isolated power supply with an isolated RS485 converter

@CarakaTri
I have a simpler solution without the need for isolated supplies or the step-ups if you are interested.

A "Flying Capacitor" circuit with one ADS1115 and one Nano would be so much easier.
And it won't have the fireworks you're trying to make now.
Leo..

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.