I'm building an autonomous boat which contains a li-ion battery pack and I want to know how much charge it still left in it. To do this I measure the voltage of the battery pack. I let it run for about 14 hours and let it deplete and I get a nice discharge curve. So far so good.

But when I'm running this when the boat operates on the water, the voltage suddenly drops when the motor is switched on and jumps back up when the motor is switched off. And those changes also differ depending on how much throttle I give to the motor. The result is that the discharge curve is a total mess and it leaves me more or less guessing what the actual charge of the battery is in percentages.

The behaviour which I observe is also shown in this example I found of li-ion discharge curves:

enter image description here

So the behaviour I see is that my measurements switch between these various discharge curves. I guess I could make the percentage calculation dependent on whether the motor is powered. This method will be quite messy though. I also have to take into account how much I power the motor and when I change the motor, the battery or other parts of the electrical setup (which I do fairly often since I'm working on it) I guess I would have to manually recalibrate this whole calculation.

Does anybody know a good way to get a representative battery charge as a percentage when having changing power usage?

  • \$\begingroup\$ Do you know Peukert's Law? Can you both measure and control load current? What accuracy do you expect? What load range do you expect? \$\endgroup\$ – Tony Stewart EE75 Apr 19 '20 at 21:11
  • \$\begingroup\$ Sounds like you need to do some integration... Or rough estimates as you suggested. \$\endgroup\$ – MadHatter Apr 19 '20 at 23:12
  • \$\begingroup\$ You would perhaps be better with a battery monitoring IC that measures the total power used. Search for “Coulomb Counting Circuit”. \$\endgroup\$ – David Apr 20 '20 at 18:44

Every battery is built to drop the voltage when you draw a larger current, this is why automotive batteries have a nominal voltage of 12V under high load current and normal voltage of 14.4V.

In order to check the battery voltage you have to stop the load and charging circuits, wait until the battery voltage settles and then measure it.

Measuring by current is not good, your load can drain different amounts of current, which will give you false results. You need to measure the charging current. The battery will drain a different charging current, depending on its state of discharge, but you have to disconnect the load first.


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.