Jump to content

Cheap LiFePO4 BMS?


jetzi

Featured Posts

20 minutes ago, Dr Bob said:

Yes, but I only think that works if you are doing it manually and it is only useful to get the ball park figure for how much to drain/fill. If you have a 'brain' in your module trying to work it out then MPs approach shirley is much better?

The trouble with MP’s method is that he only does it on charge, and with a fast charge that ain’t very long. I think it would be preferable to get a sense of how many AH to take out of each cell (except the lowest one, obvs!) whilst charging, using your method, then implement during the remainder of the charge, and afterwards if necessary.

 

The algorithm would have to have a limit of only doing this process once, and not repeating it until another significant charge was in progress, to avoid the “legs off the table” scenario.

  • Greenie 1
Link to comment
Share on other sites

Anyway a couple of other points/questions, firstly that having browsed Iskra data to see what the part number for the brush/regulator module is, I notice that for the larger alternators like mine, they talk about zener diodes, as opposed to rectifier diodes in their smaller alternators. The zeners are used, apparently, to control an over-voltage situation in the event of a load dump. So perhaps these alternators could cope with a Li battery isolator opening during charge (with no LA soak) without damage or excessive system voltage? I don’t propose to try though - could be expensive!

 

Second point is that the regulator chip is designed to be permanently connected to the battery, and from there is also gets the field current. The chip takes about 60 micro amps when idle so that isn’t an issue, but it means there will be no connection to the D+, ie the field diodes will be open circuit. I don’t think this will be an issue but perhaps someone clever could confirm?

Link to comment
Share on other sites

28 minutes ago, nicknorman said:

The trouble with MP’s method is that he only does it on charge, and with a fast charge that ain’t very long. I think it would be preferable to get a sense of how many AH to take out of each cell (except the lowest one, obvs!) whilst charging, using your method, then implement during the remainder of the charge, and afterwards if necessary.

 

The algorithm would have to have a limit of only doing this process once, and not repeating it until another significant charge was in progress, to avoid the “legs off the table” scenario.

Yes, clever!

Link to comment
Share on other sites

18 minutes ago, nicknorman said:

Anyway a couple of other points/questions, firstly that having browsed Iskra data to see what the part number for the brush/regulator module is, I notice that for the larger alternators like mine, they talk about zener diodes, as opposed to rectifier diodes in their smaller alternators. The zeners are used, apparently, to control an over-voltage situation in the event of a load dump. So perhaps these alternators could cope with a Li battery isolator opening during charge (with no LA soak) without damage or excessive system voltage? I don’t propose to try though - could be expensive!

 

Second point is that the regulator chip is designed to be permanently connected to the battery, and from there is also gets the field current. The chip takes about 60 micro amps when idle so that isn’t an issue, but it means there will be no connection to the D+, ie the field diodes will be open circuit. I don’t think this will be an issue but perhaps someone clever could confirm?

I think not powering the field and regulator from D+ is fine, if the regulator is designed that way. I'd probaby want to continue to have the alternator warning light connected between D+ and switch battery positive in any case.

 

MP.

 

Link to comment
Share on other sites

9 minutes ago, MoominPapa said:

I think not powering the field and regulator from D+ is fine, if the regulator is designed that way. I'd probaby want to continue to have the alternator warning light connected between D+ and switch battery positive in any case.

 

MP.

 

Yes I did wonder about the alternator warning light and buzzer. Of course the supervising microcontroller could always operate it, the regulator chip has various possible fault flags in the LIN response frames. It would probably be useful for the microcontroller to know the ignition was on (ie time to wake up!) so a connection from switched ignition /warning light to the controller board.

 

But if I connect the alternator warning light to D+ it will never illuminate. Either the diodes will be reverse biased (alternator not working) or the voltages across the lamp will be equal (alternator working). The alternator warning light only comes on when the alternator isn’t working, due to lamp current flowing through the rotor.

Edited by nicknorman
Link to comment
Share on other sites

1 hour ago, nicknorman said:

Yes I did wonder about the alternator warning light and buzzer. Of course the supervising microcontroller could always operate it, the regulator chip has various possible fault flags in the LIN response frames. It would probably be useful for the microcontroller to know the ignition was on (ie time to wake up!) so a connection from switched ignition /warning light to the controller board.

 

