实验二最少拍控制系统设计2015

  • 格式:doc
  • 大小:31.50 KB
  • 文档页数:12

实验二最少拍控制系统设计2015 实验二基于MATLAB的最少拍控制系统设计一、实验目的:1(掌握最少拍有纹波、无纹波系统的设计方法;2(学会对最少拍控制字体的分析方法;3(了解输入信号对最少拍控制系统的影响及改进措施二、实验内容:设单位反馈线性定常系统的连续部分和零阶保持器的传递函数分别为:,sTe21,, GsG(s),(),0hss(s,1),采样周期T=1秒。

要求系统在单位阶跃输入时实现最少拍控制,求数字控制器的脉冲传递函数。

讨D(z)论加上控制器后的系统输出在采样点之间是否存在纹波,若存在纹波,请设计最少拍无纹波控制器。

系统结构如图: Ys()R(s)D(z)Gs()G(s)h0T-例:Ys()R(s)D(z)Gs()G(s)h0T-设单位反馈线性定常系统的连续部分和零阶保持器的传递函数分别为:,sTe11,Gs, G(s),(),0hss(s,1),采样周期T=1秒。

要求系统在单位斜坡输入时实现最少拍控制,求数字控制器的脉冲传递函数。

讨D(z)论加上控制器后的系统输出在采样点之间是否存在纹波,若存在纹波,请设计最少拍无纹波控制器。

1、设计最少拍控制器: 步骤:(1)确定有零阶保持器的广义对象G(z)clear all;Close all;clc;G=zpk([],[0,-1],1); %零极点形式的被控对象T=1; %采样周期Gd=c2d(G,T,'zoh'); %广义被控对象脉冲传函广义被控对象的脉冲传递函数为:0.36788 (z+0.7183)------------------(z-1) (z-0.3679)可知,广义被控对象没有单位圆外的零极点,也没有纯滞后。

即i=j=l=0。

(2)输入为单位斜坡时,m=2,s=j+m=2,t=l+i=0 最少拍系统应具有的误差脉冲传递函数、闭环脉冲传递函数分别为:,1,2 ,(z),mz,mz12,12 1()(1),,,,zz求待定系数,得:2z,112,,,(z),2z,z,2 z2z,2z,1,1,2 1,,(z),1,2z,z,2z(3)确定数字控制器 D(z),()z Dz(),Gzz()1()][,,(4)闭环系统输出: YzRzzUzGz()()()()(),,,,,数字控制器的输出: U(z),E(z),D(z)程序:clear all;clc;G=zpk([],[0,-1],1); %零极点形式的被控对象 t=0:0.01:10;u=t; %单位斜坡输入figure(1);lsim(G,u,t); %求未加控制器时系统的单位斜坡响应 title('未加控制器时开环系统的单位斜坡响应,灰线:系统输入;蓝线:系统输出');T=1; %采样周期Gd=c2d(G,T,'zoh'); %广义被控对象脉冲传函phie=tf([1 -2 1],[1 0 0],T); %误差脉冲传函 phi=tf([0 2 -1],[1 0 0],T); %闭环脉冲传函 D=phi/(Gd*phie); %数字控制器脉冲传函D(z)Phie,phi,Gd,D[num1,den1]=tfdata(Gd,'v');[num2,den2]=tfdata(D,'v');ud_1=0;ud_2=0;ud_3=0;ud_4=0;ud_5=0;yd_1=0;yd_2=0;ed_1=0;ed_2=0;ed_3=0;ed_4=0;ed_5=0;for k=1:1:35time(k)=k*T;rin(k)=k*T; %单位斜坡信号%加数字控制器的差分方程yd(k)=num1(2)*ud_1+num1(3)*ud_2-den1(2)*yd_1-den1(3)*yd_2;ed(k)=rin(k)-yd(k); %求偏差%数字控制器的差分方程ud(k)=(num2(1)*ed(k)+num2(2)*ed_1+num2(3)*ed_2+num2(4)*ed_3+num2(5)* ed_4+num2(6)*ed_5-den2(2)*ud_1-den2(3)*ud_2-den2(4)*ud_3-den2(5)*ud_4-den2(6)*ud_5)/den2(1);%数据更新ud_5=ud_4;ud_4=ud_3;ud_3=ud_2;ud_2=ud_1;ud_1=ud(k);ed_5=ed_4;ed_4=ed_3;ed_3=ed_2;ed_2=ed_1;ed_1=ed(k);yd_2=yd_1;yd_1=yd(k);endyd,udfigure(2);plot(time,rin,'r',time,yd,'b',time,ud,'k');xlabel('time');ylabel('rin,yd,ud');title('加数字控制器后单位速度信号的闭环响应及数字控制器的输出'); text(3,23,'红线:系统输入;蓝线:系统输出;黑线:控制器输出');未加控制器时开环系统的单位斜坡响应,灰线:系统输入;蓝线:系统输出908070605040AmplitudeSystem: GTime (seconds): 5.95Amplitude: 25.53020100012345678910Time (seconds)由图可知,未加控制器的开环系统是不稳定的。

输入按照单位斜坡变化,而输出与输入的差异越来越大。

不能稳定。

为实现最少拍控制,需加控制器。

加数字控制器后的单位斜坡信号的闭环响应及数字控制器的输出25红线:系统输入;蓝线:系统输出;黑线:控制器输出201510rin,yd,ud5X: 2Y: 2-50510152025time系统输出序列:yd =Columns 1 through 90 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000Columns 10 through 1810.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000Columns 19 through 2719.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000Columns 28 through 3528.0000 29.0000 30.0000 31.0000 32.0000 33.0000 34.0000 35.0000 控制器输出序列:ud =Columns 1 through 95.4366 -3.1867 4.0072 -1.1600 2.5515 -0.1144 1.8005 0.4250 1.4130Columns 10 through 180.7034 1.2131 0.8470 1.1099 0.9210 1.0567 0.9593 1.0293 0.9790Columns 19 through 271.0151 0.9892 1.0078 0.9944 1.0040 0.9971 1.0021 0.9985 1.0011Columns 28 through 350.9992 1.0006 0.9996 1.0003 0.9998 1.0001 0.9999 1.0001可知,加数字控制器后,系统输出与系统输入在2s以后相等,说明系统是稳定的且稳态无静差。

调节时间为2s,但观察其数字控制器输出曲线及输出序列发现,其控制器输出在28拍(28s)后才变为恒定值,说明输出在第3拍至第28拍间,仅能保证在采样点上与输入相同,在采样点间不相同,即输出有纹波。

此时闭环脉冲传函为:2 z - 1-------z^2误差脉冲传函为:z^2 - 2 z + 1-------------z^2数字控制器为:5.4366 z^2 (z-0.5) (z-0.3679) (z-1) -----------------------------------z^2 (z+0.7183) (z-1)^22、最少拍无纹波控制器:步骤:(1)确定有零阶保持器的广义对象,广义被控对象脉冲传函: G(z)0.36788 (z+0.7183)------------------(z-1) (z-0.3679)广义被控对象没有单位圆外的零极点,也没有纯滞后。

即i=j=l=0。

(2)由G(z)有一个单位圆内的零点-0.7183,要实现无纹波,则最少拍系统的闭环脉冲传递函数要求将单位圆内圆外的所有零点都包含进来。

此时零点个数i=1。

(3)输入为单位斜坡时,m=2,s=j+m=2,t=l+i=0+1=1。

应具有的误差脉冲传递函数、闭环脉冲传递函数分别为:(z,0.7183)(az,b)112112,,,,,,,(z),(1,0.7183z)(mz,mz),(1,0.7183z)(az,bz),123 z2(z,2z,1)(z,f)121121,,,,,1,,(z),(1,z)(1,fz),(1,2z,z)(1,fz),3 z 因,有 1,,(z),,(z),12(z,0.7183)(az,b)(z,2z,1)(z,f),,133 zzf=(1+0.718*2)/(2.718+1/0.718); 得方程组:a=2-f;b=-f/0.718;(3)确定数字控制器D(z),()z Dz(),Gzz()1()][,,(4)闭环系统输出:YzRzzUzGz()()()()(),,,,,数字控制器的输出:U(z),E(z),D(z)程序:clear all;close all;clc;G=zpk([],[0,-1],1); %%零极点形式的被控对象 t=0:0.01:10;u=t; %单位斜坡输入figure(1);lsim(G,u,t); %求未加控制器时系统的单位斜坡响应 title('未加控制器时开环系统的单位斜坡响应,灰线:系统输入;蓝线:系统输出');T=1; %采样周期Gd=c2d(G,T,'zoh'); %广义被控对象脉冲传函%求误差脉冲传函及闭环脉冲传函z=tf([1 0],[1],1);%定义z为算子f=(1+0.718*2)/(2.718+1/0.718);a=2-f;b=-f/0.718;phie=(z^2-2*z+1)*(z+f)/z^3; %误差脉冲传函 phi=(a*z+b)*(z+0.718)/z^3; %闭环脉冲传函 D=phi/(Gd*phie); %数字控制器脉冲传函D(z) Gd,D,phie,phi [num1,den1]=tfdata(Gd,'v');%求脉冲传函的分子分母多项式[num2,den2]=tfdata(D,'v');ud_1=0;ud_2=0;ud_3=0;ud_4=0;ud_5=0;ud_6=0;ud_7=0;yd_1=0;yd_2=0;ed_1=0;ed_2=0;ed_3=0;ed_4=0;ed_5=0;ed_6=0;ed_7=0;for k=1:1:25time(k)=k*T;rin(k)=k*T; %单位斜坡信号%加数字控制器的差分方程yd(k)=num1(2)*ud_1+num1(3)*ud_2-den1(2)*yd_1-den1(3)*yd_2;ed(k)=rin(k)-yd(k);%数字控制器的差分方程ud(k)=(num2(1)*ed(k)+num2(2)*ed_1+num2(3)*ed_2+num2(4)*ed_3+num2(5)* ed_4+num2(6)*ed_5+num2(7)*ed_6+num2(8)*ed_7-den2(2)*ud_1-den2(3)*ud_2-den2(4)*ud_3-den2(5)*ud_4-den2(6)*ud_5-den2(7)*ud_6-den2(8)*ud_7)/den2(1);ud_7=ud_6;ud_6=ud_5;ud_5=ud_4;ud_4=ud_3;ud_3=ud_2;ud_2=ud_1;ud_1=ud( k);ed_7=ed_6;ed_6=ed_5;ed_5=ed_4;ed_4=ed_3;ed_3=ed_2;ed_2=ed_1;ed_1=ed( k); yd_2=yd_1;yd_1=yd(k);endyd,udfigure(2);plot(time,rin,'r',time,yd,'b',time,ud,'k');xlabel('time');ylabel('rin,yd,ud');title('加数字控制器后单位速度信号的闭环响应及数字控制器的输出'); text(1.5,4.5,'红线:系统输入;蓝线:系统输出;黑线:控制器输出');加数字控制器后单位速度信号的闭环响应及数字控制器的输出25红线:系统输入;蓝线:系统输出;黑线:控制器输出2015rin,yd,ud10X: 35Y: 300510152025time 系统输出序列:yd =Columns 1 through 90 1.4074 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000Columns 10 through 1810.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000Columns 19 through 2519.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000控制器输出序列:ud =Columns 1 through 93.8257 0.1737 1.0009 0.9994 1.0005 0.9997 1.0002 0.9998 1.0001Columns 10 through 180.9999 1.0001 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000Columns 19 through 251.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000由图可以看出,此时调节时间变为3s,调节时间比原来延长1拍,但其控制器输出也在3拍后变为恒定值(只有0.0005左右的差异,可忽略),可以保证3拍后,输出不仅在采样点上与输入相同,还在采样点间保证相同,实现输出无纹波。