• Howdy! we're looking for donations to finish custom knowledgebase software for this forum. Please see our Funding drive thread

diy bms

bradleyk

10 mW
Joined
Jul 17, 2014
Messages
26
Location
Brisbane, Australia
ive been designing a bms, was hoping for some feedback.

should work from 0 - 4.5v cells
using 1 atmega8 per 4 cells. with serial feedback, to a master

file.php


file.php
 

Attachments

  • schematic.JPG
    schematic.JPG
    60.4 KB · Views: 1,407
  • curcit digram.JPG
    curcit digram.JPG
    270 KB · Views: 2,488
How accurate are they?
I am highly interested in something like this. If it would be aviable in (ready to plug) for arduino and cheap from asia.
 
hardym said:
Well thought out layout. Looks like monitoring and balancing with no LV or HV cutoff?
each board is only monitoring and balancing, the master could control a relay and have hv/lv cutoff

zener said:
How accurate are they?
I am highly interested in something like this. If it would be available in (ready to plug) for arduino and cheap from asia.
the board will cost me 3.5 in parts at qty of 10
theoretical accuracy is 4.39mv +- calibration +- tolerances, so should be less then 50mv
it has a atmega8 so it would only need one arduinoMega with a optocouple

circuit said:
It will have uneven current draw from cells. Beware.
yes it will, thanks, will be making the resistors larger to negate the effect, but balancing should keep it ok if it is used regularly, eg a 10Ah would take a year to discharge. would it be worth wile to have the same / close to even current draw?

would just mean i need to have the resistors increasing and can't use all the same
 
i have now assembled this on the bread board and i can't stop the uneven current draw, hmm.
good thing it can balance it
on the plus side a 10aH cell with the most discharge should take approx 40 000 hours to discharge. 4.5 years.
time to order the pcb's
 
Are you using the internal reference voltage for measurements? I would think you will get inaccurate results since the reference is equal to your cell 1 voltage.

Uneven current draw can easily be fixed using a regulator instead of powering directly from the cells.
 
yes i am using the internal reference, will be making a calibration program for each chip.
im not worried about the atmeg8's draw, it will be sleeping most of the time. but the resisters on the op amps are causing a difference draw, something like 150ua,200ua,200ua,150ua
 
You should be able to use pretty large resistors on the op-amps and get that portion of the drain to be basically negligible. Supply current is obviously an issue, but at least that will be even.

It's probably heresy to say it on this forum... but in reality a 50uA difference between cells is not that big of a deal. 50uA is ~2.25 years per Ah, so even if you only charge your pack once per year you have a relatively small imbalance to deal with.
 
yeah, i have updated the boards to reduce the current draw on the main cell when discharging other cells.
the cells i am using these on are 60ah. so the 50uA doesn't matter. i would perfer to have one cell discharge then all 4 if i am using a linear reg. these ones do have a spot for the linear reg tho

file.php


schematic2.JPG
 

Attachments

  • curcit digram2.JPG
    curcit digram2.JPG
    211.7 KB · Views: 1,385
Another thought I had is that Atmel makes some mcus specifically for battery management. Since it looks like you're only monitoring 4 cells they may be an option. The ATmega16/32HVB can take up to 25V supply, 12-bit ADC, coulomb counting, and a bunch of other BMS specific functions.
 
The problem with those chips is the price. I will be monitoring 48s with this. 4 per board was a simple number that made life easy and cheap these boards cost under $4 in parts. Adding a $10 chip is a large change. It would be nice to have some of the features in hardware tho. Will see as time goes on. I have the parts to make a couple lying around in my collection. Just waiting to get the pcb's back
 
Take a look at my project, fairly similar

http://endless-sphere.com/forums/viewtopic.php?f=14&t=61783
 
One trick to consider is using the op-amps in a differential amplifier configuration with the negative input fed by the positive terminal of each cell, through a large value resistor (~400k) and connected to the emitter of a PNP transistor. The positive op-amp input would be directly connected to the cell negative terminal. The PNP base would be connected directly to the op-amp output which would create in effect a variable resistor with a current equal to the current through your large (400k) resistor. From the PNP collector to ground to place another large resistor (100k) that will also see the same current as the PNP and the 400k resistor. Since you know the resistor value (100k) you can calculate the current through it, and therefore the voltage difference at the op-amp terminals (cell voltage). The op-amp could then be powered directly off the cell terminals (or bank of 4) and would effectively subtract the common mode voltage of the cell and divide by 4. With the 1.1V internal reference you could measure cell voltages anywhere up to 4.4V (4x 1.1V).

Just a thought...
 
Back
Top