Go Down

Topic: Measuring multiple batteries without a common ground (Read 566 times) previous topic - next topic

blf0005

Hi all,
I have been racking my brain to come up with a solution for this to no avail and searching has not been fruitful either. My task at hand is measuring the voltage of 4 different series/parallel batteries, each having 3 readings each for a total of 12 readings. I need to monitor the voltage of either cell and the cells in series of a series/parallel battery pack.

This is the battery that I am dealing with. It has 3 terminals where the left most is positive, the right most negative, and the center either the positive or negative for either side. Measuring the left terminal and the center gives the voltage of one cell, the center and the right most terminal gives the voltage of the right cell, and measuring the left and right most gives the series voltage of the two.



The series voltage isn't crucial since it can be extrapolated from the two other voltages, however, in this application, it is critical that the left and right cells of each of the 4 batteries be monitored independently and simultaneously.

Now obviously the issue here is that the ground is not consistent so simply grounding the signals together and running the positives into the analog inputs is not an option. I know I need to isolate these readings so that I can feed them into the Arduino analog inputs but I am just at a loss as to the best solution. I am thinking that a dc-dc isolated converter can be used but I have not found one that I know for sure will do the job. I'm not very familiar with onto-isolators or any isolator for that matter and I am in desperate need of some help here.

Any guidance or suggestions would be greatly appreciated! Thank you all!

-Blake

terraduino

I hope that I did understand your problem. I'm no expert on the matter but why not use mosfet to decouple the batteries that are not measured at the moment? Three Mosfet per battery, each activated by a single digital PIN of the Arduino.
You got the idea? But maybe does not work for some reason.

Best
--
Just a curious hobbyist. Only basic knowledge about electronics, microchips and the like.
Non-native speaker, please bear with me.

blf0005

I suppose that is a pretty viable option. I currently have the Arduino reading the current voltage at the top of the main loop but I suppose I could just have my read function cycle through each signal, coupling and decoupling it as it reads the voltages into an array. I doubt the additional delay will really be an issue. I am driving a bunch of stepper motors as well but I think it should be able to process the data fast enough not to miss a step.

I will look into that further. Thanks for the suggestion.

MarkT

What voltages are we talking?

It might simplest just to connect the most negative to ground and measure all the other
terminals (via voltage divider if needed) by their own analog pin.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

MarkDerbyshire

Ground the most negative terminal (right).  Measure the voltage across left and right which gives you both cells in series with one analogue input (A1) - Call it V1.  Measure the Right and Center to give you the value of one cell with another Input (A2)- Call it V2

The remaining cell V3 = V1 - V2

blf0005

Wow, thank you all so much. I can't believe I haven't thought of that yet but that will work beautifully!

blf0005

Well, after further testing I've discovered that the batteries are not common grounded with the arduino and it is not an option to ground them so I am back to needed to isolate them. Any ideas?

MarkT

Standard differential amplifier circuit, but switching the input resistors with analog multiplexers?
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

blf0005

The issue I'm having is getting a 1-1 transfer through the optocoupler. IS that how they function? All the things I have looked at so far seem to be more of an on/off that 1-1. If I feed 3.4v into one side I need 3.4v out and I need that for anything from 3v-4v.

RIN67630

Well, after further testing I've discovered that the batteries are not common grounded with the arduino and it is not an option to ground them so I am back to needed to isolate them. Any ideas?
You might use that module:
http://www.ebay.de/itm/DC-Voltage-Sensor-Transmitter-Isolated-Output-4-20MA-Din-Rail-Module-/172255440584

You will put relays upfront to multiplex the measurement.

You will need to provide around 24V to the sensor

You get a 4-20mA signal that you will convert to 0,2-1V using a 50Ωresistor or 1-5V voltage with 250Ω.


TomGeorge

#10
Aug 09, 2017, 03:24 pm Last Edit: Aug 09, 2017, 03:25 pm by TomGeorge
Hi,
What are the batteries installed in?
What is their part number?

Can you draw a diagram of how the batteries are interconnected?

Thanks.. Tom.. :) 
Everything runs on smoke, let the smoke out, it stops running....

blf0005

I am monitoring the voltage of Nissan Leaf batteries. Each pack is made of 4 cells in series/parallel and I need to monitor 4 packs. So a total of 8 values, two from each pack.

In regards to the picture of the pack above, the center terminal acts as the positive for one side of the parallel and the negative of the other.

These batteries are isolated from the vehicle itself, and each other. Creating a common ground loop between the arduino and the batteries is out of the question. I need to read the voltage of the most negative terminaland most positive (~8v) and the most negative and the center terminal (~4v) so one voltage will be min 2.8v to max 4.2v  and the other voltage will be min 5.4v to max 8.4v.

This voltage must pass through some sort of isolation before the arduino can read it. That is the big challenge.

Does that explain the scenario well enough?

RIN67630

This voltage must pass through some sort of isolation before the arduino can read it. That is the big challenge.

Did you understand the solution I have provided?
It provides a perfect isolation of every reading.
Have you got objections against it?


TomGeorge

#13
Aug 10, 2017, 10:32 am Last Edit: Aug 10, 2017, 10:33 am by TomGeorge
Hi,
A rather complicated way but feasible is  to use capacitors and relays to convey charge from battery to controller.



Tom... :)
Everything runs on smoke, let the smoke out, it stops running....

blf0005

Did you understand the solution I have provided?
It provides a perfect isolation of every reading.
Have you got objections against it?


I don't really understand what that module does or what inputs it needs. I don't see the data sheet anywhere. What voltage in and out does it provide and what is the 24v for?

Go Up