# Digital BMS



## green caveman (Oct 2, 2009)

I've been thinking about this for a couple of days, so perhaps someone can tell me why I'm crazy and it won't work.

On another thread, someone was using this ADC board $32 from eBay for some Lithium battery testing. There's a photo of the board attached since the eBay listing will one day disappear. The board has 8 Analog inputs and 16 digital I/O. I'm not stuck with the board, just using it as an example.

You can get relay boards, for example this board with 4 solid state relays for ~$4. Again this is just an example.

So now if I have a 40-cell pack, I can buy 5 ADC boards (40 Analog ins) and 10 relay boards (40 relay out) (5*$32 + 10*$4) for $200. 

Now, we need some smarts, I'm thinking an Arduino, Raspberry PI, or just a cheap Android tablet. So we're up to $300 or so.

Now, while driving, I can monitor battery voltage of my 40 cells. I can also hook the computer through ODBII and monitor lots of things about the car - well, OK I can only think of the speed, but you get the idea. With an Android display (either dedicated, or a phone), I can show the lowest cell voltage, which cell, overview of all cells, whatever. in short, I can build a complete monitoring system. A complete dashboard. Could probably calculate power usage if you knew the amperage, etc. etc. - a good controller might give you that.

While charging, I can monitor the cell voltage and when each cell reaches a cutoff voltage I can use the relay to shunt that cell (might need a DPST NO/NC output or something). I like the Lee Hart incandescent bulb type shunt, but LED w/resistors, whatever are there.

So why will this not work? What features are missing?


----------



## green caveman (Oct 2, 2009)

Turns out the Arduino board, for ~$30 has 16 Analog in, so enough to monitor my current 13x8V lead acid pack and (potentially) turn off the charger when all the batteries reach a reasonable voltage - so no shunts yet. Then, probably on to Lithiums.

There's a bluetooth option for the Arduino so it should be easy to create a dashboard for an Android phone, but the smarts are still in the Arduino. That's about a $30 option, so charge and discharge monitoring for $60. Don't yet know all the details of this, for example, what happens if you have multiple Arduinos.

What else does a BMS need? With the extra analog in, you could read temperature, but I'm not sure I'd know what to do with it.


----------



## Dougnutz (Aug 22, 2011)

green caveman said:


> Turns out the Arduino board, for ~$30 has 16 Analog in, so enough to monitor my current 13x8V lead acid pack and (potentially) turn off the charger when all the batteries reach a reasonable voltage - so no shunts yet. Then, probably on to Lithiums.
> 
> There's a bluetooth option for the Arduino so it should be easy to create a dashboard for an Android phone, but the smarts are still in the Arduino. That's about a $30 option, so charge and discharge monitoring for $60. Don't yet know all the details of this, for example, what happens if you have multiple Arduinos.
> 
> What else does a BMS need? With the extra analog in, you could read temperature, but I'm not sure I'd know what to do with it.


I am essentially pursuing the same idea, well similar anyway. I purchased a Fez spider kit for a different prototype and now I'm planning to use it to monitor my pack. It doesn't have enough inputs by itself for individual cell monitoring but I can monitor groups of batteries and watch for something to go out of wack. Technically all I need to do is monitor two halves and compare. If one cell starts to fall off then end I can sound an alarm, light up lights etc. Plus they offer an inductive amp probe that I can use for SOC. I also plan to use one of the outputs to drive the cars original fuel gauge. Once I get that far I plan to tap the obdii connector for speed input, failing that I'll use a gps module. Once I have those inputs I should be able to range calculations/ estimations. The Fez spider comes with a touch screen and some other goodies like a camera. Which I plan to use for a backup camera. Not that I need it but I like gadgets and it's trivial to add.


----------



## green caveman (Oct 2, 2009)

Dougnutz said:


> I am essentially pursuing the same idea, well similar anyway. I purchased a Fez spider kit for a different prototype and now I'm planning to use it to monitor my pack. It doesn't have enough inputs by itself for individual cell monitoring but I can monitor groups of batteries and watch for something to go out of wack. Technically all I need to do is monitor two halves and compare. If one cell starts to fall off then end I can sound an alarm, light up lights etc. Plus they offer an inductive amp probe that I can use for SOC. I also plan to use one of the outputs to drive the cars original fuel gauge. Once I get that far I plan to tap the obdii connector for speed input, failing that I'll use a gps module. Once I have those inputs I should be able to range calculations/ estimations. The Fez spider comes with a touch screen and some other goodies like a camera. Which I plan to use for a backup camera. Not that I need it but I like gadgets and it's trivial to add.


I woke up this morning with the thought that the analog inputs to the Arduino are not differential. The solution to this would seem to be an instrumentation amps - other Arduino uses suggest the AD620 from Analog Devices. An instrumentation amp is about the limit of my electronics knowledge. Soldering 40 or so (one per cell) instrumentation amps will also be a pain, adding a relay and shunt circuit might make it worth the effort.

I'll need to read the specs and probably ask for help. It looks as though it should be possible to power the AD620 from the battery but a reference from somewhere (Arduino) would be required.


----------



## green caveman (Oct 2, 2009)

New approach?? There are BMS chips. There's a list of these here: It seems these are daisy-chainable with each chip monitoring (typically) 12 cells, LA or Li. 

There are evaluation boards for these, for example this. It's a little expensive ~$10/battery. 

There's a BMS built on the linear tech chip. I think my goal is more to open up, at least the Arduino code because there are so many potential features. Some really obvious ones, reading the current using the existing shunt so you know that real-time, but since you also know the voltage real-time you can calculate power drain.

This is out of my electronics ability. Anyone what to chime in on the electrical side?


----------



## jhuebner (Apr 30, 2010)

The aduino board probably expects 0..5V on each of its analog inputs with a common ground.

When monitoring 12 cells the last one will be at around 40V to common ground.

Now you could do level shifting with instrumentation amps. Turns out the whole board will become so expensive that you could have bought a regular distributed or centralized BMS in the first place.

The BMS chips sound good on paper. Maybe they work. My experiments were rather disappointing because connecting the cells in the wrong order could break the IC. I hope you'll do better.

