How to determine system runtime from used Lipo capacity?

Today I posted on an experimental run of a radially moving Arduino robot:
https://forum.arduino.cc/index.php?topic=331722.msg2764588#msg2764588

I completely charged four 160mAh 25C Lipos (4.13+4.14+4.19+4.20=16.66V) and let the system run (two motors, an Arduino Uno, two Mosfet motor controllers). The robot did run 4623m in 5:26min (average speed 14.17 m/s) until stopping at 10.81V with continuous resets.

Is there any formula that would allow to roughly compute the time the system can run?

Find below the technical data.
2 IRF520 Mosfet modules
1 Arduino Uno
2 motors (see below)
4 25C 160mAh Lipo

Motor spec (translated from German spec):

nominal voltage: 14.8 V
working voltage: 4-14.8 V

running idle:
- number of revolutions: 24600
- current: 0.19 A

maximal efficiency:
- number of revolutions: 12320
- current: 1.73 A
- torque: 8 Nmm

output power: 10.1 W

efficiency: 52 %

weight: 30 g

Hermann.

Run time in hours = R
Battery capacity in mAh = C
System current in mA = I

Then:

R = C/I

Since your system ran for 5:26 minutes (0.09 hours) we can deduce the average current while your experiment was running was 1777mA

mAh means milliAmp hours so a 160mAh battery can theoretically deliver 160mA for 1 hour, the more current drawn the less time it takes to use up the charge

Once each Lipo voltage drops below 2.7V (10.8V for a 4 in series cell pack) they get damaged. So bear that in mind.

Thanks for the information.

Once each Lipo voltage drops below 2.7V (10.8V for a 4 in series cell pack) they get damaged.

In the other posting I showed the remaining power distribution of the 4 Lipos:
1.35+2.94+3.55+2.97 = 10.81V left

After a day I now loaded the 2.94V one to 4.17V without problems.
And the 1.35V one was loaded to 3.97V until a diconnect happened.
It just finished loading at 4.19V.

So does that mean that a Lipo below 2.7V might be damaged or should be damaged?
I had some Lipos with <1V in the past, nost could be loaded to 4.xV again, only few were dead.
So was I just lucky?

Another question on the 1777mA you calculated.
Motor spec says that single motor can draw 1.73A.
Is it possible that 61km/h is quick, but robot could be much quicker if I would spend 4 Lipos for each motor separately?

Hermann.

HermannSW:
So does that mean that a Lipo below 2.7V might be damaged or should be damaged?
So was I just lucky?

Likely, yes. Lucky, yes but and capacity (mAh) will get poorer.

HermannSW:
Another question on the 1777mA you calculated.
Motor spec says that single motor can draw 1.73A.
Is it possible that 61km/h is quick, but robot could be much quicker if I would spend 4 Lipos for each motor separately?

Spec says "at maximum efficiency" it draws 1.73A so you could drive it harder and it would draw more current if the load is higher.

Each motor is taking 0.9A, putting bigger diameter wheels on it would make it go faster and the motor would draw more current.

Powering each motor individually with separate packs might make it go a little bit faster (assuming weight is not an issue) because the voltage sags as the current increases due to internal resistance in the cells. Thus you will get less voltage sag at half the current.

Each motor is taking 0.9A, putting bigger diameter wheels on it would make it go faster and the motor would draw more current.

I started with 30mm diameter wheels and got 15.95m/s.
Then I went to 24mm diameter wheels and got 17.14m/s, see this posting:
https://forum.arduino.cc/index.php?topic=331722.msg2762009#msg2762009

The explanation I have for that (which is the opposite of what you proposed) is that I calculated the rpm at motor shaft for 30mm as only 10155 and I knew that I can get more rpm at motor shaft with smaller diameter wheels which my experiments confirmed. Over all the different motors and runs I did in the Motor Test Station thread 30mm was always worse (sometimes only slightly) than 24mm and 20mm. While 20mm and 24mm were sometimes similar, 20mm was never better than 24mm and 24mm was better than 20mm diameter wheels.

OK, so not magic jump in max speed with more Lipos, good to know.

Hermann.

HermannSW:
I started with 30mm diameter wheels and got 15.95m/s.
Then I went to 24mm diameter wheels and got 17.14m/s, see this posting:

OK, in that case something else is dominating the speed such as wind resistance from the larger diameter wheel, rubber compound is different or the setup balance is changed increasing friction. If these things were constant then the the speed would increase. Ideally use wheels with the same frontal area and narrow ones (which will have less turn resisting friction), or try tilting the wheels to reduce contact area, or add a fairing in front of each wheel so the experimental conditions are more consistent. You also need to be sure any losses in wiring and switches are minimised.

The theory is simple, to go faster you need more power, just do not let the current exceed 50% of the stall torque of the motor as at higher currents power starts decreasing and the power goes into heating the motor up.

