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

news2025/2/25 3:45:17

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.coloradmin.cn/o/1902059.html

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

相关文章

【大数据】—FIFA世界杯探索性分析(EDA)

引言 足球,作为全球最受欢迎的运动之一,拥有庞大的粉丝群体和深远的文化影响。自1930年首届FIFA世界杯举办以来,这项赛事已经成为全球体育盛事,吸引了数十亿观众的目光。世界杯不仅是各国足球技艺的较量,更是国家荣誉…

Linux多进程和多线程(七)进程间通信-信号量

进程间通信之信号量 资源竞争 多个进程竞争同一资源时,会发生资源竞争。 资源竞争会导致进程的执行出现不可预测的结果。 临界资源 不允许同时有多个进程访问的资源, 包括硬件资源 (CPU、内存、存储器以及其他外 围设备) 与软件资源(共享代码段、共享数据结构) …

linux watchdog 子系统

目录 一、watchdog 子系统二、关键数据结构2.1 watchdog_device2.2 watchdog_ops2.3 watchdog_info 三、重要流程3.1 watchdog 初始化3.2 watchdog 设备注册3.3 watchdog 设备文件操作函数3.4 watchdog 喂狗用户空间 watchdog(busybox)内核空间喂狗疑问 …

安装 tesseract

安装 tesseract 1. Ubuntu-24.04 安装 tesseract2. Ubuntu-24.04 安装支持语言3. Windows 安装 tesseract4. Oracle Linux 8 安装 tesseract 1. Ubuntu-24.04 安装 tesseract sudo apt install tesseract-ocr sudo apt install libtesseract-devreference: https://tesseract-…

AI多模态教程:Qwen-VL多模态大模型实践指南

一、模型介绍 Qwen-VL,由阿里云研发的大规模视觉语言模型(Large Vision Language Model, LVLM),代表了人工智能领域的一个重大突破。该模型具有处理和关联图像、文本、检测框等多种类型数据的能力,其输出形式同样多样…

进程控制-fork函数

一个进程,包括代码、数据和分配给进程的资源。 fork ()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同…

3101.力扣每日一题7/6 Java(接近100%解法)

博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 思路 解题方法 时间复杂度 空间复杂度 Code 思路 主要是基于对…

WPF中Background=“{x:Null}“ 和 Transparent

WPF中关于背景透明和背景无 此时&#xff0c;我代码中是写的有有个控件&#xff0c;一个Border &#xff0c;一个TextBox &#xff0c;范围都是全屏这么大&#xff0c;可以输入TextBox 因为&#xff0c;当border没有设置背景的时候&#xff0c;实际上是&#xff1a; <Borde…

连锁门店如何快速联网

随着新零售业态的发展&#xff0c;连锁门店的运营模式逐渐转为数字化运营&#xff0c;新增了诸如收银PoS、扫码枪、摄像头等数字化终端。这些数字化的业务应用都需要依托稳定可靠的网络才能正常运转&#xff0c;在这样的背景下&#xff0c;连锁门店对网络连接的需求显得尤为关键…

【HICE】转发服务器实验

1.在本地主机上操作 2.在客户端操作设置主机的IP地址为dns 3.测试,客户机是否能ping通

机器学习——无监督学习(k-means算法)

1、K-Means聚类算法 K表示超参数个数&#xff0c;如分成几个类别&#xff0c;K值就取多少。若无需求&#xff0c;可使用网格搜索找到最佳的K。 步骤&#xff1a; 1、随机设置K个特征空间内的点作为初始聚类中心&#xff1b; 2、对于其他每个点计算到K个中心的距离&#xff0c;…

【云计算】公有云、私有云、混合云、社区云、多云

公有云、私有云、混合云、社区云、多云 1.云计算的形态1.1 公有云1.2 私有云1.3 混合云1.4 社区云1.5 多云1.5.1 多云和混合云之间的关系1.5.2 多云的用途1.5.3 影子 IT 和多云1.5.4 优缺点 2.不同云形态的对比 1.云计算的形态 张三⾃⼰在家做饭吃&#xff0c;这是 私有云&…

免费去马赛克软件,亲测支持视频和图片,这AI功能逆天了!

有小伙伴私信问阿星有什么去除马赛克的免费软件&#xff0c;求推荐好用的去马赛克软件。 市面上去马赛克的软件多如牛毛&#xff0c;但真正好用的真不多&#xff0c;而免费的是更少。今天阿星就分享一款 AI智能去马赛克软件&#xff0c;免费使用。软件支持去除图片和视频的马赛…

【web前端HTML+CSS+JS】--- HTML学习笔记01

学习链接&#xff1a;黑马程序员pink老师前端入门教程&#xff0c;零基础必看的h5(html5)css3移动端前端视频教程_哔哩哔哩_bilibili 学习文档&#xff1a; Web 开发技术 | MDN (mozilla.org) 一、前后端工作流程 WEB模型&#xff1a;前端用于采集和展示信息&#xff0c;中…

Windows上Docker的安装与初体验

Docker Desktop下载地址 国内下载地址 一、基本使用 1. 运行官方体验镜像 docker run -d -p 80:80 docker/getting-started执行成功 停止体验服务 docker stop docker/getting-started删除体验镜像 docker rmi docker/getting-started2. 修改docker镜像的存储位置 3. …

【扩散模型】LCM LoRA:一个通用的Stable Diffusion加速模块

潜在一致性模型&#xff1a;[2310.04378] Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (arxiv.org) 原文&#xff1a;Paper page - Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (…

IDEA安装IDE Eval Reset插件,30天自动续期,无限激活

第一步&#xff1a; 下载idea 注意&#xff1a;版本要是2021.2.2以下 第二步&#xff1a;快捷键CtrlAlts打开设置 第三步&#xff1a;打开下图中蓝色按钮 第四步&#xff1a;点击弹窗的 “” &#xff0c;并输入 plugins.zhile.io 点击 “ok” 第五步&#xff1a;搜索IDE Ea…

强化学习编程实战-1-一个及其简单的强化学习实例(多臂赌博机)

1.1 多臂赌博机 一台拥有K个臂的机器&#xff0c;玩家每次可以摇动K个臂中的一个&#xff0c;摇动后&#xff0c;会吐出数量不等的金币&#xff0c;吐出金币的数量服从一定的概率分布&#xff0c;而且不同臂的概率分布不同。 多臂赌博机的问题是&#xff1a;假设玩家共有N次摇地…

2024上半年网络工程师考试《应用技术》试题二

试题二(20分) 阅读以下说明,回答问题,将解答填入对应的解答栏内。 某单位网络拓扑如下图所示.SW1、SW2为核心层交换机&#xff0c;PC网关配置在核心层&#xff0c;SW3-SW4为接入层交换机,行政部PC划为vlan10,销售部PC划为vlan20。 【问题1】(4分) 要求实现骨干链路冗余&…

golang线程池ants-实现架构

1、总体架构 ants协程池&#xff0c;在使用上有多种方式(使用方式参考这篇文章&#xff1a;golang线程池ants-四种使用方法)&#xff0c;但是在实现的核心就一个&#xff0c;如下架构图&#xff1a; 总的来说&#xff0c;就是三个数据结构&#xff1a; Pool、WorkerStack、goW…