电机控制杂谈——增量式的预测电流控制的优势在哪?

1.前言

前几天看到这么个问题。“模型预测控制如何消除静态误差”

评论说用增量式的预测控制。

这个回答让我想起来我大四下看的这篇论文。现在都一百多被引用了。

但是苦于当时能力有限,没办法复现这个文章。

所以现在想重新验证一下。

2.静态误差和电机磁链有什么关系?

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

在我这篇文章里面,已经展示了电感和磁链失配对预测控制的影响。因为电阻失配影响较小,一般都不考虑。

电感失配会给电机带来许多高频谐波噪声。

磁链失配会给电机电机带来稳态误差。

简单的解释就见我上面的文章内容中。需要详细的解释就去搜东南大学樊英老师相关的IEEE论文,上面有非常充足的解释。

增量式预测控制可以消除稳态误差,也就是消除电机中的磁链参数的影响。

3.增量式无差拍预测电流控制的仿真搭建

下面这是传统预测控制的计算公式。

将上式都写成增量形式:

从式子(5)中可以看到,与磁链有关的这一项,在一个控制周期里面,就是0了。

论文中还画图表明了在增量模型中,与磁链参数有关的这一项,基本就是0。

最终的增量模型表达式如下:

 

根据上面增量模型的公式,我搭建了增量式的无差拍预测电流控制/DPCC的仿真。

下面是增量式的无差拍预测电流控制和传统的无差拍预测电流控制在“一拍延时补偿模块、参考电压生成模块”的对比。

注意看红圈的地方,增量式的DPCC不需要输入磁链参数,只需要输入电阻参数Rs1和电感参数Ls1。

增量DPCC
传统DPCC

 

搭建增量式的预测控制仿真不是一件容易的事:

1.因为你需要两个相邻周期的变量相减,得到增量表达式,这样一来,增量式的预测控制涉及的变量其实是要比传统预测控制多一些的。

2.控制算法涉及的变量增多,一定需要搞清楚哪个是预测量,哪个是实际量。

3.在增量模型中,得到的参考输出值也是增量形式。增量形式的输出参考电压不能直接传递给SVPWM模块。

4.需要对预测控制的时序有一个清晰的认识。所以我不建议新手一上来就想着自己搭出增量预测控制模型,而是应该先从传统的预测模型入手。

 

 


4.增量式DPCC与传统DPCC的仿真对比

4.1仿真参数

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

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

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

Tspeed = Tsample;%转速采样周期

Pn = 4;%电机极对数

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

Rs = 1;%定子电阻

flux = 0.1688;%永磁体磁链

Vdc = 400;%直流母线电压

iqmax = 20;%额定电流

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

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

n_init = 1000;%初始转速

fc_lpf = 200;%转速计算的低通滤波器截止频率

%转速环PI参数

Kpw = 0.25;

Kiw = 50;

%这是DSP内部的控制器参数

Ls1 = 1*Ls;%电感参数设置为实际电感

Ld1 = Ls1;

Lq1 = Ls1;

Rs1 = Rs;%电阻参数设置为实际电阻

4.2主要波形对比

参与对比的有三种情况:

1.增量式DPCC

2.传统的DPCC(控制器磁链数值为额定值)

3.传统的DPCC(控制器磁链数值为额定值的两倍)

 

增量式DPCC的三相电流、转矩、转速波形
传统的DPCC(控制器磁链数值为额定值)的三相电流、转矩、转速波形

 

传统的DPCC(控制器磁链数值为额定值的两倍)的三相电流、转矩、转速波形
增量式DPCC的dq电流波形
传统的DPCC(控制器磁链数值为额定值)的dq电流波形
传统的DPCC(控制器磁链数值为额定值的两倍)的三相电流、转矩、转速波形
增量式DPCC的A相电流FFT分析

 

 

传统的DPCC(控制器磁链数值为额定值)的A相电流FFT分析

 

 

5.总结

从上面的仿真结果来看:

