Even Newer 4 to 24-cell Battery Management System (BMS)

GGoodrum

1 MW
Joined
Sep 20, 2007
Messages
2,908
Location
South Orange County, CA
We are making progress...

Richard did a lot of testing in the last couple ofdays, and I think were are pretty much done. I'm working on what I hope to be the "final" layout right now. My plan is to get that in tomorrow morning, so I can get boards back by the end of the week.

Here's the latest schematic:

LiFePO4%20BMS-v1%203e.png



I'm not sure of the final board dimensions, because I'm trying to scrunch things up a bit, but right now, it is 3.5" x 6.9".

-- Gary
 
thanks, both (LVC & BMS board) have the same dimension?
 
Has multiplexing ever been discussed?

I know I'm a bit late here (OK waaay too late) but it would appear that multiplexing both the LVC and BMS would reduce component count dramatically and the circuit would scale much better.

BMS charging could take place just one cell at a time at a much higher current of course.
LVC would appear to be quite easy as long as isolation was maintained.

Now where did I put that 30A/16channel analog switch IC??

Just a thought from
--Twit
 
twit_biddler said:
Has multiplexing ever been discussed?

I know I'm a bit late here (OK waaay too late) but it would appear that multiplexing both the LVC and BMS would reduce component count dramatically and the circuit would scale much better.

--Twit

Yes, that's been looked at. There may be something related here:
http://endless-sphere.com/forums/viewtopic.php?f=14&t=3486

One problem with multiplexing the charge is the switches need to be rated for the full charging current and driving MOSFET gates on a large string becomes complicated. It also pretty much requires using some kind of microcontroller to sequence things and monitor the voltages.

The idea here was to avoid using microcontrollers and keep it analog.
 
shinyballs said:
thanks, both (LVC & BMS board) have the same dimension?

Close, but the BMS board is a little bit bigger. Its dimensions are 3.45" x 7.0". Here's what it looks like now:

LiFePO4%20BMS-v1%204-PCB.png


Over the weekend I got my 8-channel test board working with the latest parts, and it works quite well. I've tried it with several 8s4p a123 packs I have here, and it even found that in one of those packs, I had a weak block of cells. Normally, while the charger/supply is in the CC phase, pumping out the max current, the orange LEDs are off and the main LED is red. When the cells get to the cutoff point (3.65-3.70V...), their individual orange LEDs start to glow. That means the shunt for that channel is starting to bypass current, holding the voltage at 3.65V. The amount of current it will bypass is controlled basically by the size and value of the shunt resistor. My test board has 20 ohm/2W resistors, which limit the bypass current to about 150mA. This was mainly to get a baseline of the heat dissipation. We've also tried 15 ohm/2W versions, which boost the current up to about 200-250mA. I think this is going to be the limit, for boards that have to be sealed in with the cells, with no real airflow. For the bigger setups, like the 40Ah ThunderSky-based packs many are using, we have some big, fat 6.8 ohm/5W resistors that will boost the shunt current up to about 500mA, but with these, you need to have room to allow the board to "breathe". :) I'm not sure how hot these are going to get yet, but I'm guessing hot enough that you wouldn't want the board duct-taped to the cells, stuffed away in a bag. :)

The higher the shunt current, the less time it takes for the low cells to "catch up". Most of the Chinese BMS boards only use 50-100mA, which is why it can take 10 hours, or more, to balance a Ping pack. What I'm seeing is that with my a123-based packs, the LEDs are all coming on within a couple minutes of each other. I purposely discharged one cell down about 10%, and it took about an hour for it to catch back up to the rest. In any case, when a cell's shunt circuit gets close to getting swamped, an opto for that channel starts to conduct, which cause the FET logic to start cutting off the charge current completely, which in turn causes the cell voltage to drop, turning off its opto. This oscillation runs at about 50kHz, and when this mode is active, the main LED will be a yellowish color, as both the red and green portions will be lit. Actually, the LED transitions from red to green. When the first channel turns on its opto, both the red and green portions are lit about equally. As more channels come on, the green portion ecomes more prminent. When all the channels are in full bypass, the LED is just about solid green. Basically, all you do is wait until all the orange LEDs are on and the main LED is green. Then you are done. :)

