先进pid控制matlab仿真_直观的读懂什么是PID(附带matlab仿真解读)

0d1be47f883dfd5d5a81cdb5ee46dbf9.png

本文首发自微信公众号“汽车技术馆”!

相信很多做工程的朋友都很熟悉PID的概念,至少会经常听到这个概念,那么这个简称背后所包含的含义是否已经完全理解了呢?如果你已经深刻的理解了,就麻烦看看本文有哪里讲述不对的地方 ,给予指正。如果你还不太清楚这个背后的含义,那么就看看这篇文章能否给你一点启发。

老套的含义

小编觉得,所有讲述PID的文章必定会提到PID的基础概念,P是比例调节,I是积分调节,D是微分调节,所以呢,小编不打算花什么时间在这个上面,因为这些概念并不能帮助大家去理解其真正的含义,我们直接进入下一个环节。

P到底如何起作用?

P 比例作用是对偏差瞬间做出反应,偏差一旦产生,立即产生作用,使其控制量朝减少偏差的方向变化,控制作用的强弱取决于比例系数,比例系数越大,控制作用越强。

ok,是不是还是不好理解?

我们通过一个例子给大家进行说明,比如你要给一壶水进行加热,而加热的装置就是你需要使用PID调节的东西,我们来看一下P是如何起作用的,首先大家要明白,PID三个参数都是常量,一旦确定以后就是固定的,比如在一开始对水加热的时候,水温是25度的常温,而期望达到的温度是60度,此刻温度的偏差是60-25=35度,所以P给加热装置的作用是P乘以这个温度差值,经过一个周期之后,下次调节的时候,温度可能到了30度,那温度的偏差就是60-30=30度,同样P对加热装置起到的作用就是P乘以30,因此越接近目标温度,P的作用越小。我们再反会一开始加热的状态,温度差值35度,当P为1的时候,起到的作用是35*1,而如果P为2呢,起到的作用就是35*2,是不是P的数值越大,其控制作用越强,这就是我们在一开始给出大家的结论描述。

下面我们在matlab的仿真中看一下两者的差异

首先我们使用matlab自带的PID模块快速的建立一个模型

bb6875306af57089aad2036e0f19345e.png

假设一个温度加热的传递函数如模型所示

首先我们设置P=1; I=0; =0

仿真结果如下

26ba7f9e04763e03b16384fbdc54534a.png

然后设置P=2; I=0; D=0

仿真结果如下

8e34e976e75c35dfb498cd6055b37cec.png

然后将两个放在一起做一下对比

34d123650e28d6a826867f19bc156adf.png

蓝色的为P=2的结果,黄色的为P=1的结果

通过结果来看,哪个的调节作用更强?

很明显当P=2的时候的调节作用是强于P=1的时候的。

相信这个概念大家应该理解了吧?如果还有不理解的欢迎留言!

为什么说I是为了解决静态误差?

很对朋友不太理解I的作用,我觉得根本原因在于没有深刻的理解静态误差的概念,所以我们首先来说一说静态误差。

还是沿着之前的例子往下说,我们需要给一壶水进行加热,加热功率的大小就是需要PID调节的东西,大家考虑一下,如果有一个时刻加热的速度正好等于了水的散热的速度,那么水的温度是不是就不会再升高了,如何理解呢?前面我们说了P的作用是和温度差有关的,假设当温度到达了50度,这个时候的温度差值是60-50=10度,此刻P起到的作用就是P乘以10,而这个时候水的散热正好需要10乘以P的功率,再没有I和D的作用的情况下,系统是不是就达到了一个稳态状态,虽然水壶一直被加热但是温度并不会上升,这个时候实际温度到目标温度之间的差值就是静态误差,我们通过一个仿真结果来说明,还是上面的那个结果

5877c6907cc91dc22524df0c69d2e3bb.png

我们看到,当系统处于一个稳定状态的时候,实际的温度和目标的温度之间存在一个稳定的差值,这就是静态误差。

I又是如何起作用的呢?前面我们提到了,从数学概念上来说,I就是积分,积谁呢?积温度偏差的分,只要实际温度和目标温度存在偏差就会把这个偏差进行累加,然后把这个积分后的结果作用到加热设备上。

