例 已知串级控制系统如图7,其主,副控对象与副调节器传递函数分别为 求出GC1(s)=P_PI_PID校正参数,即用稳定边界法计算出GC1(s)控制器P_PI_PID校正参数向该补偿后的控制器输入阶跃信号并求出系统输出响应的仿真,系统框图如图7,转下页。
! F9 e/ |& l( ^; V7 t) ]% q
例程:稳定边界法的PID校正MATLAB程序 *********************************************************************** 稳定边界法的PID校正设计 使用稳定边界法计算主控制器GC1作为P,PI,PID校正时的参数 并进行阶跃响应的仿真测试。 *********************************************************************** g1=tf (1,[30 1]); g2=tf (1,[3 1]); g3=tf (1,[10 1]); g4=tf (10,[1 2 1]); g=g1*g2*g3*g4;p=4; [gc1,kp1]=wj1(1,g,p) [gc2,kp2,ti2]=wj1(2,g,p) [gc3,kp3,ti3,td3]=wj1(3,g,p) gcc1=feedback(g*gc1,1);step(gcc1);hold on gcc2=feedback(g*gc2,1);step(gcc2); gcc3=feedback(g*gc3,1);step(gcc3); gtext('1 p control'),gtext('2 pi control'), gtext('3 pid control') *********************************************************************** 9 c8 A* m+ P' @% E2 c# S
' P7 }* N* z7 F
wj1.m函数 *************************************************************************** wj1.m函数,调用格式[gc,kp,ti,td]=wj1(pid,g,p) PID=1,为P;PID=2,为PI,PID=3,为PID调节参数 输入参量:G为已知被校正的系统开环传递函数,P为系统的开环几点的个数(不计重根数) 输出参量:Gc校正器传递函数KP,Ti,TD分别为校正器的比例系数,积分时间常数,微分时间常数 ***************************************************************************** function[gc,kp,ti,td]=wj1(pid,g,p) rlocus(g); [km,pole]=rlocfind(g); keyboard wm=imag(pole(p)); if pid==1, kp=0.5*km; elseif pid==2, kp=0.445*km; ti=0.85*2*pi/wm; elseif pid==3, kp=0.6*km; ti=0.5*2*pi/wm; td=0.125*2*pi/wm; end switch pid case 1,gc=kp; case 2,gc=tf(); case 3,nn=[kp*ti*td kp*ti kp ]; dd=[ti 0];gc=tf(nn,dd); end
# G/ [ L, X$ a. |% E9 D图8 1 N2 k2 d( `+ b: o
********************************************************************************* 程序就绪后,你需要按照下面几步算出P,PIPID的各系数,按回车后.命令窗口如图8. 第一步:命令窗图8 中跳出一句提示“Select a point in the graphics window”,让你在刚跳出的图形窗口(图9转下页)用鼠标左键选一个点,这个点选择要求是在轨迹图与虚轴相交的地方. 第二步: 点击图行窗口如图9产生了两个虚轴与跟轨迹相交的十字点,并同时在命令窗口已经算出了KM值还可以看到提示符K,如图10。 第三步:在提示符K后输入命令return命令窗口如图10算出P校正器的GC1=KP1=0.4018/ 第四步:继续重复第一步与第三步(两次),分别求出PI校正器和PID校正器的系数。 第五步:最终matlab得出个校正器校正系数如下: P校正器: Gc1=Kp1=0.4018; PI校正器: Gc2= (14.81s+0.4306)/34.39s; Kp2=0.4306; Ti2=34.3862 PID校正器: Gc3= (59.38s^2+11.74s+0.5805)/20.23s; Kp3=0.5805; Ti3=20.2272; Td3=5.0568; 图10命令窗口输出P比例控制器传递函数 Gc1=Kp1=0.4018 图11输出PI控制器GC2传函和PI控制器KP2比例系数和TI2微分系数 图12输出PID控制器GC3传函和PID控制器KP3、Ti3、Td3比例微分和积分系数。 5 s/ _* b! h1 F! ]- ~! l) N
( `! ?9 I! u5 Y7 @
到此稳定边界法的PID校正设计的Matlab实验全部完成。 从图13稳定边界法计算的P,PI,PID校正阶跃给定响应曲线所示,P和PI上升速度差不多,但PID校正器最快,控制性能也最好, PI与PID超调量都较大,PI开始产生振荡,注意在光标选择虚轴与轨迹交点时候,尽量使极点实部接近0,就刚刚我在点PI与PID时候点都不是很靠近零,所以输出不是很理想。
- D: v" ~$ [1 a' A/ C6 临界比例法★★★★ 在闭环控制系统里,将调节器置于纯比例作用下,从小到大逐渐改变调节器的比例系数,得到等幅振荡的过渡过程。此时的比例系数称为临界比例系数Ku,相邻两个波峰间的时间间隔,称为临界振荡周期Tu。
, ]$ l6 C0 u& s( @0 S临界比例度法步骤: 1 将调节器的积分时间Ti置于最大(Ti=∞),微分时间置零(Td=0),比例系数KP适当,平衡操作一段时间,把系统投入自动运行。 2 将比例系数Kp逐渐增大,得到等幅振荡过程,记下临界比例系数Ku和临界振荡周期Tu值。 $ D# l; Y0 O0 Z k
3 根据Ku和Tu值,采用经验公式,计算出调节器各个参数,即Kp、Ti和Td的值。 按“先P再I最后D”的操作程序将调节器整定参数调到计算值上。若还不够满意, 可再作进一步调整。 4 临界比例度法整定注意事项: 有的过程控制系统,临界比例系数很大,使系统接近两式控制,调节阀不是全关就是全开, 对控制很不利。 有的过程控制系统,当调节器比例系数Kp调到最大刻度值时,系统仍不产生等幅振荡,对此,就把最大刻度的比例度作为临界比例度Ku进行调节器参数整定。
+ q, o: [+ g; \- O7试凑法与经验法★★★★★ 其实这两种方法都可以叫经验法,只是有些书似乎分开说,先说说试凑法, 按照先比例(P)、再积分(I)、最后微分(D)的顺序. 置调节器积分时间Ti=∞,微分时间Td=0,在比例系数Kp按经验设置的初值条件下,让系统投入运行,由小到大整定比例系数KP。求得满意的1/4衰减度过渡过程曲线。引入积分作用(此时应将上述比例系数KP设置为5/6KP)。将Ti由大到小进行整定。若需引入微分作用时,则将Td按经验值或按Td=(1/3~1/4)Ti设置,并由小到大加入。 : \" |1 o7 b' N( W0 @
用凑试法确定PID参数需要经过多次反复的实验,为了减少凑试次数,提高工作效率,可以借鉴他人的经验,并根据一定的要求,事先作少量的实验,以得到若干基准参数,然后按照经验公式,用这些基准参数导出PID控制参数,这就是经验法。 + [$ W8 { J: A9 f
临界比例法就是一种经验法。这种方法首先将控制器选为纯比例控制器,并形成闭环,改变比例系数,使系统对阶跃输入的响应达到临界状态,这时记下比例系数Ku、临界振荡周期为Tu,根据Z-N提供的经验公式,就可以由这两个基准参数得到不同类型控制器的参数,如表2-1所示。 这种临界比例法是针对模拟PID控制器,对于数字PID控制器,只要采样周期取的较小,原则上也同样使用。在电动机的控制中,可以先采用临界比例法,然后在采用临界比例法求得结果的基础上,用凑试法进一步完善。 表2的控制参数,实际上是按衰减度为1/4时得到的。通常认为1/4的衰减度能兼顾到稳定性和快速性。如果要求更大的衰减,则必须用凑试法对参数作进一步的调整。 / i. w0 a" d5 [3 o- P+ P' c# q
|