1. 永磁同步电机无传感器控制的技术背景
永磁同步电机(PMSM)因其高效率、高功率密度和优异的动态性能,已成为工业驱动和电动汽车领域的核心动力装置。传统控制方案依赖机械位置传感器,但这带来了成本增加、可靠性降低以及安装空间受限等问题。无传感器控制技术通过算法估算转子位置和速度,成为近年来的研究热点。
在实际工程中,我们遇到过某型号电动叉车驱动电机因编码器进水失效导致整车瘫痪的案例。这促使我们深入研究无传感器算法,最终采用滑模观测器(SMO)结合锁相环(PLL)的方案,在保持控制精度的同时显著提升了系统可靠性。本文将详细解析这一方案的Simulink实现过程。
2. 滑模观测器核心原理与设计
2.1 数学模型构建基础
PMSM在α-β静止坐标系下的电压方程:
code复制uα = Rs*iα + Ls*diα/dt + eα
uβ = Rs*iβ + Ls*diβ/dt + eβ
其中反电动势eα、eβ包含转子位置信息:
code复制eα = -ψf*ωr*sinθ
eβ = ψf*ωr*cosθ
2.2 SMO观测器设计要点
采用电流误差符号函数构建滑模面:
code复制s = [iα_hat - iα; iβ_hat - iβ]
观测器方程:
diα_hat/dt = (uα - Rs*iα_hat + k*sign(iα_hat - iα))/Ls
diβ_hat/dt = (uβ - Rs*iβ_hat + k*sign(iβ_hat - iβ))/Ls
关键参数选择经验:滑模增益k取值通常在0.5-2倍额定反电动势幅值,过大会引入高频抖振,过小则影响收敛速度。我们通过实验确定k=1.5ψfωr_nom时效果最佳。
2.3 抖振抑制实践技巧
采用饱和函数代替符号函数:
code复制sat(s) = { sign(s) |s|>δ
{ s/δ |s|≤δ
边界层厚度δ建议取电流误差峰值的10%-15%。实测表明,当δ=0.2A时,位置估算误差可控制在±0.05rad以内。
3. PLL锁相环设计实现
3.1 位置信息提取电路
从观测的反电动势获取位置信息:
code复制θ_est = atan2(-eα_obs, eβ_obs)
但直接微分会放大噪声,我们采用正交锁相环结构:
code复制 +-------+
eα_obs ---->| -sin |---+
| θ_est | |
+-------+ |
▼
+------+
| PI |--> ω_est
+------+
▲
+-------+ |
eβ_obs ---->| cos |---+
| θ_est |
+-------+
3.2 PI调节器参数整定
速度环带宽应低于SMO带宽但高于机械动态响应:
code复制kp_pll = 2ξωn
ki_pll = ωn²
经验取值:ξ=0.707,ωn取电机额定转速的1/5。对于3000rpm电机,ωn≈60rad/s,对应kp=85,ki=3600。
4. Simulink建模关键步骤
4.1 模型架构设计
code复制[PMSM Plant] ← [SVPWM] ← [Current Controller] ← [SMO+PLL]
↑ ↓
[Load Torque] [Measurements]
4.2 重要模块实现细节
- SMO离散化处理:
matlab复制function [i_alpha_hat, i_beta_hat, e_alpha_hat, e_beta_hat] = fcn(u_alpha, u_beta, i_alpha, i_beta)
persistent i_a_hat_prev i_b_hat_prev;
if isempty(i_a_hat_prev)
i_a_hat_prev = 0; i_b_hat_prev = 0;
end
Ts = 1e-5; % 100kHz采样
k = 1.5*psi_f*omega_r_nom;
e_a_hat = k*sat(i_a_hat_prev - i_alpha, 0.2);
e_b_hat = k*sat(i_b_hat_prev - i_beta, 0.2);
i_a_hat = i_a_hat_prev + Ts/Ls*(u_alpha - Rs*i_a_hat_prev + e_a_hat);
i_b_hat = i_b_hat_prev + Ts/Ls*(u_beta - Rs*i_b_hat_prev + e_b_hat);
% 更新状态
i_a_hat_prev = i_a_hat;
i_b_hat_prev = i_b_hat;
- PLL实现技巧:
matlab复制function [theta_est, omega_est] = fcn(e_alpha_hat, e_beta_hat)
persistent theta_prev omega_prev int_err;
kp = 85; ki = 3600; Ts = 1e-5;
err = -e_alpha_hat*sin(theta_prev) + e_beta_hat*cos(theta_prev);
int_err = int_err + err*Ts;
omega_est = kp*err + ki*int_err;
theta_est = theta_prev + omega_est*Ts;
% 角度归一化
theta_est = mod(theta_est, 2*pi);
theta_prev = theta_est;
5. 实测问题与解决方案
5.1 低速性能优化
当转速<5%额定转速时,反电动势幅值过小导致观测精度下降。我们采用高频注入法辅助:
- 在d轴注入1kHz、20V峰值的电压信号
- 提取q轴电流响应中的位置信息
- 通过带通滤波器分离信号成分
5.2 参数敏感性分析
测试发现电机电阻变化影响最大:
code复制电阻+20% → 位置误差+0.1rad
电感+20% → 位置误差+0.03rad
解决方案:
- 在线参数辨识:最小二乘法实时更新Rs、Ls
- 自适应滑模增益:k=1.2*|e_hat|+0.3
5.3 数字实现注意事项
- 采样同步:PWM中断触发ADC采样,确保采样时刻在PWM周期中点
- 计算延时补偿:预测一步电流值i(k+1)用于观测器
- 定点数优化:Q12格式处理三角函数,运算时间缩短40%
6. 性能测试对比
测试平台:TI TMS320F28379D + 3kW PMSM
| 指标 | 编码器控制 | SMO+PLL方案 |
|---|---|---|
| 速度波动(%) | 0.2 | 0.5 |
| 启动成功率 | 100% | 98.7% |
| 动态响应(ms) | 15 | 18 |
| 最低转速(rpm) | 5 | 50 |
在电动汽车实际应用中,这套方案已实现:
- 0-100km/h加速时间差异<0.3s
- 续航里程影响<1.5%
- 硬件成本降低20%
