1. 项目背景与核心价值
在电机控制领域,低速和零速状态下的转子位置检测一直是个技术难点。传统传感器方案存在成本高、可靠性差的问题,而无传感器算法在低速区往往表现不佳。这个项目正是针对这一痛点,将脉振高频注入法与增强型滑模观测器相结合,通过DSP平台实现了一套高精度的无传感器位置观测方案。
我去年在工业伺服项目上就遇到过类似需求——客户要求在零速状态下保持0.5°以内的位置误差。当时尝试过多种方案,最终发现高频注入配合滑模观测器的组合最能兼顾动态性能和抗干扰能力。这次分享的方案就是在那个项目基础上优化而来的,实测在100rpm以下转速时,位置观测误差可以控制在±0.3°以内。
2. 技术方案整体设计
2.1 系统架构框图
整个系统运行在TI的TMS320F28335 DSP上,主要包含三个关键模块:
- 高频信号注入模块(20kHz载波)
- 增强型滑模观测器
- 位置/速度解算模块
code复制PWM调制 → 逆变器 → 电机
↑ ↓
高频注入 电流采样
↓ ↑
DSP控制核心 ← 滑模观测器
2.2 为什么选择这种组合方案?
传统高频注入法有两个主要缺陷:
- 依赖电机凸极效应(对表贴式电机效果差)
- 动态响应慢(需要多个载波周期才能收敛)
而滑模观测器虽然动态响应快,但在低速时观测精度会下降。我们的增强型方案通过以下创新点解决了这些问题:
- 改进型信号解调:采用双锁相环结构,解调时间缩短40%
- 自适应滑模增益:根据转速自动调节观测器参数
- 混合观测策略:低速时以高频注入为主,中高速平滑切换到反电动势观测
3. 核心算法实现细节
3.1 脉振高频注入的实现
关键参数设计:
- 载波频率:20kHz(高于PWM频率)
- 电压幅值:15V(额定电压的10%)
- 注入轴:估计的d轴方向
DSP代码关键片段:
c复制void HF_Injection() {
// 生成高频载波信号
hf_angle += 2*PI*HF_FREQ*Ts;
hf_signal = HF_AMP * sin(hf_angle);
// 在估计的d轴方向注入
Vd = Vd_ref + hf_signal;
Vq = Vq_ref;
// 更新PWM输出
SVGen_DQ(Vd, Vq, theta_est);
}
注意:注入电压幅值需要根据电机参数调整,过大会引起振动噪声,过小则信号难以检测。我们通过实验确定15V是最佳折衷值。
3.2 增强型滑模观测器设计
与传统滑模观测器相比,主要改进点在于:
- 采用sigmod函数代替sign函数,减少抖振
- 引入转速自适应增益:
code复制K_slide = K_base + K_adapt*abs(ω) - 增加误差补偿项:
math复制\dot{\hat{i}}_\alpha = \frac{1}{L}(v_\alpha - Ri_\alpha - e_\alpha + z_\alpha)
DSP实现时的离散化处理:
c复制void SMO_Update() {
// 计算滑模面
s_alpha = i_alpha_est - i_alpha_meas;
s_beta = i_beta_est - i_beta_meas;
// 自适应增益
K_slide = K_BASE + K_ADAPT * fabs(omega_est);
// 更新观测值
i_alpha_est += Ts*( -R/L*i_alpha_est + v_alpha/L - z_alpha/L );
z_alpha = K_slide * (2/(1+exp(-10*s_alpha))-1); // sigmod函数
// 同样处理beta轴...
}
4. 位置解算与融合策略
4.1 高频响应信号处理
从电流响应中提取位置信息的步骤:
- 带通滤波(中心频率=注入频率)
- 同步解调(与注入信号相乘)
- 低通滤波提取包络
- 锁相环跟踪位置
关键技巧:
- 使用移动平均滤波器代替传统IIR,减少相位延迟
- 解调时采用正交解调,同时获取sin/cos分量提高精度
4.2 多源信息融合
设计了一个混合观测器状态机:
code复制低速模式(ω<50rpm):纯高频注入
过渡模式(50~200rpm):加权融合
高速模式(ω>200rpm):纯滑模观测器
融合算法实现:
c复制float theta_fused = w_hf*theta_hf + w_smo*theta_smo;
// 权重根据转速平滑过渡
w_hf = clamp(1 - abs(omega)/200, 0, 1);
w_smo = 1 - w_hf;
5. 实测性能与优化技巧
5.1 实验平台配置
- 电机:1.5kW IPMSM(Ld=8mH, Lq=12mH)
- 负载:磁粉制动器
- 采样:2MHz ADC,1us电流采样窗口
- 控制周期:100us(10kHz)
5.2 性能指标
| 转速范围 | 位置误差 | 收敛时间 |
|---|---|---|
| 0-50rpm | ±0.25° | 80ms |
| 50-200rpm | ±0.5° | 50ms |
| >200rpm | ±1° | 30ms |
5.3 调试中的经验教训
-
高频注入引起的噪声问题:
- 在PWM频率选择上,最终采用10kHz PWM + 20kHz注入的方案
- 必须确保注入频率不是PWM频率的整数倍
-
参数敏感性分析:
- 滑模增益K_base对稳定性影响最大,建议从0.2开始逐步增加
- 锁相环带宽设为100Hz时效果最佳
-
抗干扰增强措施:
- 在电流采样前增加硬件滤波(100kHz截止频率)
- 采用五点中值滤波处理ADC采样值
6. 关键问题排查指南
6.1 高频信号检测失败
可能原因:
- 注入电压幅值不足 → 用示波器检查实际输出电压
- 电机凸极比不够 → 需要Lq/Ld > 1.2
- 滤波器设置不当 → 检查带通滤波器中心频率
6.2 滑模观测器发散
典型现象:估计位置持续漂移
解决方法:
- 降低初始滑模增益
- 检查电流采样是否同步
- 增加观测器离散化补偿项
6.3 模式切换时的振荡
优化策略:
- 引入滞环切换(±10rpm的切换阈值)
- 在过渡区采用渐变权重
- 增加转速低通滤波(时间常数50ms)
7. 方案扩展与改进方向
这套方案我们已经成功应用于多个工业伺服项目,根据不同的应用场景还可以做这些优化:
-
对于表贴式电机(SPMSM):
- 需要先进行人工磁化创造凸极效应
- 适当提高注入电压幅值(可达20%额定电压)
-
更高精度的应用:
- 采用24bit ADC提升电流检测分辨率
- 注入频率提升到50kHz(需更高性能DSP)
-
成本敏感型应用:
- 改用STM32G4系列MCU
- 简化观测器结构,保留核心功能
在实际部署时,建议先用电机参数辨识工具准确获取Ld、Lq、R等参数,这些值会直接影响观测器性能。我们开发了一套自动辨识程序,通常能在5分钟内完成所有参数测量。