热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前馈pid系数_SPMSM控制——基于模型的电流前馈控制及思考

大家好,我是邦多利re0联动抽不到四星白金燐子的非酋Dantemiwa。电机控制中最基础的部分:电流环、速度环、位置环的PID控制器设计,

大家好,我是邦多利re0联动抽不到四星白金燐子的非酋Dantemiwa。

电机控制中最基础的部分:电流环、速度环、位置环的PID控制器设计,我们都做了简单的介绍。在三环的设计中我们能看到,PID控制器的设计并不是生调硬套,玄学调参;而是有迹可循,有数可算的。自动控制原理中时域、根轨迹、频域分析等基础内容,看似晦涩,实际上都能在电机这一简单的控制对象上得到充分的应用。

前情回顾

https://zhuanlan.zhihu.com/p/146373628​zhuanlan.zhihu.com

在传统PI电流环参数整定一文中,我们已经介绍了如何根据“对称最佳准则”法进行参数整定。基本思路为:

1. 略去开环电压方程的转速项,将电流环化为典I型系统
2. 作出幅频特性曲线
3. 根据“对称最佳准则”计算得到PI参数。

c6d3b6e58b2538eb506589ccbf656f8c.png

我们还引出了,如果想要根据需要来设计电流环带宽,应带如何计算相应的电流环PI参数:

e692785a9e3a88ddb1275d1a42f3afb4.png

13dc8df660259689cf89c679d01eb850.png

这也和各大电机标准库给出的计算方法一致。(要注意这里的带宽

单位是rad/s而不是Hz)。

无法忽视的反电势项

在传统PI电流环的设计中,常常以“响应速度较慢”为理由,忽略dq电压方程中电角速度

的几项:

57f7bacf40d8392a51dd52d1bd05f803.png

1d8454cebae4f85e326727cddd82b817.png

带电角速度

的几项,称为dq轴上的
反电动势项,关于反电动势项的来历,在此不加赘述,估计这又能新开一篇文章了。显然,旋转反电动势的大小和转速、电流等均有关系,是一个耦合项。转速越大,反电势项也就越大。

的确,转速的响应比电流要慢的多。但带电流的几项

均和电流有关系。如果转速很高,
可能变大,那么这两项带来的扰动就不能忽略。

也就是说,当电机运行在高速、高扭矩阶段的时候,不应当忽略旋转反电势项带来的影响。

基于模型的电流环前馈

对此,我们可基于电压模型,为电流环加入前馈项,对旋转反电动势扰动进行补偿,控制框图如下所示:

b346589f45e0a1dcfd04db391e29d9a8.png
看上去很复杂的基于模型电流环控制

emmmm看上去好像很复杂,但很容易看出的的是,dq轴的控制耦合在了一起。为了方便分析,我们单独提出q轴,对框图进行简化:

9e8dd140346a96f7fa22cd98c150f1b8.png
q轴基于模型的电流环

上述框图的最大特点有以下两点:

1.没有积分环节
2.前馈项能完全抵消旋转反电势的扰动。

基于模型的电流环控制,最大的特点在于增加了几个模型前馈项。其中,

为电阻电压分量,
为控制器一个系数,
为逆变器滞后。

为了便于分析,我们忽略逆变器滞后对前馈项带来的影响,认为前馈项能够直接抵消掉旋转反电动势项,此时基于模型的电流环能进一步地简化为:

4a1389d7b5077d2174be7a08c4ddfcd2.png

我们能看到,反馈增益项

的设计是很巧妙的,他正好抵消了积分项中的
。换言之,整个基于模型电流环的设计,
我们只需要去考虑如何确定系数
即可,剩下的,前馈项全部给补上了。

我们仔细看一下框图中的开环传函,

12481e608b526fe7cf59916ec8721cd4.png

好家伙,这又是个典I型系统。我们仍按照对称最佳准则(具体内容参考Dantemiwa:SPMSM控制:传统PI电流环参数的整定):

反馈增益为:

这跟电流环整定出来的P参数一模一样。并且注意到此时的闭环传递函数和传统PI电流环是相同的:

22ac74309757b1d3a7bd0efeff362d84.png

值得注意的是,传统PI电流环的闭环传递函数是在忽略了反电动势项的基础上构建起来的,而基于模型电流环的闭环传递函数则是在反电动势项被抵消的情况下构建出来的。我们来具体看一看两者到底有什么区别

扰动传递函数的分析

这里又要拿大家最喜欢的RM3508动刀了。已知RM3508的电路参数,我们就可以给RM3508电机做仿真了。

我们首先来看看时域上的性能差异。规定控制器频率为10K,当给RM3508的转子以160rps的阶跃信号时,其速度-时间曲线如下:

d68b88a7285401bff97d4028b1d3759c.png

能看到橙色的传统PI电流环,在高转速处经历了几个波动以后才到达稳态,而基于模型的电流环仅经历一次超调到达稳态。

而电流-时间曲线则更加惨烈,在高转速阶跃指令下的电流的超调,传统PI电流环比基于模型电流环抖得多。

bbd5975eb268aeb8381fcd5328ea0b53.png

