ArduPilot之开源代码电压/电流校准

ArduPilot之开源代码电压/电流校准

  • 1. 源由
  • 2. 校准公式
    • 2.1 电压校准
    • 2.2 电流校准
  • 3. 校准参数
    • 3.1 电压参数
    • 3.2 电流参数
  • 4. 实例校准
    • 4.1 电压校准
    • 4.2 电流校准
  • 5. 参考资料

1. 源由

关于inav/betaflight做了电压、电流的校准后,再来看Ardupilot的电流电压校准就比较容易,因为校准的原理都是类似的。

【1】BetaFlight开源代码之电压校准
【2】BetaFlight开源代码之电流校准

校准采用的方法都是一次线性拟合校准。

2. 校准公式

注:当BATT_MONITOR = 4的时候,系统采用ADC采样。其他数字模式(ESC、INA239_SPI等)采样就无需校准了。

2.1 电压校准

_state.voltage = (_volt_pin_analog_source->voltage_average() - _volt_offset) * _volt_multiplier

2.2 电流校准

_state.current_amps = (_curr_pin_analog_source->voltage_average() - _curr_amp_offset) * _curr_amp_per_volt

3. 校准参数

3.1 电压参数

  • BATT_VOLT_PIN: Battery Voltage sensing pin
  • BATT_VOLT_MULT: Voltage Multiplier
  • BATT_VLT_OFFSET: Voltage offset

3.2 电流参数

  • BATT_CURR_PIN: Battery Current sensing pin
  • BATT_AMP_PERVLT: Amps per volt
  • BATT_AMP_OFFSET: AMP offset

4. 实例校准

注:拟合工具,详见Linear regression calculator。

4.1 电压校准

默认配置通常:BATT_VLT_OFFSET = 0

ArduPilot之开源代码电压/电流校准_第1张图片从拟合曲线结果看,其实默认值非常准确。

ArduPilot之开源代码电压/电流校准_第2张图片

因此,该目标板配置电压参数如下:

BATT_VOLT_MULT = 11
BATT_VLT_OFFSET = 0

4.2 电流校准

默认配置通常:BATT_AMP_OFFSET = 0

ArduPilot之开源代码电压/电流校准_第3张图片

实测值还是有较大偏差的,拟合后会相对偏差小很多。
ArduPilot之开源代码电压/电流校准_第4张图片

因此,该目标板和电调板,配置电流参数如下:

BATT_AMP_PERVLT = 55
BATT_AMP_OFFSET = 0

5. 参考资料

【1】BetaFlight开源代码之电压校准
【2】BetaFlight开源代码之电流校准
【3】ArduPilot开源飞控系统之简单介绍
【4】ArduPilot - Aocoda-RC H743Dual

你可能感兴趣的:(ArduPilot,autopilot)