永磁同步电机高性能控制算法(12)——基于预测电流误差补偿的强鲁棒预测控制有限集预测控制与连续集预测控制的对比

1.文章简介

最近看到一篇比较有意思的文章,24年3月9日才刚刚收录。

众所周知模型预测控制受电机参数影响还是很大的。所以呢,各种观测器、参数辨识等算法都被用到预测控制中。

观测器设计的话就相对而言比较复杂;参数辨识也比较复杂,可能会需要注入一定的高频信号。

这篇文章呢,没有用到观测器,而是自己构造了一种误差补偿的控制器,进而实现不需要电机参数的强鲁棒性的模型预测控制。

2.提出的强鲁棒性的模型预测控制

传统的一拍预测公式如下(隐极/表贴PMSM,电感Ld=Lq=L):

 因为隐极/表贴PMSM都是采用id=0控制,所以可以把R*id这一项看作为0。进而可以将式子(4)进一步化简为:

然后呢,文章又构建了两个新的变量N和M。如式子(7)所示,M涉及电感参数,N涉及电阻以及磁链的参数。

那么文章的思路就是:根据预测电流的误差,来调节N和M这两个参数。当预测电流与实际电流没有误差的时候,就说明N和M已经到达了准确的参数。


d轴误差补偿控制器的设计

Mes代表估计的M值。同时,从(15)可以发现,当term1趋于0时,表示预测电流非常接近实际电流。当term2趋于0时,表明Mes非常接近实际电机参数。当上述条件同时满足时,可以得到最合适的Mes。

然后呢,这里利用一个求极值的思想,得到了Mes(估计的M值)的递推公式。

实际上q轴的误差补偿控制器设计基本上也是类似的思路。这里就不再赘述了,感兴趣的可以看看文章。

我个人感觉式子(8)构造的误差补偿控制器就有点像代价函数。模型预测控制一般都是取代价函数最小的电压矢量作为最优的电压矢量。式子(8)表达式结果最小时,说明估计的M是最优的。

这两者的思想很接近。

3.仿真验证

总是有人问我为什么我的无差拍预测电流控制没有代价函数?

这说明没有去弄清楚预测控制的分类。模型预测控制分为两大类:有限集模型预测控制——不需要SVPWM模块,而是通过代价函数生成电压矢量(这又可以分为单矢量和多矢量);连续集模型预测控制——需要调制模块(无差拍预测电流控制后面可以接SVPWM模块,这属于连续集模型预测控制的一种)。

后面会有单矢量预测控制和无差拍预测电流控制的对比。

仿真参数:

Ts = 5e-7;%仿真步长

Tpwm = 1e-4;%开关周期

Tsample = Tpwm/1;%采样周期/控制周期

Tspeed = Tsample;%转速采样周期

Pn = 4;%电机极对数

Ls = 8.5e-3;%定子电感,采用隐极的,Ld=Lq=Ls

Rs = 3;%定子电阻

flux = 0.1688;%永磁体磁链

Vdc = 311;%直流母线电压

iqmax = 20;%额定电流

J = 5e-3;%转动惯量

B = 2.5e-3;%阻尼系数

n_init = 200;%初始转速

仿真工况:

转速:初始转速200RPM,初始参考转速1200RPM,0.35s后的参数转速600RPM。

负载:初始为空载,0.2s突加10Nm负载。

3.1强鲁棒性单矢量MPC的仿真验证

 按照上述误差补偿器搭建的模型预测控制模块如图所示。

传统单矢量MPC的三相电流、转矩、转速波形(控制器电感、电阻、磁链都等于实际值)
传统单矢量MPC的三相电流、转矩、转速波形(控制器电感、电阻、磁链都等于实际的两倍)
单矢量强鲁棒性MPC的三相电流、转矩、转速波形(控制器电感、电阻、磁链都等于实际的两倍)
传统单矢量MPC的电流FFT分析(控制器电感、电阻、磁链都等于实际值)
传统单矢量MPC的电流FFT分析(控制器电感、电阻、磁链都等于实际的两倍)
单矢量强鲁棒性MPC的电流FFT分析(控制器电感、电阻、磁链都等于实际的两倍)

