永磁同步电机高性能控制算法(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

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn