您的当前位置:首页正文

中北大学 计算机控制技术实验报告

2023-06-20 来源:客趣旅游网


计算机控制实验报告

专 业: 测控技术与仪器 班 级: 学 号: 姓 名: 例1. 已知某单位反馈系统开环传递函数如下:

.GK(s)1 如果采用比例控制器进行调节,试绘制比例系数KP分别为1、4、

(s1)(2s1)10、50时的单位阶跃响应曲线,并分析比例控制器对控制系统性能的影响。 解:求解命令如下: num=1;

den=conv([1 1],[2 1]); GK=tf(num,den); Kp=1;

sys=feedback(Kp*GK,1,-1); step(sys,'b:'); hold on

gtext('Kp=1') pause Kp=4;

sys=feedback(Kp*GK,1,-1); step(sys,'k-'); hold on

gtext('Kp=4') pause Kp=10;

sys=feedback(Kp*GK,1,-1); step(sys,'g--'); hold on

gtext('Kp=10') pause Kp=50;

sys=feedback(Kp*GK,1,-1); step(sys,'r-'); gtext('Kp=50')

title('比例控制性能分析') xlabel('时间(秒)') ylabel('幅值')

执行上述命令后,可得到不同比例系数下闭环系统单位阶跃响应曲线,如图所

比例控制对控制系统性能分析图

结论:从图中可以看出,随着比例系数的增加,闭环系统稳态误差减小,上升时间缩短,调节次数增大,最大超调量增大,而且闭环系统稳态误差无法消除。

例2. 已知某单位反馈系统开环传递函数如下:

GK(s)1如果采用积分(PI)控制器进行调节,试绘制比例系数KP1积分系

(s1)(s2)数KI为0.2、0.8、2.0、5时的单位阶跃响应曲线,并分析积分控制器对控制系统性能的影响。

解:求解命令如下: num=1;

den=conv([1 1],[1 2]); GK=tf(num,den); Kp=1;

for Ki=0.2:1:2.2

Gc=tf([Kp,Ki],[1 0])

sys=feedback(Gc*GK,1,-1); step(sys); hold on end

Gc=tf([Kp,5],[1 0])

sys=feedback(Gc*GK,1,-1); step(sys);

title('积分控制性能分析') xlabel('时间(秒)') ylabel('幅值')

axis([0 60 0 1.6])

gtext('Ki=0.2'),gtext('Ki=1.2'),gtext('Ki=2.2'),gtext('Ki=5')

积分控制对控制系统性能分析图

结论:执行上述命令后,可得不同积分系数下闭环系统单位阶跃响应曲线。由图知,随积分系数增大,闭环系统响应速度加快,调节次数增加,最大超调量增大,稳定性变差。同时由于积分环节存在,闭环系统稳态误差为零。 例3. 已知某单位反馈系统开环传递函数如下:

GK(s)1 如果采用比例微分(PD)控制器进行调节,试绘制比例系数KP=1,

(s1)(2s1)微分系数分别为0.2、1.7、3.2、10时的单位阶跃响应曲线,并分析微分控制器对控制系统性能的影响。

解:求解命令如下: num=1;

den=conv([1 1 ],[1 2]); GK=tf(num,den); Kp=1;

for Kd=0.2:1.5:3.2

Gc=tf([Kd*Kp,Kp],1);

sys=feedback(Gc*GK,1,-1); step(sys); hold on end

axis([0 20 0 1])

gtext('Kd=0.2'),gtext('Kd=1.7'),gtext('Kd=3.2'), pause Kd=10;

Gc=tf([Kd*Kp,Kp],1);

sys=feedback(Gc*GK,1,-1); step(sys);

title('微分控制性能分析') xlabel('时间(秒)')

ylabel('幅值') grid

gtext('Kd=10')

执行上述命令后,可得到不同微分系数下闭环系统单位阶跃响应曲线,如下图所示:

微分控制对控制系统性能分析图

结论:执行上述命令后,可得不同微分系数下闭环系统单位阶跃响应曲线。由图知,随微分系数增大,闭环系统上升时间减小,最大超调量减小,调节时间减小,同时比例微分控制无法消除稳态误差。

例4. 根据某系统单位阶跃响应曲线图所示,且已知t=1.5,T=5.5,K=0.5。根据Ziegler-Nichols经验整定公式设计PID控制器。

解:经过计算可得PID控制器结构Kp=8.8,Ti=3s,Td=0.75s。 求解命令如下: Kp=8.8; Ti=3

Td=0.75; s=tf('s');

Gc=Kp*(1+s/Ti+Td*s); [num1,den1]=pade(1,4); G1=tf(num1,den1); num2=0.5;

den2=conv([3 1 ],[1 1]); G2=tf(num2,den2); Gk=Gc*G2*G1

sys=feedback(Gk,1); step(sys);

title('单位阶跃响应') xlabel('时间') ylabel('幅值') grid

执行命令后,可得到系统单位阶跃响应曲线,如下如所示:

Ziegler-Nichols整定的单位阶跃响应曲线

例5. 已知被控对象的数学模型如下:

