百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

基于 PID 控制的离散控制系统实现

liebian365 2024-12-28 23:51 15 浏览 0 评论


作者:Peter Galan


掌握如何减少噪声,使用中断服务例程,以及更多关于PID控制传递函数的信息。


虽然在 s 域中处理控制系统是完全合乎逻辑的,因为受控系统是连续(时间)运行的,但控制系统的实现是另一回事。现在,几乎所有的控制系统都是基于微处理器(微控制器)或数字信号处理器的数字系统,如图 1所示。



用于离散时间控制系统的 PID


模拟 PID 控制器,仍然被认为是非常强大的(图 2),可以修改为离散时间控制系统,因为将其微分方程(等式 1)重写为其差分形式(等式 2)并不困难。



其中 u[n] 是当前时间 n 的驱动值,e[n] 是时间 n 的调节误差, e [n-1] 是前一采样时间 n-1 的调节误差。T 是采样的时间段。相同的时间段 T 用于信号处理,即用于 u[n] 的计算。


对于实际应用,等式 2 需要从积分部分开始进行某些修改。积分部分将调节误差的每个值相加,然后将该和乘以时间常数和积分常数。如果时间或积分常数的值突然变化(这可能发生,尤其是在整定过程中),则驱动值将突然变化并导致问题。更好的方法是先将调节误差乘以这两个常数,然后再累加其乘积。通过使用梯形近似积分代替矩形近似积分,可以从另外一方面实现改进。


如何减少噪声?


等式 2 的导数是问题的第二个来源。在其简单形式中,该成员往往是噪声。为了减少噪声,可以使用两个以上(例如四个)连续的调节误差采样。结果就好像调节误差的差值通过了一个微小的(4 阶)有限脉冲响应(FIR)滤波器。修改后的 PID 公式如下等式 3 所示。该差分方程可以在任何编程语言和任何微处理器 / 微控制器中实现。


中断服务程序


尽管如此,关于采样 / 处理周期 T 还有一个悬而未决的问题。控制过程周期(频率)是多少,它取决于什么?控制频率仅取决于闭环传递函数的时间常数。请记住,这个时间常数可以比受控系统本身的时间常数小一个数量级。最佳情况下,运行控制程序的频率应比闭环时间常数 τ 的值高 5 到 10 倍。在控制过程开始运行之前,应具有 r[n] 和y[n] 的最新样本。


最好的安排是,如果控制程序被称为中断服务例程(ISR),则由提供 y[n] 值的 A/D转换器触发。控制程序计算的结果,即执行变量 u[n],应尽快发送到 D/A 转换器。否则,受控系统的传递函数将受到传输延迟的影响,这可能会破坏控制系统(使其不稳定)。


为了避免噪声,必须彻底过滤所有测量变量,如 y(t)信号,因为噪声总是可以从外部渗透到控制系统中,例如,由电子部件(主要是开关电源)引起的板载噪声。它们应通过适当的抗混叠滤波器,并且截止频率远低于采样频率 1/T 的一半。如果由于某种原因,它们无法通过适当的模拟滤波器进行过滤,则至少应过采样并进行数字滤波。



关于 PID 控制传递函数的更多信息


等式 3 不是实现离散 PID 控制器的唯一方法。另一种可能性是将 PID 控制传递函数从其 s 域(等式 4)转换为 z 域。实际上,这种转变有两种方式。两者都是从离散时间积分的不同近似推导而来的。最常见的近似离散时间积分是矩形(等式 5)和梯形(等式 6)近似。


如果在 z 域中表达 ,对于矩形近似,您将得到


这是梯形近似的结果 :


等式 7 和 8 对应于积分项,其在 s 域中表示为 1/s。因此,如果取等式 7 右侧的倒数(s),并用其替换等式 4中的每个 s 算子,则会得到 PID 补偿的以下传递函数(在z 域中):


类似地,如果取等式 8 右侧的倒数,并用其替换等式 4 中的每个 s 算子,则会得到以下 PID 补偿的传递函数(在 z 域中):


z 域中的控制系统建模


等式 9 和等式 10 适用于在 z 域中对控制系统建模(例如在 Matlab 中),但不能由任何控制器直接实现。然而,在对等式 9 进行 z 逆变换后,您将得到以下等式


和等式 10 的 z 逆变换 :


等式 11 和等式 12 非常适合在任何微处理器(微控制器)或数字信号处理器上实现。如果将 K1、K2 和 K3作为预先计算好的常数(而不是变量),整个控制过程将需要三次乘法、四次加法并需要记住四个先前计算的变量——两个调节误差 e[n-1] 和 e[n-2],以及两个驱动变量 u[n-1] 和 u[n-2](仅适用于等式 12)。e[n] 计算需要一次减法。


无限脉冲响应滤波器


您可以进一步优化控制程序。数字信号处理行业有非常流行的递归滤波器,即所谓的无限脉冲响应(IIR)滤波器。通常,它们是级联二阶滤波器。图 3 显示了一个这样的二阶滤波器,通常称为“双二阶”,转换为其标准形式,即级联形式 II。




实现这种双二阶需要更少的内存空间,只需要记住两个状态变量 d[n-1]、d[n-2],而不是四个变量。标准无限脉冲响应滤波器段由以下两个差分方程描述 :


尽管选择有限,但 A1 和 A2 的值仍然有选择的余地。然而,必须遵守两条规则 :A1 和 A2 值的总和必须始终为1.0,并且任何值都不能大于 1.0。因此,可以使用的 A1和 A2 系数如,值 1.0 和 0,或 0.5 和 0.5,或 0 和 1.0,或介于两者之间的任何值。