比如,我们这里随便添加一个积分参数,设置PID参数为

P=1; I=1;D=0

仿真结果如下

e4c7d8e1e7283851d66b50d8ecf5cc68.png

大家看一下,稳定下来后的静态偏差是不是几乎没有了,我们可以和参数为P=1; I=0; D=0的状态做一个对比

f84e08b880f79edc88f283f2ddef67bc.png

黄色的为P=1;I=1;D=0的仿真结果

红色的为P=1;I=0;D=0的仿真结果

是不是很明显?

同样基于这个对比图还可以多理解两个概念:

积分会增加系统的超调量——可以看到,当I=1的时候,实际的温度值明显是要高于I=0的状态的,因为累计的误差起作用了嘛,所以产生的超调肯定会多一些。

积分会增加响应时间——从两条变化曲线是可以看出的,上面的一条到达稳定的时间比下面的一条要长一些,确实是增加了响应时间。

D真的可以预测未来吗?

接下来我们要说一说D的作用,在数学概念里,D是微分,微分有什么样的物理意义?简单来说,就是微小单元的斜率,斜率代表的就是变化速度,还是按照原来的例子,假设温度加热到55度,下一次调节时温度加热到了57度,下下一次温度加热到了58度,那么温度第一次变化了2度,第二次温度变化了1度,因此温度的变化速度是下降的,进而产生的结果就是提高D的调节作用。反之,如果在温度为55度后,下一次调节时温度调节到了56度,下下次调节时温度加热到58度,那么温度第一次变化了1度,第二次变化了2度,因此温度的变化速度是上升的,进而产生的结果是降低D的调节作用。

我们还是仿真一下,设置参数

P=1 ; I =1; D=0.5

仿真结果如下

2f36070d2a0d618ba8403a23c547799c.png

和之前P=1 ; I=1 ; D=0的仿真结果做一个对比

cce9443dfb1a9a7deca464b40ad797e8.png

两个曲线很明显,不需要进行说明了吧!

可以看出,当参数D介入作用以后,明显的遏制了偏差的变化趋势,没有使温度出现明显的超调,而且使得系统快速的达到了目标稳定态。

总结

所以说,总结一句话

P专注于当下,I总结的是过去,D预测未来!

