自动控制实验指导书Word文档格式.docx
《自动控制实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《自动控制实验指导书Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
掌握MATLAB基本算术运算和绘图、符号运算的方法;
M掌握M文件编写、调试的基本方法
二、实验内容
基本算术运算,矩阵运算,图形的绘制,M文件编写、调
三、实验原理、方法和手段
实验原理:
无
实验方法:
通过计算机输入指令观察指令执行的结果
四、实验组织运行要求
根据本实验的特点、要求和具体条件,采用教师简单讲解,学生自己上机调试和自学。
五、实验条件
安装MATLAB的计算机20台
六、实验步骤
打开电脑里面的MATLAB
就会看见有一个命令窗口,在此输入指令,只要一回车,就可以看见运行的结果了。
1、方便的算术运算:
请先输入以下指令:
>
>
a=3+4*i
显示结果:
b=2+5*i
c=a*b
以上是复数运算。
2高效方便的矩阵和数组的运算
x=[25-87;
36132;
-611-20];
--建立一个3╳4的矩阵
y=[227;
-116;
9,0;
1,8];
--建立一个4╳2的矩阵
z=x*y--实现2个矩阵的相乘
3、强大的绘图功能
t=0:
0.1:
2*pi;
y=sin(t);
plot(t,y)
gridon
显示结果:
刚才大家感受了一个绘图功能,其实MATLAB有一系列的绘图函数,例如线性坐标,对数坐标,半对数坐标以及极坐标等,可以绘制二维,三维图形以及饼图,直方图等统计图等.比如:
pi/50:
10*pi;
plot3(t.*sin(t),t.*cos(t),t)
grid
M文件的编写与调试
4、结构化/面向对象编程
现在的MATLAB采用C/C++编写,既具有结构化编程的控制语句(比如for循环,while循环,if语句,break和continue等语句).又具有面向对象变成的特性,并且在制作图形用户界面方面增加了许多新的功能. 比如大家进行一下操作
图1-4M文件进入界面
进入File—New—M_File,输入以下指令
functionshuju(i)
ifi<
60
disp(‘不及格’);
else
disp(‘及格'
);
end
然后在命令窗口输入
shuju(35)
shuju(65)
可以看到非常方便调用这个函数。
5、功能强大的工具箱
MATLAB的工具箱包括两个部分:
核心工具箱和各种可选的工具箱.其核心工具箱又了分为两类:
功能工具箱和学科工具箱,功能工具箱主要是用来扩充其符号计算功能,图示建模仿真功能等.而学科性工具箱专业性比较强,比如:
controlsystem,signalProcessing,NonlinearControl,Optimazation等主要应用领域有数据分析,信号处理,通信系统,工程数学,土木工程,金融系统,图形可视化等.
f=sym('
x^3+3*x^2+5'
)――定义函数
diff(f)――求函数的微分
f=sym('
x^3+a*x^2+b'
)
f1=diff(f)
七、思考题
查找相关资料,简要答出MATLAB的特点
试通过上网查找网站,以及国内有关MATLAB应用方面的网站,论述MATLAB的应用领域,尤其是在电子信息方面,MATLAB的最新版本,它的新特点和新公库箱。
八、实验报告
九、其它说明
实验二:
toolbox和simulink在自控中的应用
3
一、实验目的
利用MATLAB对系统进行频域分析
利用MATLAB离散系统的时域相应的特点以及参数设置
用simulink进行系统分析和仿真的方法。
传递函数的表示方法
系统的单位脉冲响应和单位斜坡以及任意输入响应
根轨迹的绘制
SISO系统的频域分析
SIMULINK的应用
三、实验原理、方法、手段
实验原理:
根据本实验的特点、要求和具体条件,采用教师简单讲解,学生自己上机调试和自学
安装MATLAB的计算机20台
1、传递函数的表示方法
G(s)=
可以这么来表示:
num=[5,9];
――分子系数
den=[2,7,1,11];
――分母系数
f=tf(num,den)
传递函数零极点表述形势:
G(s)=
指令格式为
函数名=zpk([z1,z2…zm],[p1,p2…pn],k)
f1=zpk([-3,-7],[-21,-1,-1+2*i,-1-2*i],21)
[z,p,k]=zpkdata(f,'
v'
传递函数的转换
从传递函数到零极点的表达方式:
指令格式:
[z,p,k]=tf2zp(num,den)
[z1,p1,k1]=tf2zp(num,den)
从零极点到传递函数
指令格式:
[num,den]=zp2tf(z,p,k),大家可以自学这个指令,因为时间关系,在此不讲。
从传递函数到部分分式:
[res,pole,k]=residue(num,den)
[r,p,k]=residue(num,den)
从部分分式到传递函数:
[num,den]=residue(res,pole,k)
控制系统三种基本连接形式
串联
指令格式
sys=sys1*sys2
[num,den]=series[num1,den1,num2,den2]
num1=1;
den1=[1,1,0];
num2=[1,2];
den2=[conv([1,3],[1,3])]
[num3,den3]=series(num1,den1,num2,den2)
并联格式
Sys=sys1+sys2
[num,den]=parallel(num1,den1,num2,den2)
[num4,den4]=parallel(num1,den1,num2,den2)
反馈连接
Sys=feedback(sys1,sys2)负反馈
Sys=feedback(sys1,sys2,1)正反馈
[num5,den5]=feedback(num1,den1,num2,den2)
求系统的根:
roots(den5)
[num6,den6]=feedback(num1,den1,num2,den2,1)
roots(den6)
2、SISO线形系统的时域分析
时域分析方法具有直观和准确的优点,并且可以提供系统时间响应的所有信息在没有采用计算机辅助分析时,时域分析方法特别适合对二阶系统的性能进行分析和计算对于高阶系统则采用根轨迹或者频率法进行分析和计算.但是在采用了计算机辅助分析之后,时域分析方法可以适合任意阶的LTI系统.
1).系统的阶跃响应
指令格式:
step(sys);
绘制一个系统的单位阶跃响应图,仿真时间t由MATLAB根据系统 的极点和零点自动确定.
step(sys,tfinal);
tfinal系统仿真的结束时间.
step(sys,t);
t为用户自己定义的时间向量,t=ti:
dt:
tf,
不管ti为何值,系统总是以为在t=0,单位阶跃信号作用于系统.
step(sys1,sye2,..sysn,t);
同时对N个系统进行仿真,以便于进行比较.
例题1:
绘制以下系统的单位阶跃响应,并求出系统的wn,§
和y(∞).
G(s)=
解:
num=3;
den=[1,1.5,3];
g=tf(num,den);
step(g)
[wn,z,p]=damp(g)%计算自然频率和阻尼比系数
k=dcgain(g)
2系统的单位脉冲响应和单位斜坡以及任意输入响应
单位脉冲响应的指令为 impulse(sys)
MATLAB除了能够绘制LTI系统的单位阶跃响应和脉冲响应之外,还能够绘制任意输入激励响应.
指令格式为
lsim(sys,u,t);
u为输入信号,t为用户指定时间向量.
impulse(g)
20;
u=5+2*t+8*t.^2;
lsim(g,u,t);
下面是直接在命令窗口输入的IF语句指令,也是求一个系统的任意输入响应,大家自己调试。
t1=0:
0.01:
2.99
forn1=1:
100
input1(n1)=1;
forn2=101:
200
input1(n2)=n2*0.01;
forn3=201:
300
input1(n3)=2;
plot(t1,input1)
num=
80
den=[1,14,80];
t=tf(num,den)
Transferfunction:
---------------
s^2+14s+80
lsim(t,input1,t1)
下面是一个M文件编写的对一任意稳定震荡系统的时域分析的程序
functionshuyu(num,den)
finalvalue=polyval(num,0)/polyval(den,0)%计算单位阶跃响应输出的稳态值
[y,x,t]=step(num,den);
step(num,den);
%绘制系统阶乐响应曲线
gridon;
[Y,k]=max(y);
timetopeak=t(k)%计算峰值时间
percentofshoot=100*(Y-finalvalue)/finalvalue%计算超调量
n=1;
whiley(n)<
0.1*finalvalue
n=n+1;
m=1
whiley(m)<
0.9*finalvalue
m=m+1;
end
risetime=t(m)-t(n)%计算上升时间
l=length(t);
while(y
(1)>
0.98*finalvalue)&
(y(l)<
1.02*finalvalue)
l=l-1;
settlingtime=t(l)%计算调节时间
大家可以自己调试,然后再命令窗口调用就可以了。
3、根轨迹的绘制
绘制根轨迹的函数为:
rlocus(sys);
rlocus(sys,k);
[r,k]=rlocus(sys);
[r,k]=rlocus(sys,k);
例题2:
已知道单位负反馈系统的开环传递函数为G(s)=
绘制含有§
和wn栅格的根轨迹.
num=[1,1];
den=[conv([1,0],conv([1,4],[1,2,5]))];
rlocus(g);
sgrid;
在MATLAB控制系统的工具箱中,还提供了计算给定根的的根轨迹增益和相应极点向量的交互函数rlocfind(),此函数与rlocus函数配合使用
[k,poles]=rlocfind(g)
4、SISO系统的频域分析
绘制Nyquist图
指令格式为:
nyquist(sys);
nyqusit(sys,{wmin,wmax});
绘制指定频率的幅相曲线
nyquist(g)
绘制开环BODE图
Bode(sys)
bode(g)
margin(g)
[gm,pm,wc,wg]=margin(g) ――求出系统稳定裕度
5、SIMULINK的应用
SIMULINK是一个用来对动态系统进行建模,仿真和分析的软件包,支持连续,离散及两者混合的线性和非线性系统的建模和仿真.该软件包为用户提供了用控制方框图进行建模的图形接口,对控制系统的仿真更为直观,便利和灵活,尤其对于复杂系统的仿真更为便利.
1启动和界面说明
点击
或者在命令窗口输入simulink;
会出现SimulinkLibraryBrowser,可以看见里面有很多子模块,每个模块里面又有子模块,这次重点介绍第一个模块simulink,这一模块共有16个模块:
有连续的,有离散的,有函数与表格库,有数学库,有非线形系统,信号与系统模型,输出库,信号源,和子系统.
2控制模型的建立
下面是一个系统的simulink的仿真图
图2-5 simulink建立的系统的方框图
图2-6 仿真操作示意图
然后双击示波器,就可以观察到系统的输出和误差波形。
1、请大家自学离散控制系统的MATLAB辅助分析
2、试用M文件编写一个程序,实现判断是否稳定,是否为衰减震荡系统,如果是,求出它的超调量,超调时间,调节时间;
如果是单调稳定系统,请求出其调节时间。
实验三:
自控系统的校正和计算机辅助设计
设计
巩固串联校正的原理
灵活掌握利用MATLAB进行计算机辅助设计的方法。
利用MATLAB辅助设计一个控制器,在完成设计后,应进行时域或者频域分析进行验证.(按照学号排序,每5个人一组,组内可以讨论,但是要独立完成设计,程序不得抄袭.)
1已知一个单位负反馈系统的开环传递函数如下:
G(s)=
试设计一个串联补偿装置,系统性能要求:
超调量σ%<
=20%,在单位输入信号作用下稳态误差ess<
=0.25rad/s.
2已知一个单位负反馈系统的开环传递函数如下:
G(S)=试设计一个串联超前补偿装置,系统性能要求:
相角裕度γ>
=450,静态速度误差系数KV=1000s-1.
3已知一个单位负反馈系统的开环传递函数如下:
=350,静态加速度误差系数Ka=1000s-1.
4已知一个单位负反馈系统的开环传递函数如下:
G(S)=试设计一个串联滞后补偿装置,系统性能要求:
=450,幅值裕度h<
=17dB,静态速度误差系数KV=40s-1
5已知一个单位负反馈系统的开环传递函数如下:
相角裕度>
=50o,在单位斜坡信号作用下的稳态误差ess<
=0.005r/s
6已知一个单位负反馈系统的开环传递函数如下:
G(S)=试采用串联综合校正设计方法,系统性能要求:
kv=70s-1,ts<
=1s,σ%<
=40%
7已知一个单位负反馈系统的开环传递函数如下:
G(S)=,试设计一个串联滞后补偿装置,系统性能要求:
系统开
环增益Kv≥5s-1,阻尼系数ζ=0.5,ts=2.5s
8已知一个单位负反馈系统的开环传递函数如下:
G(S)=,试设计一个串联滞后补偿装置,系统性能要求:
=40o,并保持原有增益。
9已知一个单位负反馈系统的开环传递函数如下:
G(S)=,试设计一个串联补偿装置,系统性能要求:
在匀速输入信号作用下稳态误差ess=0.1,闭环幅频特性的谐振峰值Mr≤1.5持原有增益。
1、串联超前校正的原理和步骤:
(1)根据问题误差要求,确定开环增益。
(2)利用已确定额度开环增益,计算未校正系统的相角裕度r。
(3)计算校正后的wc’,r’,和校正装置参数a.
如果对校正后系统的截止频率wc’已提出要求,则可选定wc’,在BODE图上查得未校正系统的L(wc’).取wm=wc’,充分利用网络的相角超前的特性,则
L(wc’)+1olga=0 (3-1)
从而求出超前网络的a
如果对校正后系统的截止频率wc’已提出要求,则可从给定的相角裕度出发,通过下式求得
φm=r’-r+σ (3-2)
式中φm为超前校正装置产生的最大超前角,σ为考虑r(wc<
wc’)所减的角度,一般在50----100
在利用已经求得的φm求出a
a= (3-3)
在未校正系统BODE图上查得未校正系统的L(wc’),充分利用网络的相角超前的特性,则
L(wc’)+10lga=0
计算出校正后的截止频率wc’
(4)确定校正装置的传递函数.
校正装置的两个转折频率w1和w2可由以下式确定:
w1=w2= (3-4)
并以此写出校正装置应具有的传递函数
Gc(s)= (3-5)
2串联滞后校正的原理和步骤
(1)根据问题误差要求,确定开环增益。
(2)利用已确定的开环增益,画出校正系统的BODE图,计算未校正系统的相角裕度r和截止频率wc,h。
(3)计算校正后的相角裕度r’,选择已校正系统的wc’
考虑到滞后网络在新的截止频率wc’处会产生一定的相角滞后φc(wc’),因此下式成立:
r’=r(wc’)+φc(wc’) (3-6)
φc(wc’)在确定wc’之前取-6
于是根据上式可以求出相应的wc’。
(4)根据下述关系式确定后滞后网络参数b和T
L(wc’)+10lgb=0
=0.1wc’ (3-7)
如果T过大难以实现,则可将上式中的系数0.1适当加大,例如在0.1----0.25范围内选去,而φc(wc’)得估计值相应在-6-----14范围内确定。
(5)校验校正后系统是否满足要求。
如果满足要求,校正工作结束;
如果不满足要求,重新回到步骤
(2),直到满足给定的指标要求为止。
3串联综合校正
综合校正方法是将性能指标转换为期望开环对数幅频特性,再与未校正系统的开环对数幅频特性比较,从而确定校正装置的型数和参数,使用于最小相位系统,期望对数幅频特性的求法如下:
(1)根据对系统型别及稳态误差要求,通过性能指标v和开环增益K,绘制系统的低频段。
(2)根据对系统的响应速度和阻尼程度的要求,通过截止频率wc,相角裕度r和系统带宽H,中频区特性上下交接频率w2,w3,绘制期望的中频段。
所用到的公式如下:
H<
=
Mr=
W2<
=WC>
Mr≈(3-8)
(3)绘制期望特性低、中频段的衔接频段,其斜率一般与前后段相差-20dB/dec,否则对系统期望的特性有较大的影响。
(4)根据对系统幅值裕度及抑制高频噪音的要求,绘制期望特性的高频段。
通常,为使校正装置简单化,以便于实现,一般使期望特性的高频段与未校正系统的高频段斜率完全一致,或完全重合。
(5)绘制期望特性的中,高频段之间的衔接段,其斜率一般为-40dB/dec
(6)根据绘制出来的期望特性bode图,求出校正后的系统传递函数,并利用
Gc(s)=G’(s)/G(s)
其中G’(s)为校正后的开环传递函数
G(s)为校正前的开环传递函数
Gc(s)为校正装置的开环传递函数。
(7)验证校正后的性能指标。
根据本实验的特点、要求和具体条件,采用教师简单讲解,学生自己动手操作的形式。
安装MATLAB的计算机20台
1、问题的描述
首先对将要仿真的对象进行认真的分析,了解对象特性,以便建立数学模型。
2、建立数学模型
3、建立仿真模型
4、编程
5、调试程序
6、实验