基于 ADC 采样的无感方波电机控制
本指南包含以下内容:
初始位置检测
由无刷电机的一相电压平衡方程 \(u_{a}=Ri_{a}+L_{a}\frac{di_{a}}{dt}+e_{a}\) 可知,当电机静止时,反电势为零,则电枢电流为:
通过分析上述公式可知,通过施加高频电压以产生对应的脉冲电流,并对比脉冲电流大小,可准确确定转子的位置范围。
为获取初始状态下的转子位置,esp_sensorless_bldc_control 组件在启动时按照顺序施加电压脉冲,获取采样电阻上的电流脉冲,比较 6 个矢量的大小以确定最大矢量所在区间。
注入顺序 |
U相 |
V相 |
W相 |
---|---|---|---|
1 |
Udc |
Udc |
GND |
2 |
GND |
GND |
Udc |
3 |
Udc |
GND |
Udc |
4 |
GND |
Udc |
GND |
5 |
GND |
Udc |
Udc |
6 |
Udc |
GND |
GND |
备注
在静止状态下,对 BLDC 电机分别注入特定电压矢量,每个电压矢量作用固定时间 \(T_{s}\),保障注入电流大小。
电压矢量注入结束时刻,对母线电流采样。
依次注入剩余电压矢量,比较各电压矢量作用下的电流值大小,确定最大电流标识,得到转子初始位置。
基于 ADC 方案的 BLDC 无感控制
反电势定义
当无刷电机转动时,每个绕组都会产生反电动势电压,根据楞次定律,反电势极性与主电压相反。反电势计算公式:
其中,N 为绕组匝数,l 为转子长度,r 为转子内半径,B 为转子磁场,\(\omega\) 为角速度。
当电机做定后,电机绕组与转子参数固定。电机反电势只与角速度成正比。
下图为电机旋转一个电周期中电流与反电势波形。
ADC 方案的过零点采样原理
当 BLDC 电机转动时,反电势过零点发生在浮空相。通过检测各相各相对地电压,并与直流母线电压对比。当端电压等于直流母线电压一半时,即发生过零事件。在基于ADC的过零点检测方案中,同时测量端电压与直流母线电压并进行对比,获得过零信号。
ADC 方案的过零点采样硬件
为简化计算流程,端电压与直流母线电压采用相同的分压系数。在 12V 电机控制方案中,采用 \(1/21\) 的分压方案,控制直流母线电压与端电压范围在 ESP32 系列芯片的 \(V_{ref}\) 范围内。
备注
注意,电压需要转化到 ESP32 ADC 能够采集的范围。请参考:ESP32 ADC