EDA365电子论坛网
标题: 手把手教你设计PID控制器 | 内附MatLab仿真 [打印本页]
作者: HelloEE 时间: 2019-11-25 17:15
标题: 手把手教你设计PID控制器 | 内附MatLab仿真
本帖最后由 HelloEE 于 2019-11-25 17:15 编辑 + P+ z- d+ x) k8 ?0 X
" B2 r4 ]* s* X8 @) p( i1 CPID控制是闭环控制的一种经典算法。反馈信号取自系统的输出端。当输出量偏离所要求给定的值时,反馈信号成比例变化。
在输入端,给定信号与反馈信号相比较,存在一个偏差值。对于该偏差值,经过P、I、D调节,执行单元改变输出信号,迅速、准确地消除系统的偏差,恢复到给定值,振荡和误差都比较小。
在这里我们以:
& W7 b. ~& j. h2 y) Z$ F8 C" Z$ j& m
为控制对象。G(s)为该控制对象的传递函数,在信号与系统中也可以叫系统函数。
然后z变换离散化,经z变换后的离散化对象为:
经典PID控制器为:
比例项=kp(比例系数)*error(k)(当前误差)
微分项=kd(微分系数)*(error(k)-error(k-1))/ts(误差的微分)
积分项=ki(积分系数)*(error(k)+...+error(1))(误差和)
暂时不明白每一项的的用处没关系。接下我们通过实际调试来弄清楚每项的作用。
代码如下:
) t) W& N3 I; h5 c6 J* x
" E9 X/ O* [& _4 v' S' B% Q4 z
比例项
这里将kp逐渐增大,可以看到系统达到稳定状态的速度越来越越快了。但是当kp偏大时系统却产生了震荡。
我们选取系统最佳的响应状态kp=0.5,此时系统响应未出现震荡且响应速度较快。
+ f8 X$ o) c& r3 e0 i
比例控制可以使系统达到稳定,那是不是只用比例控制就可以了呢?
( f2 |6 A0 x% {8 o
比例控制有个缺点,就是会产生静态误差。静态误差的产生是因为系统有滞后、干扰和非线性,比例作用会即时地成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。
但考虑系统偏执,其数学公式是:
u=kp*e+B
u是控制器输出3 m6 H+ v+ X) U1 k; O' w. }2 g
kp是比例系数
8 d5 y( v! }9 v- y, ye是偏差/ l- y5 }& i/ V" ]: ?$ o& ^9 d
B是系统偏置量,系统滞后、干扰和非线性都会影响它。
举个例子,空调设定为20度,室温为10度,差值为10度,假设系统偏置量B为2,Kp设定为2,按照上述公式,PID控制器输出u为22。等到室温为20度,差值为0度时,由于存在系统偏置B,u还在输出2,而实际上我们想让u=0。这样就造成了有静差。
要克服静态误差就必须引入积分作用。
积分项
左图是在微分系数ki=0,余差B=0.1的状态下得到的系统响应。右图则是当ki=1时,余差B=0.1的状态下得到的系统响应,显然在引入积分项后余差的问题解决了。
但是观察右图,你会发现系统响应的出现超调,也称积分饱和。解决积分饱和的办法有很多,比如积分分离法,变速积分法,抗积分饱和机制等。这次我们暂不提,下次再做介绍。
P和I控制一般是结合在一起使用,他们的目的是消除余差;P起到粗调的作用,I起到细调的作用,直到偏差为零;一般的调节都用PI调节。接下来我们看看D项,D调节其实目的是使控制品质改善。
微分项
微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。但是微分作用对噪声干扰有放大作用,因此过强地加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。
左图是在kp=1.5,ki=1,kd=0的情况下跟踪正弦波的系统响应,可看出跟踪状态不理想,有明显滞后和超调。右图则是在kp=1.5,ki=1,kd=0.01的情况下跟踪正弦波的响应,控制系统状态非常良好。
4 i' J J. H0 w6 A x8 t. P
作者: IRESSEMT 时间: 2019-11-26 12:59
谢谢分享。看看
| 欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) |
Powered by Discuz! X3.2 |