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

相关文章

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.