【学习记录】PID原理学习以及在matlab/simulink中实现PID调参

PID是什么

PID:基于误差来消除误差的控制策略,就是“比例P(proportional)+积分I(integral)+微分D(derivative)”,是一种常见的“保持稳定”控制算法。

PID表达式:

比例P(proportional)+积分I(integral)+微分D(derivative)

现在——过去——将来

实例

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第1张图片

使用比例控制(P)

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第2张图片

r:希望输出 x:实际输出 e:误差(error)

在simulink中搭建如下:(取Kp=10)

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第3张图片

仿真图像如下:

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第4张图片

分析可得,如果需要蓝线趋近于黄线(即稳态误差为0、控制达到期望值),则需要Kp趋于+∞。

Kp=10000图像如图:可知蓝线无限接近于黄线

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第5张图片

但在实际情况下,Kp不会趋于无穷大。故需要引入其他调整项。

使用比例积分控制(PI)

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第6张图片

在simulink中搭建如下:(取Kp=1,Ki=9)

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第7张图片

仿真图像如下:

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第8张图片

实际情况下:可直接调用PID控制器模块:

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第9张图片
【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第10张图片

该模块内置有许多功能,其中有个重要的功能则是PID TUNER(自动调参)。

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第11张图片

可以通过自主调节或自动调节来改善系统的鲁棒性、响应时间快慢等等。

使用比例微分控制(PD)

对于二阶系统:

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第12张图片
【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第13张图片

其推导与搭建过程与PI控制类似,simulink搭建系统如下:(取Kp=9,Ki=3)

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第14张图片

仿真图像如下:

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第15张图片

直接使用PID控制器模块同理。

而通常使用的时候直接选择PID即可,不需要使用的参数设置为0即可。

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第16张图片

这里有一个点:

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第17张图片

内置函数的微分项不是DS,使用时需要注意。(多引入了一个参数N,一般实际使用时也不会是单独一个DS)。


更多

我觉得百度搜到的这篇文章讲到了更多东西:一文搞懂PID控制算法 - 知乎 (zhihu.com)

在实际的PID调参过程中,考虑调整系数的顺序一般为P——I——D。

若想知道Kp,Ki,Kd三个参数对于系统的影响分别是什么,我觉得下图可以体现出来:

【学习记录】PID原理学习以及在matlab/simulink中实现PID调参_第18张图片

结语

本文仅为作者的学习记录。若想完全的弄明白PID的原理以及在matlab/simulink中的使用。

你需要学习《高等数学》《控制工程基础》(《自动控制原理》)等课程。

最后再再再次感谢b站up主:德狗追求独立的个人空间_哔哩哔哩_bilibili

本文参考:PID原理讲解与Matlab/Simulink仿真(下)_哔哩哔哩_bilibili

一文搞懂PID控制算法 - 知乎 (zhihu.com)

你可能感兴趣的:(matlab,matlab,学习,开发语言)