Battery Sensor Configuration
PX4 has remaining battery charge estimation algorithm based on discharged current and voltage. Make sure that you configured battery parameters properly to get low battery warning before battery will be empty.
- BAT_V_SCALING - scaling coefficient for voltage sensor
- BAT_C_SCALING - scaling coefficient for current sensor
- BAT_CAPACITY - battery capacity, if < 0 then discharged current will be not used for remaining battery estimation
- BAT_V_EMPTY - empty battery voltage (per 1 cell)
- BAT_V_FULL - full battery voltage (per 1 cell)
- BAT_N_CELLS - number of cells
BAT_V_SCALING and BAT_C_SCALING can be tuned with external multimeter or lab power supply. Note, that current sensor may have some offset, so it's better to use big (near hovering) current for calibration.
BAT_CAPACITY should be set to nominal battery capacity in mAh (e.g. 3300 for 3300mAh) or a bit lower. Actual capacity for new batteries is more then nominal, but for old - it can be less than nominal. Note, that full discharging of LiPo batteries significantly reduces battery life and actual capacity. So it's better (and safer) to land with 20% of charge.
BAT_V_EMPTY should be set to start of fast voltage drop zone (“zone of temptation”, 3.35V on the picture below). You can see it in your logs analyzing BATT.VFilt.
BAT_V_FULL should be set to
BAT_V_EMPTY + 0.3 if no current sensor available or
BAT_V_EMPTY + 0.2 if it's available. It may look very low, but note that voltage changes not lineary while discharging and it's more important to fit lower part of discharge curve.
Example configuration for 3300mAh 3S battery + PIXHAWK + APM Power Module (voltage and current sensors):
BAT_V_SCALING 0.0082 BAT_C_SCALING 0.0124 BAT_CAPACITY 3300.0 BAT_V_EMPTY 3.3 BAT_V_FULL 3.5 BAT_N_CELLS 3
Example configuration for 2200mAh 4S battery + PX4FMUv1 + PX4IO (only voltage sensor):
BAT_V_SCALING 0.00459340659f (default) BAT_C_SCALING 0.0 BAT_CAPACITY -1.0 BAT_V_EMPTY 3.3 BAT_V_FULL 3.6 BAT_N_CELLS 4