G(s)25 试用Ziegler-Nichols时域整定方法分别设计一个P控制器、一个PI控2s7s25制器和一个PID控制器,并绘制在3种控制器作用下系统的单位阶跃响应曲线。 解:求解命令如下: num=25;

den=[1 7 25]; Gk=tf(num,den); step(Gk)

title('开环阶跃响应曲线') xlabel('时间(秒)') ylabel('响应') grid

执行命令后,得如下结果:

校正器开环阶跃响应曲线

由Ziegler-Nichols经验整定公式,可得PID控制器的参数。并将PID控制器加在真实对象数学模型上,可得其阶跃响应曲线,具体的编程如下:

K=1; T=0.45; tao=0.05; num=25;

den=[1 7 25]; G=tf(num,den); s=tf('s');

PKp=T/(K*tao); GK1=PKp*G;

sys1=feedback(GK1,1,-1); figure(2)

step(sys1,'k:') gtext('P') pause hold on

PIKp=0.9*T/(K*tao); PITi=3*tao;

Gc2=PIKp*(1+1/(PITi*s)); GK2=Gc2*G;

sys2=feedback(GK2,1,-1); step(sys2,'b--'); axis([0 2 0 2]) gtext('PI') pause

PIDKp=1.2*T/(K*tao); PIDTi=2*tao; PIDTd=0.5*tao;

Gc3=PIKp*(1+1/(PITi*s)+PIDTd*s); GK3=Gc3*G;

sys3=feedback(GK3,1,-1); step(sys3,'r--')

title('P、PI、PID控制单位阶跃响应') xlabel('时间') ylabel('幅值') grid

gtext('PID')

执行上述命令后,可得到在P、PI和PID控制器作用下系统的阶跃响应曲线,如下图所示:

原始对象P、PI、PID控制下系统单位阶跃响应曲线

如果将上述被控对象改为由S曲线近似的带纯延迟的一阶惯性环节,其单位阶跃响应曲线如下图所示,求近似对象模型的P、PI和PID控制单位阶跃响应曲线的命令如下: K=1; T=0.45; tao=0.05; num0=1;

den0=[0.45 1]; tao=0.05;

[num1,den1]=pade(tao,4) num=conv(num0,num1); den=conv(den0,den1); G=tf(num,den); s=tf('s');

%p控制器设计 PKp=T/(K*tao); GK1=PKp*G;

sys1=feedback(GK1,1,-1); figure(2) step(sys1,'k:') gtext('P') pause hold on

%PI控制器设计 PIKp=0.9*T/(K*tao); PITi=3*tao;

Gc2=PIKp*(1+1/(PITi*s)); GK2=Gc2*G;

sys2=feedback(GK2,1,-1); step(sys2,'b--'); axis([0 2 0 2])

gtext('PI') pause

%PID控制器设计 PIDKp=1.2*T/(K*tao); PIDTi=2*tao; PIDTd=0.5*tao;

Gc3=PIKp*(1+1/(PITi*s)+PIDTd*s); GK3=Gc3*G;

sys3=feedback(GK3,1,-1); step(sys3,'r--')

title('P、PI、PID控制单位阶跃响应') xlabel('时间') ylabel('幅值') grid

gtext('PID')

执行上述命令后,可得到如下图所示曲线:

近似对象模型的P、PI和PID控制单位阶跃响应曲线

例6. 已知被控对象的数学模型如下:

G(s)1e5s试根据Ziegler-Nichols经验整定公式分别设计P、PI和PID控制器,

15s1并观察其单位阶跃响应曲线。 解:求解命令如下: K=1; T=15; tao=5; num0=1;

den0=[15 1];

[num1,den1]=pade(tao,3) num=conv(num0,num1); den=conv(den0,den1); G=tf(num,den);

s=tf('s');

PKp=T/(K*tao); GK1=PKp*G;

sys1=feedback(GK1,1,-1); step(sys1,'k:') gtext('P') pause hold on

PIKp=0.9*T/(K*tao); PITi=3*tao;

Gc2=PIKp*(1+1/(PITi*s)); GK2=Gc2*G;

sys2=feedback(GK2,1,-1); step(sys2,'b--'); gtext('PI') pause

PIDKp=1.2*T/(K*tao); PIDTi=2*tao; PIDTd=0.5*tao;

Gc3=PIKp*(1+1/(PITi*s)+PIDTd*s); GK3=Gc3*G;

sys3=feedback(GK3,1,-1); step(sys3,'r-')

title('P、PI、PID控制单位阶跃响应') xlabel('时间') ylabel('幅值') grid

gtext('PID')

执行上述命令后得在P、PI和PID控制器作用下系统的阶跃响应曲线,如下图所示:

带纯延迟的一阶惯性环节P、PI和PID控制下的阶跃响应

实验结论:如果有S曲线近似的数学模型与被控对象真实数学模型越接近,由Ziegler-Nichols经验整定公式设计的PID控制器控制效果越好。当二者差异过大,控制性能也较差。

例7. 已知某被控对象传递函数如下:

G(s)10试利用iegler-Nichols经验整定公式分别设计P、PI和PID