1)增量DPCC在不需要磁链参数的情况下,基本上可以实现与传统DPCC(控制器磁链数值为额定值)一样的控制性能。但是增量DPCC的d轴电流脉动好像略大一点点,大概大了0.1A不到,增量DPCC的相电流FFT高了0.2%(这都还好,差距非常非常小,可以忽略)。

2)从传统DPCC(控制器磁链数值为额定值)的dq电流来看,在变速过程中,传统DPCC会出现id不等于0的情况。但是这一问题在增量DPCC的dq电流中没有出现

3)传统DPCC(控制器磁链数值为额定值的2倍)时,q轴电流的预测值和实际值发生较大的偏差,而且在整个控制过程中,虽然d轴电流的预测值和实际值没有发生偏差,但是出现id不等于0的情况。


解释一下第三点。

传统DPCC(控制器磁链数值为额定值的2倍)时,由于磁链存在于q轴电压方程,所以导致q轴电流的预测值和实际值发生较大的偏差,而d轴电流的预测值和实际值没有发生偏差。

但是在生成参考电压的时候,d轴电压方程中涉及到q轴电流的预测值,又由于q轴预测电流已经存在误差了,这就导致系统生成的d轴参考电压不准确。

所以就出现了d轴电流的预测值和实际值没有发生偏差,但是又不能实现id=0控制的情况。


从仿真结果来看,增量模型确实可以消除预测控制的稳态误差,且可以不需要电机磁链参数,但是增量模型的计算过程也相对更复杂一点。我个人认为增量预测控制还是很有用的。

 

 

 

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

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

相关文章

BulingBuling - 作息安排 [Reset Your Routine] - 1

The Blinkist Team: [ Reset Your Routine ] 如果你发现自己很难按部就班,或者陷入工作效率低的困境,那么你可能需要重新调整一下作息时间!从睡眠和营养,到待办事项和井井有条--本指南为你提供了各种技巧和策略,让你的…

自然之美无需雕琢

《自然之美,无需雕琢 ”》在这个颜值至上的时代,但在温馨氛围中,单依纯以一种意想不到的方式,为我们诠释了自然之美的真谛。而医生的回答,如同一股清流耳目一新。“我说医生你看我这张脸,有没有哪里要动的。…

【数据结构(邓俊辉)学习笔记】高级搜索树01——伸展树

文章目录 1. 逐层伸展1. 1 宽松平衡1. 2 局部性1. 3 自适应调整1. 4 逐层伸展1. 5 实例1. 6 一步一步往上爬1. 7 最坏情况 2. 双层伸展2.1 双层伸展2.2 子孙异侧2.3 子孙同侧2.4 点睛之笔2.5 折叠效果2.6 分摊性能2.7 最后一步 3 算法实现3.1 功能接口3.2 伸展算法3.3 四种情况…

linux下的网络编程

网络编程 1. 网络基础编程知识1.1网络字节序问题1.2 常用socket编程接口1.2.1 sockaddr1.2.2 ip地址转换函数1.2.4 socket()1.2.3 bind()1.2.4 listen()1.2.5 accept()1.2.6 connect() 1.3 以udp为基础的客户端连接服务器的demo1.4 以udp为基础的的服务器聊天室功能demo1.5 基于…

Apispec,一个用于生成 OpenAPI(Swagger)规范的 Python 库

目录 01什么是 Apispec? 为什么选择 Apispec? 安装与配置 02Apispec 的基本用法 生成简单的 API 文档 1、创建 Apispec 实例 2、定义 API 路由和视图 3、添加路径到 Apispec 集成 Flask 和 Apispec 1、安装…

FreeU: Free Lunch in Diffusion U-Net——【代码复现】

这篇文章发表于CVPR 2024,官网地址:ChenyangSi/FreeU: FreeU: Free Lunch in Diffusion U-Net (CVPR2024 Oral) (github.com) 一、环境准备 提前准备好python、pytorch环境 二、下载项目依赖 demo下有一个requirements.txt文件, pip inst…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第55课-芝麻开门(语音 识别 控制3D纪念馆开门 和 关门)

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第55课-芝麻开门(语音识别控制3D纪念馆开门和关门) 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtn…

2.pwn的linux基础(计算机内部数据结构存储形式)

linux基础 保护层级: 分为四个ring0-ring3 一般来说就两个,0和3 0为内核 3为用户 权限: 用户分为多个组 文件和目录等等的权限一般都是三个,即可读可写可执行。 读:R,写:W,执行:X 赋予一个可执行文件执行权限就是chmod x file…

qt 如何添加子项目

首先我们正常流程创建一个项目文件: 这是我已经创建好的,请无视红线 然后找到该项目的文件夹,在文件夹下创建一个文件夹,再到创建好的文件夹下面创建一个 .pri 文件: (创建文件夹) &#xff08…

字节跳动与南开联合开源 StoryDiffusion:一键生成漫画和视频故事的神器!完全免费!

大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年,也一名 AIGC 爱好者,持续分享更多前沿的「AI 工具」和「AI副业玩法」,欢迎一起交流~ 漫画,是多少人童年的回忆啊! 记得小学…

#数据结构 链式栈

1. 概念 链式栈LinkStack 逻辑结构:线性结构物理结构:链式存储栈的特点:后进先出 栈具有后进先出的特点,我们使用链表来实现栈,即链式栈。那么栈顶是入栈和出栈的地方,单向链表有头有尾,那我…

Http中get与post的区别,99%的人都理解错了吧

Get和Post是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别 就是Get把参数包含在URL中,Post通过request body传递参数。 你可能自己写过无数个Get和Post请求,或者已经看过很多权威网站总…

容器:stack

以下是关于stack容器的一些总结: stack容器比较简单,主要包括: 1、构造函数:stack [staName] 2、添加、删除元素: push() 、pop() 3、获取栈顶元素:top() 4、获取栈的大小:size() 5、判断栈是否为空&#x…

Linux运维之管道符、重定向与环境变量

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 目录 一、输入输出重定向 二、管道命令符 三、命令行的通配符 四、常用的转义字符 五、重要的环境变量 致谢 一、输入输出重定向 输入重定向是…

Python统计实战:时间序列分析之一元线性回归预测和指数曲线预测

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。 (以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。) 练习题 下表是某只股票…

Mysql数据库基础操作

Mysql数据库 基本概念 内核的作用:调用硬件资源 数据库的作用 使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便的管理数据。 数据、表、数据库 数据 描述事物的符号记录,包括数字,文字,图形&…

nginx的正向代理和反向代理以及tomcat

nginx的正向代理和反向代理: 正向代理以及缓存配置: 代理:客户端不再是直接访问服务端,通过代理服务器访问服务端。 正向代理:面向客户端,我们通过代理服务器的IP地址访问目标范围端。 服务端只知道代理…

如何利用算法优化广告效果

效果广告以超过67%的占比,成为了中国互联网广告预算的大头。在BAT、字节等大的媒体平台上,效果广告以CPC实时竞价广告为主。在这种广告产品的投放中,广告主或其代理公司通过针对每个广告点击出价,系统自动把这些点击出价换算成eCP…

Java + MySQL 实现存储完整 Json

Java MySQL 实现存储完整 Json 一、应用场景二、数据库配置三、后端代码配置1、maven 依赖2、实体类3、Service 实现类4、xml 文件 四、测试1、新增接口2、查询接口3、数据表内容 一、应用场景 将前端传过来的 Json 完整存储到 MySQL 中,涉及技术栈为 Java、MyBat…

从资金管理的角度 谈谈伦敦金投资技巧

刚进入伦敦金市场的时候,笔者认为技术分析是很重要的,所以将学习伦敦金投资技巧的精力全部投入到技术分析的学习中。经过一系列交易的亏损,笔者才发现,其实交易管理才是最重要的。如果管理得好,30%的胜率,投…