With one of my 8-cell packs, one channel's orange LED came on way too early. I wasn't sure what was going on, so I just let the charge go on. It took awhile, but eventually all the rest of the cells caught up. I then tested this 8s4p pack with another one, on one of my bikes. Sure enough, the LVC circuits tripped, and it cut the throttle as soon as the controller got above about 30A. I also tried unplugging the LVC opto output from the controller, and tried it again. I could only get to about 35A and the voltage wsa being pulled down from about 55V to 41V. Later, I checked the pack, and one block was quite a bit lower in voltage than the rest of the cells (2.8-2.9V vs 3.2-3.3V...), and it was the channel whose orange LED came on too soon. It turns out that in that 4-cell block, one cell was dying (it was one from one of my early RC packs, and has been tortured to no end... :D ), and it was pulling down the other three. Since these three were also from RC packs, I decided to replace the whole block with four "healthy" cells. The pack is now as strong as the rest, and I was able to hit 55A peaks again on my new Cyclone 1000W setup on my Mariner folding bike. Anyway, the point is that by watching when the orange LEDs come on, in relation to the others, you can get a lot of info about the health of the cells in the pack.

I'm getting the boards shown above today. I think we are done, except for one remaining issue, which is that the voltage regulator transistor we are using (KSC1009...) wsa getting pretty warm. I'm going to do some tests today to see just how much current this part of the circuit needs, and then we will pick a new part that can dissipate more heat. Worst case is that we have to go to TO-220-sized part, but I'm really trying to avoid that, as it would force another layout change. We're going to try some other parts that wil still fit in the TO-92 footprint. I think Randomly suggested a one, and Richard's found several others. Other than that, I think we are done.

-- Gary
 
you can drop the dissipation in the KSC1009 by reducing the LED currents that it feeds, remember you are driving those with 12V now, increase the resistors. You can also shift some of the dissipation out of the transistor by putting a resistor in the collector lead and absorbing some of the voltage drop across that.
 
okay another noobie Question ;)

Would the BMS fit between this:

510128_LB_00_FB.EPS.jpg

http://www1.conrad.de/scripts/wgate...OP_B2C_AccuBatteries&~cookies=1&scrwidth=1680

and 16 of this:

SL-FHP10Ah_LRG.jpg

http://www.lipopower.de/shop/pages-...wer-linano-20-ah-32v-lifepo-zelle-sl-fhp.html

???

Links are to german websites but here are the key data:

Charger: 300W, 48V DC out, max 5.5A out, 110V-240V AC in.

Cells: 3,2V, 20Ah, charge current max 1C (20A).

I dont see a problem from the charger side as its not to high current but whats about the capacity of the cells?
Would this cause a to long balance period which would heat up the BMS?

I´m trying to keep the volume of the battery with all electronic as small as possible but wanna have an onboard charging solution.

THX Sven
 
Yep, that's the idea.
Should handle 16 of those fine. Not sure about how long balancing will take, and we are working on a higher current version for large cells.
 
fechter said:
...we are working on a higher current version for large cells.
Kewl. 8)

Any chance of a vid of the LEDs during balancing? Everyone knows that electronics kit is only as good as the blinky lights! :D
 
Randomly said:
you can drop the dissipation in the KSC1009 by reducing the LED currents that it feeds, remember you are driving those with 12V now, increase the resistors. You can also shift some of the dissipation out of the transistor by putting a resistor in the collector lead and absorbing some of the voltage drop across that.

I'll try bumping the LED resistors to 2K, and see what that does. Right now, the current draw during the CC charge phase where just the red portion of the LED is on, is about 12.5mA. It is when the gate driver is on, and the oscillation is in full swing that it is the worst case, as the current jumps up. It maxes out at about 55mA, when all the optos first come on, and both the red and green portions of the main LED are lit. As the cells top off, the green portion is on more than the red, and the current drops to about 48mA. This is with IXDF404. The current was higher before, with the TC428 part that we originally chose.

If this was the worst it wsa going to get, it would be easy to deal with, as there are several parts we've found that fit the TO-92 footprint that can handle up to 1W, or so. What I don't know is what will happen with a full complement of 16 cells, where the supply/charger voltage is close to 60V. My test board is using 8 cells.

We're trying to find a solution that will work with 8 channels, up to 16 channels. Adding a resistor to the collective would require different resistors for different number of cells/channels. Besides, that would require a layout change, which I'm trying to avoid.

-- Gary
 
Gary or Richard, Can you please explain the "Test LVC" switch and LVC operations in general for this iteration?
Thanks,
Jeff K.
 
jeffkay said:
Gary or Richard, Can you please explain the "Test LVC" switch and LVC operations in general for this iteration?
Thanks,
Jeff K.

That is simply to provide a way to check out if the LVC opto circuits are working properly with ebrake line on the controller. You can just connect a normally open pushbutton to thses connections, Pressing the button will simulate one of the optos tripping.

-- Gary
 
Bravo Richard and Gary,
i dont know if you will officially announce with a new thread or put on your website but i want one for sure
 
