计算机控制技术及仿真.docx
- 文档编号:11377254
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:30
- 大小:279.05KB
计算机控制技术及仿真.docx
《计算机控制技术及仿真.docx》由会员分享,可在线阅读,更多相关《计算机控制技术及仿真.docx(30页珍藏版)》请在冰豆网上搜索。
计算机控制技术及仿真
《计算机控制技术及仿真》实验指导
姓名:
班级:
机制二班(电子1班)
攀枝花学院机电工程学院
二○一○年十二月
实验一Matlab环境语法及数学运算
(验证性实验)
一、实验目的
1、掌握Matlab软件使用的基本方法;
2、熟悉Matlab的数据表示、基本运算方法;
3、熟悉Matlab绘图命令及基本绘图控制。
二、实验仪器与软件
1.PC机1台
2.MATLAB6.X环境
三、实验原理
MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
MATLAB有3种窗口,即:
命令窗口(TheCommandWindow)、m-文件编辑窗口(TheEditWindow)和图形窗口(TheFigureWindow),而Simulink另外又有Simulink模型编辑窗口。
1.命令窗口(TheCommandWindow)
当MATLAB启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(TheEditWindow)
我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
四、实验内容、步骤及结果:
1、帮助命令
使用help命令,查找sqrt(开方)函数的使用方法;
方法:
打开MATLAB窗口,在菜单栏选择“Help”,打开一个“Help”子窗口,在这个子窗口左边“Searchtype”里选择“FunctionName”,再在下面的“Searchfor”
中输入函数“sqrt”,点击“Go”,在右边即显示出sqrt函数的使用方法,即:
sqrtSquareroot.
sqrt(X)isthesquarerootoftheelementsofX.Complex
resultsareproducedifXisnotpositive.
Seealsosqrtm.
Overloadedmethods
helpsym/sqrt.m
实验四控制系统仿真
(一)
(综合性实验)
一、实验目的
1、掌握如何使用Matlab进行系统的时域分析
2、掌握如何使用Matlab进行系统的频域分析
3、掌握如何使用Matlab进行系统的根轨迹分析
二、实验仪器与软件
1.PC机1台
2.MATLAB6.X环境
三、实验原理
根据Matlab控制系统常用函数编写出仿真软件,也可以根据SIMULINK完成实验。
四、实验内容
1、时域分析
(1)根据下面传递函数模型:
绘制其单位阶跃响应曲线并从图上读取最大超调量,绘制系统的单位脉冲响应、零输入响应曲线。
解:
num=[52530];
den=[16108];
t=0:
0.01:
10
y=impulse(num,den,t);
plot(t,y)
num=[52530];
den=[16108];
t=0:
0.01:
10
y=step(num,den,t);
plot(t,y)
零输入响应:
num=[52530];
den=[16108];
t=0:
0.01:
10
x0=[10]
ls=tf(num,den)
y=initial(ls,x0);
plot(t,y)
(2)典型二阶系统传递函数为:
当ζ=0.7,ωn取2、4、6、8、10、12的单位阶跃响应。
解:
clear
w=[2:
2:
12]
kos=0.7
figure
(1)
holdon
forwn=w
num=wn.^2
den=[12*kos*wn.^2wn.^2]
step(num,den,6)
end
title('stepresponse')
holdoff
num=[0004]
den=[12.84]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00016]
den=[15.616]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00036]
den=[18.436]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00064]
den=[111.264]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[000100]
den=[114100]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[000144]
den=[116.8144]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
(3)典型二阶系统传递函数为:
当ωn=6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。
解:
clear;
wn=6;
figure
(1);
holdon
forkosai=[0.2:
0.3:
0.8,1.0,2.0]
num=wn^2;
den=[12*kosai*wnwn^2];
t=0:
0.01:
5;
step(num,den,t);
end
holdoff
gridon
num=[00036]
den=[12.436]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00036]
den=[14.836]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00036]
den=[17.236]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00036]
den=[19.636]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00036]
den=[11236]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00036]
den=[11836]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
num=[00036]
den=[13636]
t=0:
0.01:
10
y=step(num,den,t)
plot(t,y)
2、频域分析
(1)典型二阶系统传递函数为:
当ζ=0.7,ωn取2、4、6、8、10、12的伯德图
解:
clear
kesai=0.7;
forwn=2:
2:
12
num=[wn.^2];
den=[12*kesai*wn.^2wn.^2];
g=tf(num,den);
bode(g);
gridon
holdon
end
num=[0004]
den=[12.84]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00016]
den=[15.616]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00036]
den=[18.436]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00064]
den=[111.264]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[000100]
den=[114100]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[000144]
den=[116.8144]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
(2)典型二阶系统传递函数为:
当ωn=6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的伯德图。
解:
clear
wn=6;
kesai=[0.20.61.01.52.02.5];
fori=1:
6
num=[wn.^2];
den=[12*kesai(i)*wn.^2wn.^2];
g=tf(num,den);
bode(g);
gridon
holdon
end
num=[00036]
den=[12.436]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00036]
den=[14.836]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00036]
den=[17.236]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00036]
den=[19.636]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00036]
den=[11236]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00036]
den=[11836]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
num=[00036]
den=[13636]
t=0:
0.01:
10
wt=logspace(-1,1)
bode(num,den)
3、根轨迹分析
根据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析系统稳定的K值范围。
num=[000k];
den=conv([1,0],conv([1,1],[1,2]))
t=0:
0.01:
10
y=impulse(num,den,t);
plot(t,y)
解:
clear;
num=[01];
den=conv([10],conv([11],[12]));
rlocus(num,den);
[kp]=rlocfind(num,den)
ls=find(real(p)>0);
n=length(ls);
ifn>0
disp('该点闭环系统是不稳定的');
disp('不稳定的闭环极点是');
disp(p(ls));
else
disp('该点闭环系统是稳定的');
end
运行结果:
Selectapointinthegraphicswindow
selected_point=
-1.3649+2.0000i
k=
10.3298
p=
-3.3307
0.1653+1.7533i
0.1653-1.7533i
该点闭环系统是不稳定的
不稳定的闭环极点是
0.1653+1.7533i
0.1653-1.7533i
五、实验要求
利用所学知识,完成上述各项实验内容,并将实验用程序和结果写在实验报告上。
如果有图,则将图画在实验报告上。
六、实验思考题
1.二维图形函数有何要求?
答:
2.如果要求实验中所用数据由用户从键盘输入,根据如何编写?
实验十双闭环直流调速系统的MATLAB仿真
(设计性实验)
一、实验目的
1、了解Simulink下数学模型的仿真方法。
2、掌握数学模型的仿真建模方法和仿真参数设置要求
3、进一步掌握双闭环反馈控制系统的基本特性。
二、实验原理
双闭环控制系统的结构原理框图如下所示:
ASR:
速度调节换,
要求:
在实验前需下根据双闭环控制原理计算出各环的PI参数,写出正确的系统控制数学模型。
三、实验内容
1、直流电机双闭环控制系统SIMULINK仿真模块建立。
2、仿真参数的设置。
3、各控制点的波形分析。
4、改变给定,观察输出响应的变化。
5、用传递函数方程仿真。
四、实验步骤
1、按上述结构和参数建立仿真模型。
2、设定输入为单位阶跃信号,用scope观察系统输出响应。
3、将改变给定,其余参数不变,观察系统输出响应。
4、突加负载,观察系统的抗扰性能。
改变开环放大系数,观察系统的稳定性能。
5.用建立的传递函数方程仿真。
五、实验报告
按规定的实验报告要求写出实验报告,报告的内容有实验目的、建模名称,参数设置,实验电路,仿真模型结构图、仿真结果波形,结果分析。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 技术 仿真