# Design guidance required for battery monitoring system

Thread Starter

#### NomadAU

Joined Jul 21, 2012
46
Hi

I'm looking for ideas on how to implement a circuit that can measure the voltage of each cell in a multi-cell lithium battery.
The battery (24V) in question is made of 8 cells, each cell comprising a series of 38120 batteries.
The nominal voltage of each cell is 3.2V.

What I have in mind is to use a MCU (probably the PIC16F1503) to measure each cell as a sequence of operations, either directly (using its onboard 10-bit ADC) or a higher resolution connected ADC.
Finding a way of switching between each of the cells is proving to be a bit of a challenge for me though. My immediate thought was to use 2 (8:1) demultiplexers to switch the cell inputs, one to control the negative input and the other to control the positive input. After some testing, I realised that this will not work with the voltages involved. The MCU is driven using 3.3V so I will be using the same voltage to drive the demux. However, there will be over 24V potential between cell 1 and cell 8 which is way more than the demux can handle.

My next thought was to continue to use the demux, but to isolate the cell inputs from the DEMUX using optocouplers. In this way, the demux would be used to select the cell inputs (negative and positive) by turning on the appropriate optocouplers. The MCU would be programmed to drive the demux select lines so that at most there would only ever be one negative and one positive line active, and furthermore, the negative and positive lines would be connected to the same cell, therefore never exceeding the 38120 battery upper voltage level.

At this stage I am looking for feedback on the design and how effective it might be. Is there an alternative that I haven't thought of (another idea is to have 8 MCU's, each measuring just one cell, and feed the results to a controller). I am uncertain how accurately my design will be able to measure the cell voltage, given that the input to the ADC will be via an opto-coupler - does this drop the voltage like a diode does, or will the cell voltage be largely unaffected after passing through the opto-coupler?

I've attached a drawing that should make the above description a little clearer.

Thanks for your feedback.

#### Attachments

• 92.6 KB Views: 12

#### crutschow

Joined Mar 14, 2008
24,742
I am uncertain how accurately my design will be able to measure the cell voltage, given that the input to the ADC will be via an opto-coupler - does this drop the voltage like a diode does, or will the cell voltage be largely unaffected after passing through the opto-coupler?
Generally optos are non-linear and have a lot of gain variation transmitting analog voltages so would require calibration of each output.

Here's a different possibility.
You can use the INA138 high side current-monitor to also monitor a floating voltage.

#### Yaakov

Joined Jan 27, 2019
1,612

#### crutschow

Joined Mar 14, 2008
24,742
The bq76930 handles up to 10 cells.

#### Yaakov

Joined Jan 27, 2019
1,612
The bq76930 handles up to 10 cells.
I couldn’t find that one, thanks!

Thread Starter

#### NomadAU

Joined Jul 21, 2012
46
Here's the system I use for my 3s lithium battery , I put a voltmeter on each cell (parallel group of cells) .....

measures down to 2.50 volts ,minimal consumption cost \$1 each inc postage from eBay
I've designed a multi-function touch screen to display various aspects of my batteries, the cell voltage being just one of the variables of interest. My design has the Nextion screen being driven by a 'controller' MCU that interrogates each of my batteries to read its cell voltages. If I follow your suggested approach, I would need to break into the circuit at some point and extract the actual voltage values being sent to the LCD. I'm not confident of being able to do this, but it give me an alternative idea. Thanks.

Thread Starter

#### NomadAU

Joined Jul 21, 2012
46
Thanks for that
The bq76930 handles up to 10 cells.
I also found bq76940 which handles up to 15 cells. I'm going to do some deeper reading on the bq76930 and see if it works out (financially, and technically) for me.
Thanks also to
I couldn’t find that one, thanks!

Thread Starter

#### NomadAU

Joined Jul 21, 2012
46
Generally optos are non-linear and have a lot of gain variation transmitting analog voltages so would require calibration of each output.

I'll spend some time trying to understand this circuit and the cost of building it. Really appreciate the level of detail you've put into this answer crutschow.

Thread Starter

#### NomadAU

Joined Jul 21, 2012
46
Thanks to the ideas you all provided, I've spent some time looking at the various devices suggested. On balance, I think the BQ76930 based solution is going to be the better option. The BQ76930 costs less than 8 INA138 chips plus mux. However, the main draw card for me is that it has all of the conversion functions on board...all I need to do is connect to it with i2c. Also, it another thing I like is the temperature sensing - I can have up to 3 thermisters placed in my battery pack and get temperature details, along with the cell voltages. The only (slight) downside is that it requires a 6V power source - a 3.3V or even 5V one would have been more convenient, but there you go. I've already got a single coulomb counter implemented for all 3 of my 24V batteries, but I may consider having one per battery also, using this chip.
Thanks very much for pointing me at this solution, I think it will serve me very well indeed!