But if I connect the alternator warning light to D+ it will never illuminate. Either the diodes will be reverse biased (alternator not working) or the voltages across the lamp will be equal (alternator working). The alternator warning light only comes on when the alternator isn’t working, due to lamp current flowing through the rotor.

Hmm, true. You could connect a suitable resistor to ground, but that's just burning power.  Maybe use an LED indicator, That allows a much larger resistor and kess power.  I think if it was me I'd still like and independent confirmation that the alternator in actually being excited when it's supposed to be.

 

MP.

 

Link to comment
Share on other sites

51 minutes ago, MoominPapa said:

Hmm, true. You could connect a suitable resistor to ground, but that's just burning power.  Maybe use an LED indicator, That allows a much larger resistor and kess power.  I think if it was me I'd still like and independent confirmation that the alternator in actually being excited when it's supposed to be.

 

MP.

 

The regulator chip measures field current and duty cycle, amongst other things, and reports it back over LIN.

Link to comment
Share on other sites

Back home now but still in a “let’s take it to bits” mood. The BG-8S had arrived whilst I was away so what would be the first thing to do? Take it to bits of course! Here is the PCB. Quite a powerful ARM chip (needed mostly to run the graphics, I presume) but no sign of a fancy BMS chip such as the one I intend to use, seems more traditional op amps, comparators etc with multiplexing done by discretes, I think. A couple of chips I can’t identify though. Still, a lot of electronics for £30 including profit!

 

My one is going to look much simpler! I hope.

 

FDB8700A-82B9-4B17-BE1E-5604212811B9.jpeg.2d62465c91a3c5525497fe4ce45357db.jpeg0C5249A7-4D31-4756-866F-E29CF7CB1A2A.jpeg.48c4abe8cda3c21d521aabe6854b1edb.jpeg

  • Greenie 1
Link to comment
Share on other sites

34 minutes ago, WotEver said:

Seen this post?

 

Yes I did, however it's not a suitable thing for my application. And anyway, as soon as I see Arduino and Sketch, I want to turn off! Not to mention everthing being on a web interface! I'm not a Millenial! The purpose of my design will be to provide information for the alternator regulator system and the protection isolator. Maybe maintenance balancing. The sort of BMS linked to is fine for small battery banks for models etc, but isn't suitable for batteries of several hundred AH. It will be designed to be "fit and forget" rather than showing lots of information.

 

Well that is assuming I actually get it to work!

 

But it does highlight that the term “BMS” covers a wide variety of things.

Edited by nicknorman
  • Greenie 1
Link to comment
Share on other sites

3 hours ago, nicknorman said:

Not to mention everthing being on a web interface! I'm not a Millenial!

I'm sure I can russle up a green screen terminal for it ?

 

The BMS was designed for large battery banks - take a look at DIY Powerwalls - there are people with 100kWh+ of battery capacity powering their off grid homes for weeks at a time.

 

The trouble with most chinese BMS type systems and ebay specials is the balancing current is tiny - 50mA or less in most cases and would take forever to balance a large pack.

Edited by stuart
Link to comment
Share on other sites

22 minutes ago, stuart said:

I'm sure I can russle up a green screen terminal for it ?

 

The BMS was designed for large battery banks - take a look at DIY Powerwalls - there are people with 100kWh+ of battery capacity powering their off grid homes for weeks at a time.

 

The trouble with most chinese BMS type systems and ebay specials is the balancing current is tiny - 50mA or less in most cases and would take forever to balance a large pack.

With mono-space font?

 

Anyway yours looks like a good project but mine is just a tool to gather information to run a smart alternator regulator. The chip I intend to use has outputs referenced to each cell- to drive balancing MOSFETS so I’ll probably have a separate board with MOSFETs and BIG resistors. Since our canal boats have steel hulls, I’ll consider using the hull as a heatsink if I can work out how to attach the resistors without drilling holes!

 

But the primary purpose is to measure cell voltages, temperature and current and pass via serial data link to the alternator regulator system, as well as operating the “emergency disconnect” relay.

 

So just a matter of different design goals.

 

i know a lot of people use Arduino but I find the development environment very poor. Starting with the stupid name “sketch”! 