从上面的仿真波形中可以看到,当控制器电感、电阻、磁链都等于实际电感、电阻、磁链的两倍时,传统单矢量MPC的电流脉动、转速脉动明显增大,相电流THD由原来的6.77%上升到了10.24%。而单矢量强鲁棒性MPC很好抑制了参数失配带来的影响,相电流THD只有6.63%。

 

3.2强鲁棒性DPCC的仿真验证

把上述方法应用在无差拍预测电流控制(DPCC)上面就可以得到强鲁棒性DPCC。

仿真工况:

转速:初始转速200RPM,初始参考转速1200RPM,0.8s后的参数转速600RPM。

负载:初始为空载,0.2s突加10Nm负载。

传统DPCC的三相电流、转矩、转速波形(控制器电感、电阻、磁链都等于实际值)
传统DPCC的三相电流、转矩、转速波形(控制器电感、电阻、磁链都等于实际的两倍)
强鲁棒DPCC的三相电流、转矩、转速波形(控制器电感、电阻、磁链都等于实际的两倍)
传统DPCC预测电流与实际电流的对比(控制器电感、电阻、磁链都等于实际的两倍)

 

 

强鲁棒DPCC预测电流与实际电流的对比(控制器电感、电阻、磁链都等于实际的两倍)

 

从这个预测电流与实际电流的对比来看,即使在控制器电感、电阻、磁链都等于实际的电感、电阻、磁链两倍的情况下,强鲁棒DPCC计算得到的预测电流还是非常准确的,没有出现明显电流脉动和静差

同时从d轴预测电流与d轴实际电流的对比来看,文章提出的误差补偿控制器是会慢慢收敛的,最后可以保证预测电流与实际电流相等

传统DPCC的相电流FFT分析(控制器电感、电阻、磁链都等于实际值)
传统DPCC的相电流FFT分析(控制器电感、电阻、磁链都等于实际的两倍)
强鲁棒型DPCC的相电流FFT分析(控制器电感、电阻、磁链都等于实际的两倍)

从上面的仿真波形中可以看到,当控制器电感、电阻、磁链都等于实际电感、电阻、磁链的两倍时,传统DPCC的电流脉动、转速脉动明显增大,相电流THD由原来的1.27%上升到了3.64%。而强鲁棒性DPCC很好抑制了参数失配带来的影响,相电流THD只有1.27%。

大概可以发现,这种强鲁棒型模型预测控制,基本上能完全抵消参数失配的影响。这与文章的结论一致。Scheme-I是无参数失配的MPC,Scheme-II是参数偏大2倍的MPC,Scheme-III是强鲁棒MPC。


4.关于模型预测控制的想法

这几年,模型预测控制方面灌水太多了。很多“大佬”就是换个观测器就发一篇,换个观测器就发一篇,甚至文章中都不会解释为什么要这样设计观测器参数。个人认为这样是没有意义的。

由于模型预测控制方面灌水太多,这方面的文章就特别多,导致很多老师都开始往这个方向上去做,最终导致很多学生开始做这个方向。

我先不说模型预测控制算法方面的问题,先讲讲对模型预测控制中“PWM调制”的那块内容。

前面我也说了。模型预测控制分为两大类:有限集模型预测控制——不需要SVPWM模块,而是通过代价函数生成电压矢量(这又可以分为单矢量和多矢量);连续集模型预测控制——需要调制模块(无差拍预测电流控制后面可以接SVPWM模块,这属于连续集模型预测控制的一种)。

从上面的仿真也可以很明显的看到,采用SVPWM的DPCC的性能远比采用单矢量的MPC的性能要好。采用单矢量MPC的相电流THD非常大!对于电感越小的电机,单矢量MPC的效果越差。

为什么我不用双矢量和三矢量MPC?

双矢量和三矢量MPC大幅增加了PWM调制的复杂度,而且效果不一定比得上SVPWM。所以干嘛要去学双矢量和三矢量MPC?

