电机控制杂谈——“双采样双更新模式”对模型预测控制/PI控制的提升有多大?

1.采样频率与PWM开关频率的关系

一般有以下两种采样模式。

如下图(a)所示,这种方式称之为单采单更模式,即在一个PWM周期内,采样一次,更新一次PWM占空比,在这种情况下,采样频率=PWM开关频率(这也是最最最最常用的模式)。

如下图(b)所示,这种方式称之为双采双更模式,即在一个PWM周期内,采样两次,更新两次PWM占空比,在这种情况下,采样频率=2*PWM开关频率。

单采单更模式
双采双更模式

2.为什么要有双采双更模式?

一般而言,PMSM+FOC算法,在DSP28377(控制频率200Mhz)中执行,程序执行包括:转子位置采样,转速计算,电流采样,参考电压计算以及PWM生成,大概需要25us作用。这个程序计算时间与个人代码量有关。如果是采用比较复杂的控制算法,可能会使得程序运算时间超过50us,50us就是对应20kHz,所以这时候就没办法采用20kHz的控制频率

不过,个人看来,现在大部分的实验平台,基本都是用10kHz的开关器件。如果采用“单采单更模式”,那么开关周期和控制周期都是100us。但是呢,大部分算法都不需要用到100us。比如下面我截取了华科的两篇论文,里面涉及了他们提出的算法的运行时间。

可以看到呢。这两篇论文里面涉及的算法运行时间远不及100us,甚至也没达到50us。那么这样的话,其实DSP还有很多的空闲时间。

 

那我现在的想法就是,把DSP的空闲时间给运用起来,提高系统的控制性能。

那怎样提高控制性能呢?往期以及讲了很多的软件算法(扩展状态观测器。。。)。今天就想从硬件的方面(充分利用硬件资源)去提升控制性能。

那我可以试试这个“双采双更”的模式。

前段时间在b站回复别人消息。还被别人说我讲到的这个“双采双更”的模式是没有意义的。

这肯定是有意义的啊。双采双更能够使得我在开关频率不变的情况下提高控制精度,那控制效果肯定是更好的。

下面这是某篇TPE中使用到的双采双更模型波形图。

实现双采双更的理论依据应该是什么?

我个人认为有以下两点:

  1. DSP执行一次控制算法的时间,达不到一个控制周期的一半。
  2. 电机控制中涉及的SVPWM算法,实际上是在一个开关周期内完成了两次相同的调制。

如下图所示,由于SVPWM是左右对称的,实际上在左半周,已经完成了所需的电压调制。右半轴接着又完成了一次完全相同的电压调制。理论上左右两边产生的电压大小都是一致的。

既然经过半个周期就能完成我想要的调制了,那我干嘛不根据实际电流情况来实时调整下半周期所需的电压呢?

下面我们就来仿真验证一下双采双更的益处吧。

 

单采单更模型对应的开关管驱动信号、三角载波、开关切换时间波形

 

双采双更模型对应的开关管驱动信号、三角载波、开关切换时间波形

3.双采双更-DPCC模型的仿真验证

我下面是以无差拍预测电流控制(DPCC)来验证“双采双更模式”的有效性。

仿真参数如下表所示:

 

 Simulink仿真图:

 仿真工况:初始给定参考转速为1200RPM,0.2突加10Nm负载,0.35s减速至1000RPM。

3.1 电感失配两倍情况下的仿真对比

 

单采单更模式,控制器电感为实际电感的两倍时,三相电流、转矩、转速波形
双采双更模式,控制器电感为实际电感的两倍时,三相电流、转矩、转速波形
单采单更模式,控制器电感为实际电感的两倍时,d-q电流波形
双采双更模式,控制器电感为实际电感的两倍时,d-q电流波形
单采单更模式,控制器电感为实际电感的两倍时,相电流FFT分析
双采双更模式,控制器电感为实际电感的两倍时,相电流FFT分析

从上述仿真波形来看:

(1)采用“双采双更模式”的DPCC在电感失配两倍的情况下,电流脉动要明显小于采用“单采双单更模式”的DPCC的电流脉动。

(2)在d-q电流方面,可以看到,采用“单采双单更模式”的DPCC的d轴电流脉动超过了±1A;采用“双采双更模式”的DPCC的d轴电流脉动大概都在±0.5A以内。

