5
\$\begingroup\$

I have a lead-acid battery on which I am using a voltage divider to measure the remaining charge.

Voltage Divider

enter image description here

Its my understanding that an example battery could discharge from 100-0% over say 10.5V - 12V.

What I would like to do now is try to increase the resolution of output of the circuit. So that an input of 10.5V-12V would be linearly related to an output of 0-5V. How can this be done?

\$\endgroup\$
  • 1
    \$\begingroup\$ Note that a 12V lead acid battery may generate 14V or so just after it has been charged, and have 15V in at the end of the charge cycle ... you may want the ADC range to take this into account. \$\endgroup\$ – Brian Drummond Dec 11 '12 at 15:45
  • 1
    \$\begingroup\$ Note that using terminal voltage alone is a poor measure of lead acid battery state of charge (SOC), unless you can schedule measurements with no load applied and the battery stays at a consistent temperature. (Terminal voltage is a function of lots of things, including SOC, temperature, load, discharge rate, etc. Search for Peukert equations on lead acid batteries.) \$\endgroup\$ – HikeOnPast Dec 11 '12 at 18:31
5
\$\begingroup\$

To achieve this, you have two main options: You can use an opamp, which can remove the DC bias and amplify the difference, or you can use a differential ADC.

For the former option, Op Amps for Everyone is an excellent reference. The differential amplifier in section 3-6 is an example of what you want; you can generate the reference voltage with a resistor and zener diode, or a resistor divider from a known input voltage.

The other option is to use a differential ADC. Presumably you're using a microcontroller to digitize this, and most microcontrollers support differential inputs. Input the reference voltage for the negative terminal and the divided voltage for the positive terminal and you're sorted.

\$\endgroup\$
  • \$\begingroup\$ I am using a microcontroller, are you saying I can adjust the resolution of the analog input on the board? That would be much easier. \$\endgroup\$ – jimmyjambles Dec 11 '12 at 15:49
  • \$\begingroup\$ @jimmyjambles I'm saying that your MCU probably supports differential ADC, in which case you feed a reference voltage - in this case the minimum possible voltage - into a terminal on your MCU, and it will measure the difference. \$\endgroup\$ – Nick Johnson Dec 11 '12 at 15:51
  • \$\begingroup\$ AREF pin, got it \$\endgroup\$ – jimmyjambles Dec 11 '12 at 15:52
  • \$\begingroup\$ That's another way to adjust the ADC. If it's an AVR that you're using, the AREF sets the upper limit on the ADC. \$\endgroup\$ – Nick Johnson Dec 11 '12 at 15:53
3
\$\begingroup\$

Simple expanded scale voltmeters sometimes use a zener diode to subtract a "constant" offset and transform the range of interest down to a lower absolute voltage.

Of course the voltage drop on a zener is not truly constant, but ultimately dependent on the current through it. However that will change only slightly over the input voltage range of interest.

If you are willing to build an active circuit, you could use an op-amp subtractor.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.