Design guidance required for battery monitoring system

Discussion in 'General Electronics Chat' started by NomadAU, Apr 15, 2019.

  1. NomadAU

    Thread Starter Active Member

    Jul 21, 2012
    37
    1
    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.
     
  2. crutschow

    Expert

    Mar 14, 2008
    21,436
    6,141
    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.
    You can buy it here, for example, for US$1.94.
    It can operate with a voltage from 2.7V to 36V, and will convert the battery voltage to a ground referenced voltage.

    Below is the LTspice simulation of the circuit independently monitoring the two top battery voltages, as the top battery (red trace) varies from 3.2V to 2.8V, indicated at Out1 (green trace), and the 2nd battery from the top varies simultaneously from 2.8V to 3.2V (blue trace), indicated at Out2 (yellow trace).

    You repeat the circuit once for each battery.
    These outputs can then be multiplexed by a normal, low-voltage mux.

    The output voltage can be calibrated by adjusting the value of the 5kΩ resistors.
    The output gain is proportional to this resistance and is nominally a gain of one for a 5kΩ resistor.

    A high common-mode voltage differential amp can also be used for this purpose, but they appear to be significantly more expensive.

    upload_2019-4-15_21-50-59.png
     
    Last edited: Apr 16, 2019
    NomadAU and bug13 like this.
  3. oz93666

    Senior Member

    Sep 7, 2010
    367
    74
    Here's the system I use for my 3s lithium battery , I put a voltmeter on each cell (parallel group of cells) .....

    [​IMG] measures down to 2.50 volts ,minimal consumption cost $1 each inc postage from eBay
     
  4. Yaakov

    Well-Known Member

    Jan 27, 2019
    1,198
    583
    crutschow likes this.
  5. crutschow

    Expert

    Mar 14, 2008
    21,436
    6,141
    The bq76930 handles up to 10 cells.
     
    Yaakov likes this.
  6. Yaakov

    Well-Known Member

    Jan 27, 2019
    1,198
    583
    I couldn’t find that one, thanks!
     
  7. NomadAU

    Thread Starter Active Member

    Jul 21, 2012
    37
    1
    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.
     
  8. NomadAU

    Thread Starter Active Member

    Jul 21, 2012
    37
    1
    Thanks for that
    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
     
  9. NomadAU

    Thread Starter Active Member

    Jul 21, 2012
    37
    1
     
  10. NomadAU

    Thread Starter Active Member

    Jul 21, 2012
    37
    1
    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!
     
    Yaakov likes this.
Loading...