第 12 篇无感 FOC——滑模观测器原理与实现前面 11 篇我们一直用霍尔传感器来获取转子角度。但如果你的应用场景连霍尔都没有比如一些高速电机、压缩机电机或者需要更高性能就需要无感 FOC——通过电压和电流估算转子位置。1. 为什么需要无感控制有感霍尔无感观测器精度高精度略低全速段可靠低速困难需要额外硬件 $零硬件成本占用安装空间无安装要求霍尔可能故障纯软件更可靠无感 FOC 的核心思想电机的电压方程里包含了反电动势信息而反电动势里包含了角度信息。2. 滑模观测器SMO原理在 αβ 坐标系下电机电流方程为d(iα)/dt (-Rs/L)×iα (1/L)×vα - (1/L)×eα d(iβ)/dt (-Rs/L)×iβ (1/L)×vβ - (1/L)×eβ 其中 eα -ω×ψf×sin(θ) 反电动势 α 分量 eβ ω×ψf×cos(θ) 反电动势 β 分量SMO 的核心构建一个电流观测器把实际电流和观测电流的误差通过符号函数反馈回去逼出反电动势。3. SMO 的 C 代码实现typedefstruct{floati_alpha_est;// 观测 α 轴电流floati_beta_est;// 观测 β 轴电流floate_alpha;// 估算的反电动势 αfloate_beta;// 估算的反电动势 βfloate_alpha_filt;// 低通滤波后的反电动势floate_beta_filt;floattheta_est;// 估算的电角度floatomega_est;// 估算的电角速度floatk_slide;// 滑模增益floatk_pll_p;// PLL 比例floatk_pll_i;// PLL 积分floatpll_integral;// PLL 积分器}smo_observer_t;voidsmo_update(smo_observer_t*smo,floatv_alpha,floatv_beta,floati_alpha,floati_beta,floatdt){floatRsMOTOR_RS;floatLsMOTOR_LS;floatinv_L1.0f/Ls;// 1. 计算观测电流误差floati_alpha_erri_alpha-smo-i_alpha_est;floati_beta_erri_beta-smo-i_beta_est;// 2. 滑模控制律符号函数floatz_alphasmo-k_slide*(i_alpha_err0?1.0f:-1.0f);floatz_betasmo-k_slide*(i_beta_err0?1.0f:-1.0f);// 3. 低通滤波提取反电动势截止频率 fc 200~500Hzfloatalphadt/(dt1.0f/(2.0f*3.14159f*300.0f));// 300Hz LPFsmo-e_alpha_filtsmo-e_alpha_filtalpha*(z_alpha-smo-e_alpha_filt);smo-e_beta_filtsmo-e_beta_filtalpha*(z_beta-smo-e_beta_filt);// 4. 更新电流观测smo-i_alpha_est(-Rs*inv_L*smo-i_alpha_estinv_L*v_alpha-inv_L*smo-e_alpha_filt)*dt;smo-i_beta_est(-Rs*inv_L*smo-i_beta_estinv_L*v_beta-inv_L*smo-e_beta_filt)*dt;}4. PLL 锁相环提取角度直接用 atan2(e_alpha, e_beta) 提取角度噪声太大。工程中普遍使用**锁相环PLL**来平滑提取。voidpll_update(smo_observer_t*smo,floatdt){// 相位误差 e_alpha × cos(θ_est) e_beta × sin(θ_est)// 即反电动势矢量和估算角度的点积正比于角度误差floatcos_thcosf(smo-theta_est);floatsin_thsinf(smo-theta_est);floaterrsmo-e_alpha_filt*cos_thsmo-e_beta_filt*sin_th;// PI 调节角度smo-pll_integralsmo-k_pll_i*err*dt;smo-omega_estsmo-k_pll_p*errsmo-pll_integral;smo-theta_estsmo-omega_est*dt;// 归一化角度while(smo-theta_est2.0f*3.14159f)smo-theta_est-2.0f*3.14159f;while(smo-theta_est0)smo-theta_est2.0f*3.14159f;}5. SMO 参数整定参数物理意义调大影响调小影响k_slide滑模增益收敛快但抖振大收敛慢LPF fc滤波截止频率角度更平滑但延迟大噪声大PLL Kp锁相环比例跟踪快但可能振荡响应慢k_slide 经验值k_slide (0.3 ~ 0.5) × ω_rated × ψf先从 0.3 开始。6. 小结SMO 是工程中最常用的无感 FOC 方案鲁棒性好核心流程电流观测器 → 滑模误差反馈 → 低通滤波提取反电动势 → PLL 锁角SMO 在 ~5% 额定转速以上才能稳定工作低速仍需开环PLL 比 atan2 角度平滑得多下一篇无感 FOC 实战——让电机不用霍尔也能跑下一篇无感 FOC 实战——让电机不用霍尔也能跑