(实际上160rps已经逼近RM3508电机在24V直流下的电压极限圆了,C620电调是不会跑这么快的)

为什么会有这样的状况呢?

假如我们将反电势项视作扰动输入,我们可以分析对于这一个扰动输入,系统的传递函数和频率特性,所得到的传递函数称为"扰动传递函数",在自动控制原理当中甚至还有例题。至于为什么我们能将R(s)和N(s)分开来分析,因为输入R(s)和N(s)是相互独立的信号,而闭环系统又是线性时不变系统(LTI),根据系统的线性性质,可以将两者分开。(正好最近学了Stochastic Process这门课,妙哉)

3f2ebb136eb66b8ffba5c11cfc9cc0d1.png
经典例题:N(s)为扰动输入,求扰动传递函数C(s)/N(s)

只要我们能分析传统PI电流环扰动传递函数的幅频特性,再分析基于模型传递函数的幅频特性,想必能从两者的带宽中看出些什么。

传统PI电流环的扰动传递函数和框图为:

7bfedbb4233bf5f9a7a9081efb95dad0.png

ce03239fa51301a33ebf102c7439050c.png

基于模型电流环的扰动传递函数和框图如下,注意分析扰动传递函数的时候我们没有忽略电压滞后环节对前馈项的影响:

9413f9001a83b79c4e1c35ba1a85aaf2.png

5754335d61085d31e20019af1363a7d0.png

MATLAB的bode走起,画出两个框图的伯德图,其中

113e6762362cc976be6b4f9e94ae79b9.png
传统PI电流环扰动传函的伯德图

942f55abab4281bca9828c70e731f1da.png
基于模型电流环扰动传递函数伯德图

从图中能看出来,前者的带宽比后者要大,但咱得注意,这是对噪声输入的带宽,谁带宽大,意味着谁更容易受到噪声的影响。在抗扰方面,显然基于模型的电流环要比传统PI电流环要强得多。

性能优异的前馈控制

基于模型的电流环是前馈控制的一种,具备以下特点:

1.没有积分环节,系统响应速度更快

2.反电势噪声带宽小,电流、转速波动更小。

可见基于模型的电流环,是一种性能优越的反馈-前馈控制器。实际情况中,如果没有基于模型的前馈控制,高速电机的d轴经常会出现带宽不足而失控的情况。这种时候,要么就是提高控制器的控制频率,要么就是加入基于模型的控制。

实际情况是,C620电调16K的控制效果,使用基于模型的电流环在10K左右就能够达到。

知乎视频​www.zhihu.com

鲁棒控制

且慢!众所周知,电机的模型你真的能准确得到?KV值有虚标的,数字电桥也有精度限制,加上电流、速度传感器自己本身也有误差。这会对基于模型电流环有什么影响吗?

影响当然是有的,由于模型不准,又缺乏积分环节,最直接的影响就是电流控制的有差。电流环是一个有差系统,既然前馈没办法补准,那光靠反馈增益是不可能补完剩下的部分的。这种“有差”的程度,可以用“参数鲁棒性”(robust)一词进行描述。

如果一个系统的有差度受到模型参数影响而变化不大,则称该系统参数鲁棒性较强;
如果一个系统的有差度受到模型参数影响而变化较大,则称该系统参数鲁棒性较弱。

而鲁棒控制的实现,这又是一门学问了。

今天先到这里吧,顺带一提,我永远喜欢憋笑主唱。

3a6071f62b76b43fa108082fbb48d9f3.png


推荐阅读
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 本文介绍了如何在 Node.js 中使用 `setDefaultEncoding` 方法为可写流设置默认编码,并提供了详细的语法说明和示例代码。 ... [详细]
  • 理解UML的重要性及其应用
    探讨为什么大多数开发人员难以成为架构师,介绍从现实世界到业务模型的抽象过程,并详细解释UML在软件设计中的关键作用。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • This post discusses an issue encountered while using the @name annotation in documentation generation, specifically regarding nested class processing and unexpected output. ... [详细]
  • 本文介绍了一个用于 Android 开发的 Logcat 日志管理工具类,该类提供了默认和自定义标签的日志记录方法。通过这种方式,开发者可以更方便地管理和调试应用程序中的日志输出。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 使用Powershell Studio快速构建GUI应用程序
    本文介绍了如何利用Powershell Studio创建功能强大的可视化界面。相较于传统的开发工具,Powershell Studio提供了更为简便和高效的开发体验,尤其适合需要快速构建图形用户界面(GUI)的场景。 ... [详细]
  • 本文档旨在详细解析电子秤项目的主循环代码,涵盖其核心功能和任务处理逻辑。内容包括初始化、称重、休眠、错误处理及校准等模式的实现。 ... [详细]
  • 本文将探讨2015年RCTF竞赛中的一道PWN题目——shaxian,重点分析其利用Fastbin和堆溢出的技巧。通过详细解析代码流程和漏洞利用过程,帮助读者理解此类题目的破解方法。 ... [详细]
  • InmyapplicationIhaveQGraphicsScenewithpixmapaddedandallisviewedinQGraphicsViewwithsc ... [详细]
author-avatar
手机用户2502852037
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有