GGoodrum said:
jeffkay said:
Gary or Richard, Can you please explain the "Test LVC" switch and LVC operations in general for this iteration?
Thanks,
Jeff K.

That is simply to provide a way to check out if the LVC opto circuits are working properly with ebrake line on the controller. You can just connect a normally open pushbutton to thses connections, Pressing the button will simulate one of the optos tripping.

-- Gary
I like that idea! So it is only needed on one channel...

Good job.
 
slayer said:
Bravo Richard and Gary,
i dont know if you will officially announce with a new thread or put on your website but i want one for sure

We are very close. This regulator issue is the last item. Once we get it done, I will make kits available on my site, on this page: http://www.tppacks.com/products.asp?cat=26

-- Gary
 
Another way to reduce the current consumption of the IXDF404 is to put a small feedback capacitance from pin 5 (non-inverting output) to pin 2/ pin 4 (inputs). This will give you some switching hysterisis and slow down the rate of oscillation. Because you are driving the IXDF404 inputs with a fairly high impedance it's possible the whole thing is oscillating in the Mhz region and chewing up a bunch of current trying to drive the large gate capacitance of the power FET. Something in the range of 100pF - 1000pF should work pretty well.
 
GGoodrum said:
We are very close. This regulator issue is the last item. Once we get it done, I will make kits available on my site, on this page: http://www.tppacks.com/products.asp?cat=26

-- Gary
Will there be some form of Instructions / User's guide on your site, to help in wiring & installation?
So it will help your buyers who are not so electronically inclined and saves time by not reading through dozens of pages to find answers.
 
Randomly said:
Another way to reduce the current consumption of the IXDF404 is to put a small feedback capacitance from pin 5 (non-inverting output) to pin 2/ pin 4 (inputs). This will give you some switching hysterisis and slow down the rate of oscillation. Because you are driving the IXDF404 inputs with a fairly high impedance it's possible the whole thing is oscillating in the Mhz region and chewing up a bunch of current trying to drive the large gate capacitance of the power FET. Something in the range of 100pF - 1000pF should work pretty well.

Thanks Randomly, I'll try that. I measured the switching frequency at around 50khz max. Slowing it down a bit will definitely reduce the current consumption.
 
shinyballs said:
GGoodrum said:
We are very close. This regulator issue is the last item. Once we get it done, I will make kits available on my site, on this page: http://www.tppacks.com/products.asp?cat=26

-- Gary
Will there be some form of Instructions / User's guide on your site, to help in wiring & installation?
So it will help your buyers who are not so electronically inclined and saves time by not reading through dozens of pages to find answers.

Yes, there will be detailed, illustrated assembly and test instructions with the kits. It will also include wiring diagrams, like the one below, to show how to wire the harness to the cell junctions:

16-Cell%20LVC%20Connection%20Harness.png


-- Gary
 
fechter said:
Randomly said:
Another way to reduce the current consumption of the IXDF404 is to put a small feedback capacitance from pin 5 (non-inverting output) to pin 2/ pin 4 (inputs). This will give you some switching hysterisis and slow down the rate of oscillation. Because you are driving the IXDF404 inputs with a fairly high impedance it's possible the whole thing is oscillating in the Mhz region and chewing up a bunch of current trying to drive the large gate capacitance of the power FET. Something in the range of 100pF - 1000pF should work pretty well.

Thanks Randomly, I'll try that. I measured the switching frequency at around 50khz max. Slowing it down a bit will definitely reduce the current consumption.

I have some 0.1uF ceramics. I'll give one a try. :)
 
fechter said:
and we are working on a higher current version for large cells.

144 volt, 90 AHr or better ThunderSky LFP's for an electric car conversion.

If you're gonna think big, think REALLY big.

Amanda
 
commanda said:
fechter said:
and we are working on a higher current version for large cells.

144 volt, 90 AHr or better ThunderSky LFP's for an electric car conversion.

If you're gonna think big, think REALLY big.

Amanda

Yes, that's pretty much what I had in mind. Should be no problem with some heat management.
 
0.1uF is a bit big. I would start with 100-200pF. You don't want to stuff too much current into the input protection. If you only have 0.1uF, put a 1k resistor in series with it.
 
Randomly said:
0.1uF is a bit big. I would start with 100-200pF. You don't want to stuff too much current into the input protection. If you only have 0.1uF, put a 1k resistor in series with it.

I already tried it, since it was a pretty easy mod. It really did the trick. :) The curent went down to a max of about 13.91mA, and the temp of the KSC1009 dropped to about 135-145F. I'm not sure how that will affect the shunt current, if at all, and I don't know what the current would be for a 16-cell setup.

I'll see about trying it again with a resistor in series.

Thanks -- Gary
 
Back
Top