1. 项目背景与核心价值
永磁同步电机(PMSM)因其高效率、高功率密度等优势,在工业伺服、电动汽车、家电等领域获得广泛应用。传统磁场定向控制(FOC)需要依赖机械位置传感器,这不仅增加了系统成本和体积,还降低了可靠性。无传感器控制技术成为近年来的研究热点,其中基于反电势观测的方案因其实现简单、成本低廉而备受关注。
我在某工业伺服项目中首次接触无感FOC技术时,发现市面常见的高频注入法在高速运行时表现不佳,而滑模观测器又存在固有抖振问题。经过多次实验对比,最终选择了低通滤波反电势观测方案,它在中高速区间展现出优异的稳定性和动态响应。这个方案最吸引我的地方在于:仅需在常规FOC架构中增加一个观测器模块,就能实现转子位置估算,硬件改动极小但效果显著。
2. 系统架构设计思路
2.1 无感FOC整体框架
典型的无感FOC系统包含以下几个关键部分:
- 电流采样与Clark/Park变换模块
- 转速/位置观测器(本文核心)
- 电流环PI调节器
- 空间矢量调制(SVPWM)模块
与传统FOC相比,最大区别在于用软件观测器替代了物理编码器。观测器通过电机端电压和电流,实时估算转子位置θ和转速ω,为Park变换和速度控制提供反馈。
2.2 低通滤波观测器选型考量
在选择观测器方案时,我们主要对比了三种主流方法:
| 观测器类型 | 适用速度范围 | 计算复杂度 | 抗干扰性 | 实现难度 |
|---|---|---|---|---|
| 高频注入法 | 低速(<5%额定) | 高 | 中 | 难 |
| 滑模观测器 | 中高速 | 中 | 强 | 中 |
| 低通滤波反电势法 | 中高速 | 低 | 较强 | 易 |
最终选择低通滤波方案主要基于:
- 目标应用场景为风机泵类负载,很少需要极低速运行
- DSP资源有限(使用STM32G4系列),需要轻量级算法
- 现场存在一定电磁干扰,需要较好鲁棒性
3. 反电势观测器原理实现
3.1 电机数学模型基础
永磁同步电机在α-β静止坐标系下的电压方程:
code复制uα = Rs*iα + Ls*diα/dt - ω*ψf*sinθ
uβ = Rs*iβ + Ls*diβ/dt + ω*ψf*cosθ
其中ψf为永磁体磁链,最后一项即为反电动势(back-EMF)。
3.2 观测器核心算法
构建反电势观测器的步骤如下:
- 通过测量相电流ia、ib,经Clark变换得到iα、iβ
- 利用电流模型计算电压估计值:
c复制
uα_est = Rs*iα + Ls*(iα - iα_prev)/Ts uβ_est = Rs*iβ + Ls*(iβ - iβ_prev)/Ts - 与实测电压比较得到误差:
c复制
eα = uα_meas - uα_est eβ = uβ_meas - uβ_est - 对误差信号进行低通滤波(截止频率约100Hz):
c复制eα_filt = (1 - K)*eα_filt_prev + K*eα eβ_filt = (1 - K)*eβ_filt_prev + K*eβ - 提取转子位置角:
c复制θ_est = atan2(-eα_filt, eβ_filt)
关键参数选择:滤波系数K=2πfc*Ts,其中fc取电机额定频率的1.5-2倍,Ts为控制周期(通常50-100μs)
3.3 相位补偿技巧
由于低通滤波会引入相位滞后,需要进行补偿:
c复制θ_comp = θ_est + ω_est*Tc
其中Tc为等效延迟时间,可通过频响测试测得。实测发现补偿后位置误差可从±15°降低到±5°以内。
4. 工程实现关键细节
4.1 硬件设计要点
-
电流采样设计:
- 推荐使用±50A/3.3V的分流电阻+隔离运放方案
- 采样电阻功率需满足P=I²R*1.5(余量系数)
- 布局时尽量缩短采样点到ADC的走线
-
PWM频率选择:
- 中小功率电机建议10-15kHz
- 大功率电机(>5kW)可降至5-8kHz以降低开关损耗
- 需与观测器计算周期同步
4.2 软件实现优化
-
定点数优化技巧:
c复制// 将0.01量级系数放大为整数运算 #define K_FILTER (int32_t)(0.01 * 65536) eα_filt = (eα_filt_prev*(65536-K_FILTER) + eα*K_FILTER) >> 16; -
启动策略设计:
- 初始采用开环V/f控制(0.5-2Hz/s斜坡加速)
- 当反电势幅值超过阈值(约5%额定)后切换闭环
- 切换时需进行角度对齐
-
抗饱和处理:
c复制if(fabs(ω_est) > ω_max) { ω_est = sign(ω_est)*ω_max; // 同时限制积分项 }
5. 实测问题与解决方案
5.1 典型问题排查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 启动时抖动 | 初始角度误差大 | 增加预定位过程(通电1s) |
| 高速时角度失步 | 滤波延迟未补偿 | 调整Tc补偿系数 |
| 负载突变时振荡 | 观测器带宽不足 | 动态调整K值(负载>50%时+20%) |
| 低速(<5%额定)不稳 | 反电势信号太弱 | 切换至I-f控制模式 |
5.2 参数整定经验
-
滤波系数K调试步骤:
- 初始设为对应200Hz的数值
- 空载加速至50%额定转速
- 逐步增大K直到转速波动<±1%
- 最后验证满载时的稳定性
-
电流环PI参数经验公式:
code复制Kp = Ls * 2π * BW_c Ki = Rs * 2π * BW_c其中BW_c取开关频率的1/10~1/5
6. 性能优化进阶技巧
6.1 自适应滤波算法
传统固定截止频率的滤波器难以兼顾全速域性能。可采用动态调整策略:
c复制// 根据转速自动调整截止频率
fc = fc_base + k_adapt*fabs(ω_est);
实测表明,当k_adapt=0.2时,低速波动降低40%而高速延迟仅增加5%。
6.2 多重观测器融合
在5-15%额定转速区间,可结合滑模观测器的优点:
- 设计混合权重系数:
c复制w = (ω_est - ω_low)/(ω_high - ω_low); θ_final = w*θ_smo + (1-w)*θ_lpf; - 平滑过渡区间通常设为±10%切换点
6.3 死区补偿改进
逆变器死区会导致电压畸变,影响观测精度。建议:
- 在线辨识死区时间:
c复制
Td_est = (Vdc*Td_actual - ∫err)/Vdc - 前馈补偿:
c复制
uα_comp = uα_cmd + sign(iα)*Td_est/Ts*Vdc
经过三个月现场验证,这套方案在2.2kW水泵电机上实现:
- 速度控制精度:±0.5%(额定转速)
- 位置估算误差:<±5°(中高速)
- 启动成功率:100%(带载启动)
- CPU占用率:<15%(STM32G474@170MHz)