4
\$\begingroup\$

I have been working with LIPO batteries to power my portable projects for a while (mostly in RC aircraft), but when using them, I have always had to guess as to how much charge is remaining. Now, I am trying to build a system to provide a more accurate estimate as to how much charge is available.

So, I was thinking, I know how much the batteries get charged to, so, if I can measure the amount of current that is being drawn during its life, I can estimate how much longer the battery will keep operating.

Sadly, I am not to sure how to go about measuring this usage. I have a larger LiPop 4s battery (14.8v, 10000mah), and 4 180w brushless motors. This works out to around a maximum of 50A (each at 12.2A) being drawn by the motors at full power.

So, I want to measure the amount of current being drawn by all the motors. But, all the components I have found have usually maxed out at between 20A and 30A, so not enough to measure the usage if all the motors are going at once.

My solution to that was to measure the current being used by each motor. If I was to get 4 digital ammeters, and connect one to each motor, would that cause any problems? And would it be able to accurately measure how much current is being drawn without interference from the others?

Also, I have been searching several sources for digital ammeters, and there appears to be quite a range, and I don't want to get it wrong and damage my system/waste money, so If anyone could recommend a suitable Current Sensor I could use (the interface doesn't matter too much, as long as I can connect it to an Arduino)

\$\endgroup\$
  • \$\begingroup\$ Something like this from Infineon: infineon.com/cms/en/product/sensors-and-wireless-control/… Hall effect sensor, SPI output, up to 50A. \$\endgroup\$ – pjc50 Nov 28 '13 at 12:52
  • \$\begingroup\$ I know there are ICs designed specifically for battery management which probably address your goals more directly and completely. I'm not really an expert in that area though, so I can't recommend anything specific. \$\endgroup\$ – Phil Frost Nov 28 '13 at 13:03
  • \$\begingroup\$ @PhilFrost ooh, sounds interesting. Any ball park products I could search for to use as a jumping off point? \$\endgroup\$ – topherg Nov 28 '13 at 13:17
  • \$\begingroup\$ @cgoddard you could start with the battery management category on mouser.com. You might also have luck going to individual manufacturer's webpages to read their sales material. \$\endgroup\$ – Phil Frost Nov 28 '13 at 15:47
5
\$\begingroup\$

For measuring remaining capacity of a LiPo battery pack, search for Battery Fuel Gauge ICs.

For instance, the Texas Instruments bq34z100 Wide Range Fuel Gauge supports LiFePo4 batteries from single cell through to 18 cells (3V to 65 V range), monitors battery health, charge and discharge, battery aging and self-discharge. It interfaces using I2C 2-wire, and also has direct indication support via an LED direct output pin.

Fuel Gauge or Gas Gauge ICs like this can both estimate remaining capacity, and learn the battery parameters over time, thus improving precision of estimate with use.

To take battery management further, LiPo battery pack manager ICs such as bq3055 not only provide fuel gauging, they also incorporate over and under-voltage protection, overcurrent and over-temperature protection, all in one package.


For measuring current in the 50 Ampere range mentioned in the question, an integrated Hall Effect Current Sensor IC such as Allegro's ACS756 Hall Effect based Linear 50-100A Current Sensor can be used. While sub-50 Ampere current sensors are also available, at lower prices, it would be better to use a sensor rated for higher than the maximum current envisaged.

The down-sides of measuring current flow and thereby attempting to estimate remaining capacity are:

  1. Current has to be monitored constantly, as any missed readings due to interrupts on the microcontroller, for instance, would lead to imprecision in readings.
  2. Reactive loads like motors do not have a linear current draw: Besides ripple, they can also back-feed current. With the proper battery protection in place, this back-feed will not harm the batteries, but may be partially used to charge the batteries. This leads to further imprecision.
  3. A low current draw when the motors are off but the rest of the circuit is operating may not register at all in a high current sensor, and self-discharge certainly will not register. More imprecision.

The current sensor mentioned has an analog voltage output, 20 mV per Ampere, and requires an ADC pin at the microcontroller to constantly poll the readings. Other current sensors exist with direct serial (I2C or SPI) output, saving the ADC pin, and for buffered output devices, the requirement for constant sampling by the microcontroller.

\$\endgroup\$
2
\$\begingroup\$

The OP made reference to "4 motors". I am going with he has a quadcopter, and as such powers the motors with ESC's. So you wont be trying to measure DC current at the motor, you will be looking for AC, as these motors are 3 phase AC. Rated full load current of a 3@ motor is always divided by 1.73 to get its theoretical amp draw. Was your value of 12.2 A the rating? However, if you DO want to know the DC draw, you can measure the LINE side of the ESC in addition to the LOAD side and then you will know if your ESC is either wasting power, ie using more than its generating, or is increasing your efficiency by providing lets say for arguments sake 110% power to the motor. Ill leave the math to you.

\$\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.