永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍

传统滑模观测器采用如下结构:

传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。

采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位置角。并且采用饱和函数代替符号函数进一步优化开关抖振。

二、仿真模型

在MATLAB/simulink里面验证所提算法,搭建仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为1e-6。仿真模型如下所示:

仿真工况:电机空载零速启动,0s阶跃给定转速1000rpm,0.5s施加额定负载

2.1给定转速、实际转速和估计转速

2.2估计转速与实际转速误差

2.3估计转角与实际转角

2.4估计转角与实际转角误差

2.5 滤波前、LPF滤波后和EKF滤波后估计反电动势

可以看出EKF滤出的反电动势还是存在一定的波动的,但是对于转子位置的估计影响不大,因为PLL本身也存在一定的低通作用进行滤波,并且可以看出EKF滤波没有相位滞后。通过调整EKF的系数可以使得滤波后的波形更加平滑,如下图所示,代价则是动态性能会一定程度的下降,系数选取需要取舍。

可以看出该方法较好的克服了反电动势高次谐波的影响。

相关推荐
hetao173383723 分钟前
2026-10-07 hetao1733837 的刷题记录
c++·算法
Nil20840 分钟前
leetcode 279完全平方数
算法·leetcode·职场和发展
All for pursuit.1 小时前
【动态规划-1】121.买卖股票的最佳时机
数据结构·c++·算法·leetcode·动态规划
名不经传的养虾人1 小时前
从0到1:企业级AI项目迭代日记 Vol.117|学会忘记,学会证明,学会设边界
大数据·人工智能·算法·企业ai·多agent协作
weixin_307779131 小时前
C++代码实现MATLAB中的cvpartition函数功能
开发语言·c++·算法·matlab
(Charon)1 小时前
【C++面试】线程同步机制:互斥锁、条件变量、原子操作与读写锁
开发语言·c++·算法·面试
七牛云行业应用1 小时前
刚刚!GPT-6.1 Sol Ultrafast 上线:速度、价格、API 接入全指南
算法
Omics Pro1 小时前
研究证实AI虚拟细胞可用于药物靶点发现
数据库·人工智能·算法·机器学习·自然语言处理
在所不辞兄2 小时前
常微分方程详解与应用
人工智能·神经网络·算法·机器学习
-dzk-2 小时前
【动态规划】LC 416.分割等和子集
算法·动态规划·代理模式