/Johannes


----------



## green caveman (Oct 2, 2009)

Johannes, 



jhuebner said:


> Now you could do level shifting with instrumentation amps. Turns out the whole board will become so expensive that you could have bought a regular distributed or centralized BMS in the first place.


Instrumentation amps are around $2-$3. You need one per battery, so for a 40 battery pack you're looking at $80-$120, plus the board and a couple of resistors Say $200. If you add a shunt, then you have another few dollars for a relay and a load.



jhuebner said:


> The BMS chips sound good on paper. Maybe they work. My experiments were rather disappointing because connecting the cells in the wrong order could break the IC. I hope you'll do better.


Again these are about $2/battery. So you're in the same price range. 

I would expect the final solution to be just a little less than an analog BMS, but I would contend that the product, including the graphical front end could be vastly superior to an analog system.

At the very least, the amount of information available to you is huge. Whether you want that or not, and what exactly can be done with it is a whole different question. What I pointed out to someone is you have to stop thinking of instantaneous values and operation - those an analog BMS will give you, start thinking like FaceBook and collect data, collect it even if you don't know (now) what you're going to do with it. All data has potential value.

With an Android top-end you could easily collect years of data in a SQLite database. Graph it, analysis, figure out what you can do to improve you pack life, range, etc.etc. Watch for anomalies that give you information on maintenance problems. Unless you have the data, you can't figure out what it can tell you, and an analog BMS won't give you that.

If you are willing to share specific experience with the BMS chips, I'd be really happy to hear it. I can get access to one of the evaluation boards, but don't have the ability to build a board based on those chips.


----------



## jhuebner (Apr 30, 2010)

Hi,

excuse the late answers. So heres my experience with the LTC6803-2. Its a 12 channel bms ic (measure/shunt) with 2 additional inputs e.g. for temperature. It communicates via SPI.

I designed a PCB for it (6.50€) with an adum digital isolator (10€), wago cage clamps (4€), the ltc itself (20€), 12 fets (4€) 12 shunt resistors (4€), rcl-stuff and protection diodes (3€). Works out to 51,50€ just in material cost, so 4.30€ (5.76$) per cell. Assembly of 0.5mm pitch ICs isn't trivial either, having someone do it for you probably adds some 5-10$ to each board. Then you need a central computer which collects all the data. Like mentioned I destroyed one IC by disconnecting the ground connection while all other cells were still connected. What if that happens due to a loose cable? I had expected more robustness.

In my conversion I am looking at 156 cells or 13 bms boards. 40 cells is a different story frankly.
I have simply started to wonder what good 156 single battery voltages are. You can't deduce SoC information so all you'll end up doing is LVC and HVC.

Deciding by Occams razor there must be simpler solutions to battery protection then measuring each cells individual voltage.

Summary: digital battery management is precise and straight forward. It might just deliver more than actually needed

//Johannes

Edit: picture of the pcb:


----------



## Rational (Nov 26, 2011)

Depending on relative costs and how fast the battery voltage changes, use a single ADC and a 2 ch. multiplexor. Scanning each cell once/minute will probably be fast enough.

I did this once for silver cells being drained in series with a constant current, to disconnect individual cells so I didn't go below a certain cell voltage. I lucked out as far as the scanning rate being suitable; it turned out that the voltage for nearly discharged cells was dropping pretty rapidly and I didn't anticipate this.

Since the current through the mux is so low, this is really 'dry circuit' switching and that comes with its own problems.


----------



## green caveman (Oct 2, 2009)

jhuebner said:


> Hi,
> 
> excuse the late answers. So heres my experience with the LTC6803-2. Its a 12 channel bms ic (measure/shunt) with 2 additional inputs e.g. for temperature. It communicates via SPI.


Good input - thanks for the response.



jhuebner said:


> I designed a PCB for it (6.50€) with an adum digital isolator (10€), wago cage clamps (4€), the ltc itself (20€), 12 fets (4€) 12 shunt resistors (4€), rcl-stuff and protection diodes (3€). Works out to 51,50€ just in material cost, so 4.30€ (5.76$) per cell. Assembly of 0.5mm pitch ICs isn't trivial either, having someone do it for you probably adds some 5-10$ to each board.


