Power Remaining Logic

After flying the machine I noticed that the battery remaining indication wasn’t very accurate at different (higher) throttle settings. It’s not a big deal, of course, you just make sure to look at it at the same throttle settings but…

It got me thinking. How WOULD you solve that? So I came up with the following ideas.

I’d appreciate any input. The code would SEEM fairly straight forward.


Here is the illustration and text.

Thanks Jeff, it is getting worked on. All of the ESC on everyone’s units have a built in Amperage, RPM, Temp etc. telemetry on the extra data line. We are currently designing a new set of PCBs to monitor and calculate battery info much more accurately.
The best part is every one should be able to upgrade to it very easily. That’s the system that is going into batch 4.



Look forward to seeing it in action.

Hey @Pdwhite, are you sure there is telemetry out that line and not just RPM signal? The datasheet that came with my esc said just RPM. Haven’t tested yet however

Ya we’ve tested it also I’m pretty sure the sheet says it on there.

My instruction sheet didn’t say it either but that’s good news! Will this upgrade be yet another voltage divider, or an add on PCB, or a new board inside the controller?

No it’s going to be all the sensing stuff needed to read the ESC, BMS and a micro controller to compute that info.

1 Like

My son and I have some ideas that we want to work on that should be even more simple and more accurate than what you are suggesting. Perhaps similar though.

There are two things to address when programming battery percentage. The first and biggest discrepancy is caused by voltage sag. Instead of an array like you suggested we just need to measure the amount of sag. The sag occurs because of resistance. The resistance not only changes based on size of cells and number of cells in parallel vs series but will also change as batteries get older and will even change during the flight as the batteries get warm and as the batteries get low. Thus there are infinite possibilities so, instead of an array, we will simply measure the relationship between sag and throttle position anytime the throttle position is moved more than a certain amount within a certain time frame. That relationship will be stored and used to compensate for the sag. The relationship will be recalculated and updated more often if you are actively operating the throttle but if you don’t it will still be close because that relationship doesn’t change a lot during flight.

Before making any assumptions we want to collect data. The first step in collecting data will be to program the remote to display throttle position and voltage. Then record video of the display during throttle up to collect data and graph it. We are hoping the relationship is close enough to linear to just use linear calculations but we shall see. If so it will make the programming much more simple.

The other discrepancy is that voltage vs capacity is not a linear relationship. If 50 volts is full and 42 volts is empty, the current program assumes 46 volts is 50%. In reality, 46 volts might only be 30 or 40%. I will take some measurements of voltage over time during a flight and use this data to come up with an equation. Even though this equation should be different for different battery types it should be close enough and much closer than we get now.

The telemetry data should be interesting but even with it I think the above calculations will be needed.


@ gliderpilot:
I use a drone that warns me if the votage gets under a defineted limit, than the controller beeps and it shows an alarm.

If the battery is warm and i force the 4 motors to 90%throttle it can kick in short, if i calm down and fly slower i can get some more seconds of flight as the voltage sag is not so bad when i fly only 60% throttle

I find that very conviniant as if it stayes under that level it constantly beeps and vibrates to warn me to land.

The warning is set at a level that allows about 30 to 60 seconds safe flight with much throttle while permanant alarm is warning.

That would give us a good indication not to use it further and land our gliders.

On the drone the voltage recovers after shut off for more than 0,4 volts, if battery cooles off but not more than 5 seconds after a new flightstart it will beep again constantly.
So the reading seems to be pretty correct even if battery is warm and if it was forced to max.poweroutput even at the end of the flight.
Btw. Flying with 60 or 70% throttle what means just hovering around the drone gives 11 min 30 flighttime, flying 8 figures with 80 to 90% trotle gives about 9 minutes flighttime with the drone- so not so much difference.

And there is a overload warning when flying full up anf forward a lpng time or when turn 180 degrees with full throttle.

It beeps and shows overload on remotedisplay.

I do something similar… When I fly I keep an eye on my timer (I know my typical flight time) and voltage. At the end of my flights I can’t go full throttle without the voltage dropping below 42 volts so I adjust the throttle accordingly. Once I can no longer hold level flight without dropping below 42 volts I land. The batteries are pretty empty at this point and any attempt to fly longer drops the voltage extremely fast… so fast that you can feel the drop in power.

The only thing I want to change about this technique is to monitor the voltage of the lowest cell and keep it to a 3.5 volt minimum. Note: 42v = 3.5v * 12S

Got it thank You

These are the same ESC’s:

On the connector with a white, red, and black wire the white one has the telemetry data. My son and I successfully collected data from it.

1 Like