PS:小编之前困惑于PID好久,一直没有比较直观的理解,网上找了一些资料也没有写的特别直白的,多数都是理论性的描述,正好最近小编迷恋于Matlab,顺便也又研究了一下PID,把自己更深刻一点的理解分享给大家,也附带上matlab仿真的结果,更加便于理解,如果有哪里讲的不对的地方还希望高手多多指点,共同进步!感谢!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 前 言 第 1 章 数字 PID 控制………………………………………………………………(1) 1.1PID 控制原理 ……………………………………………………………………(1) 1.2 连续系统的模拟 PID 仿真…………………………………………………………(2) 1.3 数字 PID 控制……………………………………………………………………(3) 1.3.1 位置式 PID 控制算法……………………………………………………………(3) 1.3.2 连续系统的数字 PID 控制仿真…………………………………………………(4) 1.3.3 离散系统的数字 PID 控制仿真…………………………………………………(8) 1.3.4 增量式 PID 控制算法及仿真…………………………………………………(14) 1.3.5 积分分离 PID 控制算法及仿真…………………………………………………(16) 1.3.6 抗积分饱和 PID 控制算法及仿真………………………………………………(20) 1.3.7 T型积分 PID 控制算法………………………………………………………(24) 1.3.8 变速积分 PID 算法及仿真……………………………………………………(24) 1.3.9 带滤波器的 PID 控制仿真……………………………………………………(28) 1.3.10 不完全微分 PID 控制算法及仿真……………………………………………(33) 1.3.11 微分先行 PID 控制算法及仿真………………………………………………(37) 1.3.12 带死区的 PID 控制算法及仿真………………………………………………(42) 1.3.13 基于前馈补偿的 PID 控制算法及仿真………………………………………(45) 1.3.14 步进式 PID 控制算法及仿真…………………………………………………(49) 第 2 章 常用的数字 PID 控制系统………………………………………………(53) 2.1 单回路 PID 控制系统……………………………………………………………(53) 2.2 串级 PID 控制……………………………………………………………………(53) 2.2.1 串级 PID 控制原理……………………………………………………………(53) 2.2.2 仿真程序及分析………………………………………………………………(54) 2.3 纯滞后系统的大林控制算法……………………………………………………(57) 2.3.1 大林控制算法原理……………………………………………………………(57) 2.3.2 仿真程序及分析………………………………………………………………(57) 2.4 纯滞后系统的 Smith 控制算法…………………………………………………(59) 2.4.1 连续 Smith 预估控制…………………………………………………………(59) 2.4.2 仿真程序及分析………………………………………………………………(61) 2.4.3 数字 Smith 预估控制…………………………………………………………(63) 2.4.4 仿真程序及分析………………………………………………………………(64) 第 3 章 专家 PID 控制和模糊 PID 控制…………………………………………(68) 3.1 专家 PID 控制…………………………………………………………………(68) 3.1.1 专家 PID 控制原理……………………………………………………………(68) 3.1.2 仿真程序及分析………………………………………………………………(69) 3.2 模糊自适应整定 PID 控制………………………………………………………(72) 3.2.1 模糊自适应整定 PID 控制原理………………………………………………(72) 3.2.2 仿真程序及分析………………………………………………………………(76) 3.3 模糊免疫 PID 控制算法…………………………………………………………(87) 3.3.1 模糊免疫 PID 控制算法原理…………………………………………………(88) 3.3.2 仿真程序及分析………………………………………………………………(89) 第 4 章 神经 PID 控制……………………………………………………………(94) 4.1 基于单神经元网络的 PID 智能控制………………………………………………(94) 4.2 基于 BP 神经网络整定的 PID 控制………………………………………………(103) 4.3 基于 RBF 神经网络整定的 PID 控制……………………………………………(112) 4.4 基于 RBF 神经网络辨识的单神经元 PID 模型参考自适应控制……………………(120)4.5 基于 CMAC 神经网络与 PID 的并行控制…………………………………………(126) 4.6 基于 SIMULINK 的 CMAC 与 PID 并行控制…………………………………………(133) 第 5 章 基于遗传算法整定的 PID 控制…………………………………………(139) 遗传算法基本原理…………………………………………………………(139) 5.2 遗传算法的优化设计………………………………………………………(140) 5.3 遗传算法求函数极大值………………………………………………………(140) 5.4 基于遗传算法的 PID 整定……………………………………………………(145) 5.5 基于遗传算法摩擦模型参数辨识的 PID 控制……………………………………(157) 第 6 章 PID 解耦控制……………………………………………………………(165) 6.1 PID 多变量解耦控制……………………………………………………………(165) 6.2 单神经元 PID 解耦控制………………………………………………………(168) 6.3 基于 DRNN 神经网络整定的 PID 解耦控制………………………………………(173) ……………(174)6.3.3 仿真程序及分析……………………………………………………………(176)第 7 章 几种先进PID控制方法……………………………………………(185) 7.1 基于干扰观测器的 PID 控制……………………………………………………(185) 7.2 非线性系统的 PID 鲁棒控制……………………………………………………(195) 7.3 一类非线性 PID 控制器设计……………………………………………………(199) 7.4 基于重复控制补偿的高精度 PID 控制…………………………………………(208) 7.5 基于零相差前馈补偿的高精度 PID 控制………………………………………(214) 第 8 章 灰色 PID 控制……………………………………………………………(229) 8.1 灰色控制原理…………………………………………………………………(229) 8.2 灰色 PID 控制…………………………………………………………………(231) 8.3 灰色 PID 的位置跟踪……………………………………………………………(247)- 第 9 章 非线性 PID 控制…………………………………………………………(261) 9.1 伺服系统低速摩擦条件下 PID 控制……………………………………………(261) 9.2 伺服系统的三环 PID 控制……………………………………………………(269) 9.3 二质量伺服系统的 PID 控制……………………………………………………(276) 第 10 章 PID实时控制的语言设计及应用……………………………(283) 10.1 M语言的转化………………………………………………………(283) 10.2 基于的三轴飞行模拟转台伺服系统实时控制…………………(285)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值