观测器

← 返回 FOC MOC | ← 返回主页


一、观测器设计的基本思想

观测器是一种利用系统可测量输出和已知数学模型,来重构或估计系统内部不可测状态(如转子位置、反电动势)的算法。在电机控制中,我们通常测量的是定子相电流和电压。

图1:观测器在电机控制系统中的位置 **核心目标:**通过测量端电压和相电流,估算出反电动势,进而提取出包含转子位置信息的相位角。

二、滑模观测器(Sliding Mode Observer, SMO)

2.1 基本原理

滑模观测器是一种基于变结构控制的非线性观测器。它通过引入一个切换函数,强制系统状态轨迹在有限时间内到达并保持在预设的滑模面上,此时观测误差为零,从而实现对系统状态的精确估计。

永磁同步电机在α-β静止坐标系下的电压方程:

其中,反电动势 包含转子位置信息:

2.2 SMO设计步骤

  1. 建立电流观测器模型:
  2. 设计滑模切换函数: 其中 为滑模增益, 为符号函数。
  3. 提取反电动势: 在滑模面上,,。
  4. 计算转子位置:

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 设计步骤

  1. 建立扩展状态方程:
  2. 设计观测器: 其中 为观测器增益矩阵。
  3. 极点配置: 通过选择适当的 ,使 的特征值具有负实部,且位于期望的位置,保证估计误差指数收敛。
  4. 位置提取:

龙伯格观测器系统架构图

3.3 优缺点分析

优点缺点
理论严谨,稳定性可证明对电机参数敏感
无抖振现象,输出平滑需要准确的电机参数
可通过极点配置优化动态性能计算量相对较大
适用于中高速范围低速时观测精度下降

四、两种观测器的对比与选择

滑模观测器(SMO)

  • 类型: 非线性观测器
  • 核心思想: 滑模变结构控制
  • 鲁棒性: 强(对参数变化不敏感)
  • 抖振: 存在固有抖振
  • 实现复杂度: 简单
  • 计算量: 小
  • 适用场景: 对成本敏感、宽速度范围应用

龙伯格观测器

  • 类型: 线性观测器
  • 核心思想: 极点配置、误差反馈
  • 鲁棒性: 较弱(依赖参数准确性)
  • 抖振: 无抖振,输出平滑
  • 实现复杂度: 较复杂
  • 计算量: 较大
  • 适用场景: 高性能、中高速应用 **选择建议:**1. 对于成本敏感、对抖振不敏感的应用(如风机、泵类),优先选择SMO。2. 对于高性能、要求平滑控制的应用(如伺服系统、精密控制),可考虑龙伯格观测器。3. 在实际工程中,常采用改进型SMO(如饱和函数代替符号函数)来减少抖振。4. 也可考虑将两者结合,如自适应滑模观测器、模糊滑模观测器等混合方案。

五、实践注意事项

1. 初始位置检测

观测器通常需要电机转动起来才能工作,因此需要初始位置检测方法:

  • 高频信号注入法(适用于零低速)
  • 脉冲电压注入法
  • 预定位法

2. 参数敏感性处理

电机参数(Rs, Ls, ψf)随温度、饱和程度变化:

  • 在线参数辨识
  • 自适应观测器设计
  • 参数补偿算法

3. 低速性能提升

低速时反电动势信号微弱,观测困难:

  • 结合高频注入法
  • 改进观测器结构(如扩展反电动势观测)
  • 增加信号处理环节(如锁相环PLL)