就对于三相逆变器而言,SVPWM已经非常成熟。SVPWM的电压矢量排布以及尽可能从减小电流纹波的角度出发了;而且SVPWM还有简化算法(也就是零矢量注入的SPWM)。

很多论文设计什么双矢量和三矢量MPC,还有什么快速双矢量和三矢量MPC。很多都没有考虑到电流纹波的影响

从减小电流纹波以及个人学习时间成本的角度来看,学习三相逆变器的双矢量和三矢量MPC,完完全全是浪费时间

我毕设的时候做过PMSM的双矢量、三矢量MPC,也做过OEW-PMSM(开绕组永磁同步电机的)的双矢量、三矢量MPC,效果根本不如SVPWM!完完全全是浪费时间。我最后根本没有把双矢量、三矢量MPC写到我的毕设里面去。比SVPWM复杂,且连SVPWM的效果都比不过,我为什么要用呢?

有限集模型预测控制在电感大的电机,以及一些比较复杂的多相电机或者多电机系统,可能会有一些比较好的应用。但是对于小电感的电机,以及一些调制算法已经比较成熟的电机系统而言,个人感觉还是用SVPWM比较合理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/846767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0基础学习Elasticsearch-使用Java操作ES

文章目录 1 背景2 前言3 Java如何操作ES3.1 引入依赖3.2 依赖介绍3.3 隐藏依赖3.4 初始化客户端(获取ES连接)3.5 发送请求给ES 1 背景 上篇学习了0基础学习Elasticsearch-Quick start,随后本篇研究如何使用Java操作ES 2 前言 建议通篇阅读再回…

MaxKey本地运行实战指南

MaxKey 本地运行总结 概述开发环境准备 主页传送门 : 📀 传送 概述 MaxKey单点登录认证系统,谐音为马克思的钥匙寓意是最大钥匙,是业界领先的IAM-IDaas身份管理和认证产品;支持OAuth 2.x/OpenID Connect、SAML 2.0、J…

记一次线上数据库连接超时异常问题

最近其他团队的开发人员告知我,我们项目有个feign接口调用失败了。我查看日志发现,其原因是尝试数据库连接超时,30秒内都没有连接成功。 我首先判断可能是网络不稳定,在一定时间内连接不上数据库。我登录到服务器环境看&#xff0…

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第五周) - Transformer

Transformer 1. 注意力机制 在语言建模中,注意力(attention)是一个关键机制,用于在给定上下文中访问相关信息以进行预测。注意力机制允许模型根据输入上下文中的重要信息来加权关注不同的部分,并根据其重要性来决定对不同部分的关注程度。 …

【工具】探索 MOU:每用户通话时长

缘分让我们相遇乱世以外 命运却要我们危难中相爱 也许未来遥远在光年之外 我愿守候未知里为你等待 我没想到为了你我能疯狂到 山崩海啸没有你根本不想逃 我的大脑为了你已经疯狂到 脉搏心跳没有你根本不重要 🎵 邓紫棋《光年之外》 什么是 MOU…

discuz点微同城源码34.7+全套插件+小程序前端

discuz点微同城源码34.7全套插件小程序前后端 模板挺好看的 带全套插件 自己耐心点配置一下插件 可以H5可以小程序

YOLOv1深入解析与实战:目标检测算法原理

参考: https://zhuanlan.zhihu.com/p/667046384 https://blog.csdn.net/weixin_41424926/article/details/105383064 https://arxiv.org/pdf/1506.02640 1. 算法介绍 学习目标检测算法,yolov1是必看内容,不同于生成模型,没有特别…

CSAPP Lab07——Malloc Lab完成思路

完整代码见:CSAPP/malloclab-handout at main SnowLegend-star/CSAPP (github.com) Malloc Lab 按照惯例,我先是上来就把mm.c编译了一番,结果产生如下报错。搜索过后看样子应该是编译器的版本不匹配,得建立条软链接。 经过多番…

【数据结构】链式二叉树详解

