永磁同步电机无速度算法--永磁同步电机转子位置精确估计的误差抑制方法

一、原理介绍

参考下图所示论文进行复现

文中的方法可以简单介绍如下,下图所示公式(也是核心公式)为估计坐标系的ud^、uq^,当存在转子位置误差时,uq^无法达到最大值,那么通过传统无感算法估计出的角度之上增加一个较小的角度变量,看Uq是否会变大,如果uq增大了,说明调整方向是对的;如果uq减小了,那么换个方向,减小个较小的角度变量。重复上个过程,最终uq会在最大值附近波动,当然也可以在稳定过程中,减小补偿角度变量的幅值,以求减小波动。但我个人觉得这样会影响动态情况下的响应速度,看个人取舍。由于uq变化幅度较小,辨识起来容易出现误判,这里我对文章的判断方法进行了一些改动。

文章基本结构框图如下图所示,这里反电动势观测器我采用LESO,因为LESO自带低通特性必然存在一个转子位置误差,并且可以通过调节增益大小,来改变这个误差。

二、仿真模型

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

仿真工况:电机空载零速启动,0s阶跃给定转速500rpm,1s阶跃给定转速1000rpm,1.5s实际满载,LESO带宽为8000rad/s。

2.1 wo=8000 LESO 无补偿 转子位置误差

上图为一个转子位置误差随转速增大的经典LESO观测器转子位置误差波动图。

2.2wo=8000 LESO 带补偿 转子位置误差(0.5s启动补偿策略)

可以看出,加入算法之后存在一个频率较低的波动,这是由于为了更加准确的判断电压变化,我将补偿算法的频率降低到了控制频率的1/50。动态过程电压在明显变化,相位补偿的作用也就不明显,稳态过程补偿算法可以有效的将误差降低到0。

2.3wo=6000 LESO 无补偿 转子位置误差

带宽下降,转子位置误差增大

2.4 wo=6000 LESO 带补偿 转子位置误差(0.5s启动补偿策略)

下面直接在2s和3s时在LESO输出的转子位置上增加一个±0.3rad的阶跃误差。

2.5 阶跃误差下的wo=8000 LESO 带补偿

转子位置误差

转速

Idiq

uduq

可以看出在施加较大阶跃误差的情况下,补偿算法依旧可以将误差减小到0。

总结,文章提出的方法简单有效,不需要额外的信号注入或复杂的计算,从而简化了实现,同时确保了良好的动态和稳态性能。

相关推荐
To_OC7 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎8 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC8 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn9 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹9 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术10 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
CV-Climber12 小时前
检索技术的实际应用
人工智能·算法
hhzz13 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_14 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法