(3)电流THD方面,可以看到,采用“单采双单更模式”的DPCC的相电流THD为4.24%;采用“双采双更模式”的DPCC的相电流THD仅为2.99%。

3.2 磁链失配2.5倍情况下的仿真对比

 

单采单更模式,控制器磁链为实际磁链的2.5倍时,三相电流、转矩、转速波形
双采双更模式,控制器磁链为实际磁链的2.5倍时,三相电流、转矩、转速波形
单采单更模式,控制器磁链为实际磁链的2.5倍时,d-q电流波形
双采双更模式,控制器磁链为实际磁链的2.5倍时,d-q电流波形

从上述仿真波形来看:

采用“双采双更模式”的DPCC在磁链失配2.5倍的情况下,电流的稳态误差要明显小于采用“单采双单更模式”的DPCC的电流的稳态误差。

 

4.双采双更-PI模型的仿真验证

Simulink仿真图:

 

 

注意:我的PI都采用“带宽配置法”,也就是电流环比例增益Kp=2*pi*fc*Ls,积分增益Kp=2*pi*fc*Rs。fc为带宽频率,单位是Hz

4.1 500Hz电流环带宽情况下的仿真对比

 

单采单更模式,三相电流、转矩、转速波形
双采双更模式,三相电流、转矩、转速波形

从上述仿真波形来看:

在电流环带宽设置为500Hz的时候,对于采用PI调节器的电流而言,双采双更模式和单采单更模型并没有明显区别

4.2 2000Hz电流环带宽情况下的仿真对比

单采单更模式,三相电流、转矩、转速波形
双采双更模式,三相电流、转矩、转速波形
单采单更模式,d-q电流波形(启动阶段)
双采双更模式,d-q电流波形(启动阶段)

从上述仿真波形来看:

在电流环带宽设置为2000Hz的时候,对于采用PI调节器的电流而言,双采双更模式和单采单更模式的q轴电流响应速度都差不多,电机启动时的q轴电流基本都是在0.00125s到达给定值;但是在达到参考电流之后,单采单更模式下的d-q电流都开始出现上下波动,而双采双更模式下的d-q电流仍能保持非常好的稳定性

5 仿真对比总结

5.1结论

从上述仿真波形来看,可以得到以下结论:

(1)对于无差拍预测控制的电流环而言,无论在电感失配还是磁链失配的情况下,采用“双采双更模式”的DPCC明显具有更好的控制效果或者说采用“双采双更模式”的DPCC明显具有更好的参数鲁棒性。(这里为什么不讨论电阻失配,因为电阻失配的影响其实比较小)

(2)对于PI调节器控制的电流环而言,采用“双采双更模式”可以使系统在高带宽的情况下,拥有更好的稳定性(或者说,采用“双采双更模式”可以使在保证稳定性的情况下,拥有更高的电流环带宽,从而具有更快的电流动态响应能力)

 

5.2解释

这里解释一下为什么会有这两个结论。

(1)为什么双采双更模式能提高DPCC的参数鲁棒性?

假设电流误差是随时间线性变化的。

现在控制器参数与实际电机的参数不匹配,在参数失配且控制器周期为100us时(单采单更),预测的电流与实际电流的误差是2A。

那我现在在同样的参数失配情况下,采用双采双更模式,此时的控制器周期变为50us,那么预测的电流与实际电流的误差就会变成1A。

这样一来,我预测电流误差缩小了,预测控制的鲁棒性也就相当于通过硬件得到了提高。

(2)对于PI调节器控制的电流环而言,为什么采用“双采双更模式”可以使系统在高带宽的情况下,拥有更好的稳定性

我这里举一个例子,现在有一辆大货车以100km/h的速度驶向十字路口,大货车距离达到路口的时间为1s,且大货车司机观察路况的时间间隔为1s。(单采单更模式)

现在,大货车的时速是100km/h,经过1s之后,大货车司机开始观察路况,发现此时已经达到路口了,即使现在减速,也来不及了,很容易发生事故。

那假如司机观察路况的时间间隔为0.5s呢?(双采双更模式)