个人主页~ 链式二叉树基本内容~ 链式二叉树详解 1、通过前序遍历的数组来构建二叉树2、二叉树的销毁3、二叉树节点个数4、二叉树叶子节点个数5、二叉树第k层节点个数6、二叉树查找7、前序遍历8、中序遍历9、后序遍历10、层序遍历与检查二叉树是否为完全二叉树Queue.hQueue.c层序…

WordPress子比内容同步插件

1.支持分类替换 将主站同步过来的文章分类进行替换 2.支持本地化文章图片 (使用储存桶可能会导致无法保存图片) 3.支持自定义文章作者(选择多个作者则同步到的文章作者将会随机分配) 4.支持将同步过来的文章自定义文章状态&…

Java | Leetcode Java题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; class Solution {public int longestConsecutive(int[] nums) {Set<Integer> num_set new HashSet<Integer>();for (int num : nums) {num_set.add(num);}int longestStreak 0;for (int num : num_set) {if (!num_set.contai…

乡村振兴与文化传承:挖掘乡村历史文化资源,传承乡村优秀传统,打造具有地方特色的美丽乡村文化品牌

目录 一、引言 二、乡村历史文化资源的挖掘与保护 &#xff08;一&#xff09;乡村历史文化资源的内涵 &#xff08;二&#xff09;乡村历史文化资源的挖掘 &#xff08;三&#xff09;乡村历史文化资源的保护 三、乡村优秀传统的传承与创新 &#xff08;一&#xff09;…

4.基础纹理

纹理的目的&#xff1a;使用一张图片来控制模型的外观纹理映射技术&#xff1a;把一张图“黏”在模型表面&#xff0c;逐纹素&#xff08;与像素不同&#xff09;地控制模型颜色通常在建模软件中利用纹理展开技术实现&#xff0c;把纹理映射坐标存储在每个顶点上纹理映射坐标&a…

数学基础——微积分在机器/深度学习上的应用

目录 微分学 导数 偏导数 梯度 梯度下降算法 反向传播算法 自动求导 计算图 正则化与过拟合 L1正则化 L2正则化 Dropout正则化 拉格朗日对偶问题 拉格朗日乘数法 凸优化 对偶问题 KKT条件 Slater条件 积分学 笔记内容 微积分是17世纪后半叶发展起来的数…

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 买卖股票的最佳时机含冷冻期(难度⭐⭐)(79)

1. 题目解析 题目链接&#xff1a;309. 买卖股票的最佳时机含冷冻期 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 二、算法思路 1. 状态表示 dp[i][0]&#xff1a;表示第 i 天结束后&#xff0c;处于「买入」状态…

【计算机毕业设计】331基于微信小程序的家庭财务管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

音视频开发15 FFmpeg FLV封装格式分析

FLV(Flash Video)简介 FLV(Flash Video)是Adobe公司推出的⼀种流媒体格式&#xff0c;由于其封装后的⾳视频⽂件体积⼩、封装简单等特点&#xff0c;⾮常适合于互联⽹上使⽤。⽬前主流的视频⽹站基本都⽀持FLV。采⽤ FLV格式封装的⽂件后缀为.flv。 FLV封装格式的组成 FLV封装…

牛客BM22 比较版本号【中等 字符串 Java/Go/PHP/C++】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7 思路 字符串用.分割为数组&#xff0c;然后依次比较大小Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修…

lvs安装文档

目录 1. 检测内核是否支持了lvs 2. 安装依赖 3. 安装ipvsadm 1. 检测内核是否支持了lvs Centos6.5的内核已经支持了lvs&#xff0c;所有只需要安装lvs的管理工具ipvsadm即可&#xff1b; 检查linux内核是否集成lvs模块&#xff1a;modprobe -l | grep ipvs 开启路由转发功…

一文了解经典报童模型的扩展问题

文章目录 1 引言2 经典报童模型3 综述文章4 模型扩展4.1 扩展目标函数4.2 增加约束条件4.3 增加优化变量4.4 扩展模型参数4.5 扩展问题场景 5 总结6 相关阅读 1 引言 时间过的真快呀&#xff0c;已经6月份了。距离上一篇文章发表&#xff0c;已经过去了将近一个月&#xff0c;…