Multi-channel voltage reading?

Hi,

New here, have yet to delve into Arduino but from what I've read it should fit the bill for the project I have in mind. I built myself an electric motorcycle with five 12V drive batteries connected in series. I would like to monitor the voltage of all five batteries at the same time and like the looks of the LCD displays I've seen in examples.

My question is, what would be the best way to setup the circuitry for reading the battery voltages? I found one example using an ADC chip, however, it shows all the negative inputs tied to a common ground. This obviously won't work, any suggestions on how to tackle this project?

Thanks in advance,
Linn

Do you just need to know the total series voltage, or do you also need to know the intermediate voltages?

What sort of resolution do you need on the measured voltage?

Hi,

I need to monitor the voltage of each individual battery. This will show me the status of each battery so I can see when one is failing or not charging, which is the problem I had most recently.

I would like to have one or two decimal places or resolution, if possible.

Thanks,
Linn

An easy solution would be one of these:

You will have to make a voltage divider as it is made for LiPo cells (4,2V)

lkubler:
I would like to have one or two decimal places or resolution, if possible.

That part will be tricky given the voltage range you're trying to measure and the 10-bit ADC. If you can get away with a lower resolution then you can just connect each battery to ground via a voltage divider that brings the voltage into the 0-5V range that the Arduino ADC can handle. You would get close to your required resolution for the grounded battery but the higher voltage inputs would have correspondingly lower resolution (reduced by a factor of 5 for the highest battery).

Perhaps you can recover some of that lost resolution by oversampling, if there is enough noise present.

If you really need the full 10-bit resolution for each cell then I think your best bet would be to use a minimal Arduino for each cell that is grounded relative to its cell and measures the cell's voltage via a voltage divider, use serial communication via an opto isolator for each remote to communicate its reading back to your main Arduino.

Thanks for the suggestions. I was thinking along the same lines, isolating each cell. I was wondering, though, about not relying on the Arduino's ADC but instead using a stand-alone ADC, or multiple ADCs or something like that.

I'll have to look into minimal Arduinos and using opto isolators. Always so much to learn.

Thanks,
Linn