现在,大货车的时速是100km/h,经过0.5s之后,大货车司机开始观察路况,发现此时已经离路口很近,但是也还没到达路口,司机开始减速。那么大货车再经过>0.5s后达到路口,此时的车速<100km/h,发生事故的可能性也就会相对低一些。

5.3注意事项

上面我说采用双采双更模式是尽可能利用了数字控制芯片的资源。但其实还要考虑硬件问题。比如说你的电流传感器的采集频率是否可达20kHz;再或者是你采集电流的方式能否使用“双采双更”(如下图)?

 

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

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

相关文章

小红书自动私信获客,打造个人品牌

在当今这个内容为王、社交至上的时代&#xff0c;小红书作为新兴的社交电商平台&#xff0c;凭借其独特的社区氛围和强大的种草能力&#xff0c;成为了众多KOL、商家以及个人品牌打造的首选平台。想要在小红书上脱颖而出&#xff0c;精准引流获客&#xff0c;利用自动私信功能不…

【MyBatis】 MyBatis框架下的高效数据操作:深入理解增删查改(CRUD)

文章目录 1. 环境准备2. 增加数据&#xff08;Create&#xff09;3. 查询数据&#xff08;Retrieve&#xff09;4. 更新数据&#xff08;Update&#xff09;5. 删除数据&#xff08;Delete&#xff09;6. 总结 &#x1f389;欢迎来到Java学习路线专栏~探索Java中的静态变量与实…

强化训练:day8(求最小公倍数、数组中的最⻓连续⼦序列、字⺟收集)

文章目录 前言1. 最小公倍数1.1 题目描述1.2 解题思路1.3 代码实现 2. 数组中的最⻓连续⼦序列2.1 题目描述2.2 解题思路2.3 代码实现 3. 字母收集3.1 题目描述3.2 解题思路3.3 代码实现 总结 前言 1. 最小公倍数   2. 数组中的最⻓连续⼦序列   3. 字⺟收集 1. 最小公倍数…

JavaEE之线程(5)——Java内存模型、内存可见性、volatile关键字

前言 volatile可以理解成轻量级的 synchronized&#xff0c; 它在多CPU开发中保证了共享变量的“可见性”&#xff0c;可见性我们可以理解成是&#xff1a;当一个线程修改一个共享变量时&#xff0c;另一个线程可以读到这个修改的值。由于它不会引起线程的上下文切换和调度&am…

HTML的使用(中)

文章目录 前言一、HTML表单是什么&#xff1f;二、HTML表单的使用 &#xff08;1&#xff09;<form>...</form>表单标记&#xff08;2&#xff09;<input>表单输入标记总结 前言 在许多网页平台上浏览&#xff0c;大多逃不了登录账号。此时在网页中填写的用户…

Centos 7.9 安装 tigervnc-server

环境&#xff1a;当前使用的 Centos 7.9 的光盘作为的本地源&#xff0c;或使用离线rpm包。 1 检查是否已安装 tigervnc [rootlocalhost /]# rpm -q tigervnc tigervnc-server 未安装软件包 tigervnc tigervnc-server-1.8.0-21.el7.x86_64 如果安装过卸掉 卸载: rpm -e [ro…

MYSQL DBA运维实战 SQL2

1.DML:通过SQL语句中的DML语言来实现数据的操作。 insert实现数据的插入。 update实现数据的更新。delete实现数据的删除。 插入&#xff0c;完全插入insert into 表名 values(值) 非完全插入:insert into 表名(列名&#xff0c;列名) values(值) 更新&#xff0…

RustGUI学习(iced)之小部件(十二):如何使用rule分割线部件来分割UI?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第十二篇,主要讲述rule分割线部件的使用,会结合…

【计算机网络】http协议的原理与应用,以及https是如何保证安全传输的

HTTP 超文本传输协议&#xff08;英文&#xff1a;HyperText Transfer Protocol&#xff0c;缩写&#xff1a;HTTP&#xff09;是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 HTTP的发展是由蒂姆伯纳斯-李于1989年在欧洲核子研究组织…

React useEffect Hook: 理解和解决组件双重渲染问题

在React中&#xff0c;useEffect可能会在组件的每次渲染后运行&#xff0c;这取决于它的依赖项。如果你发现useEffect运行了两次&#xff0c;并且你正在使用React 18或更高版本的严格模式&#xff08;Strict Mode&#xff09;&#xff0c;这可能是因为在开发模式下&#xff0c;…

