07-06-2011, 07:33 PM
|
#1 (permalink)
|
EcoModder
Join Date: Mar 2010
Location: New Zealand
Posts: 181
Thanks: 0
Thanked 33 Times in 20 Posts
|
Low cost BMS
This uses a single board per cell, each board measures the cell voltage, has a 1/2A shunt that can be turned on or off and a thermistor to monitor the cell temperature. The modules communicate in a daisy-chain using an optocoupler with a 2-wire link. Parts cost per board under $5.
There is a master control unit that handles all the comms, raises alarms if a cell is too low or too high in voltage, switches shunts on or off if balancing is being done, displays cell voltages (highest and lowest), displays cell temperatures, has outputs that can cut the charger back to 1/2A or turn it off entirely.
The cell modules are done and I am working on the master with the intention of modifying the Cougar LCD unit to handle these functions. It has more than enough spare capacity and also a nice LCD. I can get enough i/o pins to make it happen by deleting some of the existing functions, such as the "mode" switch, the CAN bus, one of the LEDs and so on.
My first iteration is a stand alone micro/LCD though, with the merging with Freyguy's design a bit later.
Here's a cell module circuit diagram:
__________________
Sometimes I sits and thinks and sometimes I just sits.
|
|
|
The Following 2 Users Say Thank You to harlequin2 For This Useful Post:
|
|
Today
|
|
|
Other popular topics in this forum...
|
|
|
07-06-2011, 08:39 PM
|
#2 (permalink)
|
EcoModding Lurker
Join Date: Jul 2011
Location: Tampa, Florida, United States
Posts: 28
Thanks: 5
Thanked 2 Times in 2 Posts
|
Does this have a safety to stop itself from draining the battery on a failure? Also, the master controller is programmable correct? I would like data logging if possible as well as balancing/charging/discharging functions. When I get off work I'll compare the two boards but this seems like it is more of what I wanted. =)
To me a BMS should control the on board charger or be strongly integrated into it, talk with the motor controller/inverter and alert the user to any 'off' conditions.
It should output pack voltage/amperage, and should alert if any single battery is higher or lower then the others and try to keep it in sync. If one battery is consistently being a PITA the system logs should show it so we can get rid of the one misbehaving battery.
Last edited by Simy; 07-06-2011 at 09:23 PM..
Reason: The term "battery" and "pack" are not as interchangeable as this one thought... 0.o
|
|
|
07-06-2011, 09:17 PM
|
#3 (permalink)
|
EcoModder
Join Date: Mar 2010
Location: New Zealand
Posts: 181
Thanks: 0
Thanked 33 Times in 20 Posts
|
Quote:
Originally Posted by Simy
Does this have a safety to stop itself from draining the battery on a failure? Also, the master controller is programmable correct? I would like data logging if possible as well as balancing/charging/discharging functions. When I get off work I'll compare the two boards but this seems like it is more of what I wanted. =)
To me a BMS should control the on board charger or be strongly integrated into it, talk with the motor controller/inverter and alert the user to any 'off' conditions.
It should output pack voltage/amperage, and should alert if any single pack is higher or lower then the others and try to keep it in sync. If one pack is consistently being a PITA the system logs should show it so we can get rid of the one misbehaving battery.
|
Yes, in the event of comms failure, the shunt is turned off. Also, the the cell voltage drops too low, the shunt is turned off. The board only draws 1/2 mA so it isn't going to drain the cell appreciably, the self-discharge rate is higher than that.
Everything is controlled by the master and data logging could be added easily. I'm using a laptop as the master at present, but working on a PIC based unit that will do it.
My charger has inputs that allow it to be cut back to 1/2A or turned off entirely. The easiest way to provide those signals, and one that is more or less "universal" is to use digital outputs from the master ie ON/OFF.
When you say "pack" I presume you mean battery - which is the name for a collection of cells connected together I thought a pack was a collection of dogs......
The master can calculate the battery voltage by summing the cells and compare this with the direct input from the battery so it can see if there is a big difference and alert the user to possible link connection problems
__________________
Sometimes I sits and thinks and sometimes I just sits.
|
|
|
07-06-2011, 09:30 PM
|
#4 (permalink)
|
EcoModding Lurker
Join Date: Jul 2011
Location: Tampa, Florida, United States
Posts: 28
Thanks: 5
Thanked 2 Times in 2 Posts
|
Yes sorry about using the wrong term, I just woke up and need to get ready for work. On Paul's design he added some sort of fuse to blow if the circuit was draining the battery due to an open gate failure. I'm not familiar with these yet so I will need to do some studying on them.
I would be happy to help you design this and as it happens I have 4 lipo packs that my charger cant charge because of a false peak.
I figure the master can add up the cells current requirements and have the charger output that, so the output is variable and best for each one and if your design works the way I think it does the shunt of each cell can take what that battery needs. Am I understanding the theory so far?
Is it safe to assume that the highest and lowest battery should be within 1/2A of each other? Or am I missing something?
How does it balance? Does it balance the load a bit by drawing a bit more power from higher batteries and less from lower batteries, or does it discharge the higher batteries to the lower batteries?
If your design of the cell moniters is static I'll look into ordering the parts and use some of my old nimh AA's for a test, and then move on from there. Battery chemistry shouldn't matter and my charger can be used as a power supply so a simple addition to it should mean I can use my current charger to output a steady voltage/amperage and a PWM controller to lower the current as required. The actual charger should do this. Then I can help program the pic. =)
Last edited by Simy; 07-06-2011 at 09:32 PM..
Reason: I'm just not doing so good this morning :(
|
|
|
07-06-2011, 10:01 PM
|
#5 (permalink)
|
EcoModder
Join Date: Mar 2010
Location: New Zealand
Posts: 181
Thanks: 0
Thanked 33 Times in 20 Posts
|
Quote:
Originally Posted by Simy
On Paul's design he added some sort of fuse to blow if the circuit was draining the battery due to an open gate failure.
I figure the master can add up the cells current requirements and have the charger output that, so the output is variable and best for each one and if your design works the way I think it does the shunt of each cell can take what that battery needs. Am I understanding the theory so far?
Is it safe to assume that the highest and lowest battery should be within 1/2A of each other? Or am I missing something?
How does it balance? Does it balance the load a bit by drawing a bit more power from higher batteries and less from lower batteries, or does it discharge the higher batteries to the lower batteries?
=)
|
I use a bipolar transistor to control the shunt, easier to drive than a fet. Should a shunt driver fail "on" - which is very unlikely - the cell voltage will become lower and lower and that will be picked up by the master, so I see no need to monitor the shunt states directly.
Not sure what you mean by "the cell's current requirements".
My charger produces a constant current of 16A which is the most I can get without going to 3-phase power at home. That's for its CC phase. When the current drops to less than about 20% of that, the charger does its CV phase at (no. of cells x cell max voltage) which is 162V for my 45 cell (CALB) battery. Its capacity is a little over 120 AHrs, so it takes about 8 hours for a full charge. The BMS can turn it off when a cell reaches Vmax or cut it back to only .5 amps (the shunt current) to do top balancing. (see below).
This BMS is intended for LiPO4 cells only and is not suitable for any other type. The cell modules operate from 2.2V to 4.0V only. Vmax and Vmin can be user set anywhere in this range.
Balancing is done by matching the cell voltages, nothing to do with currents. There are two ways to do it, "top" and "bottom".
Top balancing is where you stop charging cells when they reach Vmax, but keep charging all the others and bottom balancing is where you stop discharging cells when they reach Vmin but keep discharging the others.
Bottom balancing is generally safer because the "weakest" cell determines the charge in all the others so they all run out together.
Sorry if this sounds like a lecture!
__________________
Sometimes I sits and thinks and sometimes I just sits.
|
|
|
07-07-2011, 08:45 AM
|
#6 (permalink)
|
EcoModding Lurker
Join Date: Jul 2011
Location: Tampa, Florida, United States
Posts: 28
Thanks: 5
Thanked 2 Times in 2 Posts
|
Don't worry about the lecture I'm always willing to learn and admit I know next to nothing when it comes to eletronics. Now, when I got my extra ham license I may have been able to make heads or tails of it but I didn't study batteries/chargers/BMS/motors so
Please forgive me if this is stupid but what limits this circuit to a 2.2-4.0V range? Also how accurate is the voltage measurement? Is it possible with a change to have a wider range without impacting the rest of the design? It looks like the PIC gets its power straight from the battery, assuming I'm correct on that then shouldn't its operating range vary from 1.8-3.6V? Or am I looking at the wrong chip?
Do you have a BOM so I can look at each part? Is it a 2 wire system where they all communicate on the same 2 wires, or is it 2 wires per battery/device?
I like the battery module but as for your master brain I may go my own route =) I would prefer my master module also accept the throttle input and give a throttle signal to the speed controller, and handle the charger as well.
I looked up how batteries charge and assuming you have a power supply capable of putting the correct power/voltage for your pack (or cells) then it should be fine. I'm not quite sure how the shunt works though, could you explain that to me?
I'm sorry if I seem like such an idiot, I'm sort of getting the hang of it but I've never really looked at making a circuit nor have I even though of using a PIC but seeing what it is capable of after reading a bit about it (just now...) I'm going to order the PICKIT 3 ASAP and a project to start playing with would be helpful. =) I learn best by doing anyways, even if it will take me awhile to "get it" I will. If I hadn't found this forum I would have been using a computer to do the same thing. $100+ as well as MUCH more power usage! PIC's are AWESOME!!!
Edit Below:
After rereading your post I just have to ask is the shunt the resistor to ground? Simply a way to waste energy? So in theory we could discharge ALL cells until Vmin, or we could continue to charge all cells (even past their max capacity) without damaging them because we are wasting power after we get to Vmax? Did how this balances finally "click".... correctly?
Last edited by Simy; 07-07-2011 at 08:48 AM..
Reason: Addition.
|
|
|
07-07-2011, 06:31 PM
|
#7 (permalink)
|
EcoModder
Join Date: Mar 2010
Location: New Zealand
Posts: 181
Thanks: 0
Thanked 33 Times in 20 Posts
|
The micro has an operating voltage of 1.8 to 5.5 and yes, it is powered by the cell that it is connected to. Because I wish to use a single byte to carry the cell voltage information, I have limited the voltage range that can be measured to 2.2 to 4.0 which more than covers the needs of Li cells.
Using a single byte cuts down the comms overhead.
It is a "daisy chain" system where each module is connected to the next passes its data from on through the chain until finally ending up back at the master.
The parts are labelled on the circuit diagram.
The shunts are indeed connected across each cell with a transistor sitch to turn them on or off. Yes, this wastes energy but any other cell balancing system is immensely more complex and expensive. The shunt resistor system is adequate provided you never let your cells get very far out of balance.
Hope this helps!
__________________
Sometimes I sits and thinks and sometimes I just sits.
|
|
|
07-07-2011, 11:25 PM
|
#8 (permalink)
|
EcoModding Lurker
Join Date: Jul 2011
Location: Tampa, Florida, United States
Posts: 28
Thanks: 5
Thanked 2 Times in 2 Posts
|
I like your idea and as far as wasted energy were talking about a very minimal amount of amps, earlier you said half an amp IIRC. So that is not much! I like your idea in its simplicity, however I don't like your designs inflexibility. I'm going to see if I cant make the system what I want exactly. I need something to do anyways and a way to learn. I'm going to assume you don't mind?
Should I start my own thread and will you give input when needed?
-------------
I've started my own thread... This post got lengthy :/
|
|
|
07-08-2011, 12:05 AM
|
#9 (permalink)
|
EcoModder
Join Date: Mar 2010
Location: New Zealand
Posts: 181
Thanks: 0
Thanked 33 Times in 20 Posts
|
Go for it!
__________________
Sometimes I sits and thinks and sometimes I just sits.
|
|
|
07-08-2011, 10:01 AM
|
#10 (permalink)
|
ReVolt Enthusiast
Join Date: Jun 2009
Location: Michigan, USA
Posts: 239
Thanks: 97
Thanked 47 Times in 40 Posts
|
Quote:
Originally Posted by harlequin2
This uses a single board per cell, each board measures the cell voltage. The cell modules are done and I am working on the master with the intention of modifying the Cougar LCD unit to handle these functions. My first iteration is a stand alone micro/LCD though, with the merging with Freyguy's design a bit later.
|
What type of battery does your BMS work with Lion or SLA? Both would be nice, most DIY'ers can only afford SLAs. All of the BMSs on the market are only for Lions.
It would be nice if you could also interface your master controller to "Adam's" open source 6Kw charger http://ecomodder.com/forum/240533-post37.html.
It would be great to see a ReVolt open source Motor Controller, DC Charger, BMS, and LCD Display all connect to each other as a complete system !!!
-Mark
|
|
|
|