1、计算机控制技术及仿真计算机控制技术及仿真实验指导姓名:班级:机制二班(电子1班)攀枝花学院机电工程学院二一年十二月 实验一 Matlab环境语法及数学运算(验证性实验)一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 的数据表示、基本运算方法;3、熟悉 Matlab 绘图命令及基本绘图控制。二、实验仪器与软件 1. PC机 1台 2. MATLAB6.X环境 三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Windo
2、w)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。1命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。用户可以在提示符“”后面输入交互的命令,这些命令就立即被执行。在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。在命令窗口中输入该文件名,这一连串命令就被执行了。因为这样的文件都是以“.m”为后缀,所以称为m-文件。2m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。在MATLAB
3、主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。四、实验内容、步骤及结果:1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;方法:打开MATLAB窗口,在菜单栏选择“Help”,打开一个“Help”子窗口,在这个子窗口左边“Search type”里选择“Function Name”,再在下面的“Search for”中输入函数“sqrt”,点击“Go”,在右边即显示出sqrt函数的使用方法,即:sqrt Square root. sq
4、rt(X) is the square root of the elements of X. Complex results are produced if X is not positive. See also sqrtm. Overloaded methods help sym/sqrt.m实验四 控制系统仿真(一)(综合性实验)一、实验目的1、掌握如何使用 Matlab 进行系统的时域分析2、掌握如何使用 Matlab 进行系统的频域分析3、掌握如何使用 Matlab 进行系统的根轨迹分析二、实验仪器与软件 1. PC机 1台2. MATLAB6.X环境 三、实验原理根据Matlab控制
5、系统常用函数编写出仿真软件,也可以根据SIMULINK完成实验。四、实验内容1、时域分析(1)根据下面传递函数模型:绘制其单位阶跃响应曲线并从图上读取最大超调量,绘制系统的单位脉冲响应、零输入响应曲线。 解:num=5 25 30;den=1 6 10 8;t=0:0.01:10y=impulse(num,den,t);plot(t,y) num=5 25 30;den=1 6 10 8;t=0:0.01:10y=step(num,den,t);plot(t,y)零输入响应:num=5 25 30;den=1 6 10 8;t=0:0.01:10x0=1 0ls=tf(num,den)y=in
6、itial(ls,x0);plot(t,y)(2)典型二阶系统传递函数为: 当=0.7,n 取 2、4、6、8、10、12 的单位阶跃响应。解:clearw=2:2:12kos=0.7figure(1)hold onfor wn=w num=wn.2 den=1 2*kos*wn.2 wn.2 step(num,den,6)endtitle(step response)hold offnum=0 0 0 4den=1 2.8 4t=0:0.01:10y=step(num,den,t)plot(t,y) num=0 0 0 16den=1 5.6 16t=0:0.01:10y=step(num,
7、den,t)plot(t,y) num=0 0 0 36den=1 8.4 36t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 64den=1 11.2 64t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 100den=1 14 100t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 144den=1 16.8 144t=0:0.01:10y=step(num,den,t)plot(t,y)(3)典型二阶系统传递函数为: 当n =6,取 0.2、0.4、0.6
8、、0.8、1.0、1.5、2.0 的单位阶跃响应。解:clear;wn=6;figure(1);hold onfor kosai=0.2:0.3:0.8,1.0,2.0 num=wn2; den=1 2*kosai*wn wn2; t=0:0.01:5; step(num,den,t);endhold offgrid onnum=0 0 0 36den=1 2.4 36t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 36den=1 4.8 36t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 36den=
9、1 7.2 36t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 36den=1 9.6 36t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 36den=1 12 36t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 36den=1 18 36t=0:0.01:10y=step(num,den,t)plot(t,y)num=0 0 0 36den=1 36 36t=0:0.01:10y=step(num,den,t)plot(t,y)2、频域分析(1)典型二阶系
10、统传递函数为: 当=0.7,n 取 2、4、6、8、10、12 的伯德图解:clearkesai=0.7;for wn=2:2:12 num=wn.2; den=1 2*kesai*wn.2 wn.2; g=tf(num,den); bode(g); grid on hold onendnum=0 0 0 4den=1 2.8 4t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 16den=1 5.6 16t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 36den=1 8.4 36t=
11、0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 64den=1 11.2 64t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 100den=1 14 100t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 144den=1 16.8 144t=0:0.01:10wt=logspace(-1,1)bode(num,den) (2)典型二阶系统传递函数为: 当n =6,取 0.2、0.4、0.6、0.8、1.0、1.5、2.0 的伯德图。
12、解:clearwn=6;kesai=0.2 0.6 1.0 1.5 2.0 2.5;for i=1:6 num=wn.2; den=1 2*kesai(i)*wn.2 wn.2; g=tf(num,den); bode(g); grid on hold onendnum=0 0 0 36den=1 2.4 36t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 36den=1 4.8 36t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 36den=1 7.2 36t=0:0.01:10w
13、t=logspace(-1,1)bode(num,den) num=0 0 0 36den=1 9.6 36t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 36den=1 12 36t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 36den=1 18 36t=0:0.01:10wt=logspace(-1,1)bode(num,den) num=0 0 0 36den=1 36 36t=0:0.01:10wt=logspace(-1,1)bode(num,den) 3、根轨迹分析 根
14、据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析系统稳定的 K 值范围。num=0 0 0 k;den=conv(1,0,conv(1,1,1,2)t=0:0.01:10y=impulse(num,den,t);plot(t,y)解:clear;num=0 1;den=conv(1 0,conv(1 1,1 2);rlocus(num,den);k p=rlocfind(num,den)ls=find(real(p)0);n=length(ls);if n0 disp(该点闭环系统是不稳定的); disp(不稳定的闭环极点是); disp(p(ls);else disp(该点闭环系统是稳
15、定的);end运行结果:Select a point in the graphics windowselected_point = -1.3649 + 2.0000ik = 10.3298p = -3.3307 0.1653 + 1.7533i 0.1653 - 1.7533i该点闭环系统是不稳定的不稳定的闭环极点是 0.1653 + 1.7533i 0.1653 - 1.7533i五、实验要求 利用所学知识,完成上述各项实验内容,并将实验用程序和结果写在实验报告上。如果有图,则将图画在实验报告上。六、实验思考题1.二维图形函数有何要求?答:2.如果要求实验中所用数据由用户从键盘输入,根据如何
16、编写?实验十 双闭环直流调速系统的MATLAB仿真(设计性实验)一、实验目的 1、了解Simulink下数学模型的仿真方法。2、掌握数学模型的仿真建模方法和仿真参数设置要求3、进一步掌握双闭环反馈控制系统的基本特性。二、实验原理 双闭环控制系统的结构原理框图如下所示:ASR:速度调节换,要求:在实验前需下根据双闭环控制原理计算出各环的PI参数,写出正确的系统控制数学模型。三、实验内容1、直流电机双闭环控制系统SIMULINK仿真模块建立。2、仿真参数的设置。3、各控制点的波形分析。4、改变给定, 观察输出响应的变化。5、用传递函数方程仿真。四、实验步骤1、按上述结构和参数建立仿真模型。2、设定输入为单位阶跃信号,用scope观察系统输出响应。3、将改变给定,其余参数不变,观察系统输出响应。4、突加负载,观察系统的抗扰性能。改变开环放大系数,观察系统的稳定性能。5用建立的传递函数方程仿真。五、实验报告按规定的实验报告要求写出实验报告,报告的内容有实验目的、建模名称,参数设置,实验电路,仿真模型结构图、仿真结果波形,结果分析。