1. PMSM无传感器控制的核心挑战与解决思路
永磁同步电机(PMSM)因其高效率、高功率密度等优势,在工业伺服、电动汽车等领域广泛应用。传统控制依赖机械传感器获取转子位置,但传感器增加了系统成本、体积和故障率。无传感器控制技术通过算法估算转子位置,成为当前研究热点。
龙贝格观测器(Luenberger Observer)作为经典状态估计器,在PMSM控制中展现出独特优势。其核心思想是通过构建电机数学模型,利用可测量的电压、电流信号,实时估算不可直接观测的转子位置和速度。但在实际应用中面临两大核心难题:
- 高精度跟踪问题:电机运行过程中存在参数变化、负载扰动等因素,导致传统观测器估算误差增大
- 抖振现象:由于开关器件非线性、测量噪声等因素,估算信号出现高频振荡,影响控制性能
针对这两个问题,我们开发了一套集成改进型龙贝格观测器与自适应滤波算法的解决方案。实测表明,在额定转速范围内,转子位置估算误差可控制在±0.5机械角度以内,速度估算相对误差小于0.2%。
2. 龙贝格观测器的数学模型构建与改进
2.1 PMSM的基本数学模型
在α-β静止坐标系下,PMSM的电压方程可表示为:
code复制v_α = R_s*i_α + L_s*di_α/dt - ω_e*λ_m*sinθ_e
v_β = R_s*i_β + L_s*di_β/dt + ω_e*λ_m*cosθ_e
其中:
- v_α, v_β:α-β轴电压
- i_α, i_β:α-β轴电流
- R_s:定子电阻
- L_s:定子电感
- ω_e:电角速度
- θ_e:电角度
- λ_m:永磁体磁链
2.2 传统龙贝格观测器设计
基于上述模型,传统龙贝格观测器设计为:
code复制dî_α/dt = (v_α - R_s*î_α + ω̂_e*λ_m*sinθ̂_e)/L_s + l_1*(i_α - î_α)
dî_β/dt = (v_β - R_s*î_β - ω̂_e*λ_m*cosθ̂_e)/L_s + l_1*(i_β - î_β)
dω̂_e/dt = l_2*[ (i_α - î_α)*sinθ̂_e - (i_β - î_β)*cosθ̂_e ]
dθ̂_e/dt = ω̂_e + l_3*[ (i_α - î_α)*cosθ̂_e + (i_β - î_β)*sinθ̂_e ]
其中l_1, l_2, l_3为观测器增益系数。
2.3 改进型自适应增益设计
我们发现固定增益系数难以适应电机全工况范围。当转速变化超过50%额定值时,传统观测器误差明显增大。通过引入转速自适应的增益调整策略:
code复制l_1 = k_1*(1 + |ω̂_e|/ω_base)
l_2 = k_2/(1 + |ω̂_e|/ω_base)
l_3 = k_3*(1 + |ω̂_e|/ω_base)
其中ω_base为基准转速,k_1, k_2, k_3为设计参数。这种非线性增益分配在低速时增强电流跟踪能力,高速时提高角度估算稳定性。
3. 抖振产生机理与抑制策略
3.1 抖振的主要来源
通过频谱分析,我们识别出抖振主要来自三个途径:
- PWM开关噪声(集中在开关频率及其谐波处)
- 电流采样量化误差
- 观测器本身的高频模态激励
实测数据显示,在10kHz PWM频率下,未处理时转子位置估算信号中含有约±2°的高频波动。
3.2 两级滤波方案设计
我们采用前馈+反馈的复合滤波架构:
前馈滤波层:
- 对原始电流信号应用滑动平均滤波:窗口宽度=5个PWM周期
- 采用基于FFT的实时谐波消除算法,抑制特定频段噪声
反馈校正层:
code复制θ̂_filt(k) = a*θ̂(k) + (1-a)*θ̂_filt(k-1)
a = 0.7 - 0.3*(|ω̂_e|/ω_max)
这种变系数滤波在高速时减少相位滞后,低速时增强滤波效果。
3.3 死区补偿增强
逆变器死区效应会引入额外的电压畸变。我们通过在线辨识死区时间,在观测器输入端加入补偿电压:
code复制v_comp = sign(i)*V_dc*T_dead/T_sw
其中T_dead为实时更新的死区时间估计值,T_sw为PWM周期。
4. 硬件实现关键细节
4.1 STM32F4平台实现要点
基于STM32F407的实测经验分享:
- ADC采样时机:设置在PWM周期中点,避开开关瞬态
- 中断优先级配置:
- PWM周期中断(最高优先级)
- 观测器算法中断(次高)
- 通信接口中断(最低)
- 定点数优化:将观测器方程转换为Q15格式,运算速度提升40%
4.2 相电流采样方案对比
测试三种采样方案的性能差异:
| 方案 | 精度 | 延迟 | 成本 | 适用场景 |
|---|---|---|---|---|
| 单电阻 | 中 | 小 | 低 | 对成本敏感场合 |
| 双电阻 | 高 | 中 | 中 | 通用伺服驱动 |
| 三电阻 | 最高 | 大 | 高 | 高性能伺服 |
我们最终选择双电阻方案,在B相和C相各放置一个50mΩ采样电阻,通过下式计算A相电流:
code复制i_a = - (i_b + i_c)
4.3 一拍延时补偿实现
数字控制固有的计算延迟会导致相位滞后。补偿算法:
code复制θ_comp(k) = θ̂(k) + T_s*ω̂(k) + 0.5*T_s^2*(ω̂(k)-ω̂(k-1))/T_s
其中T_s为控制周期。实测表明,在10kHz控制频率下,补偿后相位滞后从3.6°降至0.8°。
5. 实测性能与调参经验
5.1 动态响应测试数据
在1kW PMSM平台上进行阶跃负载测试:
- 空载→75%额定转矩:速度恢复时间28ms,超调1.2%
- 转速阶跃(500→1500rpm):上升时间65ms,无超调
- 位置跟踪误差:±0.3°(额定转速下)
5.2 关键参数整定步骤
- 先调电流环:断开观测器,用编码器反馈调试PI参数
- 固定k_1=0.5,逐步增大k_2直到出现振荡,然后回退30%
- 设置k_3=2*k_2,观察角度跟踪响应
- 最后微调滤波系数a,平衡响应速度与平滑性
5.3 常见故障排查
问题1:低速时角度估算发散
- 检查电阻参数准确性(误差应<5%)
- 尝试增大l_1,增强电流跟踪能力
问题2:高速时抖振加剧
- 确认PWM频率是否足够(建议≥10kHz)
- 检查ADC采样是否避开了开关瞬态
- 适当减小l_2,降低高频增益
问题3:突加负载时角度跳变
- 验证负载惯量比设置是否正确
- 考虑加入负载转矩观测器补偿
这套方案在多个工业伺服项目中得到验证,最长的已连续运行超过8000小时无故障。对于需要更高精度的场合,可以考虑结合高频信号注入法,将低速段的估算精度提高到±0.1°以内。
