1. 项目概述
永磁同步电机(PMSM)作为现代工业驱动系统的核心部件,其无位置传感器控制技术一直是电机控制领域的研究热点。传统的位置传感器不仅增加了系统成本和复杂度,在恶劣环境下还容易出现故障。本文将详细介绍一种基于两种坐标系(dq旋转坐标系和静止坐标系)的超螺旋滑模观测器(Super-Twisting SMO)实现方案,该方案通过二阶滑模算法显著改善了传统一阶滑模观测器存在的抖振问题。
在实际工程应用中,我们发现这套方案具有以下突出优势:
- 在dq坐标系下结合锁相环(PLL)技术,可实现转速和转子位置的高精度估计
- 超螺旋算法通过引入积分项,有效抑制了传统滑模控制的固有抖振
- 双坐标系设计使得系统既适用于矢量控制场景,也能满足无传感器控制需求
- 实测表明,转速估计误差可控制在±0.5%以内,位置估计精度达到±1电角度
2. 核心原理与数学模型
2.1 坐标系选择与电机建模
2.1.1 dq旋转坐标系模型
在电机控制领域,dq坐标系的优势在于它将时变的交流量转换为直流量,极大简化了控制算法设计。根据派克变换原理,PMSM在dq坐标系下的电压方程可表示为:
[
\begin{cases}
v_d = R_s i_d + L_d \frac{di_d}{dt} - \omega L_q i_q \
v_q = R_s i_q + L_q \frac{di_q}{dt} + \omega (L_d i_d + \lambda_p)
\end{cases}
]
其中各参数物理意义:
- (v_d, v_q):d轴和q轴电压分量(V)
- (i_d, i_q):d轴和q轴电流分量(A)
- (R_s):定子相电阻(Ω)
- (L_d, L_q):d轴和q轴电感(H)
- (\omega):转子电角速度(rad/s)
- (\lambda_p):永磁体磁链(Wb)
实际应用中需要注意:对于表贴式PMSM(SPMSM),通常有(L_d = L_q);而对于内置式PMSM(IPMSM),则存在(L_d \neq L_q)的情况,这会影响控制算法的设计。
2.1.2 静止坐标系(αβ)模型
静止坐标系下的模型更适合无传感器控制实现,其电压方程更为简洁:
[
\begin{cases}
v_\alpha = R_s i_\alpha + L \frac{di_\alpha}{dt} + e_\alpha \
v_\beta = R_s i_\beta + L \frac{di_\beta}{dt} + e_\beta
\end{cases}
]
其中反电动势分量(e_\alpha, e_\beta)包含转子位置信息,这正是无传感器控制的关键观测量。通过Clarke变换可以将三相量转换为静止坐标系下的两相量。
2.2 超螺旋滑模观测器设计
2.2.1 传统滑模观测器的问题
传统一阶滑模观测器采用符号函数sign(s)作为切换控制,虽然结构简单但存在明显缺陷:
- 高频抖振现象严重
- 需要较大的切换增益来保证鲁棒性
- 稳态精度受采样频率限制
2.2.2 二阶超螺旋算法改进
我们引入的超螺旋算法属于二阶滑模控制,其控制律可表示为:
[
u = k_1 |s|^{1/2} sign(s) + k_2 \int sign(s) dt
]
该算法的核心优势在于:
- 通过积分项平滑控制输出,显著降低抖振
- 保持有限时间收敛特性
- 对参数变化和扰动具有强鲁棒性
具体实现时,观测器设计步骤如下:
- 定义滑模面s为电流估计误差:
[ s = \hat{i} - i ] - 设计观测器动态方程:
[ \frac{d\hat{i}}{dt} = \frac{1}{L}(v - R_s i - u) ] - 采用超螺旋算法计算控制量u
3. 系统实现与参数整定
3.1 硬件平台搭建要点
在实际工程实施中,我们推荐以下硬件配置方案:
| 组件类型 | 推荐型号 | 关键参数 | 备注 |
|---|---|---|---|
| 主控芯片 | TI TMS320F28379D | 双核200MHz | 支持浮点运算 |
| 驱动芯片 | Infineon IMC101T | 集成栅极驱动 | 内置死区控制 |
| 电流传感器 | LEM LAH-50P | 50A/±2.5V输出 | 带宽>100kHz |
| 电源模块 | TDK-Lambda GENESYS+ | 0-30V/0-20A | 可编程输出 |
特别提醒:电流采样环节对系统性能影响极大,建议:
- 采样频率至少为PWM频率的2倍
- 采用同步采样技术避免PWM开关噪声干扰
- 对采样值进行FIR滤波处理
3.2 软件算法实现
3.2.1 观测器核心代码实现
以下是基于C语言的超螺旋观测器关键代码:
c复制typedef struct {
float k1; // 超螺旋系数1
float k2; // 超螺旋系数2
float i_alpha; // α轴电流估计值
float i_beta; // β轴电流估计值
float integral; // 积分项
} STO_TypeDef;
void SuperTwistingObserver(STO_TypeDef *sto, float i_alpha_meas, float i_beta_meas, float v_alpha, float v_beta, float dt)
{
// 计算滑模面
float s_alpha = sto->i_alpha - i_alpha_meas;
float s_beta = sto->i_beta - i_beta_meas;
// 超螺旋算法
float u_alpha = sto->k1 * sqrtf(fabsf(s_alpha)) * sign(s_alpha) + sto->integral;
sto->integral += sto->k2 * sign(s_alpha) * dt;
// 观测器更新
sto->i_alpha += (v_alpha - RS*sto->i_alpha - u_alpha)/LS * dt;
sto->i_beta += (v_beta - RS*sto->i_beta - u_alpha)/LS * dt;
}
3.2.2 PLL实现技巧
锁相环的参数整定直接影响位置估计性能,推荐采用以下经验公式确定PI参数:
[
K_p = 2\xi \omega_n \
K_i = \omega_n^2
]
其中:
- (\xi):阻尼比,通常取0.7-1.0
- (\omega_n):自然频率,建议设为系统带宽的1/5~1/10
4. 实测问题与解决方案
4.1 典型故障现象分析
在实际调试过程中,我们总结了以下常见问题及解决方法:
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 低速时位置抖动 | 反电动势信号弱 | 增加观测器增益,采用高频注入辅助 |
| 高速时估计失准 | 延迟补偿不足 | 加入超前补偿环节,调整PLL带宽 |
| 启动失败 | 初始位置未知 | 实施IPD启动策略(电流脉冲检测) |
| 负载突变失步 | 动态响应不足 | 优化速度环PID参数,增加前馈补偿 |
4.2 参数调试心得
通过多个项目的实践验证,我们总结出以下参数整定经验:
-
超螺旋系数整定:
- 先设定k2=0.1*(R_s/L_s)
- 再调整k1=2*sqrt(k2)
- 最后微调至抖振在可接受范围内
-
PLL带宽选择:
- 一般取电机额定转速的5-10倍
- 高动态场合可适当提高
- 低噪声要求场合应降低带宽
-
电流环采样时机:
- 推荐在PWM周期中点采样
- 对于三相采样,要确保同步性误差<100ns
5. 仿真与实测对比
为验证算法有效性,我们在MATLAB/Simulink和实际平台上进行了对比测试:
5.1 仿真模型搭建要点
-
电机参数设置:
matlab复制Pm = 3.7; % 额定功率(kW) Vn = 220; % 额定电压(V) In = 10; % 额定电流(A) Rs = 0.2; % 定子电阻(Ω) Ld = 5e-3; % d轴电感(H) Lq = 5e-3; % q轴电感(H) lambda_p = 0.1; % 永磁磁链(Wb) J = 0.01; % 转动惯量(kg·m²) -
观测器参数配置:
matlab复制sto.k1 = 150; % 超螺旋系数1 sto.k2 = 5000; % 超螺旋系数2 pll.Kp = 50; % PLL比例系数 pll.Ki = 2000; % PLL积分系数
5.2 性能指标对比
| 测试项目 | 传统SMO | 超螺旋SMO | 提升幅度 |
|---|---|---|---|
| 转速波动率 | ±2% | ±0.5% | 75% |
| 位置误差 | ±3° | ±1° | 66% |
| 动态响应时间 | 50ms | 30ms | 40% |
| 计算负载 | 15% | 18% | -20% |
从实测数据可以看出,虽然超螺旋算法略微增加了计算负担,但在控制精度和动态性能方面带来了显著提升。特别是在低速段(<5%额定转速),传统方法会出现明显抖振,而新方案仍能保持稳定运行。
这套方案我们已经成功应用于多个工业伺服系统和电动汽车驱动项目,其中在某包装机械上的连续运行记录已达8000小时无故障。对于希望实现高性能无传感器控制的工程师,建议重点关注以下几点:
- 电流采样环节的噪声抑制
- 不同速度段参数的自动调整
- 启动过程的特殊处理
- 在线参数辨识技术的结合应用
