基于matlab仿真的pid校正总结
PID控制器是目前在过程控制中应用最为普遍的控制器,它通常可以采用以下几种形式:比例控制器,KD?KI?0;比例微分控制器,KI?0;比例积分控制器,KD?0;标准控制器。
下面通过一个例子来介绍PID控制器的设计过程。
假设某弹簧(阻尼系统)如图1所示,M?1kg,f?10N?s/m,k?20N/m。让
我们来设计不同的P、PD、PI、PID校正装置,构成反馈系统。来比较其优略。
系统需要满足:
(1) 较快的上升时间和过渡过程时间;
(2) 较小的超调; (3) 无静差。
fMF图1 弹簧阻尼系统
y
系统的模型可描述如下:
1
控制系统建模与仿真论文( 2011)
G(s)?X(s)F?s??1Ms?fs?k2
(1)、绘制未加入校正装置的系统开环阶跃响应曲线。
根据系统的开环传递函数,程序如下:
clear; t=0:0.01:2; num=1; den=[1 10 20]; c=step(num,den,t); plot(t,c);
xlabel('Time-Sec'); ylabel('y');
title('Step Response'); grid;
系统的阶跃响应曲线如图2
图2 未加入校正时系统的开环阶跃响应曲线
2
(2)、加入P校正装置
我们知道,增加Kp可以降低静态误差,减少上升时间和过渡时间,因此首先选择P校
正,也就是加入一个比例放大器。此时,系统的闭环传递函数为:
Gc(s)?KpKps?10s?(20?Kp)2
1?此时系统的静态误差为
Kp?20。所以为了减少静差,可以选择系统的比例增益
为Kp?300。这样就可以把静差缩小到0.0625。虽然系统的比例系数越大,静差越小,但是比例系数也不能没有限制地增大,它会受到实际物理条件和放大器实际条件的限制。一般取几十到几百即可。增大比例增益还可以提高系统的快速性。 加入P校正后,程序如下:
clear; t=0:0.01:2; Kp=300; num=[Kp]; den=[1 10 (20+Kp)]; c=step(num,den,t); plot(t,c);
xlabel('Time-Sec'); ylabel('y');
title('Step Response'); gird;
加入P校正后系统的闭环阶跃响应曲线如图3
3
控制系统建模与仿真论文( 2011)
图3 加入P校正后系统的闭环阶跃响应曲线
从图3中可以看出,系统的稳定值在0.94左右,静差约为0.06。基本符合系统的需要。并且,曲线的形状从过阻尼转变为衰减震荡。系统的快速性也得到了改善。系统的上升时间不超过0.2s,调节时间不超过0.7s。
不过转变为衰减震荡后又出现了新的问题。系统的超调量比较大,达到了38%。第一个峰值振荡频率过大,需要寻找新的方法继续校正。
(3)、PD校正装置设计
在P校正后虽然有效地减小了静差、改善了系统的响应速度,但出现了超调过大的现象。有自控原理的知识我们知道,加入微分调节,也就是增大KD可以降低超调量,减小调节时间,对上升时间和静差影响不大。因此,可以选择PD校正,也就是在系统中加入一个比例放大器和一个微分放大器。此时,系统的闭环传函为:
4
Gc(s)?KDs?Kps?(10?KDs)?(20?Kp)2
这里仍然选择Kp?300,KD的选择一般为系统震荡频率的8倍左右。所以经过调试我们选择KD?10。
编辑程序如下: clear;
t=0:0.01:2; Kp=300; Kd=10;
num=[Kd Kp];
den=[1 (10+Kd) (20+Kp)]; c=step(num,den,t); plot(t,c);
xlabel('Time-Sec'); ylabel('y');
title('Step Response'); grid;
加入PD校正后系统的阶跃响应曲线如图4:
图4 加入PD校正后系统的闭环阶跃响应曲线
5