I am a Microchip man for the time being!

Link to comment
Share on other sites

10 minutes ago, nicknorman said:

i know a lot of people use Arduino but I find the development environment very poor. Starting with the stupid name “sketch”! 

I agree, thats why I don't use it - take a look at platformio or the Visual Studio Code solutions, much better developing and debugging platform.

 

Are you building the alternator regulator yourself ?

Link to comment
Share on other sites

2 minutes ago, stuart said:

I agree, thats why I don't use it - take a look at platformio or the Visual Studio Code solutions, much better developing and debugging platform.

 

Are you building the alternator regulator yourself ?

Very sensible!

The alternator regulator is a 5 pin TO220 device which contains all the clever bits, connects directly to the alternator. The chip has a LIN interface, which is the cheap communication protocol used in cars (compared to CAN). So at the alternator end there will be this chip and a PIC mirco to talk to it over LIN, set regulation voltage, measure the alternator temperature etc. This micro will receive data about the batteries over a serial link from the BMS-type thing at the other end. I'm going to use an AD7280A as nearly everyone (except MtB) has a nominally 12v system ie 4 cells. These devices are fairly expensive (both around £8) but I've come to the conclusion that it is often better for small projects to use more complex devices with all the "hard work" done for you!

Link to comment
Share on other sites

2 hours ago, nicknorman said:

I know a lot of people use Arduino but I find the development environment very poor. Starting with the stupid name “sketch”! 

I am a Microchip man for the time being!

Having used the Arduino IDE for code development for my battery system, I tend to agree. I went that route because it was the least-energy path to a working binary. It's worth noting, though, that the Arduino hardware is just a PCB for the Atmel processor, and it's perfectly possible to use the gcc-avr cross-compilation toolchain direct. 

 

I'm a bit of a dinosaur, and prefer a text editor and makefiles to an IDE. The main hurdle to dropping the Arduino environment is the useful third-party libraries. It shouldn't be much work to make those stand-alone, but I've not got far enough down the TODO list to get around to trying yet.

 

MP.

 

  • Happy 1
Link to comment
Share on other sites

2 hours ago, nicknorman said:

AD7280A

It will be fun soldering that by hand!

 

Are you going to get those machine assembled ?

8 minutes ago, MoominPapa said:

I'm a bit of a dinosaur, and prefer a text editor and makefiles to an IDE

Thats the nice part of PlatformIO - you get to keep the Arduino 3rd party libraries but in a much more friendly way.

  • Greenie 1
Link to comment
Share on other sites

3 minutes ago, stuart said:

It will be fun soldering that by hand!

 

Funnily enough it's just arrived. Bloody tiny!

 

AD7280A.JPG.04cdc4e2660f48dcede381f06dd73a90.JPG

 

However I have done lots of SM soldering and not yet had a problem. I use solder paste (PbSn, obvs!) and reflow heat it (using a temperature controlled heat gun). And a big magnifying glass! Provided the solder paste is in date it works really well.

  • Greenie 1
Link to comment
Share on other sites

3 minutes ago, nicknorman said:

However I have done lots of SM soldering and not yet had a problem. I use solder paste (PbSn, obvs!) and reflow heat it (using a temperature controlled heat gun). And a big magnifying glass! Provided the solder paste is in date it works really well.

You'll like my youtube video of reflowing using a frying pan then !!

 

 

Link to comment
Share on other sites

2 hours ago, stuart said:

You'll like my youtube video of reflowing using a frying pan then !!

 

 

Yes I've heard of that method! ditto using a conventional oven etc. But I find the hot air rework gun method is fine, and more controllable. I typically do it in stages, solder the passives first as they are more heat tolerant. Then progress up to the ICs. It is true that I haven't yet done anything with 0.5mm lead spacing, and there are issues with minimum solder mask width between pins, but I think it will be OK (Famous last words!). Anyway, long way to go yet I haven't even started on the schematic. It's a project for those dark Scottish winter days!

 

Any thoughts on JLCPCB vs Elecrow? I've used the latter, they are great but shipping expensive. JLCPCB seems better for shipping.

Link to comment
Share on other sites

Hope this all makes sense... perhaps Dr. Bob could take a look and see how things look :)

 

