AGM battery State of charge, SOC

vk3gjm

New Member
Hi All,

I am trying to build a dual volt meter 20x4 OLED using (20M2) that will monitor the main vehicle cranking battery and a lighter aux battery. Both batteries have a slightly different voltage value referenced to a SOC on %, thus I want to accurately map for an accurate result.

How can you correlate SOC % to a given voltage. I have tried a offset/LUT 100 to 5% in increments of 5 for main and aux batt, but I am struggling to bond the LUT value 100, 95,90,85 to 5% SOC with a given measured ADC value / converted voltage using READADC10?

At the moment the easy code uses if = and <, then, goto xxx: but so many lines of "if" commands is very inefficient....

Any hints?

Regards

Gerald
 

bryanl

Member
Trying to measure SoC for lead acid batteries within 5% is a nontrivial exercise. For a 12v system, the resting voltage runs from 12.2v (50%) to 12.6v (100%) with excursions up to 15v or so on charging and down to 10v or less when cranking an engine. Differences between AGM and other types of lead acid batteries for state of charge measures are negligible. You can find charts - e.g. see batteryuniversity.com - that show voltage vs state of charge but this is always a resting voltage at standard environmental conditions. Factors such as temperature, battery age, cycle to cycle variations, and use profiles can each impact available battery energy capacity by 10% or more.

To show voltage, you'd probably want to use something like a zener diode to provide the drop to a base level and then a resistor divider to scale the usable range to what you want for the ADC. You'd also probably want to provide some sort of over-voltage protection and perhaps some signal smoothing. You could probably use linear interpolation to convert between the resting full charge and resting 25% of charge points and percentage. Do note that you generally do not want to run lead acid batteries below 50% if you value lifespan.

Of course, the big question here is just what question you are trying to answer. SoC doesn't tell you available battery capacity. This is why many alternative energy battery monitors integrate power over time to assess energy draw. Smartguage watches how the battery responds to charging and discharging to determine where it is on the curve.

Good luck. Have fun.
 

premelec

Senior Member
As Bryan suggests a zener diode to reduce your voltage and expand scale can work - sometimes the TL431 part [adjustable shunt zener] is very useful in this type of service as it's stable and adjustable to suit your needs - down side is the pot that adjusts it draws a little current. Be sure to protect the PICAXE from any high voltage source that can put out current - e.g. put a 10K R in series with the READADC pin
 

vk3gjm

New Member
Hi Guys,

Thanks for replying.

I got the electronics right and that's not my issue, I also understand battery technology in detail and have a lot of detail about both batteries and SOC v voltage. Maybe I am being to fussy, call this a pet project.

I used a 0.1% tolerance resistor divider network with plenty of input protection therefore scaling and accurate measured results in the most basic format is not the issue.

I will work on the look up.

Regards

Gerald
VK3GJM
 

premelec

Senior Member
BTW LM3914 type bargraph driver IC can help in this type application - if the unit is still available...
 
Top