EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 HelloEE 于 2019-11-25 17:15 编辑
+ y2 }4 z7 {+ j! V# \" e5 y# ^( D% r& c7 O8 j3 w' P
PID控制是闭环控制的一种经典算法。反馈信号取自系统的输出端。当输出量偏离所要求给定的值时,反馈信号成比例变化。 在输入端,给定信号与反馈信号相比较,存在一个偏差值。对于该偏差值,经过P、I、D调节,执行单元改变输出信号,迅速、准确地消除系统的偏差,恢复到给定值,振荡和误差都比较小。 在这里我们以:
! D- o* K$ a& n2 P; e: A8 u1 G* S
为控制对象。G(s)为该控制对象的传递函数,在信号与系统中也可以叫系统函数。 然后z变换离散化,经z变换后的离散化对象为: 经典PID控制器为: 比例项=kp(比例系数)*error(k)(当前误差) 微分项=kd(微分系数)*(error(k)-error(k-1))/ts(误差的微分) 积分项=ki(积分系数)*(error(k)+...+error(1))(误差和) 暂时不明白每一项的的用处没关系。接下我们通过实际调试来弄清楚每项的作用。 代码如下: 4 P$ [3 h4 q; m; f: H4 w
" U! q# p2 W* H' u3 Q
比例项 这里将kp逐渐增大,可以看到系统达到稳定状态的速度越来越越快了。但是当kp偏大时系统却产生了震荡。 我们选取系统最佳的响应状态kp=0.5,此时系统响应未出现震荡且响应速度较快。
' L! O- H4 W2 p& J6 D- _
比例控制可以使系统达到稳定,那是不是只用比例控制就可以了呢?
/ H: k" \) o e+ d$ ^* Q
比例控制有个缺点,就是会产生静态误差。静态误差的产生是因为系统有滞后、干扰和非线性,比例作用会即时地成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。 但考虑系统偏执,其数学公式是: u=kp*e+B u是控制器输出
1 `5 U/ O A7 L/ {! R3 \kp是比例系数2 k8 y" Q+ f$ \& x2 M* ]! U
e是偏差
7 }, D2 h# a* RB是系统偏置量,系统滞后、干扰和非线性都会影响它。 举个例子,空调设定为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的情况下跟踪正弦波的响应,控制系统状态非常良好。
+ q4 @# f' I* ~8 o |