Someone is building up a regulator (and integrated engine / DC generator controller) for use with LiFePO4 batteries and an associated BMS. This has given me the change to share Emails with folks knowledgeable about these quickly establishing technologies. It has also given me an opportunity to think a bit about how to adjust the Arduino Alternator Regulator to better support their needs. With the next release of source (will be v0.1.3) the following changes / additions will be included:
- Revised default CPE #8, better optomized for LiFePO4 batteries
- New CEP entry 'Min Charge Temp', to mirror existing 'Max Charge Temp'
- New Feature-in mode --> Force to Float.
The CPE has just a few changes, mostly fine tuning voltages. In support of these changes I have found a few more manufactures datasheets (See Resource link above). Anyone has additional info / insight please send it on! Charge profiles for LiFePO4 batteries share a lot in common, but there seems to be some slight variances with some manufactures - perhaps to 'gain a leg up', and perhaps also to lessen lifespan. The values I have placed in the default are a bit on the conservative side in that if there was an opportunity to 'push the battery a little' - I did not take it. Case in point the target voltages and the 30 minute cap on Acceptance phase. Some manufactures have a higher target then I am using, to pack more in - and there is some indication that LiFePO4 batteries really like to leave the table a little hungry. Meaning, charge them to 95% and stopping makes them happiest (unlike Lead-acid cells that really like to get a full 100% charge for longest life). Here is what I now have for default (remember, this is for a normalized 12v/100A battery, and will be scaled depending on the DIP switches):
- Volts target: 14.6v (3.65vpc)
- Amp Cap: 50% of Ah capacity (50A)
- Absorption exit: 3% of Ah capacity ( 3A)
- Float Voltage: 13.6v (3.40vpc)
- Revert to Ramp: 13.3v (3.325vpc)
As this is a change in the CPE structures any previously saved ASCII changes in the CPUs flash will be overwritten when you upgrade the firmware.. And the associated ASCII commands have also been changed.
The final addition is a new use for the Feature-in port -> Force to Float. This will force the regulator to stop charging and go into Float mode (or post-float if you have configured things to bypass float). It can be used with an external BMS that has perhaps detected an out of balance / single cell within a battery bank which is full. It lets the BMS stop the charging to protect that cell and/or the BMS system.
Force-to-float is only enabled when CPE #8 is selected and is active at all times - including boot-up (e.g., starting the engine when the BMS is indicated 'Do Not Charge' will cause the regulator to immediately go into Float mode.) As such Feature-in will no longer be able to restore the regulator to default or select Equalize mode. If you need to do one of those, change the DIP switches to something other then #8 and reset the regulator, or use the ASCII restore command.