实验三、数字PID控制器的设计
--- 直流闭环调速实验
一、实验目的
1.理解晶闸管直流单闭环调速系统的数学模型和工作原理;.
2. 掌握PID控制器参数对控制系统性能的影响;
3. 能够运用MATLAB/Simulink软件对控制系统进行正确建模并对模块进行正确的参数设置;
4. 掌握计算机控制仿真结果的分析方法。
二、实验工具
MATLAB 软件( 2022a);
三、实验要求
1、独立编写数字PID控制器仿真程序,并根据实验曲线,进行仿真结果分析。
2、在进行数字PID控制作用分析时,建议采用如下两种方法:
a.先求出整个闭环系统传递函数,采用Matlab中的c2d函数指令对其进行离散化,分析Kp, Ta, Ta选用不同参数时对系统稳定性和动态特性的影响。
b.分别对PID控制器和被控对象进行离散化。其中:
那么:
模拟PID控制系统
c.讨论PID参数整定和Ts选取的意义。
四、实验内容
已知晶闸管直流单闭环调速系统的转速控制器为PID控制器,如图所示。试运用MATLAB软件对调速系统的P、I、 D控制作用进行分析。
单闭环调速系统
五、实验步骤
(一)模拟PID控制作用分析:
运用MATLAB软件对调速系统的P、I、D控制作用进行分析。
(1)比例控制作用分析
为分析纯比例控制的作用,考察当Tg=0, T=∞, K,=1~ 5时对系统阶跃响应的影响。
MATLAB程序如下:
- clear
- clc
- G1=tf(1,[0.017 1]);
- G2=tf(1,[0.075 0]);
- G12=feedback(G1*G2,1);
- G3=tf(44,[0.00167 1]);
- G4=tf(1,0.1925);
- G=G12*G3*G4;
- Kp=1:1:5;
- for i=1:length(Kp)
- Gc=feedback(Kp(i)*G,0.01178);
- step(Gc),hold on
- end
- axis([0 0.2 0 130]);
- gtext('1Kp=1'),
- gtext('2Kp=2'),
- gtext('3Kp=3'),
- gtext('4Kp=4'),
- gtext('5Kp=5'),
参考图如下:
P控制阶跃响应曲线
分析如下:
图为P控制阶跃响应曲线。比例调节器对偏差是即时反应的,偏差一旦出现,调节器即控制使其输出量朝着减小偏差的方向变化,控制作用的强弱取决于比例系数^p。比例调节器虽然简单快速,但对于系统响应为有限值的控制对象存在稳态误差。加大比例系数可以减小稳态误差,但过大时会使系统的动态质量变坏,引起输出量震荡,甚至导致闭环系统不稳定。
随着Kp的增加,闭环系统的超调量增加,响应速度加快,控制时间加长,稳态误差减少;但不能完全消除静态误差。随着其继续增加,系统的稳定性变差。本例中当Kp大于等于21后,系统变为不稳定。
(2)积分控制作用分析
保持Kp=1不变,考察Ti = 0.03 ~ 0.07时对系统阶跃响应的影响。MATLAB程序如下:
- G1=tf(1,[0.017 1]);
- G2=tf(1,[0.075 0]);
- G12=feedback(G1*G2,1);
- G3=tf(44,[0.00167 1]);
- G4=tf(1,0.1925);
- G=G12*G3*G4;
- Kp=1;
- Ti=0.03:0.01:0.07;
- for i=1:length(Ti)
- Gc=tf(Kp*[Ti(i) 1],[Ti(i) 0]);
- Gcc=feedback(G*Gc,0.01178);
- step(Gcc),hold on
- end
- gtext('1Ti=0.03'),
- gtext('2Ti=0.04'),
- gtext('3Ti=0.05'),
- gtext('4Ti=0.06'),
- gtext('5Ti=0.07'),
参考图如下:
Ti控制阶跃响应曲线
分析如下:
图为PI控制阶跃响应曲线。引入积分环节可以消除在比例积分中的残余稳态误差。但当积分时间常数Ti增大,那么积分作用变弱,反之变强,因此增大Ti将减慢消除稳态误差的过程,但减小超调,提高系统的稳定性。引入积分环节的代价就是降低了系统的快速性。由图可知,随着Ti的增加,系统的超调量减小,响应速度减慢;Ti太小,系统将会变得不稳定; Ti能完全消除系统的静态误差,提高系统的控制精度。
(3)微分控制作用分析
为分析微分控制的作用,保持K。=0.01,T =0.01不变,考察当T =12 ~ 84时对系统阶跃响应
的影响。MATLAB 程序如下: .
- G1=tf(1,[0.017 1]);
- G2=tf(1,[0.075 0]);
- G12=feedback(G1*G2,1);
- G3=tf(44,[0.00167 1]);
- G4=tf(1,0.1925);
- G=G12*G3*G4;
- Kp=0.01;
- Ti=0.01;
- Td=12:36:84;
- for i=1 :length(Td)
- Gc=tf(Kp*[Ti*Td(i) Ti 1],[Ti 0]);
- Gcc=feedback(G* Gc,0.01178);
- step(Gcc),hold on
- pause(1)
- end
- gtext('1Td=12'),
- gtext('2Td=48'),
- gtext('3Td=84'),
参考图如下:
Td控制阶跃响应曲线
分析如下:
图为PD控制阶跃响应曲线。微分调节的原理是在偏差出现或出现的瞬间,按偏差变化的趋向进行控制,使偏差消失在萌芽阶段,从而达到加快控制作用的效果,引入微分环节会降低最大超调量,减少.上升时间和调节时间,使系统趋于稳定。由图可知,由于微分环节的作用,在曲线的起始上升段出现了一个尖锐的波峰,之后曲线也呈衰减的振荡:随着Td增加,系统的超调量增大,但曲线尖锐的起始上升阶段后响应速度减慢,可以看出Td越小。调节作用越好。
(二)数字PID控制作用分析:
仿照上述过程,独立完成PID离散化仿真程序编写及结果分析。
(1)比例控制作用下,取采样时间0.001 秒。
代码如下:
- clear
- clc
- G1=tf(1,[0.017 1]);
- G2=tf(1,[0.075 0]);
- G12=feedback(G1*G2,1);
- G3=tf(44,[0.00167 1]);
- G4=tf(1,0.1925);
- G=G12*G3*G4;
- Kp=1:1:5;
- ts=0.001;
- for i=1:length(Kp)
- Gc=feedback(Kp(i)*G,0.01178);
- Gcc=c2d(Gc,ts, 'zoh');
- step(Gcc),hold on
- end
- axis([0 0.2 0 130]);
- gtext('1Kp=1'),
- gtext('2Kp=2'),
- gtext('3Kp=3'),
- gtext('4Kp=4'),
- gtext('5Kp=5'),
仿真结果参考图:
分析如下:
Kp增加,系统响应速度 加快:如果Kp偏大, 系统输出震荡次数增多,调节时间加长:Kp过大将导致系统的不稳定 。
- 比例积分控制作用下,取采样时间0.001秒。
代码如下:
- G1=tf(1,[0.017 1]);
- G2=tf(1,[0.075 0]);
- G12=feedback(G1*G2,1);
- G3=tf(44,[0.00167 1]);
- G4=tf(1,0.1925);
- G=G12*G3*G4;
- Kp=1;
- Ti=0.03:0.01:0.07;
- ts=0.001;
- for i=1:length(Ti)
- Gc=tf(Kp*[Ti(i) 1],[Ti(i) 0]);
- Gcc=feedback(G*Gc,0.01178);
- Gccd=c2d(Gcc,ts, 'zoh');
- step(Gccd),hold on
- pause(1)
- end
- gtext('1Ti=0.03'),
- gtext('2Ti=0.04'),
- gtext('3Ti=0.05'),
- gtext('4Ti=0.06'),
- gtext('5Ti=0.07'),
仿真结果参考图:
分析如下:
积分控制能消除系统静差,但若Ti太大,积分作用太弱,以致不能消除静差;若太小,系统将不稳定。
(3)比例积分微分控制作用下,取采样时间0.05秒。.
代码如下:
- G1=tf(1,[0.017 1]);
- G2=tf(1,[0.075 0]);
- G12=feedback(G1*G2,1);
- G3=tf(44,[0.00167 1]);
- G4=tf(1,0.1925);
- G=G12*G3*G4;
- Kp=0.01;
- Ti=0.01;
- Td=12:36:84;
- ts=0.05;
- for i=1 :length(Td)
- Gc=tf(Kp*[Ti*Td(i) Ti 1],[Ti 0]);
- Gcc=feedback(G* Gc,0.01178);
- Gccd=c2d(Gcc,ts, 'zoh');
- step(Gccd),hold on
- pause(1)
- end
- gtext('1Td=12'),
- gtext('2Td=48'),
- gtext('3Td=84'),
仿真结果参考图:
实验分析:
选择合适的Td将使系统的超调量减小,增加系统的稳定性,调节时间缩短,允许加大比例控制:但若过大或过小都不会达到效果。
六、实验总结
1、模拟PID控制:
在模拟PID控制器中,比例环节的作用是对偏差瞬间作出反应。偏差一旦产生,控制器立即产生控制作用,使控制量向减小偏差的方向变化。控制作用的强弱取决于比例系数Kp。Kp越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小。但是Kp越大,也越容易产生振荡,破坏系统的稳定性。积分环节虽然会消除静态误差,但是也会降低系统的响应速度,增加系统的超调量。积分时间常数越大,积分的积累越弱。这时,系统在过渡时不会产生振荡。但是,增大积分时间常数会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系统的稳定性。当积分时间常数较小时,则积分的作用较强。这时系统过渡时间中有可能产生振荡,不过消除偏差所需的时间较短。所以必须根据实际控制的具体要求来确定积分时间常数。微分环节的作用是阻止偏差的变化。它根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的引入,有助于减小超调量、克服振荡,使系统趋于稳定。特别对高阶系统有利,它加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感。对那些噪声较大的系统一-般不用微分,或在微分起作用之前先对输入信号进行滤波。微分部分的作用由微分时间常数决定。微分时间常数越大时,则它抑制偏差变化的作用越强;微分时间常数越小时,则它反抗偏差变化的作用越弱。微分部分显然对系统稳定有很大的作用。适当地选择微分时间常数,可以使微分作用达到最优。
2、数字PID控制:
因为在微机处理器里面是通过软件来实现PID控制算法的,所以必须将模拟PID控制器进行离散化处理,这样控制器只需根据采样时刻的偏差值计算控制量。控制器成比例的反映控制系统的误差信号,偏差一旦产生,控制器立即产生控制作用,以减小偏差。比例控制器在信号变换时,只改变信号的幅值而不改变信号的相位,采用比例控制可以提高系统的开环增益,是系统的主要控制部分。积分控制主要用于消除静差,提高系统的无差度,但是会使系统的震荡加剧,超调增大,损害动态性能,一般不单独作用,而是与PD控制相结合。积分作用的强弱取决于积分时间常数Ti,时间常数越大,积分作用就越弱,反之则越强。
4、采样周期:
对于Ts,采样周期Ts越小,数字模拟越精确,控制效果越接近连续控制。对大多数算法,缩短采样周期可使控制回路性能改善,但采样周期缩短时,频繁的采样必然会占用较多的计算工作时间,同时也会增加计算机的计算负担,而对有些变化缓慢的受控对象无需很高的采样频率即可满意地进行跟踪,过多的采样反而没有多少实际意义。
其中选择采样周期应综合考虑的因素:
第一,给定值的变化频率。加到被控对象上的给定值变化频率越高,采样频率应越高,以使给定值的改变通过采样迅速得到反映,而不致在随动控制中产生大的时延。
第二,被控对象的特性。考虑对象变化的缓急,若对象是慢速的热工或化工对象时,T一般取得较大。在对象变化较快的场合,T应取得较小。考虑干扰的情况,从系统抗干扰的性能要求来看,要求采样周期短,使扰动能迅速得到校正。
第三,使用的算式和执行机构的类型。采样周期太小,会使积分作用、微分作用不明显。同时,因受微机计算精度的影响,当采样周期小到一定程度时,前后两次采样的差别反映不出来,使调节作用因此而减弱。执行机构的动作惯性大,采样周期的选择要与之适应,否则执行机构来不及反应数字控制器输出值的变化。
第四,控制的回路数。要求控制的回路较多时,相应的采样周期越长,以使每个回路的调节算法都有足够的时间来完成。
- 总结:
本次实验是对PID算法以及MATLAB应用的初步掌握,经过本次实验,我对PID算法有了进一步的认识。期间遇到过许多上述提到过的类似问题,虽然这些问题看似简单,但如若不亲自经历并寻求方法解决,下次遇到可能仍然不会解决。此外,通过此次课程设计,我也明白了自学能力的重要性,在今后的学习中,我们仍会遇到各种难题,这些都需要我们通过自学逐渐解决。最后,课程设计的结果固然重要,但是我认为这个过程才是更重要的,过程中培养的能力、掌握的经验会让我们受益终身。