1. 问题背景与现象分析
永磁同步电机(PMSM)无感控制在工业应用中越来越普遍,但传统滑模观测器(SMO)在实际工程中常遇到转速抖动问题。实验室环境下表现良好的反正切角度计算+差分转速估计方法,一旦进入工程现场就会出现"转速抖得跟筛糠似的"现象。这种现象主要表现为:
- 转速波形呈现高频锯齿状波动
- 低速时抖动幅度可达额定转速的10-15%
- 伴随明显的电磁噪声
实测案例:某型号750W PMSM在300r/min运行时,传统SMO转速波动达±45r/min,而带编码器时波动仅±2r/min
2. 传统方法原理与缺陷
2.1 传统滑模观测器结构
典型SMO实现包含三个关键环节:
- 电流观测器:
math复制\frac{d\hat{i}_α}{dt} = -\frac{R_s}{L_s}\hat{i}_α + \frac{1}{L_s}(u_α - k\cdot sign(\tilde{i}_α)) - 反电动势估计:
math复制\hat{e}_α = k\cdot sign(\hat{i}_α - i_α) - 位置/速度解算:
math复制\hat{θ} = -arctan(\frac{\hat{e}_α}{\hat{e}_β}) \hat{ω} = \frac{d\hat{θ}}{dt}
2.2 问题根源分析
通过频谱分析发现,转速抖动主要来自以下机理耦合:
| 问题源 | 影响机理 | 典型表现 |
|---|---|---|
| 符号函数不连续 | 引入高频抖振 | 2-5kHz噪声分量 |
| 差分运算放大噪声 | 量化误差被放大 | 低速时更明显 |
| 反电动势畸变 | 非理想正弦波形 | 3/5次谐波干扰 |
| 参数失配 | 实际Rs/Ls与模型偏差 | 速度依赖性抖动 |
3. 改进方案设计
3.1 饱和函数替代符号函数
采用连续饱和函数消除高频抖振:
c复制// 传统符号函数
float sign(float x) {
return (x > 0) ? 1 : ((x < 0) ? -1 : 0);
}
// 改进饱和函数
float sat(float x, float delta) {
if (x > delta) return 1;
if (x < -delta) return -1;
return x/delta;
}
参数选择经验:
- delta取0.05~0.2倍额定电流
- 过大会降低动态响应,过小抑制抖振效果差
3.2 基于SOGI-PLL的速度观测
二阶广义积分器锁相环(SOGI-PLL)实现方案:
-
SOGI滤波器:
math复制\begin{cases} \dot{x}_1 = -\omega_c x_2 + \omega_c e_\alpha \\ \dot{x}_2 = \omega_c x_1 \end{cases}其中ωc为截止频率,取1.5倍基波频率
-
正交信号生成:
math复制
\begin{bmatrix} e_\alpha' \\ e_\beta' \end{bmatrix} = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} -
PLL频率跟踪:
math复制\dot{\hat{θ}} = \hat{ω} + k_p(e_\alpha' cos\hat{θ} - e_\beta' sin\hat{θ}) \dot{\hat{ω}} = k_i(e_\alpha' cos\hat{θ} - e_\beta' sin\hat{θ})
3.3 参数自适应补偿
在线调整观测器增益:
math复制k(t) = k_0(1 + \alpha|\tilde{i}| + \beta \int |\tilde{i}|dt)
其中:
- k0为基准增益(取0.5~1倍反电动势幅值)
- α取0.1~0.3,β取0.01~0.05
4. 实现与调试要点
4.1 硬件配置建议
-
电流采样:
- 采样率≥10kHz
- ADC分辨率≥12bit
- 添加二阶RC滤波(截止频率1kHz)
-
PWM频率选择:
math复制f_{PWM} ≥ 10 \cdot max(f_{elec}, \frac{1}{t_{delay}})其中tdelay为控制环路延迟
4.2 软件实现流程
pseudocode复制// 中断服务程序
void ADC_IRQHandler() {
read_phase_currents();
est_emf = smo_update(i_alpha, i_beta);
theta_est = pll_update(est_emf);
speed_est = calculate_speed(theta_est);
current_control();
update_pwm();
}
关键时序要求:
- 电流采样到PWM更新延迟<50μs
- SMO计算周期与PWM同步
4.3 调试步骤
-
开环测试:
- 注入固定频率电压矢量
- 验证反电动势观测波形
-
闭环调试:
matlab复制% 典型调节参数 kp_pll = 2*pi*50; % 带宽50Hz ki_pll = (2*pi*50)^2; smo_gain = 0.8*Vn/wn; % Vn/wn为反电动势系数 -
动态测试:
- 斜坡速度指令0→额定转速
- 突加50%负载测试
5. 实测效果对比
某400W伺服电机测试数据:
| 指标 | 传统SMO | 改进方案 |
|---|---|---|
| 转速波动率 | ±12% | ±1.5% |
| 位置误差RMS | 0.15rad | 0.03rad |
| 启动成功率 | 85% | 99% |
| 最低稳速 | 50r/min | 5r/min |
波形对比显示:
- 高频抖振幅值降低60dB
- 低速转矩脉动减少80%
- 动态响应时间缩短30%
6. 工程应用建议
-
参数整定口诀:
- "先调PLL再调SMO"
- "低速看波形,高速看响应"
-
异常处理策略:
c复制if (fabs(speed_est - speed_cmd) > threshold) { enable_fault(); switch_to_sensor_mode(); } -
电磁兼容设计:
- 电机电缆加磁环
- 电源端添加共模电感
- PCB地平面分割处理
实际项目中,我们在注塑机送料系统应用该方案后,位置控制精度从±1mm提升到±0.2mm,且再未出现因转速抖动导致的堵转故障。