轻松掌握抖音自动点赞技巧,快速吸粉

在当今这个信息爆炸的时代&#xff0c;抖音作为短视频领域的领头羊&#xff0c;不仅汇聚了庞大的用户群体&#xff0c;也成为了品牌和个人展示自我、吸引粉丝的重要平台。如何在众多内容创作者中脱颖而出&#xff0c;实现高效引流获客&#xff0c;精准推广自己的内容&#xff0…

LVS负载均衡超详细入门介绍

LVS 一、LVS入门介绍 1.1.LVS负载均衡简介 1.2.负载均衡的工作模式 1.2.1.地址转换NAT&#xff08;Network Address Translation&#xff09; 1.2.2.IP隧道TUN&#xff08;IP Tunneling&#xff09; 1.2.3.直接路由DR&#xff08;Direct Routing&#xff09; 1.3.…

ThingsBoard版本控制配合Gitee实现版本控制

1、概述 2、架构 3、导出设置 4、仓库 5、同步策略 6、扩展 7、案例 7.1、首先需要在Giitee上创建对应同步到仓库地址 ​7.2、giit仓库只能在租户层面进行配置 7.3、 配置完成后&#xff1a;检查访问权限。显示已成功验证仓库访问&#xff01;表示配置成功 7.4、添加设…

”数组指针变量与函数指针变量“宝典

大家好呀&#xff0c;我又来啦&#xff01;最近我很高效对不对&#xff0c;嘿嘿&#xff0c;被我自己厉害到了。 这一节的内容还是关于指针的&#xff0c;比上一期稍微有点难&#xff0c;加油&#xff01;&#xff01;&#xff01; 点赞收藏加关注&#xff0c;追番永远不迷路…

AI大事记(持续更新)

文章目录 前言 一、人工智能AI 1.基本概念 2.相关领域 2.1基础设施 2.2大模型 2.3大模型应用 二、大事记 2024年 2024-05-14 GPT-4o发布 2024-02-15 Sora发布 2023年 2023-03-14 GPT-4.0发布 2022年 2022-11-30 ChatGPT发布 总结 前言 2022年11月30日openai的…

从零开始学习Linux(6)----进程控制

1.环境变量 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数&#xff0c;我们在编写C/C代码时&#xff0c;链接时我们不知道我们链接的动态静态库在哪里&#xff0c;但可以连接成功&#xff0c;原因是环境变量帮助编译器进行查找&#xff0c;环境变量通常具有…

【爬虫之scrapy框架——尚硅谷(学习笔记two)--爬取电影天堂(基本步骤)】

爬虫之scrapy框架--爬取电影天堂——解释多页爬取函数编写逻辑 &#xff08;1&#xff09;爬虫文件创建&#xff08;2&#xff09;检查网址是否正确&#xff08;3&#xff09;检查反爬&#xff08;3.1&#xff09; 简写输出语句&#xff0c;检查是否反爬&#xff08;3.2&#x…

电力系统潮流计算的计算机算法(一)——网络方程、功率方程和节点分类

本篇为本科课程《电力系统稳态分析》的笔记。 本篇为这一章的第一篇笔记。下一篇传送门。 实际中的大规模电力系统包含成百上千个节点、发电机组和负荷&#xff0c;网络是复杂的&#xff0c;需要建立复杂电力系统的同一潮流数学模型&#xff0c;借助计算机进行求解。 简介 …

免费Premiere模板,几何图形元素动画视频幻灯片模板素材下载

Premiere Pro模板&#xff0c;几何图形元素动画视频幻灯片模板 &#xff0c;组织良好&#xff0c;易于自定义。包括PDF教程。 项目特点&#xff1a; 使用Adobe Premiere Pro 2021及以上版本。 19201080全高清。 不需要插件。 包括帮助视频。 免费下载&#xff1a;https://prmu…

Fabric实现多GPU运行

官方的将pytorch转换为fabric简单分为五个步骤&#xff1a; 步骤 1&#xff1a; 在训练代码的开头创建 Fabric 对象 from lightning.fabric import Fabricfabric Fabric() 步骤 2&#xff1a; 如果打算使用多个设备&#xff08;例如多 GPU&#xff09;&#xff0c;就调用…