无位置传感器 FOC 启动时,转子停在哪没人知道。初始角估错,轻则启动抖动,重则堵转报故障。
为什么必须做
FOC 的坐标变换依赖转子角。角度差 90°,转矩几乎全变成励磁,电机只会"嗡"一声。
常见三种做法
1. 高频注入:在 d 轴注入高频小信号,靠凸极效应找角度。噪声小、零速可用,但算法重、对采样率要求高。
2. 脉冲电压矢量法:依次给 6 个方向加短脉冲,比较响应电流大小,峰值方向即转子大致方向。简单粗暴,电机有明显"咔"声。
3. 开环拖到闭环:先按固定频率爬升,等反电动势足够大再切闭环。最省事,但低速大负载可能切不过去。
工程上的组合拳
我们的做法是 2 + 1:开机用脉冲法粗定 60° 扇区,再用短时高频注入细分,最后切闭环。整个过程 50ms 内,基本一次成功。
/* 脉冲法:六方向试探,记录各方向电流峰值 */
for (int i = 0; i < 6; i++) {
set_voltage_vector(i * 60);
delay_us(200);
ipk[i] = read_phase_current();
}
sector = argmax6(ipk);要点:脉冲宽度要短到接近额定电流峰值就停,别真让电机转起来。