最后一种组合,其响应与等式 12 的相同。A2 值越低,控制系统响应越快。这可以简化整定过程,因为您可以将 KI 常数(以及 KP 和 K D 值)设置为某个合理的值,而不是频繁修改 KI 值(如果您想使 KP 和 K D 值达到最优则需要重新计算,即取消受控系统的极点),例如,将 KI 调整为值 10/(τ1+τ2)(其中 τ1 和 τ2 是受控系统的主要时间常数),并通过调整 A1 和 A2 值完成最终的整定。


并非每个 PID 实现都令人满意


虽然在必须实现任何算法问题时有一个选择总是很好的,但并非每个实现都能提供令人满意的结果。这同样适用于本文所描述的 PID 控制过程。理论上,所有这些过程在纸面上都很好地工作,但是当实施时,就会出现问题。


虽然第一个公式,等式 3 的实现需要比其余两个更多的数学运算(乘法、加法)和记住更多先前的结果,但它提供了非常平滑的结果。等式 11 的行为也类似。然而,等式 12 的实现将无法产生令人满意的结果,因为它在稳定边缘上运行,其输出将永久振荡。等式13/14 将正常工作,但 A1 系数必须保持 >0,否则的话,其行为将与等式 12 实现完全相同,并产生永久振荡。


关键概念:

■ 检查在离散时间控制系统中使用 PID的选项。

■ 掌握如何减少噪声,使用中断服务例程,以及更多关于 PID 控制传递函数的信息。


思考一下:

为什么并非所有 PID实现都令人满意。

相关推荐

4万多吨豪华游轮遇险 竟是因为这个原因……

(观察者网讯)4.7万吨豪华游轮搁浅,竟是因为油量太低?据观察者网此前报道,挪威游轮“维京天空”号上周六(23日)在挪威近海发生引擎故障搁浅。船上载有1300多人,其中28人受伤住院。经过数天的调...

“菜鸟黑客”必用兵器之“渗透测试篇二”

"菜鸟黑客"必用兵器之"渗透测试篇二"上篇文章主要针对伙伴们对"渗透测试"应该如何学习?"渗透测试"的基本流程?本篇文章继续上次的分享,接着介绍一下黑客们常用的渗透测试工具有哪些?以及用实验环境让大家...

科幻春晚丨《震动羽翼说“Hello”》两万年星间飞行,探测器对地球的最终告白

作者|藤井太洋译者|祝力新【编者按】2021年科幻春晚的最后一篇小说,来自大家喜爱的日本科幻作家藤井太洋。小说将视角放在一颗太空探测器上,延续了他一贯的浪漫风格。...

麦子陪你做作业(二):KEGG通路数据库的正确打开姿势

作者:麦子KEGG是通路数据库中最庞大的,涵盖基因组网络信息,主要注释基因的功能和调控关系。当我们选到了合适的候选分子,单变量研究也已做完,接着研究机制的时便可使用到它。你需要了解你的分子目前已有哪些...

知存科技王绍迪:突破存储墙瓶颈,详解存算一体架构优势

智东西(公众号:zhidxcom)编辑|韦世玮智东西6月5日消息,近日,在落幕不久的GTIC2021嵌入式AI创新峰会上,知存科技CEO王绍迪博士以《存算一体AI芯片:AIoT设备的算力新选择》...

每日新闻播报(September 14)_每日新闻播报英文

AnOscarstatuestandscoveredwithplasticduringpreparationsleadinguptothe87thAcademyAward...

香港新巴城巴开放实时到站数据 供科技界研发使用

中新网3月22日电据香港《明报》报道,香港特区政府致力推动智慧城市,鼓励公私营机构开放数据,以便科技界研发使用。香港运输署21日与新巴及城巴(两巴)公司签署谅解备忘录,两巴将于2019年第3季度,开...

5款不容错过的APP: Red Bull Alert,Flipagram,WifiMapper

本周有不少非常出色的app推出,鸵鸟电台做了一个小合集。亮相本周榜单的有WifiMapper's安卓版的app,其中包含了RedBull的一款新型闹钟,还有一款可爱的怪物主题益智游戏。一起来看看我...

Qt动画效果展示_qt显示图片

今天在这篇博文中,主要实践Qt动画,做一个实例来讲解Qt动画使用,其界面如下图所示(由于没有录制为gif动画图片,所以请各位下载查看效果):该程序使用应用程序单窗口,主窗口继承于QMainWindow...

如何从0到1设计实现一门自己的脚本语言

作者:dong...

三年级语文上册 仿写句子 需要的直接下载打印吧

描写秋天的好句好段1.秋天来了,山野变成了美丽的图画。苹果露出红红的脸庞,梨树挂起金黄的灯笼,高粱举起了燃烧的火把。大雁在天空一会儿写“人”字,一会儿写“一”字。2.花园里,菊花争奇斗艳,红的似火,粉...

C++|那些一看就很简洁、优雅、经典的小代码段

目录0等概率随机洗牌:1大小写转换2字符串复制...

二年级上册语文必考句子仿写,家长打印,孩子照着练

二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...

一年级语文上 句子专项练习(可打印)

...

亲自上阵!C++ 大佬深度“剧透”:C++26 将如何在代码生成上对抗 Rust?

...

取消回复欢迎 发表评论: