《控制系统数字仿真实验报告.docx》由会员分享,可在线阅读,更多相关《控制系统数字仿真实验报告.docx(25页珍藏版)》请在优知文库上搜索。
1、控制系统数字仿真实验报告实验一数字仿真方法验证班级:姓名:学号:一、实验目的1 .掌握基于数值积分法的系统仿真、了解各仿真参数的影响;2 .掌握基于离散相似法的系统仿真、了解各仿真参数的影响;3 .熟悉MATLAB语言及应用环境。二、实验环境网络计算机系统,MATLAB语言环境三、实验内容(一)试将例如1的问题改为调用ode45函数求解,并比拟结果。1 .脚本m文件functiondy=vdp(tzy)dy=y-2*ty;end2 .脚本m文件ode.mtry=ode45(fvdp,z01z1);plot(t,y);xlabel(,t,);ylabel(,yf);1.81.7/1.6-1.5X
2、x1.4Xx.1.3-x.1.2-1.1-/./rrrrrrrrriO0.10.20.30.40.50.60.70.80.91(二)试用四阶RK法编程求解以下微分方程初值问题。仿真时间2s,取步h=0.1o=y-edtU(O)=1脚本m文件cleart0=0;y=l;h=0.1;n=2h;y(1)=1;t(1)=0;fori=0:n-1kl=y-t*t;k2=(y+h*kl2)-(t+h2)*(t+h2);k3=(y+h*k22)-(t+h2)*(t+h2);k4=(y+h*k3)-(t+h)*(t+h);yl=y+h*(kl+2*k2+2*k3+k4)/6;tl=t+h;y=yl;t=tl;
3、y(i+2)=yl;t(i+2)=tl;endyitfigure(1)plot(tzyz,r,);xlabel(,tf);ylabel(,yf);运行t(三)试求例如3分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=OJ。1 .脚本m文件tclear%CreatesystemmodelA=-0.5572-0.7814;0.78140;B=1;0;C=1.96916.4493;D=0;sys=ss(A,B,CzD);%Pulseresponseofthesystemsubplot(221)uzt=gensig(,pulse,5,20,0.1)plot(tzu);hol
4、donIsim(syszu,t);xlabel(,tf);ylabel(,Yf);title(,Pulseresponseofthesystem*);holdoffgrid%Squareresponseofthesystemsubplot(222)uzt=gensig(,square,5,20,0.1)plot(tzu);holdonIsim(syszuzt);xlabel(ft,);ylabel(,Y,);title(,Squareresponseofthesystem*);holdoffgrid2 .运行四、实验体会这是控制系统数字仿真课程的第一次实验,我熟悉了matlab软件的根本操作,
5、学会了如何运用数值积分方法中常用的函数(如。de45)去解常系数微分方程,虽然存在一定的误差,但在误差允许的范围内,而且相对于EUIe法,代码明显大幅度简化。通过第三个小实验我还学会了如何运用离散相似法去解常见的状态参数方程。实验二SlMUIJNK动态仿真一、实验目的1 .掌握SlMULlNK动态仿真;2 .熟悉MATLAB语言及应用环境。二、实验环境网络计算机系统,MATLAB语言环境三、实验内容(一)SimUlink的根本操作(1)运行SimUIink(2)常用的标准模块(3)模块的操作(二)系统仿真及参数设置(1)算法设置(Solver)(2)工作空间设置(WorkspaceI/O)(三
6、)学会运用SlMULlNK建立仿真模型,进行仿真。1 .某系统框图如下图,试用SlMULlNK进行仿真,并比拟在无饱和非线性环节下系统仿真结果。建立系统模型:Step实验结果:示波器1示波器21Time offset: 02 .系统结构图如下:U(t)图.含饱和非线性环节系统方框图输入为信号电平从16,非线性环节的上下限为1,取步长,仿真时间为10秒,试绘制系统的响应曲线。输入信号为16的节约信号时,实验响应曲线如下:Timeoffset:0四、实验体会通过本次试验,我体会到了MATLAB里的SimUlink模块强大的建模仿真功能。通过SimUlink动态仿真,我们能实时观测局部模块对系统整体
7、的影响,从而可以很好地设法调节系统元件环节参数,改善系统性能,因此MATLAB的SimUlink动态仿真适用于模拟系统,调节系统的局部参数。实验三PID控制器设计一、实验目的1 .了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;2 .掌握计算机辅助系统瞬态性能指标的计算;3 .掌握计算机辅助系统频率性能分析;二、实验环境网络计算机系统,MATLAB语言环境三、实验内容1.如下图单位反应系统500s+500055+3354+33753+1115s2+495Qy+50要求:绘制系统的开环Nyquist图和Bode图,并判断该闭环系统是否稳定。编写主文件:clearclcsys=tf(5
8、005000z133337177549505000);figure(1)nyquist(sys)RezImzwl=nyquist(sys);gridonfigure(2)bode(sys)mag,phase,w2=bode(sys);gridonsysclose=feedback(sysz1);zzpzk=zpkdata(sysclosez,vf).SXV AJE6EE-运行结果:NyquistDiagram0.80.60.40.20-0.2-0.4-0.6-0.8-1-0.500.511.5RealAxisBodeDiagram0-50-100-150-2000-90-180-270-360
9、2TOl23101010101010Frequency(rads)CommandWindow-19.9388-5.1469+2.5108i-5.1469-2.5108i-1.3837+3.6577i-1.3837-3.6577ik=500由运行结果知,系统的极点全位于复平面的左半平面,故该闭环系统是稳定的。2.应用Ziegler-Nichols方法设计P控制器、Pl控制器和PID控制器。编写函数m文件pidmargin.mfunctionSySc,Kp,Ti,Td=pidmargin(sysztype)margin(sys)GmzPm,WgzWc=margin(sys);Kcr=Gm;Wcr=
10、Wg;Tcr=2*piWcr;switchtypecase1disp(,PControlerf)Kp=0.5*KcrTi=,NoDesign,Td=,NoDesign,sysc=Kp;case 2disp(,PIControler,)Kp=0.4*KcrTi=O.8*TcrTd=,NoDesign,sysc=Kp*(l+tf(lzTizO);case 3disp(,PIDControler,)Kp=O.*KcrTi=O.5*TcrTd=0.12*Tcrsysc=Kp*(l+tf(lzTiz0)+tf(Td0z1);endend编写脚本m文件:clfsys=tf(5005000z13333717
11、7549505000);sysgroup=feedback(sysz1);fori=l:3type=i;sysczKpzTi,Td=pidmargin(sysztype);sysopen=sysc*sys;sysclose=feedback(sysopenz1);sysgroup=append(sysgroupzsysclose);endclffori=l:4subplot(2z2zi)step(sysgroup(izi)end运行结果如下:Trial_3_2PControlerKp=Ti=NoDesignTd=NoDesignPIControlerKp=Ti=Td=NoDesignPIDCo
12、ntrolerKp=TiTd = pm=dluvStep Ftesponse 10.50 02468Time (seconds)3pr=dE410.50Step Response 1.5012345Time (seconds)3.计算比拟原系统与P控制系统、Pl控制系统、PID控制系统的瞬态性能指标。编写函数m文件(同2中的Pidmargin.m)编写脚本m文件clfsys=tf(5005000z133337177549505000);sysgroup=feedback(sys,1);fori=l:3type=i;sysczKpzTizTd=pidmargin(sysztype);sysope
13、n=sysc*sys;sysclose=feedback(sysopenz1);sysgroup=append(sysgroupzsysclose);endfori=l:4step(sysgroup(i,i);num,den=tfdata(sysgroup(i,i),v,);Finalvalue=Polyval(num,O)polyval(denzO)y/1=step(sysgroup(izi);Ymaxzk=max(y);Peaktime=t(k)OvershootPercent=100*(Ymax-Finalvalue)/Finalvaluen=l;whiley(n)0.l*Finalvaluezn=n+l;endm=l;whiley(m)0.98*Finalvalue&y(r)1.02*Finalvalue)r=r-l;endSettlingTime=t(r)end运行结果如下:Finalvalue=OvershootPercentRiseTime=SettlingTime=Finalvalue=Peaktime=OvershootPercentRiseTime=SettlingTime=Finalvalue=1OvershootPercentRiseTime=SettlingTime=Finalv