0
\$\begingroup\$

so i'm planning to build a battery power meter where it will measure voltage,current,mAh,WH ,and i have created the voltage divider for voltage measurement ,but i cant decide which current measuring method to use,i have 3 method that will work,but which one is the best , i want it to be as accurate as possible ?

also the microcontroller i will be using is an atmel atmega328p-pu used as standalone micro controller

enter image description here

the first method (A) is by simply using a power resistor as current shunt on negative rail and when its under load there will be a little voltage drop on the resistor and the mcu will measure the current from the vdrop

second method (B) is by using a CT and an op amp

third method (c) is by using custom callibrated ebay current shunt since the current shunt will only gives out few millivolt it will require an op amp,and because this kind of shunt was very sensitive to temperature change a thermistor is required to compromise the temp changes ,because temp change may cause the reading to go off so badly example: current shunt output is 1mV/A at 36c it may change to 1.1 or even up to 2.6 mV/A due to temperature change.

\$\endgroup\$
  • 2
    \$\begingroup\$ If there was a single best method for all cases, then why isn't everyone using it? \$\endgroup\$ – PlasmaHH Feb 16 '16 at 14:16
  • 1
    \$\begingroup\$ A shunt that's that temperature dependent is not worthy of the name. Even a copper wire or track (which being a pure metal has a bad tempco) only shifts 10% resistance in 25 degrees C. 'Proper' resistors will have a much smaller tempco. \$\endgroup\$ – Neil_UK Feb 16 '16 at 14:22
  • 1
    \$\begingroup\$ You should state clear requirements (measurable current range, required precision). \$\endgroup\$ – Dmitry Grigoryev Feb 16 '16 at 14:55
  • 2
    \$\begingroup\$ By definition, a current transformer is for measuring AC currents only. \$\endgroup\$ – Barry Feb 16 '16 at 15:20
  • 1
    \$\begingroup\$ A and C are the same. You will want to use an amplifier for either. The only difference if the quality of the resistor. There is a compromise between the amount of voltage you drop and the amount you need to amplify the signal. What is the CT device in method B? \$\endgroup\$ – user1582568 Feb 16 '16 at 15:20
1
\$\begingroup\$

Method A is the simplest. However without an opamp you will get low resolution and/or high voltage drop across the shunt. You can get around this limitation without any extra parts by using an MCU with built-in opamp (eg. ATtiny26L). This is how the rc-electronics Watts Up Meter does it.

Method B (using a DC Hall effect sensor, not a current transformer) is good for measuring high current with low voltage drop. Hall effect sensors suffer from hysteresis, external magnetic fields, and high internal noise, so they are not as accurate as a shunt. Some Hall current sensors can read both positive and current currents, which is useful for measuring current going into the battery (eg. when charging it).

Method C is just method A with an opamp and temperature compensation (which a good shunt doesn't need).

If you are measuring high current then the shunt should have low resistance to minimize power dissipation, and 'Kelvin' connections to reduce errors due to parasitic resistances. In this photo of a Watts Up meter the Kelvin connections are the two thin tracks coming out below the middle of the 0.001Ω shunt.

enter image description here

\$\endgroup\$
  • \$\begingroup\$ There's a method D: placing a shunt resistor on the high side instead and using a purpose made high side current sense amplifier IC. Some source a small current proportional in magnitude to the measured current, allowing a single resistor to be used for scaling the value to the range of any ADC. Others output a voltage to ground proportional to the measured current, such as the linked part. \$\endgroup\$ – jms Feb 16 '16 at 18:07

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.