无感 FOC 实战(十三) 第 13 篇无感 FOC 实战——让电机不用霍尔也能跑上一篇实现了滑模观测器的理论代码。这篇把它接入实际的 FOC 主循环让电机真的不用霍尔就跑起来。1. 无感 FOC 主循环smo_observer_tsmo;voidfoc_sensorless_loop(void){// 1. 读电流phase_current_tcurrread_phase_currents();// 2. Clarke 变换floati_alpha,i_beta;clarke_transform(curr.ia,curr.ib,curr.ic,i_alpha,i_beta);// 3. SMO 观测器替代霍尔smo_update(smo,v_alpha_prev,v_beta_prev,i_alpha,i_beta,CURRENT_DT);pll_update(smo,CURRENT_DT);// 4. Park 变换使用 SMO 估算的角度floatid,iq;park_transform(i_alpha,i_beta,smo.theta_est,id,iq);// 5. 电流 PIfloatvdpi_update(pi_d,id_ref,id,CURRENT_DT);floatvqpi_update(pi_q,iq_ref,iq,CURRENT_DT);// 6. 反 Park → SVPWMfloatv_alpha,v_beta;inv_park_transform(vd,vq,smo.theta_est,v_alpha,v_beta);v_alpha_prevv_alpha;// 存下来给下一周期 SMO 用v_beta_prevv_beta;uint8_tsectorget_sector(v_alpha,v_beta);floatta,tb,tc;calc_svpwm_duty(v_alpha,v_beta,VDC,sector,ta,tb,tc);set_pwm_duty(ta,tb,tc);}核心变化用smo.theta_est替代霍尔角度用smo.omega_est替代霍尔速度。2. 无感启动策略I-F 启动无感 FOC 在低速时观测器不收敛需要用 I-F电流-频率启动typedefenum{IF_ALIGN,IF_RAMP,IF_CLOSED}if_state_t;voidif_startup(floatdt){staticfloatif_theta0;staticfloatif_speed0;staticif_state_tif_stateIF_ALIGN;switch(if_state){caseIF_ALIGN:// 预定位与有感相同if_theta0;iq_ref0.5f;align_counter;if(align_counter2000)if_stateIF_RAMP;break;caseIF_RAMP:// 固定 iq 电流角度线性增加if_speed50.0f*dt;// 50 rad/s² 加速度if_thetaif_speed*dt;smo.theta_estif_theta;// 把 SMO 角度初始化到开环角度iq_ref0.3fif_speed*0.001f;// 随速度加大电流if(if_speed100.0f){// ~100 rad/s ≈ 240 RPM (4 对极)smo.omega_estif_speed;// 初始化 SMO 速度if_stateIF_CLOSED;}break;caseIF_CLOSED:// SMO 已收敛正常闭环iq_refspeed_loop.iq_ref;break;}}3. 低速性能优化无感 FOC 在低速 5% 额定转速时挑战最大。以下是工程中常用的优化提高 PWM 频率更高的采样率让 SMO 在低速时有更多观测机会增大 k_slide低速时反电动势小需要更大的滑模增益来克服信号衰减降低 LPF 截止频率低速时动态要求低可以用更低的带宽滤波以获得更平滑的信号死区补偿低速时死区占 PWM 周期比例大导致电压失真严重// 死区补偿根据电流方向补偿floatdeadtime_comp(floatphase_current,floatvdc,floatdt_dead){floatcompdt_dead*PWM_FREQ;// 标幺化补偿量if(phase_current0)returncomp;// v_comp ≈ 0.02~0.05 puelsereturn-comp;}4. 有感 vs 无感对比测试用同一台电机分别跑有感和无感对比性能指标有感霍尔无感SMO最低稳定转速~50 RPM~200 RPM速度精度~3%~3%启动时间上电即知位置需要 I-F 启动 (~500ms)突加负载响应快稍慢PLL 需收敛成本霍尔电机自带 $15$05. 小结SMO 替代霍尔直接接入 FOC 主循环I-F 启动是无感方案的标配低速是阿喀琉斯之踵需要死区补偿 参数优化大部分应用场景风扇、水泵、电动工具无感方案完全够用下一篇弱磁控制——让电机跑得更快下一篇弱磁控制——让电机跑得更快