Ideal Low Battery Failsafe Doubt

I am in doubt on how to properly setup low battery failsafe. The point is: OCV (open circuit voltage) differs from CCV (closed circuit voltage). You can eventually offset the battery voltage using a multimeter, but during flight the current draw will be much higher. So, should I calculate IR (internal resistance) on ground (low current draw) and calculate and theoretical offset based on the on flight current draw (e.g 10 A)?.
Anyway, current draw will vary depending on flight conditions and setups.
Battery OCV vs CCV

what I would do is hover until its as low as I dare go, Then land and plot the voltage vs time curve, that should give a much better idea when you need to land as it’s not linier, it drops off a cliff after 3.5v

My general rule was that it had to have enough time left for the critical battery failsafe to descend in land mode from 400ft/120m as that was its maximum operating altitude. so then you measure the time to descend in land mode from your maximum operating altitude, then you use your time to work out at what time you need to start landing and at what voltage.

Low battery fail safe is a bit harder to automate as things like the wind can make a big difference to how far it can make it back, I generally just left this as a warning rather than RTL. since we operated in small sections at a time even in land mode you could still fly it towards you when it’s descending and usually make it all the way back as I would always try and operating it from downwind if possible, that way the wind is always bringing it back to you rather than you fighting your way back through the wind with a dead battery.

1 Like

“…try and operate upwind if possible…”

1 Like

I was trying to say operating it from downwind.

1 Like

There is Lua script for smart low battery failsafe though it may be possible to foul it by flying downwind first.

1 Like

There is a few things required, and all are readily available already

  1. use correct voltage failsafe levels - always set these even if you use battery capacity just in case something unexpected happens
  2. accurately calibrated voltage sensor
  3. accurately calibrated current sensor
  4. ALWAYS set both Low and Critical failsafe actions
  5. elect to use the sag-compensated voltage
  6. adjust BATT_LOW_TIMER if required, to trigger failsafe sooner or later.

Point 1
If you use the initial parameters calculator in MissionPlanner, or this sheet (linked down below), to set your number of cells and battery chemistry, the calculated values are known to be appropriate. You could go more conservative if required - for example allowing more RTL flight time for longer flights, or carrying a heavy payload. Adjusting the BATT_LOW_TIMER could help in those situations too.

Point 2
Accurately calibrating the voltage sensor is easy and well documented. Use a lower voltage rather the full battery charge, to simulate the low battery voltage conditions where the value matters most.

Point 3
Calibrate your Amps Per Volt

  • Plug in a fresh battery and do a hover flight for 5 minutes or until you’ve used a significant amount of battery capacity
  • Immediately unplug the battery and charge it, note how many mah’s it took to charge. Let’s say that was 1,500 mah
  • Download your log and look at maximum CurrTot. Let’s say it was 1,300 mah
  • Get your existing BATT_AMP_PERVOLT setting from Mission Planner, let’s say 17
  • NEW_AMPS_PER_VOLT = OLD_AMPS_PER_VOLT x CHARGED_MAH / LOGGED_MAH
    With my example numbers, you’d get
    NEW_AMPS_PER_VOLT = 17 x 1,500 / 1,300 = 19.61
  • Set the new value in the BATT_AMP_PERVOLT parameter and save to your copter
  • Fly to check, repeat until you’re happy the new value gives consistent readings

Point 4

BATT_FS_CRT_ACT,1
BATT_FS_LOW_ACT,2  or 3

Some people elect to only set one of the failsafe actions. This is a mistake and the flight controller should be allowed every opportunity to save itself and the battery. There is multiple reasons for following this practice.

Point 5
Normally we use the raw voltage, but there is a sag-compensated value available and calculated live if you need it. Often this is not required unless your battery pack is subject to significant voltage sag, or you want to be very conservative.
BATT_FS_VOLTSRC,1

2 Likes