一、开发原理
1. 硬件原理
-
分压电路:
无人机电池电压通常为 3S(11.1V)~6S(22.2V),超过 STM32H7 的 ADC 最大输入电压(3.3V)。需通过电阻分压(如 R1=10kΩ,R2=2.2kΩ)将电压降至安全范围。
分压公式:V_ADC = V_BAT * R2/(R1+R2)
。
例如,当 V_BAT=22.2V 时,V_ADC=22.22.2/(10+2.2)≈4V(超出范围),需调整为 R1=20kΩ,R2=5.1kΩ,此时 V_ADC=22.25.1/(20+5.1)≈4.5V(仍超出),最终选择 R1=47kΩ,R2=10kΩ,V_ADC=22.2*10/(47+10)≈3.9V(接近但未超出 3.3V,实际应用需留余量)。 -
STM32H7 ADC 特性:
- 最高精度 16 位(实际有效位数约 12-14 位),参考电压 3.3V。
- 采样时间可配置(最小 92 个 ADC 时钟周期),转换时间短(如 160MHz ADC 时钟下约 0.575μs)。
- 支持多通道扫描模式,可同时采集电池电压、温度等参数。
-
DMA 传输:
直接内存访问(DMA)可将 ADC 转换结果直接传输到内存,无需 CPU 干预,减少中断开销,提高采样频率。
2. 软件原理
-
ADC 配置:
- 连续转换模式:ADC 持续采样,无需每次转换都触发。
- 扫描模式:支持多通道采集(如电池电压 + 温度)。
- 采样时间:根据信号特性调整(电池电压变化缓慢,可设较长采样时间提高精度)。