永磁同步电机高性能控制算法(13)后续篇—— 基于高阶扩张状态观测器(ESO)的无模型预测控制(MFPC)

本文主要是介绍永磁同步电机高性能控制算法(13)后续篇—— 基于高阶扩张状态观测器(ESO)的无模型预测控制(MFPC),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.前言

前文已经介绍过了高阶ESO相对于传统ESO的优势。

https://zhuanlan.zhihu.com/p/703039702icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/703039702

但是当时搭的ESO有点问题。把公式修正之后,发现前文用的改进四阶ESO无法使用。

今天来解释一下为什么改进4阶ESO无法使用。

2.为什么改进4阶ESO用不了?

%扩展观测器带宽配置

fc = 250;%带宽,单位Hz

wc = fc*2*pi;

三相电流、转矩、转速波形

从上面波形可以看到,改进4阶ESO在2000RPM是无法运行的,而且是逐渐发散、振荡。但是发现改进4阶ESO在1000RPM是可以运行的。

解释:

改进4阶ESO在中频段的闭环增益不为0,这说明如果ESO的输入端刚好输入了一个频率在中频段附近的交流量,那么经过ESO之后,这个交流量将会被放大。

之所以2000RPM振荡而1000RPM不震荡,是因为2000RPM时电机运行的频率更高(更接近于当前配置ESO的中频段了),即使电流环存在非常小的交流,经过ESO之后会将这些微小的交流不断放大,使得系统振荡。

这时候即使加入切换模块也没用(设定进入稳态后从传统四阶切换至改进四阶):

PS:切换模块的设计参考上篇知乎里提到的参考文献里的切换模块设计。即动态采用传统高阶ESO提高控制的动态性能,稳态情况下切换到改进四阶ESO提高系统的稳态抗噪性能。

三相电流、转矩、转速波形

因此,必须要改变改进四阶ESO的增益才可以。

3.中频段闭环增益更小的改进4阶ESO

 

 从这个图中可以看到,如果sigema(我仿真中为g)越小,高频段的增益越小(即系统抗噪声能力越强),中频段的闭环增益越大(即系统抗扰动能力越弱,越容易振荡)。论文中选用的sigema为0.25

那我希望中频段的闭环增益更小一点,我应该选择的sigema>0.25。

根据论文中的公式(25),我选用sigema=0.5时的改进ESO。

 从下图可以看到,把sigema增加至0.5后,系统不再振荡了。

三相电流、转矩、转速波形

4.电感失配2倍下切换模块的使用

电感参数失配会给系统带来很多的高频噪声,那么我们来看看不同参数的改进4阶ESO的抗噪性能如何。

%扩展观测器带宽配置

fc = 300;%带宽,单位Hz

wc = fc*2*pi;

加入切换模块前(全程使用传统高阶ESO)
加入切换模块后(稳态从传统高阶ESO切换到改进高阶ESO,sigema=0.5)

可以看到,加入切换模块,系统进入稳态后会自动切换到改进高阶ESO,进而实现更好的抗噪声性能,最终使得dq电流的脉动大幅减小。

前文说到,sigema越小,系统抗噪声能力越好,那我把sigema从0.5减小到0.2这样,看看系统抗噪声能力对比情况。

加入切换模块后(稳态从传统高阶ESO切换到改进高阶ESO,sigema=0.5)
加入切换模块后(稳态从传统高阶ESO切换到改进高阶ESO,sigema=0.4)
加入切换模块后(稳态从传统高阶ESO切换到改进高阶ESO,sigema=0.3)
加入切换模块后(稳态从传统高阶ESO切换到改进高阶ESO,sigema=0.2)

可以看到,随着sigema的减小,系统的抗噪声性能越来越好,稳态的dq电流脉动越来越小。 

这篇关于永磁同步电机高性能控制算法(13)后续篇—— 基于高阶扩张状态观测器(ESO)的无模型预测控制(MFPC)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110880

相关文章

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

Java领域模型示例详解

《Java领域模型示例详解》本文介绍了Java领域模型(POJO/Entity/VO/DTO/BO)的定义、用途和区别,强调了它们在不同场景下的角色和使用场景,文章还通过一个流程示例展示了各模型如何协... 目录Java领域模型(POJO / Entity / VO/ DTO / BO)一、为什么需要领域模

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与