观测器
一、观测器设计的基本思想
观测器是一种利用系统可测量输出和已知数学模型,来重构或估计系统内部不可测状态(如转子位置、反电动势)的算法。在电机控制中,我们通常测量的是定子相电流和电压。
图1:观测器在电机控制系统中的位置 **核心目标:**通过测量端电压和相电流,估算出反电动势,进而提取出包含转子位置信息的相位角。
二、滑模观测器(Sliding Mode Observer, SMO)
2.1 基本原理
滑模观测器是一种基于变结构控制的非线性观测器。它通过引入一个切换函数,强制系统状态轨迹在有限时间内到达并保持在预设的滑模面上,此时观测误差为零,从而实现对系统状态的精确估计。
永磁同步电机在α-β静止坐标系下的电压方程:
其中,反电动势 包含转子位置信息:
2.2 SMO设计步骤
- 建立电流观测器模型:
- 设计滑模切换函数: 其中 为滑模增益, 为符号函数。
- 提取反电动势: 在滑模面上,,。
- 计算转子位置:
2.3 优缺点分析
| 优点 | 缺点 |
|---|---|
| 对参数变化和扰动鲁棒性强 | 存在固有的抖振现象 |
| 结构简单,易于数字实现 | 需要低通滤波器处理符号函数输出 |
| 动态响应快 | 滤波器引入相位延迟 |
| 适用于宽速度范围 | 低速性能受限(反电动势小) |
2.4 代码示例(简化版)
// 滑模观测器核心计算函数(C语言示例)
typedef struct {
float i_alpha_hat; // α轴电流估计值
float i_beta_hat; // β轴电流估计值
float e_alpha_hat; // α轴反电动势估计值
float e_beta_hat; // β轴反电动势估计值
float theta_hat; // 转子位置估计值
float Rs; // 定子电阻
float Ls; // 定子电感
float Kslide; // 滑模增益
float Ts; // 采样周期
} SMO_TypeDef;
void SMO_Update(SMO_TypeDef *smo,
float u_alpha, float u_beta,
float i_alpha, float i_beta) {
// 1. 计算电流误差
float i_alpha_err = smo->i_alpha_hat - i_alpha;
float i_beta_err = smo->i_beta_hat - i_beta;
// 2. 滑模控制量(符号函数简化处理)
float z_alpha = smo->Kslide * ((i_alpha_err > 0) ? 1.0f : -1.0f);
float z_beta = smo->Kslide * ((i_beta_err > 0) ? 1.0f : -1.0f);
// 3. 电流观测器更新(前向欧拉法)
smo->i_alpha_hat += smo->Ts * (-smo->Rs/smo->Ls * smo->i_alpha_hat
+ (u_alpha - z_alpha)/smo->Ls);
smo->i_beta_hat += smo->Ts * (-smo->Rs/smo->Ls * smo->i_beta_hat
+ (u_beta - z_beta)/smo->Ls);
// 4. 低通滤波获取反电动势估计(简化表示)
smo->e_alpha_hat = 0.95f * smo->e_alpha_hat + 0.05f * z_alpha;
smo->e_beta_hat = 0.95f * smo->e_beta_hat + 0.05f * z_beta;
// 5. 计算转子位置
smo->theta_hat = -atan2f(smo->e_alpha_hat, smo->e_beta_hat);
}三、龙伯格观测器(Luenberger Observer)
3.1 基本原理
龙伯格观测器是一种线性状态观测器,通过极点配置方法设计观测器增益,使估计误差动态系统具有期望的收敛特性。它将反电动势视为扩展状态变量进行估计。
状态空间模型建立:
将反电动势视为状态变量,建立扩展状态方程:
其中,状态向量 ,输出 。
3.2 设计步骤
- 建立扩展状态方程:
- 设计观测器: 其中 为观测器增益矩阵。
- 极点配置: 通过选择适当的 ,使 的特征值具有负实部,且位于期望的位置,保证估计误差指数收敛。
- 位置提取:
龙伯格观测器系统架构图
3.3 优缺点分析
| 优点 | 缺点 |
|---|---|
| 理论严谨,稳定性可证明 | 对电机参数敏感 |
| 无抖振现象,输出平滑 | 需要准确的电机参数 |
| 可通过极点配置优化动态性能 | 计算量相对较大 |
| 适用于中高速范围 | 低速时观测精度下降 |
四、两种观测器的对比与选择
滑模观测器(SMO)
- 类型: 非线性观测器
- 核心思想: 滑模变结构控制
- 鲁棒性: 强(对参数变化不敏感)
- 抖振: 存在固有抖振
- 实现复杂度: 简单
- 计算量: 小
- 适用场景: 对成本敏感、宽速度范围应用
龙伯格观测器
- 类型: 线性观测器
- 核心思想: 极点配置、误差反馈
- 鲁棒性: 较弱(依赖参数准确性)
- 抖振: 无抖振,输出平滑
- 实现复杂度: 较复杂
- 计算量: 较大
- 适用场景: 高性能、中高速应用 **选择建议:**1. 对于成本敏感、对抖振不敏感的应用(如风机、泵类),优先选择SMO。2. 对于高性能、要求平滑控制的应用(如伺服系统、精密控制),可考虑龙伯格观测器。3. 在实际工程中,常采用改进型SMO(如饱和函数代替符号函数)来减少抖振。4. 也可考虑将两者结合,如自适应滑模观测器、模糊滑模观测器等混合方案。
五、实践注意事项
1. 初始位置检测
观测器通常需要电机转动起来才能工作,因此需要初始位置检测方法:
- 高频信号注入法(适用于零低速)
- 脉冲电压注入法
- 预定位法
2. 参数敏感性处理
电机参数(Rs, Ls, ψf)随温度、饱和程度变化:
- 在线参数辨识
- 自适应观测器设计
- 参数补偿算法
3. 低速性能提升
低速时反电动势信号微弱,观测困难:
- 结合高频注入法
- 改进观测器结构(如扩展反电动势观测)
- 增加信号处理环节(如锁相环PLL)