So the boards are in the 60€/$85 range - parts, user assembles (depending on the Euro and whether you're paying 20% VAT). Up to 44 cells, you need 4, so 240€/$335. Arduino can do SPI, so another $50 + $100+ for a display - if you don't already own a phone/tablet. It's still in the same ballpark as an analog BMS. If there was quantity I would expect that the assembled cost would approach the DIY cost due to volume savings. Do you need the isolator if you're going to run an Arduino and BlueTooth - if it's just insurance, one Arduino is the cost of 4 isolators?



jhuebner said:


> Then you need a central computer which collects all the data. Like mentioned I destroyed one IC by disconnecting the ground connection while all other cells were still connected. What if that happens due to a loose cable? I had expected more robustness.


I agree with the robustness comment. This starts to make an instrumentation amp look good - especially if you build it into a shunt module attached to each battery. You need an Arduino for each 16 cells ($2/cell), so you're at $4-$5/cell - still touch with 156.



jhuebner said:


> In my conversion I am looking at 156 cells or 13 bms boards. 40 cells is a different story frankly.
> I have simply started to wonder what good 156 single battery voltages are. You can't deduce SoC information so all you'll end up doing is LVC and HVC.


SoC is a challenge, but the situation is improving and the solutions is increasingly looking to be digital (Kalman Filters or similar). Basic Coulomb counting would be trivial since you have the voltage and current, but you could argue you could do that across the whole pack, assuming you don't have any bad cells.

I feel that the argument you make is valid, but applies to all BMS's. If you're going to top-balance and then never run to more than, say 50% of your expected range, then the whole point is moot.

(The idea of a sacrificial cell has just occurred to me, put one cell with Ah*0.8 (0.9??) in your pack and run until it sees a voltage decrease).



jhuebner said:


> Summary: digital battery management is precise and straight forward. It might just deliver more than actually needed.


You never know what you can do with data until you have it. With enough discharge curves for your pack, you may be able to estimate SOC, pack deterioration (which is only really useful if you decrease the rate of deterioration), but who know what else you could figure out from the data. I suspect that you could track maintenance problems - increase current usage means a problem you need to address (I've hear of this done on a gas engine with EVOP). As you point out, it's a data mining operation, but storage - even on a phone/tablet - is cheap and CPU mostly go to waste, after that it's just software


----------



## green caveman (Oct 2, 2009)

We've been following up on this idea and here's the current status update. 

Suggestions/comments welcome.

We're shooting for a system that will provide cell monitoring and potentially history. As well as real-time parameters such as current usage, speed, temperature, etc.

The Arduino is monitoring most of the real-world parameters.







The display is an Android device. 







On a vehicle with OBDII the Android could pull values over BlueTooth. Our current EVs, or in progress EVs ('94 Geo Sidekick or an '82 ElectraVan) don't have OBD II so speed will have to come from the GPS in the tablet.

Battery monitoring is on the Arduino board and uses simple op-amp difference amp. 







This is extremely low cost ($1-$2/cell). There's also no requirement that every cell be monitored. On the little van we're probably going to monitor/balance cells in sets of three (it has a lot of little parallel cells).

Don't yet know what to do with the data. Arduino sends via BlueTooth to the Android Tablet - any Android device with BlueTooth (the tablet displayed is actually an HP TouchPad running CyanogenMod). At that point we can choose things like highest/lowest cells, max imbalance, etc. etc. All the data can be pushed to SQLLite.

The Arduino (Mega 256) has a USB Host Shield and $2 BT adapter. The cost for the Arduino with the USB Host Shield is about $70. We can add Analog MUXs to the Arduino (~$4 for 16 Analog In) to get enough analogs for all the cells.

We're at the prototyping stage (as you can see from the photo). We had planned dissipative balancing,







but now are leaning toward two MOSFETs per cell and a Chennic single-cell charger with the charger switched into any cell. The Arduino (or the Android if we need more smarts) can cycle through the cells, switching the single cell charger into the cell, until the pack is balanced. Be nice to do it all on the Arduino so that the tablet doesn't need to be dedicated. The basic logic is stop when one cell is "charged" (however you define that) and cycle through any cells that are "low" attaching the charger to each in turn.

We're not electronics experts, so comments on problems we're likely to see with OpAmps and MOSFETs once we move the electronics to a real system would be appreciated.

Next step is to add the system to the little van. Chargers have just arrived so we can start to replace the LA pack in that and build up the whole system.


----------



## Coulomb (Apr 22, 2009)

green caveman said:


> View attachment 12049
> 
> This is extremely low cost ($1-$2/cell).


The problem is that this sort of circuit is limited to about 8 cells at most (and then you have to use extra voltage dividers, and use a higher precision ADC to overcome the loss of voltage). A typical pack could be over 160 V when charged. There is no way any op-amp can handle a common mode range of 160 V.

So then you have to decide what to do with the signal, which is relative to a reference relevant to only about 8 cells. You can cheaply check for over and under volts, but then how do you transmit the information about cell distress? You need at least a series chain of opto-relays. Then there is safety to consider (are all these wires fused?).

So suddenly the $1-$2/board becomes a fair bit more. So the bare bones battery monitoring system becomes around $5 per cell. So maybe you might want more features, like optional bypassing, reading individual cell voltages, and so on. There is a bit of design in a good battery monitoring / management system.

Your idea of the little chargers has been considered before. You need a fail-safe way of connecting one charger to maybe 15 cells (e.g. allocating one charger to a third of a 45-cell pack), which means relays with auxiliary contacts capable of switching multiple amps DC at over 54 volts. Certainly not impossible, but not trivial to find cheaply. And the wiring becomes significant.


----------



## green caveman (Oct 2, 2009)

Thanks for the comments, here're some thoughts.



Coulomb said:


> The problem is that this sort of circuit is limited to about 8 cells at most (and then you have to use extra voltage dividers, and use a higher precision ADC to overcome the loss of voltage). A typical pack could be over 160 V when charged. There is no way any op-amp can handle a common mode range of 160 V.


I don't think that 160V is difficult. AD629 claims 500V, unless I'm misreading the datasheet.

We did actually consider this and had selected an OpAmp with enough common mode for our 104V pack - ~120V when charged (although it looks as though the prototype is not that one). (AND you're right that I think the pricing was probably based on the lower-cost OpAmp).



Coulomb said:


> So then you have to decide what to do with the signal, which is relative to a reference relevant to only about 8 cells. You can cheaply check for over and under volts, but then how do you transmit the information about cell distress? You need at least a series chain of opto-relays. Then there is safety to consider (are all these wires fused?).


Could you please clarify. We can (I think) get the voltage of each cell. Over and under volts, running, resting, charging. Is there another way to detect "cell distress"? The data is all going wireless to the tablet.

I think that the inputs need to be fused, and you're correct that adds a little more cost. The expensive part of the system, the Android Tablet, is protected by being on a BT link. 



Coulomb said:


> So suddenly the $1-$2/board becomes a fair bit more. So the bare bones battery monitoring system becomes around $5 per cell. So maybe you might want more features, like optional bypassing, reading individual cell voltages, and so on.


We have the individual cell voltages (or groups, it's designers choice). Bypassing is a balancing technique and I would suggest that the charger idea is the same. Bypassing does have the problem that you need to potentially shunt relatively large current. By using either dissipative balancing or a small charger, you the current can be low (and known ahead of time) so that the component cost is lower.



Coulomb said:


> There is a bit of design in a good battery monitoring / management system..


One issue I have with most of the traditional systems is that they're analog. What started us down this path is that with digital smarts it seems the system could become a lot easier and feature rich. The over/under/etc. voltage indicators just require color changing on a display, not some comparator circuit and a physical indicator.

You can also do things like Coulomb counting to determine depth of discharge. You get history and real-time analysis. I also suspect, but am a long way from even looking at it, that you may be able to determine the likely discharge capacity from the shape of the charging curves.

[Here's the, totally untested, totally unresearched or verified thought. It's analgous to determining the remaining charge by monitoring the voltage drop at the end of the curve. The problem is that, ideally, you'd like to know before you hit the discharge knee how many miles you have left. If you know the total capacity (which will change with age, temperature, etc. etc.) then you can get an accurate prediction of the range. If you can determine the capacity by looking at the charging characteristics and then Coulomb count on discharge, you'll know your remaining capacity before you start dropping cells. (Many IFs, I'm by no means presenting this as anything other than a thought, or perhaps more an idea of the possibilities opened to you if you have enough data to mine).]



Coulomb said:


> Your idea of the little chargers has been considered before. You need a fail-safe way of connecting one charger to maybe 15 cells (e.g. allocating one charger to a third of a 45-cell pack), which means relays with auxiliary contacts capable of switching multiple amps DC at over 54 volts. Certainly not impossible, but not trivial to find cheaply. And the wiring becomes significant.


Why 15 cells, why not each cell? There's a discussion here of the Chennic charger, $25 10A (~30W) single cell. 30W you can easily switch with a low cost MOSFET, two per cell to allow you to isolate any single cell. Well, at least I think you can, but as I say this is not my area of expertise so maybe I'm wrong. (you also need a contactor to disconnect the whole pack, or you can just do that manually). It's slow (I have one) but, if it's automated, you don't care (assuming that you don't have to balance cells more than, say, once per month). (I think that some of your other issues, such as voltage breakdown may be relevant because the MOSFET will be in the circuit, even if open, while the the car is running).

Wiring is still significant, but it's all low power.


----------



## Coulomb (Apr 22, 2009)

green caveman said:


> I don't think that 160V is difficult. AD629 claims 500V, unless I'm misreading the datasheet.


Wow. I've never seen anything like it. (Analog isn't my thing.)

I can't believe that they can handle 1000 V difference in signals between pins that are centered 0.1" apart, with maybe a millimeter between pieces of metal. Maybe you have to conformally coat the chip to get that sort of voltage capability, even transiently.



> Could you please clarify. We can (I think) get the voltage of each cell. Over and under volts, running, resting, charging. Is there another way to detect "cell distress"? The data is all going wireless to the tablet.


The use of the ultra-high common mode voltage op-amps solves the problem of (groups of) outputs being referenced to different grounds. Actually, with all those cheap ADC devices, isolated by Bluetooth, you have solved the isolation problem as well. So you could use groups of 8 cells, one per ADC board, and just use op-amps that are able to handle 8 cells worth of common mode voltage, say 35 V. (Maybe 30 V common mode, if it could withstand 40 V without damage).

BTW, $32 for the 8-input analog card and $4 for a relay card seem quite cheap; I'm not sure you will always be able to get them that cheap. I could be wrong.



> By using either dissipative balancing or a small charger, you the current can be low (and known ahead of time) so that the component cost is lower.


With the multiple chargers... is the idea to have a small number of chargers switched to the cells deemed to need them the most, or one charger per cell?

If one charger per many cells, there is the problem of switching the chargers to the cells in a fail-safe manner. MOSFETs or the like could be used, I suppose, but it seems to me that you would need a lot of them.



> One issue I have with most of the traditional systems is that they're analog. What started us down this path is that with digital smarts it seems the system could become a lot easier and feature rich.


Yes, sorry, hence the title of this tread. Duh. Pardon my forgetting the title. I've also re-read your original post properly; I have to admit to skimming it the first time, and not really getting the gist of your proposal. Hence some of my answers mightn't have made as much sense as they should have. Sorry about that.



> [Here's the, totally untested, totally unresearched or verified thought. It's analgous to determining the remaining charge by monitoring the voltage drop at the end of the curve. The problem is that, ideally, you'd like to know before you hit the discharge knee how many miles you have left. If you know the total capacity (which will change with age, temperature, etc. etc.) then you can get an accurate prediction of the range. If you can determine the capacity by looking at the charging characteristics and then Coulomb count on discharge, you'll know your remaining capacity before you start dropping cells. (Many IFs, I'm by no means presenting this as anything other than a thought, or perhaps more an idea of the possibilities opened to you if you have enough data to mine).]


I think that the problem is that the capacity depends on many factors, especially temperature, and that that away from the knees of the discharge curves (there is a knee at each end), the voltage is so flat and the internal resistance is so constant that you won't get much warning about the cells becoming empty. Put crudely, by the time you know, it will be too late. But again, it depends on your algorithms, the cells, and so on. You might get lucky.



> Why 15 cells, why not each cell? There's a discussion here of the Chennic charger, $25 10A (~30W) single cell. 30W you can easily switch with a low cost MOSFET, two per cell to allow you to isolate any single cell.


Heh, this idea (bypassing a cell with MOSFETs) was a newby idea of a friend of mine and I. We've since rejected the idea; traction currents are just too large to make it practical.

If you have one charger per cell, you can certainly switch it onto the cell for bulk charging, or use the charger to prop up the lowest SOC cell(s). Note that not all chargers designed for 120 V AC input will work on 120 V DC. Some will, but you have to be lucky. Many will work on about 170 V, since that's about the voltage you get from rectifying 120 VAC, although some rely on a voltage doubler circuit that doesn't work with DC (so they would work well with about a 340 V pack). There are issues with inrush current when you connect 40 chargers at once to either AC or DC. Some can draw peaks of about 20 A; 40 of those is 800 A, which is stressful for the pack, wiring, fuses, and so on.


----------



## green caveman (Oct 2, 2009)

Coulomb said:


> Wow. I've never seen anything like it. (Analog isn't my thing.)


Nor mine. That's part of the problem!



Coulomb said:


> BTW, $32 for the 8-input analog card and $4 for a relay card seem quite cheap; I'm not sure you will always be able to get them that cheap. I could be wrong.


A $40 Arduino has 16 AIN and 52 DIO. The AIN can be multiplexed, 16->1 (using 4 digital lines) for ~$5/mux. The DIO can be expanded over I2C ~$11/8 (up to 64)




Coulomb said:


> With the multiple chargers... is the idea to have a small number of chargers switched to the cells deemed to need them the most, or one charger per cell?
> 
> If one charger per many cells, there is the problem of switching the chargers to the cells in a fail-safe manner. MOSFETs or the like could be used, I suppose, but it seems to me that you would need a lot of them.


The idea was for "off-line" balancing. The idea of balancing while running is interesting, but I'm not sure how useful it would be for the complexity involved.

By balancing only when the car isn't in use you can forget the traction current since the pack can be disconnected and you can charge each cell individually. Lot's of MOSFETS, but they're inexpensive.



Coulomb said:


> I think that the problem is that the capacity depends on many factors, [...]


Absolutely agree. Probably what will happen is the car will get to be drivable, we'll collect the data, find out that we don't care enough about any of this to work on it further (possibly also true of balancing). At that point we'll have a cool display on the dash of current status, speed, total on-time, etc. etc. and it'll be used as a radio/MP3 player.


----------



## V96400A (Mar 13, 2011)

I am doing some experimenting with various systems, very similar to what some of you are doing with Arduino and Android. I have the Deucimalinove and an old Motorola Blur, along with Cell Log 8s and a distributed BMS from Cleanpowerauto. My experience thus far with the BMS is that it's not all that impressive. The main feature I use is the SSR shutting off the charger when HVC is reached. The balancing resistors (5 watts) seem to do little and I think I may have to establish a routine for balancing and I never go below 60% DOD. I have a pack of Headway and a pack of Thundersky that I am testing. The Mini BMS is on my 31s1p TSLYP40AHA pack and I am using Cell Log8s on my 16s1p pack. I am currently doing balancing manually on the Headways so that I have a full understanding of the power that needs shuffled or bled. The Headway batteries are said to be within 5% capacity of each other and I can tell some of the cells are toward the full 5% away from the others. I wish I had purchased more cells than I needed with each shipment so that I could have had a better chance of matching cells best to each other. Ideally, I would buy 1-1/2 times what I needed and pair the best cells in each pack, but this is expensive. I am in the works of using the alarm output on the Cell Log to signal a relay to control the charger. On the Headways, I am charging the pack @ 2.5 amps, I want to go up to10 amps, but not without the right system in place. This low current charging is still allows the cells to start running full speed to HVC once they hit 3.45 volts. BTW, I have done the bottom and top balance on the Headways, but not on the TS. On the TS, I just did a top balance. I am also building some solar panels to provide some solar cell charging @5.5 volts and 15amps, because my adjustable ps took a dump and I have the cells laying around.
On each pack, TSLYP on my electric Honda Interceptor and the Headway on an electric bicycle with 1000watt hub motor, I have only about 15 cycles to 50% average DOD. I am posting video footage of my project on http://www.youtube.com/user/thegreatnoleander?feature=mhee
I have not yet found the right relay for the Cell Logs, but I have't had the time to look. If anyone has ideas, throw 'em my way. BTW, the bodywork on my motorcycle is...well, all on it's way to the recycle bin, I tried doing some fiberglass work and ended up using ABS sheets, because I'm not set up for fiberglass work, so I am gonna be buying some fairings from a supplier for old bike farings.


----------



## green caveman (Oct 2, 2009)

V96400A said:


> I am doing some experimenting with various systems, very similar to what some of you are doing with Arduino and Android. I have the Deucimalinove and an old Motorola Blur, along with Cell Log 8s and a distributed BMS from Cleanpowerauto.


 Can the Cell Log 8s provide data real-time through the USB? At $3.50/cell it's not a bad price.


V96400A said:


> My experience thus far with the BMS is that it's not all that impressive. The main feature I use is the SSR shutting off the charger when HVC is reached. The balancing resistors (5 watts) seem to do little and I think I may have to establish a routine for balancing and I never go below 60% DOD.


 How is it balancing? Is it a shunt or dissipative? I'm not sure that a shunt is a good plan with a smart charger (but that may be my misunderstanding). I like dissipative, but, depending on how much balancing you need to do it's an energy waste (but not much).


----------



## DJBecker (Nov 3, 2010)

Coulomb said:


> Wow. I've never seen anything like it. (Analog isn't my thing.)
> 
> I can't believe that they can handle 1000 V difference in signals between pins that are centered 0.1" apart, with maybe a millimeter between pieces of metal. Maybe you have to conformally cote the chip to get that sort of voltage capability, even transiently.


It can't handle a 1KV difference. It can only operate with a common mode different of 270V, which means that one input can be at +135V and the other at -135V. It can survive with one input at 250V and the other at -250V, but it will quickly overheat.

It's also not a typical high-impedance input opamp. It's going to draw non-trivial power at higher voltages.

We based our battery monitor around boards that track up to 12 batteries and communicate over an isolated CAN bus. We use the STM32, which has a 12 bit A/D resolution. 12 ADC channels monitor cell voltages through voltage dividers and 4 additional channels are used for monitoring temperature and charging current.

With voltage dividers and a 12 bit ADC we get adequate but not ideal cell voltage resolution. We use a calibration factor for each channel, and will probably add additional processing to estimate more precise values by tracking the voltage rise at end of charge. A 10 bit ADC resolution would make it significantly more difficult to use this approach, although the pseudo-differential capability on the AVR improves the effective resolution for certain pairs of channels.


----------



## FWD (Feb 3, 2012)

jhuebner said:


> Hi,
> 
> excuse the late answers. So heres my experience with the LTC6803-2. Its a 12 channel bms ic (measure/shunt) with 2 additional inputs e.g. for temperature. It communicates via SPI.
> 
> ...


is there a online shop where you can send yur design and have them ship
it to you?
what did you use 6,5 is cheap i think
thx


----------



## green caveman (Oct 2, 2009)

DJBecker said:


> It can't handle a 1KV difference. It can only operate with a common mode different of 270V, which means that one input can be at +135V and the other at -135V. It can survive with one input at 250V and the other at -250V, but it will quickly overheat.


OK, so now I have to re-read the data sheet(s). 

If I look at the OpAmp circuit, the common mode difference is a few volts (~3.6V if you're reading each cell). Any OpAmp can handle that.

However, the difference between, V2 and REF or V1 and Vout is in the 120+V range at the top of the cell chain. If you power the OpAmp from, say the 12V DC/DC you also have some considerable voltage between the Vs +/- and V1, V2.

Is this something that should be a concern and/or is there some characteristic of an OpAmp I should be looking for that allows this configuration?

You're right about the Arduino and a 10bit ADC, however, that's about 4mV accuracy (assuming that you choose the gain resistors to maximize the range) which I suspect is more than you need - especially since no one really knows what to do with this data. I'm not convinced that you'd get 1mV accuracy (12bit) in a real battery pack, or that the cell voltages are stable to 1mV while in use.


----------



## Coulomb (Apr 22, 2009)

green caveman said:


> If I look at the OpAmp circuit, the common mode difference is a few volts (~3.6V if you're reading each cell). Any OpAmp can handle that.


That's not what common mode voltage is about. Common mode is the other one, which you describe below, which is common to both inputs. I suppose you could call the 3.6 V the "differential input" or "differential component of the input".



> However, the difference between, V2 and REF or V1 and Vout is in the 120+V range at the top of the cell chain. If you power the OpAmp from, say the 12V DC/DC you also have some considerable voltage between the Vs +/- and V1, V2.
> 
> Is this something that should be a concern and/or is there some characteristic of an OpAmp I should be looking for that allows this configuration?


Well, yes, it's a big concern. One, you would like chips with wide spacing between the pins, so that a bit of dust or moisture doesn't allow arcing or conductivity between pins. With the chip referenced, the pin spacing seems to be 0.1", which means extreme care is required, including conformal coating of the PCB.

Oh, and the other concern is the power that could be dissipated by the resistors. You probably only need to connect the resistors to the pack for the duration of the ADC conversion, a few microseconds perhaps. (Or ten or so, if you are averaging to get better resolution and/or to suppress noise). These will likely be on-die resistors, or at least very close to the op-amp chip itself, and the chip doesn't look like it can dissipate power easily. These resistors are usually external in normal op-amps, so you can give them a good voltage and power rating and space to cool off.


----------



## green caveman (Oct 2, 2009)

Coulomb said:


> That's not what common mode voltage is about. Common mode is the other one, which you describe below, which is common to both inputs. I suppose you could call the 3.6 V the "differential input" or "differential component of the input".
> 
> Well, yes, it's a big concern. One, you would like chips with wide spacing between the pins, so that a bit of dust or moisture doesn't allow arcing or conductivity between pins. With the chip referenced, the pin spacing seems to be 0.1", which means extreme care is required, including conformal coating of the PCB.


Thanks for setting me straight on that.



Coulomb said:


> Oh, and the other concern is the power that could be dissipated by the resistors. You probably only need to connect the resistors to the pack for the duration of the ADC conversion, a few microseconds perhaps. (Or ten or so, if you are averaging to get better resolution and/or to suppress noise). These will likely be on-die resistors, or at least very close to the op-amp chip itself, and the chip doesn't look like it can dissipate power easily. These resistors are usually external in normal op-amps, so you can give them a good voltage and power rating and space to cool off.


As long as you raised the topic.... The ratio of R1/R2 sets the gain. What's the impact of the absolute size of the resistors? Is there any reason not to choose Meg-Ohm?? The advantage to higher values I would assume is lower current, but there must be a disadvantage. If you're measuring each cell, so 3.2V, the required gain is about unity (depends on the reference used, 2.56V is a common one on the Arduino so slightly less than unity). So many of the normal noise related problems with amplification should be relatively unimportant.


----------



## Arlo (Dec 27, 2009)

This is realy cool.


----------



## green caveman (Oct 2, 2009)

Am I missing something really obvious, like using a simple voltage divider to measure the higher voltage batteries? 

Readily available opamps can handle, say 30V. I have a pack with a max voltage of 120V (fully charged to 3.65V).

If I put a 4:1 voltage divider on the top cell, I'll have a voltage of ~120V/4, so, say 30V to measure. There's some loss of resolution, since now the voltage difference only ~0.8V instead of 3.2V, but since there's an amplifier in the circuit that can be corrected and +/- noise there shouldn't be much problem.

I haven't checked the resistor change with temperature, but that shouldn't have much impact on the divider (assuming that the percentages are the same). And I hadn't even considered temperature in the opamp circuit and probably should.


----------



## Coulomb (Apr 22, 2009)

green caveman said:


> The ratio of R1/R2 sets the gain. What's the impact of the absolute size of the resistors? Is there any reason not to choose Meg-Ohm??


Two reasons: you want to overwhelm any input offset currents in the op-amps, and high resistance means less shunting of induced noise. EVs are very electrically noisy environments, with PWM noise from switching hundreds of amps.

One advantage of higher value resistors is the lower heat that they generate while connected to high voltage. Even 100KR at 120 V is more than a typical 1/8 W SMD resistor can handle continuously.


----------



## Coulomb (Apr 22, 2009)

green caveman said:


> If I put a 4:1 voltage divider on the top cell, I'll have a voltage of ~120V/4, so, say 30V to measure. There's some loss of resolution, since now the voltage difference only ~0.8V instead of 3.2V, but since there's an amplifier in the circuit that can be corrected and +/- noise there shouldn't be much problem.


Yes, that will work, and at 120 V the loss of resolution won't be too bad. The resistors will add accuracy loss; if you use cheaply available 1% resistors, they will add 2% inaccuracy, which is not too bad. The gain of the op-amp will also amplify the noise and input offset voltage. You also have to be careful of the voltage rating of resistors, though at 120 V that's not much of an issue.

I think that 10 bits of resolution (around 4 mV/cell) is barely adequate; I prefer 12 bits (1 mV per cell). With a 1:4 voltage divider, you are losing 2 bits effectively. I need to think about whether you effectively get those two back by setting the gain of the op-amp to 4; it does sound plausible. Strategically placed capacitors (not at the input of op-amps, it makes them oscillate) along with suitable delays after switching channels should keep the noise under control.

I can be done, and is done, it just takes a bit of careful design.


----------



## FWD (Feb 3, 2012)

i read the total topic and i see that you need opt couplers because you can not have a Shared MINus?!
so whit every cell needing one opt. this idear is getting up to what you would pay for a normal analog BMS..

i wanted this to be a normally price ( 1-2 dollar a cell ) price range and not a 5-6 dollar like with other stuff.

i hope someone can figure this out, maybe with cheaper ic's/ opt couplers?


----------



## green caveman (Oct 2, 2009)

FWD said:


> i read the total topic and i see that you need opt couplers because you can not have a Shared MINus?!


I'm not clear on why this is needed. The OpAmps are being used as a differential amplifier, so the REF can be common to all the amps even when the differential voltage is 100+V (I think, you can let me know if I'm wrong).




FWD said:


> i wanted this to be a normally price ( 1-2 dollar a cell ) price range and not a 5-6 dollar like with other stuff.


Well, if we can get this to work....

The OpAmps are something like 30c (US or AU) for a dual opamp. Plus some resistors and miscellaneous parts - lets say $2 max. $1 for two MOSFETs if your going to try the balancing and $40 for a low-cost single cell charger. max of about $100 of Arduino hardware and an Android tablet (if you don't have something).

IF the design with low-cost opamps works, then you're in the $1-$2/cell plus the cost of the collection system. If you need high voltage opamps, then it's much more and, if it doesn't work, I'll have more opamps lying around than I know what to do with, or, more likely, a van that smells of smoking electronics.



FWD said:


> so with every cell needing one opt. this idear is getting up to what you would pay for a normal analog BMS..
> 
> i hope someone can figure this out, maybe with cheaper ic's/ opt couplers?


This is a DIY group and so cost is important - if not I'd probably get a Tesla.

On the other hand, it's my contention that the Digital BMS is the better solution even if the cost is the same or higher. That said, there's not much to support that statement. To me, the biggest part is that you can get not only real-time data, but also history, potentially huge amounts of recorded data. Since no one has really collected data at the detail we have the potential to collect it, no one knows if it's useful, So it may be that we can collect GB of utterly useless information or have data that will easily allow tracking the pack in ways that would be impossible with an analog BMS. The problem is, you don't know until you have the data.

If you question the value of data, you should consider that FaceBook collects huge amounts of data (1.222 pages, 496 MB in some cases) not only on members, but also anything they can on people who have not even signed up for the service. Data is a very valuable commodity - if you can figure out what to do with it.


----------



## green caveman (Oct 2, 2009)

Coulomb said:


> Yes, that will work, and at 120 V the loss of resolution won't be too bad. The resistors will add accuracy loss; if you use cheaply available 1% resistors, they will add 2% inaccuracy, which is not too bad.


The accuracy of the resistors should be unimportant since each channel will need to be calibrated. That is, the scaling of the A2D on the Arduino will be different for every input. I think that's true regardless of whether there's a voltage divider or not.



Coulomb said:


> The gain of the op-amp will also amplify the noise and input offset voltage. You also have to be careful of the voltage rating of resistors, though at 120 V that's not much of an issue.


A voltage divider must cause some inaccuracy, but I too doubt it's significant. That said, I don't really know what the noise levels really are and how difficult this measurement will turn out to be. On the plus side, the Arduino can probably easily read 10+ times per second, probably 100+ which means that they can be digitally filtered. I haven't benchmarked the BT stack. I quit working on it once I'd finished the port. I had expected a stack to exist for Arduino since every USB Host Shield mentions "BlueTooth" but it didn't (and now it does, after a fashion). 



Coulomb said:


> I think that 10 bits of resolution (around 4 mV/cell) is barely adequate; I prefer 12 bits (1 mV per cell). With a 1:4 voltage divider, you are losing 2 bits effectively. I need to think about whether you effectively get those two back by setting the gain of the op-amp to 4; it does sound plausible.


If I had 12bit I'd use it, but I'm still not convinced that 1mV will get you anything. Depending on the noise in the environment you may not even get useful readings to that level, and even if you do I would expect the "natural" voltage variations to be much more. That is, I think that any change in the power pulled from the pack, speed, incline, etc. etc. will cause much more than even a 4mV change.

That makes me think that I need an accelerometer since it would be good to correlate current usage to incline. We have lots of those (hills) here, and it was interesting to see the ammeter pegged at 200A going up hill, but it would be good to know the actual relationship to the angle.



Coulomb said:


> Strategically placed capacitors (not at the input of op-amps, it makes them oscillate) along with suitable delays after switching channels should keep the noise under control.
> 
> I can be done, and is done, it just takes a bit of careful design.


See, just when I thought I might succeed, you throw my ignorance into stark relief. 

I think you're right that there may be a compromise between reading speed and settling time - probably well defined by the Arduino. 

The "capacitors" of which you speak, or at least where to put them in a circuit (far) exceeds my knowledge in this area. In my case, careful design is searching the Web for something someone has already done (or as close as possible).


----------



## green caveman (Oct 2, 2009)

Coulomb said:


> Yes, that will work, and at 120 V the loss of resolution won't be too bad. The resistors will add accuracy loss; if you use cheaply available 1% resistors, they will add 2% inaccuracy, which is not too bad. The gain of the op-amp will also amplify the noise and input offset voltage. You also have to be careful of the voltage rating of resistors, though at 120 V that's not much of an issue.


Another wrinkle. The Common Mode on the LM358 (which is what we currently have) is V+ -1.5, which I assume means that if the OpAmp is powered from th 12V DC/DC then a voltage divider would need to bring the voltage down under ~10V (actually the DC/DC is 13.5V so, under 12V).

OR the OpAmps would need to be powered from some higher voltage, 30V, 24V, something.

The "Input Offset Current" on the LM358 is 75nA, so it seems that even with quite high resistors I should be able to overwhelm that. I haven't had a chance to figure out resistor values, but I'm thinking that some low 100k (400k, 500k) should be good numbers. It's going to be a challenge though since for almost every cell the voltage divider and gain resistors will be different. Especially a problem with a 10bit A/D.

Would be convenient to use a high voltage op-amp, but they run $7-$10 each for any that I have yet found.


----------



## FWD (Feb 3, 2012)

there is also a OBD2 shield
so maybe it can transmit the data on the canbus of a car and you can pull it of anywhere like in your dash with a display and log it.


----------



## green caveman (Oct 2, 2009)

FWD said:


> there is also a OBD2 shield
> so maybe it can transmit the data on the canbus of a car and you can pull it of anywhere like in your dash with a display and log it.


Very cool. None of my EVs have OBDII. The other choice for OBDII is a BlueTooth dongle such as this $22 one from DealExtreme. With that you could get data straight into the tablet (or potentially the Arduino BT, but that would be more of a challenge).

ALDL/SDL for many of the older cars is a 160 baud serial link that could be fed into, say the DIO pins of the Arduino. However, it seems that on the Sidekick, about the only real-time data would be RPMs, everything else would be gas-engine related errors.Makes me think it's not worth it.

It's interesting the options that become available once you have a little controller and a powerful top end.


----------



## green caveman (Oct 2, 2009)

If someone has a minute I could use a sanity check. 

I wrote some code to calculate the optimum resistor values for both a voltage divider and the gain of the difference amp. After running it enough times, I'm starting to glaze on the output.

The code for the voltage divider was set up to keep the common mode voltage at the opamp below 11V and above 8V. The gain was set up so that the final voltage was <2.4V. The reference on the Arduino is 2.56V so that was done to give a little slack (I think R2 and R1 are reversed in the output). 

The code is a brute-force attack against the common resistor values from here. Whether it's practical to buy/use this range of values is another question. Comments on the absolute values, as well as the ratios, also appreciated.

Comments on the approach and the likelihood of success also still welcome.

Cell Voltage (top): 3.65 Gain = R2/R1 R2:820000 R1:620000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1: Z2: Common Mode Voltage: 
Cell Voltage (top): 7.30 Gain = R2/R1 R2:820000 R1:620000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1: Z2: Common Mode Voltage: 
Cell Voltage (top):10.95 Gain = R2/R1 R2:820000 R1:620000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1: Z2: Common Mode Voltage: 
Cell Voltage (top):14.60 Gain = R2/R1 R2:470000 R1:430000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:470000 Z2:1200000 Common Mode Voltage:10.49 
Cell Voltage (top):18.25 Gain = R2/R1 R2:120000 R1:150000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:820000 Z2:910000 Common Mode Voltage:9.60 
Cell Voltage (top):21.90 Gain = R2/R1 R2:150000 R1:240000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:430000 Z2:300000 Common Mode Voltage:9.00 
Cell Voltage (top):25.55 Gain = R2/R1 R2:150000 R1:240000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:430000 Z2:300000 Common Mode Voltage:10.50 
Cell Voltage (top):29.20 Gain = R2/R1 R2:110000 R1:240000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:510000 Z2:220000 Common Mode Voltage:8.80 
Cell Voltage (top):32.85 Gain = R2/R1 R2:110000 R1:240000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:510000 Z2:220000 Common Mode Voltage:9.90 
Cell Voltage (top):36.50 Gain = R2/R1 R2:110000 R1:240000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:510000 Z2:220000 Common Mode Voltage:11.00 
Cell Voltage (top):40.15 Gain = R2/R1 R2:110000 R1:270000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:820000 Z2:300000 Common Mode Voltage:10.75 
Cell Voltage (top):43.80 Gain = R2/R1 R2:180000 R1:560000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:560000 Z2:150000 Common Mode Voltage:9.25 
Cell Voltage (top):47.45 Gain = R2/R1 R2:180000 R1:560000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:560000 Z2:150000 Common Mode Voltage:10.02 
Cell Voltage (top):51.10 Gain = R2/R1 R2:180000 R1:560000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:560000 Z2:150000 Common Mode Voltage:10.80 
Cell Voltage (top):54.75 Gain = R2/R1 R2:110000 R1:470000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1100000 Z2:200000 Common Mode Voltage:8.42 
Cell Voltage (top):58.40 Gain = R2/R1 R2:110000 R1:470000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1100000 Z2:200000 Common Mode Voltage:8.98 
Cell Voltage (top):62.05 Gain = R2/R1 R2:110000 R1:470000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1100000 Z2:200000 Common Mode Voltage:9.55 
Cell Voltage (top):65.70 Gain = R2/R1 R2:110000 R1:470000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1100000 Z2:200000 Common Mode Voltage:10.11 
Cell Voltage (top):69.35 Gain = R2/R1 R2:110000 R1:470000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1100000 Z2:200000 Common Mode Voltage:10.67 
Cell Voltage (top):73.00 Gain = R2/R1 R2:180000 R1:1000000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:820000 Z2:110000 Common Mode Voltage:8.63 
Cell Voltage (top):76.65 Gain = R2/R1 R2:180000 R1:1000000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:820000 Z2:110000 Common Mode Voltage:9.07 
Cell Voltage (top):80.30 Gain = R2/R1 R2:180000 R1:1000000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:820000 Z2:110000 Common Mode Voltage:9.50 
Cell Voltage (top):83.95 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:8.09 
Cell Voltage (top):87.60 Gain = R2/R1 R2:200000 R1:1200000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1300000 Z2:160000 Common Mode Voltage:9.60 
Cell Voltage (top):91.25 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:8.80 
Cell Voltage (top):94.90 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:9.15 
Cell Voltage (top):98.55 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:9.50 
Cell Voltage (top):102.20 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:9.85 
Cell Voltage (top):105.85 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:10.20 
Cell Voltage (top):109.50 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:10.55 
Cell Voltage (top):113.15 Gain = R2/R1 R2:110000 R1:750000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1500000 Z2:160000 Common Mode Voltage:10.91 
Cell Voltage (top):116.80 Gain = R2/R1 R2:180000 R1:1300000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1000000 Z2:100000 Common Mode Voltage:10.62 
Cell Voltage (top):120.45 Gain = R2/R1 R2:180000 R1:1300000 A2D Max:2.40 Divider Z2/(Z2+Z1) Z1:1000000 Z2:100000 Common Mode Voltage:10.95


----------