ETA See my next post where I've found a SOC chart which shows that 13.4V at rest is about 99% full, 12.9V is about 20% full, and a good charging regime is to set Absorption voltage at 14.2V until the bank draws C/20.

 

Got my 4 Valence 130Ah 12V LiFePo4 12V batteries a couple of weeks ago. Got the software and a cable to read the battery info on the laptop, and worked out how to charge them individually. Not got all the wire, nor the opportunity, to connect them together yet. Might be in a position to do that on Tuesday – we’ll see.

 

I’ve read that they should all be at the same/similar voltage before connecting them in parallel so that has been my first job.

 

Prior to getting the cable and the software, I initially set the charger to 13.9V both absorption and float, with a max of 45A, and charged each battery until it had reached 13.9V and was drawing 6A or less. That’s all I’ve done with 3 of the batteries over the course of last Tuesday and Wednesday and they have rested since then.

 

Battery ID "11” was at 13.4V at 5pm on Tuesday and was at 13.37V at 9pm tonight

Battery ID “20” was at 13.39V at 5pm on Tuesday and was at 13.38V at 9pm tonight

Battery ID “3” was at 13.6V at 5pm on Wednesday and was at 13.48V at 9pm tonight.

 

The above readings were after the batteries had been charged to 13.9V and rested for a couple of hours. I have since sorted out the software and can see that the cell spread in each of the above batteries was between 3mV and 15mV having been at rest since charging as above.

 

I haven’t had a chance to watch the cell spread during charging on the above 3 batteries, so haven’t seen whether one or more cell voltages rise quicker than the others in any of the batteries.

 

Clearly, at 13.4V and 13.5V, these batteries aren’t full, and charging up to 13.9V results in them falling to 13.4V +/- after a period of rest.

 

Battery ID “9" was at 13.42V a couple of hours after charging to 13.9V last Tuesday.

 

With this battery I have been able to charge it and monitor it with the software over the course of today. The manual suggests that these batteries should be charged with an absorption voltage of 14.6V, (3.65V per cell x 4), until they are drawing around 6A, (C/20), so I set the absorption voltage at 14.4V to be slightly conservative, and started charging. Fairly quickly, the amps drawn fell from about 35A to 6A or so, and one of the cells rose to 3.65V and rising. The lowest voltage cell was at around 3.39V and the other two cells around 3.45V. Having reached what I think is the highest cell’s limit, I stopped charging. I then dropped the absorption to 13.8V, and charged until the high cell reached 3.65V again. All the time, the cell spread is around 200mV to 250mV. See Pic below:

 

1299071500_Valence9at14Vcharging29Nov19.jpg.5c61a4439b56c08ed54516b763db0764.jpg

 

This above picture shows the battery 9 info when charging at 14V. Hopefully self explanatory. Of some concern is that the event log, (bottom left), suggests that a cell has been at a voltage of 6.152V at some time in the life of the battery.

 

After a couple of hours at rest, there has obviously been some balancing going on as the 4 cells are around 3.366V and the spread is only 10mV. Total battery voltage is 13.455V at rest. It looks like the balancing reduces the voltage of the higher cells to that of the lowest - but I could be wrong. See pic below:

 

1986004657_Valence9atrest1Dec19.JPG.9450b05f5bdda40bdf806853f08842e5.JPG

 

From what I know, (which could be very wrong), if this was a DIY 4 prismatic cell 12V battery, I would assume that there was an issue with one cell not matching, and swap in an alternative. I don't have that option with these 12v batteries, and wonder if this one has a big issue? If I can only get the voltage of the whole battery to 13.45V, is that a major issue with capacity?

 

I’ll do a similar test with the others, perhaps one or two of them tomorrow, and see how they look, in terms of the cell voltages rising in tandem, or whether they are mismatched.

 

Any comments welcomed, if you’ve got this far and can be bothered. Particularly with respect to Battery ID “9”.

Edited by Richard10002
Link to comment
Share on other sites

OK... having worried myself because I was kind of expecting 14.6V to represent a fully charged 12V LiFePo4 battery, I've now found this on Will Prowse's site, which has made me feel a bit better:

 

https://www.mobile-solarpower.com/diy-lifepo4-solar-battery.html

 