s(0.1s1)(0.25s1)控制器,并求其单位阶跃响应曲线。

解:设计上述P、PI和PID控制器的命令如下: num=10;

den=conv([1 0],conv([0.01 1],[0.025 1])); G=tf(num,den); s=tf('s');

[Gm,Pm,Wcp]=margin(G); Tc=2*pi/Wcp;

%P控制器设计 PKp=0.5*Gm;

sys1=feedback(PKp*G,1,-1); step(sys1,'k-') hold on

gtext('P'),pause

%PI控制器设计 PIKp=0.4*Gm; PITi=0.8*Tc;

PIGc=PIKp*(1+1/(PITi*s)); sys2=feedback(PIGc*G,1,-1); step(sys2,'b:'),hold on gtext('PI'),pause

%PID控制器设计 PIDKp=0.6*Gm; PIDTi=0.5*Tc; PIDTd=0.12*Tc;

PIDGc=PIDKp*(1+1/(PIDTi*s)+PIDTd*s); sys3=feedback(PIDGc*G,1,-1); step(sys3,'g--'),hold on gtext('PID')

title('P、PI、PID控制单位阶跃响应') xlabel('时间') ylabel('幅值')

执行上述命令后。可得到在P、PI和PID控制器作用下系统的阶跃响应曲线,如下图所示:

频域整定的PID作用下系统单位阶跃响应

例8. 已知控制系统框图如下图所示:

r(t) y(t)

惯于控制系统框图 图中,被控对象G(s)10e150s,GC(s)为控制器,试建立控制系统Simulink仿真模

300s1型,并利用Ziegler-Nichols法整定PID控制器参数。

解:根据要求建立控制系统的Simulink仿真模型,如下图所示。根据PID参数的Ziegler-Nichols经验整定公式可计算出PID控制器的初始参数值为Kp=0.24,Ti=350,Td=75。Simulink求解器仿真终止时间设置为2000s,其他参数取默认值。运行仿真,可得初步整定参数下系统单位阶跃响应,如下图所示:

例8的Simulink的仿真模型

从下面的初步仿真结果图中可以看出,系统超调量为稳态值的30%,振荡次数为3次,峰值时间为350s,基本符合要求。如果工作机构对系统超调量有严格要求,欲控制在10%以内,则可以根据PID参数对控制系统性能的影响,在Simulink仿真模型里修改Kp、Ti

和Td的数值。经过反复调试,最后整定PID控制器参数为Kp=0.17,Ti=357,Td=50。运行仿真得到再次整定PID参数后的仿真结果,如下图所示。系统指定中,超调量8%,峰值时间420s。可以看出,修改PID参数后降低了系统的超调量,但也牺牲了系统的动态性能,满足工作机构对超调量的要求。

例8的初步仿真结果

例8的再次整定PID参数后的仿真结果

例9. 已知单位负反馈控制系统开环传递函数如下:

G(s)1 控制器为PID控制器,试采用临界比例带法整定PID参数,并求系

s(s2)(s4)统单位阶跃响应。

解:根据临界比例带法,第1步:建立如下图所示的Simulink模型,并将PID的积分、微分环节断开,置比例系数Kp=1。

第2步:以10倍速度逐渐增大Kp,当Kp=100时,系统输出发散。再以1/2调节量进行收敛。最后得到等幅振荡的Kp=48。此时,临界比例带k=0.0208,临界振荡周期Tk=2.2s。 第3步:根据k和Tk的数值,经验公式,计算出调节器的参数=0.035、Ti=1.1s和Td=0.275。

例9的所示Simulink仿真模型

然后依次将比例、积分、微分环节投入运行,可得如下图所示的仿真结果。从此图中可以看出,利用临界比例带法初次整定的控制效果并不十分理想,特别是采用比例积分控制。下面再对PID参数进行修正,修正后Kp=28.5,Ti=2.5,Td=0.5,PID控制仿真结果如下图所示,对比两图可以看出,系统超调量由73%减少到20%,峰值时间由1.8s增加到2s。

例9 比例、积分、微分依次投入后输出

PID修正后Simulink仿真模型

例9 修正后PID控制输出

例10. 对例9采用衰减曲线法进行PID参数整定。 解:求解过程如下:

(1)建立系统Simulink仿真模型。如下图所示,将Ti置为无穷大,将Td置零,Kp设置为30。运行系统,得到如8-9(a)所示仿真结果。

(2)根据8-9所示结果,反复调节Kp,当Kp=20时系统出现4:1振荡,如图8-9(b)所示。此时,比例带=0.05,振荡周期Ts=3.35s。

Simulink仿真模型

图8-9(a)Kp=30时的衰减曲线

图8-9(b)Kp=20时的衰减曲线

(3)计算PID参数,得=0.04(Kp=25),Ti=1.0s,Td=0.34s。修改后PID参数,再次仿真,可得如图8-10所示的仿真结果。

观察图8-10所示的仿真结果,如果不够理想,可根据PID控制原理,微调控制器的各个参数。

图8-10 按4:1衰减曲线法整定的系统单位阶跃响应

因篇幅问题不能全部显示,请点此查看更多更全内容