EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 HelloEE 于 2019-11-25 17:15 编辑
. I+ D$ f' t+ _4 L6 A* y0 v1 x
( L' X7 g- I0 B# R5 [$ |PID控制是闭环控制的一种经典算法。反馈信号取自系统的输出端。当输出量偏离所要求给定的值时,反馈信号成比例变化。 在输入端,给定信号与反馈信号相比较,存在一个偏差值。对于该偏差值,经过P、I、D调节,执行单元改变输出信号,迅速、准确地消除系统的偏差,恢复到给定值,振荡和误差都比较小。 在这里我们以:
7 G1 ^# g9 n/ G [
为控制对象。G(s)为该控制对象的传递函数,在信号与系统中也可以叫系统函数。 然后z变换离散化,经z变换后的离散化对象为: 经典PID控制器为: 比例项=kp(比例系数)*error(k)(当前误差) 微分项=kd(微分系数)*(error(k)-error(k-1))/ts(误差的微分) 积分项=ki(积分系数)*(error(k)+...+error(1))(误差和) 暂时不明白每一项的的用处没关系。接下我们通过实际调试来弄清楚每项的作用。 代码如下:
0 c% s t" H( Q- e! D0 d
O: u# o; _3 `& n4 k; |
比例项 这里将kp逐渐增大,可以看到系统达到稳定状态的速度越来越越快了。但是当kp偏大时系统却产生了震荡。 我们选取系统最佳的响应状态kp=0.5,此时系统响应未出现震荡且响应速度较快。 + p$ s6 P' k1 t5 c2 b( C9 ~
比例控制可以使系统达到稳定,那是不是只用比例控制就可以了呢?
3 J! C3 A' ], D8 U {/ d
比例控制有个缺点,就是会产生静态误差。静态误差的产生是因为系统有滞后、干扰和非线性,比例作用会即时地成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。 但考虑系统偏执,其数学公式是: u=kp*e+B u是控制器输出
( b; Z2 J! y2 G7 G7 ~kp是比例系数& \9 i- i5 ]. v7 Z
e是偏差
4 a" `( p9 k4 N- |- X! fB是系统偏置量,系统滞后、干扰和非线性都会影响它。 举个例子,空调设定为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的情况下跟踪正弦波的响应,控制系统状态非常良好。 $ n7 Q A: {- n3 `6 ~
|