"My Updated Charge Profile for LiFePO4:

  • Charge Limit Voltage (Absorption):
    14.2 volts for 12 volt battery, 28.4 volts for 24 volt battery
  • Float Voltage:
    13.5 volts for 12 volt battery, 27 volts for 24 volt battery
  • Set Equalize Time to: Disabled or 0
  • Set Temperature Compensation Coefficient to: 0 (usually its -3)
  • Low temp cut-off: 5 degrees C"

and this:

 

1396714444_LithiumSOCChart.jpg.7c8eedf5bfd03cb74c86b72af55f075b.jpg

 

So it looks like my 13.4V at rest is actually about 99% SOC, so pretty much as it should be. Looks like I could charge to settle at 13.3V, and set a lower voltage level of 12.9V at rest, then I should be using them between 20% and 90% SOC.

 

Just need to get them all at a similar voltage, and can parallel them up :)

 

It will be interesting to do a capacity test like Will Prowse does when he connects up a heat gun via an inverter. I'd probably use a 1000W fan heater, rather than a heat gun, although it seems a bit cavalier to me - I suppose I could just see what my monitor says about Ah used when they reach 12.9V, having started at 13.3V.

Link to comment
Share on other sites

7 hours ago, Richard10002 said:

OK... having worried myself because I was kind of expecting 14.6V to represent a fully charged 12V LiFePo4 battery, I've now found this on Will Prowse's site, which has made me feel a bit better:

 

https://www.mobile-solarpower.com/diy-lifepo4-solar-battery.html

 

"My Updated Charge Profile for LiFePO4:

  • Charge Limit Voltage (Absorption):
    14.2 volts for 12 volt battery, 28.4 volts for 24 volt battery
  • Float Voltage:
    13.5 volts for 12 volt battery, 27 volts for 24 volt battery
  • Set Equalize Time to: Disabled or 0
  • Set Temperature Compensation Coefficient to: 0 (usually its -3)
  • Low temp cut-off: 5 degrees C"

and this:

 

1396714444_LithiumSOCChart.jpg.7c8eedf5bfd03cb74c86b72af55f075b.jpg

 

So it looks like my 13.4V at rest is actually about 99% SOC, so pretty much as it should be. Looks like I could charge to settle at 13.3V, and set a lower voltage level of 12.9V at rest, then I should be using them between 20% and 90% SOC.

 

Just need to get them all at a similar voltage, and can parallel them up :)

 

It will be interesting to do a capacity test like Will Prowse does when he connects up a heat gun via an inverter. I'd probably use a 1000W fan heater, rather than a heat gun, although it seems a bit cavalier to me - I suppose I could just see what my monitor says about Ah used when they reach 12.9V, having started at 13.3V.

Richard,

I will answer this post first as it is the easiest. Yes, dont worry 13.4V at rest is near full. I will explain in response to your long post.

Be careful though. These voltages are HIS system. It may be different for you. It is best for you to map the voltages/SoC out for yourself.

Edited by Dr Bob
Link to comment
Share on other sites

As part of research to develop my system, I bought 4 500mAH LiFePO4 batteries to connect to the BG-8S. I’m making an assumption that the behaviour of these small batteries could be scaled up - may or may not be correct!

 

Anyway, interesting to note that when I charge them at 1C (CC phase) and 14.4v (CV phase) they hoover up the charge right until pretty late on. Ie the CV phase doesn’t last long at all. The current plummets from 1C to C/20 in just a few minutes, maybe 10 minutes. In other words, stopping charging when the current falls below 1C is only going to lose a pretty small amount of SoC. Of course that is with the very precise regulation of my bench power supply. A typical alternator with its soft regulation will have a much more progressive changeover from CC to CV. But a “smart” regulator should be able to maintain the target voltage and max current all the way to the set point (14.4v or whatever) making charging even to say 95% SoC, pretty fast.

Link to comment
Share on other sites

Richard the battery tells you its state of charge in the second picture it shows 45% ish remember these batteries arnt LifePo4s they have an addition of Magnesium so be careful of following the wrong advice.

The high cell voltage on that one cell is a bit of a worry, why cant you read the other batteries? if you bought them with known cycles you can put those on charge and watch them in charge

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.