Power is Volts x Amps

So 11V @ 1.77A = 19.6W

This is interesting since it says in the data sheet that the maximum power for the motor is 10.1W so you are close to exceeding that power rating.

Ideally use wheels with the same frontal area and narrow ones (which will have less turn resisting friction),
or try tilting the wheels to reduce contact area, or add a fairing in front of each wheel so the experimental
conditions are more consistent.

Please see photo taken below, same frontal area, same material, absolutele same robot (just 3mm lower because of 6mm less diameter for 24mm vs. 30mm), same tire pattern, same wheel rim ...

I can try narrow ones (the used were 1cm wide), but I thought that 1cm may be needed at least later when Aurduino robot should drive autonomously with speeds >2.5m/s through 90° curves with radius 15cm while follwing line in line following competition ...

So 11V @ 1.77A = 19.6W

This is interesting since it says in the data sheet that the maximum power for the motor is 10.1W
so you are close to exceeding that power rating.

The run started with 16.66V, so it seems that I did exceed power ratings already.
(I know that is outside of the 4-14.8V working voltage range of the motors)

At the end after running for 5:26min when Lipos were depleted and robot stopped, the Lipos were very warm, if not hot (all 4).

Hermann.

interupt 2800 is the point where you should stop discharging the batteries. From thereon you are over-discharging and ruining your batteries

Thanks.

From thereon you are over-discharging and ruining your batteries

Happened in another long run yesterday.
Lost 1 Lipo due to melting(!) and side force of rubber band used for fixating the 4 Lipo pack:

Showed 0.0V, but the robot still did continuous resets as is hearable at the end of previous long run youtube video. So although the Lipo looks really broken, it still is conductive.

interupt 2800 is the point where you should stop discharging the batteries.

Instead of robot measuring its own speed, is perhaps robot measuring Vin and abort based on some voltage threshold an option?

I will do other runs (with one new Lipo) when back home on Thursday and let robot's Uno measure Vin (map 16.66V max to 5V) this way:

Vin --(23.2KΩ)-- + -- (10KΩ) -- GND
                 |
                 |
                A0

In the first run robot will abort when Vin measured goes below 10.8V (=4x2.7V as learned from bodmer above). The recorded interrupt data on the Due will show whether that is before or after the 2800 slope change. Depending on that reduce or increase Vin threshhold level for next run.

Is that plan valid, or is really speed slope change detection needed?

Or will there be a voltage slope change around 2800th interrupt as well and the Uno will detect that by continuously monitoring measured slope and stopping on big slope change?

Hermann.

"In the first run robot will abort when Vin measured goes below 10.8V (=4x2.7V as learned from bodmer above)."

Even that's not good enough.
You need to monitor each battery (cell) individually as one could be fully discharged whilst others are still operable.

Lithium cells in series produce lots of monitoring headaches for those who wish to get long life from them.

I have no idea how to measure 4 Lipos AND use them in series.

I could connect each Lipo i (i=0..3) to GND and Ai for measurement.
But then I cannot use them in series anymore because of GND connected to all of them.
How can the measuring be done?

Hermann.

Create a resistor chain for each cell with all using the common ground.
first chain measures cell 1 via A0
second chain measures cells 1 + 2 via A1
third chain measures cells 1 + 2 + 3 via A2
fouth chain measures cells 1 + 2 + 3 + 4 via A3
Whilst this is not a perfect system, by mathematically subtracting A0 from A1 you get cell 2 voltage and by subtracting A1 from A2 you get cell 3 voltage and by subtracting A2 from A3 you get cell 4 voltage

Wow, thank you!

OK, now during a long run I can continuously determine the minimal of the 4 Lipo voltages.
Is 2.7V abort threshhold OK for first try?

Hermann.

bodmer calculated above that system current was 1.77A, with 4*4.2V=16.8V Lipo series voltage that means 29.74W.

I will go with below circuit to determine each Lipos voltage by resistor network described by jackrae
[transforms the measured voltages (up to 16.8V) to 0-5V range for A0-A3 analog input pins]:

1*4.2
4.2
(2*4.2)*10/(10+6.81)
4.99702558001189767995
(3*4.2)*10/(10+15.4)
4.96062992125984251968
(4*4.2)*10/(10+23.7)
4.98516320474777448071

Hermann.

 GND ---------------------------+
  |                             |
Lipo0                           |
  |                             |
  +------------- A0             |
  |                             |
Lipo1                           |
  |                             |
  +---(6.81KΩ)-- A1 -- (10KΩ) --+
  |                             |
Lipo2                           |
  |                             |
  +---(15.4KΩ)-- A2 -- (10KΩ) --+
  |                             |
Lipo3                           |
  |                             |
  +---(23.7KΩ)-- A3 -- (10KΩ) --+