1、step(numb,denb);title(未校正系统阶跃响应);由以上分析,得到系统的时域指标%=0%,ts=782s。从调节时间上看,远远地不符合设计要求。1.2根轨迹分析根轨迹法是根据反馈控制系统开环和闭环传递函数之间的关系提出的一种由开环传递函数求闭环特征根的简便方法,它是分析和设计线性定常控制系统的图解方法,使用十分简便,在工程上获得了广泛的应用。运用根轨迹分析法,可以对系统的稳定性进行分析而这又为系统的校正提供依据。在调用rlocus()函数之后,调用根轨迹增益函数rlocfind(),可得出系统的根轨迹曲线如1-2所示。图1-2 根轨迹曲线MATLAB的程序为;den0=1,30
2、,200,0;axis equal;rlocus(num0,den0);K,poles=rlocfind(num0,den0);未校正前系统根轨迹执行以上程序,并移动鼠标到根轨迹与虚轴的交点处单击鼠标左键后可得到如下结果: selected_point = 0 +14.0727iK =5.9413e+003poles =-29.9464 -0.0268 +14.0853i-0.0268 -14.0853i由此可见,根轨迹与虚轴交点处的增益K=5941.3这说明,K941.6时系统不稳定。利用rlocfind()函数可找出根轨迹从实轴上的分离点处的增益K=384,说明当0K384系统为单调衰减稳
3、定,当3845941.3时,系统为振荡衰减稳定。1.3频域分析频域分析法是应用频域特性分析线性系统的方法。它是以传递函数为基础的一种图解分析法,对与高阶系统的分析非常实用,它同时也适用于系统的设计。而此次的系统为三阶系统,所以对系统的频域分析就显得尤为重要。系统的bode图可用函数bode(num,den)生成,而频域指标幅值裕量、相位裕量、相位穿越频率和幅值穿越频率通过Gm,Pm,Wcg,Wcp=margin(num,den)获得。所编写的MATLAB程序为:g = tf(num0,den0);bode(g);Gm,Pm,Wcg,Wcp=margin(g);未校正前系统伯德图执行后得如下数据
4、及如图1-3所示的bode图Gm = 6.0000e+003Pm = 89.9570Wcg = 14.1421Wcp = 0.0050图1-3 系统bode图从图中可以看出相位裕量=89.9570度,即裕量为正,开环系统稳定,还有较好的动态性能指标。2串联校正及校正后系统分析自动控制系统是由被控对象和控制器两大部分组成的,当被控对象被确定后,对系统的设计实际上就是对控制器的设计,这就称为对控制系统的校正。由于控制系统不满足控制质量的要求,需根据系统预先给定的性能指标重新设计一个满足性能要求的控制系统,具体任务是选择校正方式,确定校正装置的类型以及计算出具体参数等。2.1校正原理校正装置是为了改
5、善系统控制性能而人为的引入的控制部分根据校正装置在控制系统中的位置不同,可分为串联校正和并联校正两类基本形式。串联校正分为超前校正、滞后校正、滞后-超前校正三种结合目前的分析方法对串联校正的选择方法又可分为bode图法、根轨迹法和频率特性法。根据他们各自的特点和本次设计的要求最后选择了频率特性法来进行校正装置的设计。结合前面对系统性能指标的分析,我们得出系统的调节时间过长,主要是增益过小导致的,所以进行校正前的首要任务是确定系统的增益系数。确定了增益系数之后就可以借助于频域特性法来设计校正装置。2.2校正过程2.2.1选择增益系数根据增益系数对系统稳定性影响的特点以及前面对系统根轨迹分析得出的
6、系统稳定时增益的范围(0k=r);break;end;endprintsys(numc,denc);printsys(num,den);g=tf(numc,denc);figure(1);bode(g) %画出校正环节伯德图校正环节伯德图%mag2,phase2=bode(g);figure(3); %画出有增益未校正系统伯德图有增益未校正系统bode图g=tf(num,den);figure(2); %画出校正后环节伯德图有增益已校正系统bode图%mag,phase=bode(g);%未校正前subplot(2,1,1); %有增益未校正阶跃响应曲线未校正加入增益前系统单位阶跃响应曲线%校
7、正后subplot(2,1,2);numb,denb=cloop(num,den); %有增益已校正阶跃响应曲线校正后系统单位阶跃响应曲线经过多次调试得到校正环节的传递函数Gc=(359.8428 s + 1)/ (201.3615 s + 1)。从而得到Gk(s)=(107952.851 s + 300)/(201.3615 s4 + 6041.8461 s3 + 40302.307 s2 + 200 s)。2.3校正后系统验证系统性能2.3.1时域分析图2-3-1 校正后-校正前系统动态响应所以由仿真图得到超调量=1.22%,调节时间ts=0.83s,符合期望的系统性能。2.3.2频域分析
8、图2-3-2 校正后的系统bode图所以由仿真结果得到Gm = 11.1953,Pm =68.2751,Wcg =14.1445,Wcp =2.5746,所以得到相位裕量=68.2751度,即裕量为正,开环系统稳定,还有很好的动态性能指标。3校正装置的实现校正装置按其使用的动力源和信号性质的不同,可分为电气型、气动型、液压型等,根据此次系统设计的要求采用电气型校正装置。超前校正装置,既可采用RC无源网络组成,又可用由运算放大器加入适当电路的有源网络组成,下面分别介绍无源超前网络和有源超前网络在本次校正环节中的具体应用。3.1无源校正装置由MATLAB仿真程序得出校正环节传递函数:Gc=(359
9、.8428 s + 1)/ (201.3615 s + 1)(1)根据无源超前网络传递函数Gc(s)=(Ts+1)/(Ts+1),=R2/(R1+R2);T=R1C(2)有(1)(2)式对比计算得出,R1=100K,R2=150K,C=3.6Uf网络衰减=3/5,放大器的放大系数就的增大1/倍,既=5/3,所以K=k*=300*5/3=500.所以画出图3-1-1无源超前校正网络。图3-1无源超前校正网络3.2有源校正装置Gc=(359.8428 s + 1)/ (201.3615 s + 1),可得到如下曲线图3-2:图3-2有源超前校正网络4对校正后的系统利用连续系统按环节离散化的数字进行
10、仿真4.1连续系统按环节离散化仿真原理连续系统数学模型的离散化是通过数值积分法实现的,尽管面向结构图的仿真方法是按环节给定参数,但是在仿真计算时还是按整个系统进行离散化这就不便于引进非线性环节系统的仿真所以就要进行连续系统按环节离散化的仿真过程。首先是典型环节的离散系数及其差分方程的确定。一般情况下,典型环节的仿真模型归纳为一个统一的公式;z(k+1)T=Ez(kT)+Fu(kT)+Gu(k-1)Tx(k+1)T=Hz(k+1)T+Lu(kT)+Qu(k-1)T式中,E,F,G,H,L,Q是差分方程的系数,它们的数值根据典型环节系数a,b的不同情况可由表4-1确定。a0,b=0a=0,b0a0
11、,b0EFGHLQ(c+d/T)/a-d/(aT)1cT/(2b)d/bExp-(a/b)T(d/b-c/a)(1-E)*b/(aT)-1(d/b-c/a)1+(E-1)(1+b/(aT)表41 E , F, G, H, L, Q的系数4.2Matlab实现仿真过程图4-2-1 系统结构图根据系统结构图可得, u1 0 0 0 -1 x1 1 x1 u2 = 1 0 0 0 x2 + 0 , y=0 0 0 1 x2 u3 0 1 0 0 x3 0 x3 u4 0 0 1 0 x4 0 x4 0 0 0 -1 1则有 W= 1 0 0 0 , W0= 0 , Wc=0 0 0 1 0 1 0
12、0 0 0 0 1 0 0 a1 b1 c1 d1 FZ1 s1 1 201.3615 1 359.8428 0 0而P= a2 b2 c2 d2 FZ2 s2 = 0 1 1 0 0 0 a3 b3 c3 d3 FZ3 s3 10 1 300 0 0 0 a4 b4 c4 d4 FZ4 s4 20 1 1 0 0 0仿真程序如下:R=1;P= 1 201.3615 1 359.8428 0 0; %A 0 1 1 0 0 0; %B 10 1 300 0 0 0; %C 20 1 1 0 0 0; %DW= 0 0 0 -1; 1 0 0 0; 0 1 0 0; 0 0 1 0;W0=1;0
13、;0;Wc=0 0 0 1;Tf=input(仿真时间TfT=input( 步长时间TA=P(:,1);B=P(:,2);C=P(:,3);D=P(:,4);FZ=P(:,5);S=P(:,6);n=length(A);for i=1:n if(A(i)=0) if(B(i)=0) E(i)=0;F(i)=0;G(i)=0;H(i)=0; L(i)=(C(i)+D(i)/T)/A(i);Q(i)=-D(i)/(A(i)*T); else E(i)=exp(-A(i)*T/B(i); F(i)=(D(i)/B(i)-C(i)/A(i)*(1-E(i)*B(i)/(A(i)*T)-1); G(i)
14、=(D(i)/B(i)-C(i)/A(i)*(1+(E(i)-1)*(1+B(i)/(A(i)*T); H(i)=1;L(i)=D(i)/B(i);Q(i)=0; end else if(B(i)=0) E(i)=1;F(i)=0.5*C(i)*T/B(i);G(i)=F(i); disp(A(i)=B(i)=0 ed x=zeros(length(A),1);x0=x;z=x; u=zeros(length(A),1);u0=u; y=zeros(length(Wc(:,1),1);t=0; for j=1:Tf/T u1=u;u=W*x+W0*R; x1=x; for i=1: z(i)=
15、E(i)*z(i)+F(i)*u(i)+G(i)*u1(i); x(i)=H(i)*z(i)+L(i)*u(i)+Q(i)*u1(i); end y=y,Wc*x;t=t,t(j)+T; if(abs(y-R)/R)=0.02) data_adjust=j; end end plot(t,y); pos,tr,ts,tp=stepchar(t,y,0.02); disp(最大超调量M= num2str(pos) %); 调节时间ts= num2str(ts) s grid on; hold on;取仿真时间:Tf=5计算步长:T=0.001在matlab环境下执行以上程序可得到如图4-3所示的
16、仿真曲线和如下结果。最大超调量%=1.5471%,调节时间ts=0.813s。图4-2-2所示的仿真曲线5实习总结6附录Code1:未校正前系统时域响应Code2:未校正前系统根轨迹Code3:未校正前系统频域分析Code4:校正环节及其校正后系统相应指标分析Code5:对校正后系统进行离散化数字仿真 %A 10 1 300 0 0 0; %D T=input( if(B(i)=0) u=zeros(length(A),1); for j=1: u1=u; x1=x; for i=1: y=y,Wc*x; if(abs(y-R)/R)7参考文献1 李国勇,谢克明,杨丽娟。计算机仿真技术与CAD基于MATLAB的控制系统(第二版)2高国燊,余文烋,彭
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1