《自动控制原理》实验教案.docx

上传人:b****4 文档编号:5519653 上传时间:2023-05-08 格式:DOCX 页数:20 大小:225.49KB
下载 相关 举报
《自动控制原理》实验教案.docx_第1页
第1页 / 共20页
《自动控制原理》实验教案.docx_第2页
第2页 / 共20页
《自动控制原理》实验教案.docx_第3页
第3页 / 共20页
《自动控制原理》实验教案.docx_第4页
第4页 / 共20页
《自动控制原理》实验教案.docx_第5页
第5页 / 共20页
《自动控制原理》实验教案.docx_第6页
第6页 / 共20页
《自动控制原理》实验教案.docx_第7页
第7页 / 共20页
《自动控制原理》实验教案.docx_第8页
第8页 / 共20页
《自动控制原理》实验教案.docx_第9页
第9页 / 共20页
《自动控制原理》实验教案.docx_第10页
第10页 / 共20页
《自动控制原理》实验教案.docx_第11页
第11页 / 共20页
《自动控制原理》实验教案.docx_第12页
第12页 / 共20页
《自动控制原理》实验教案.docx_第13页
第13页 / 共20页
《自动控制原理》实验教案.docx_第14页
第14页 / 共20页
《自动控制原理》实验教案.docx_第15页
第15页 / 共20页
《自动控制原理》实验教案.docx_第16页
第16页 / 共20页
《自动控制原理》实验教案.docx_第17页
第17页 / 共20页
《自动控制原理》实验教案.docx_第18页
第18页 / 共20页
《自动控制原理》实验教案.docx_第19页
第19页 / 共20页
《自动控制原理》实验教案.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《自动控制原理》实验教案.docx

《《自动控制原理》实验教案.docx》由会员分享,可在线阅读,更多相关《《自动控制原理》实验教案.docx(20页珍藏版)》请在冰点文库上搜索。

《自动控制原理》实验教案.docx

《自动控制原理》实验教案

《自动控制原理》

 

武汉工程大学电气信息学院

2012年11月25日

《自动控制原理》实验说明

一、实验条件要求

硬件:

个人计算机;

软件:

MATLAB仿真软件(版本6.5或以上)。

带上课用教材和纸笔

二、实验内容

实验1认识MATLAB

实验2基于MATLAB的控制系统建模

实验3基于MATLAB的控制系统时域及稳定性分析

实验4基于MATLAB的控制系统频域及根轨迹分析

三、实验报告要求说明

认真阅读教材,深刻理解和掌握自动控制原理的基本概念和原理,掌握利用MATLAB对控制系统进行仿真分析和设计。

针对每个命令,查看帮助文件,加强练习,认真完成实验报告。

实验1认识MATLAB

一、实验目的

1.了解MATLAB的发展过程及MATLAB在自动控制中的用途。

2.掌握MATLAB的基本指令。

二、实验要求

实验前复习教材中的相关内容,做好实验预习报告。

三、实验内容及步骤

1.MATLAB的基本操作

(1)MATLAB命令窗口

计算机安装好MATLAB之后,双击MATLAB图标,即进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。

MATLAB语句形式为:

》变量=表达式

但键入回车时,该语句被执行。

该语句执行之后,窗口自动显示出执行语句的结果。

如果不希望结果显示在命令窗口,只需要在该语句之后加一个分号“;”即可。

此时尽管没有显示结果,但它依然被赋值并在MATLAB的工作空间中分配了内存。

注意:

a.用方向键和控制键可以编辑修改已输入的命令。

b.用命令窗口的分页输出“moreoff”表示不允许分页;“moreon”表示允许分页;“more(n)”指定每页输出的页数。

c.多行命令为“…”。

(2)变量

变量的名字必须以字母开头,之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含标点符号。

MATLAB规定了一些特殊的变量,如果没有特别定义,将其表示为默认值。

(3)数值显示格式

任何MATLAB语句执行的结果都可以显示在屏幕上,同时赋值给指定的变量;没有指定变量时,赋值给一个特殊的变量“ans”。

数据显示格式由“format”命令控制。

(4)简单的数学运算

常用的数学运算符有“+”,“-”,“*”,“\”(左除),“/”(右除),“^”(幂)。

在运算式中,MATLAB通常不需要考虑空格,多条指令可以放在一行中,它们之间需要用标点符号隔开,用逗号告诉MATLAB显示结果,而分号表示禁止结果显示。

(5)工作空间

MATLAB的工作空间包含了一组可以在命令窗口中调整的参数。

Who:

显示当前工作空间中所有变量的一个简单列表。

Whos:

列出变量的大小、数据格式等详细信息。

Clear:

清除工作空间所有的变量。

Clear变量名:

清除指定的变量。

Quilt或exit:

退出工作空间。

(6)帮助

使用帮助可以用菜单命令“help”,也可以在命令窗口中使用命令“help”在命令窗口显示特定帮助的内容。

2.MATLAB的绘图

(1)基本的绘图命令

Plot(x1,y1,’option’,x2,y2,’option’,…)

此绘图函数以逐点连折线的方式绘制了一个二维图,同时类似的绘制了第二个二维图等。

这是plot命令的完整格式,在实际应用中可以根据实际需要进行简化。

(2)选择图形命令

Figure

(1),figure

(2),……,figure(n):

打开不同的图形窗口,以绘制不同的图形。

(3)栅格控制命令

Gridon:

在所画的图形坐标中加入栅格。

Gridoff:

除去图形坐标中的栅格。

(4)图形保持命令

Holdon:

把当前图形保持在屏幕上不变,同时允许在这个坐标上绘制另外的图形。

Holdoff:

使新的图形覆盖旧的图形。

(5)设定轴的范围命令

Axis([xminxmaxyminymin]):

设定x,y轴的范围。

Axis(‘equal’):

将x坐标轴和y坐标轴的单位刻度大小调整为一致。

(6)文字表示命令

Text(x,y,’字符串’):

在图形的制定(x,y)处,标示单引号中的字符串。

Gtext(‘字符串’):

利用鼠标在图形的某一位置表示字符串。

title(‘字符串’):

在所画图形中的最上端显示说明的标题。

xlabel(‘字符串’),ylabel(‘字符串’):

设置x,y坐标轴的名称。

(7)分割图形显示窗口

Subplot(m,n,k):

m为上下分割的个数,n为左右分割的个数,k为子图的标号。

3.绘图举例

具体程序如下:

%用不同的线型在同一坐标系内绘图

clear;

t=0:

pi/100:

2*pi;

y1=sin(t);

y2=sin(t–0.35);

y3=sin(t–0.7);

plot(t,y1,’:

’,t,y2,‘--’,t,y3,‘-’);

holdon;

y4=sin(t–1.05);

plot(t,y4,‘-.’);

axis([-17-1.21.2]);

四、实验报告要求

实验2基于MATLAB的系统建模

一、实验目的

1.熟悉如何建立简单的控制系统的数学模型。

2.掌握连续系统的传递函数的各种表示方法。

3.掌握运用各种不同的典型环节组成。

二、实验要求

1.根据MATLAB所提供的描述传递函数的相关指令,自己可构建各种传递函数的数学模型,并学会多种传递函数的转换指令。

2.根据实验目的,推导出各环节的传递函数。

三、实验内容及步骤

在线性系统理论中,一般常用的数学模型形式有:

传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。

这些模型之间可以相互转化。

1.连续系统的传递函数模型

该系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别由“num”和“den”表示,如:

num=[b1,b2,……,bm];

den=[a1,a2,……,am];

2.零极点增益模型

零极点增益模型实际上是传递函数模型的另一种表示方法。

其传递函数为:

在MATLAB中,零极点增益模型用[z,p,k]矢量表示,即

z=[z1,z2,……zm];

p=[p1,p2,……,pn];

k=[k];

函数tf2zp()可以用来求传递函数的零极点和增益。

3.模型的转换及连接

例:

已知一个系统的传递函数模型为:

num=[00-2;0-1-5;120];den=[16116];

[A,B,C,D]=tf2ss(num,den)

A=-6-11-6B=1C=00-2D=0

10000-1-50

01001200

(1)并联:

parallel

格式:

[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)%并联连接两个状态空间系统。

[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2)%inp1和inp2分别指定两系统中要连接在一起的输入端编号,从u1,u2,…,un依次编号为1,2,…,n;out1和out2分别指定要作相加的输出端编号,编号方式与输入类似。

inp1和inp2既可以是标量也可以是向量。

out1和out2用法与之相同。

如inp1=1,inp2=3表示系统1的第一个输入端与系统2的第三个输入端相连接。

若inp1=[13],inp2=[21]则表示系统1的第一个输入与系统2的第二个输入连接,以及系统1的第三个输入与系统2的第一个输入连接。

[num,den]=parallel(num1,den1,num2,den2)%将并联连接的传递函数进行相加。

(2)串联:

series

格式:

[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)%串联连接两个状态空间系统。

[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2,out1,in2)%out1和in2分别指定系统1的部分输出和系统2的部分输入进行连接。

[num,den]=series(num1,den1,num2,den2)%将串联连接的传递函数进行相乘。

(3)反馈:

feedback

格式:

[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2)%将两个系统按反馈方式连接,一般而言系统1为对象,系统2为反馈控制器。

[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)%系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入,sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign=-1。

总系统的输入/输出数等同于系统1。

[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1)%部分反馈连接,将系统1的指定输出out1连接到系统2的输入,系统2的输出连接到系统1的指定输入inp1,以此构成闭环系统。

[num,den]=feedback(num1,den1,num2,den2,sign)%可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。

sign的含义与前述相同。

(4)闭环:

cloop(单位反馈)

格式:

[ac,bc,cc,dc]=cloop(a,b,c,d,sign)%通过将所有的输出反馈到输入,从而产生闭环系统的状态空间模型。

当sign=1时采用正反馈;当sign=-1时采用负反馈;sign缺省时,默认为负反馈。

[ac,bc,cc,dc]=cloop(a,b,c,d,outputs,inputs)%表示将指定的输出outputs反馈到指定的输入inputs,以此构成闭环系统的状态空间模型。

一般为正反馈,形成负反馈时应在inputs中采用负值。

[numc,denc]=cloop(num,den,sign)%表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。

四、思考题

试将该传递函数转化为零极点形式。

五、实验报告要求

实验3基于MATLAB的时域及稳定性分析

一、实验目的

1.熟悉各种典型控制系统的阶跃响应曲线。

2.掌握如何用MATLAB对典型控制系统进行仿真和分析。

3.熟悉用MATLAB/simulink对典型控制系统模拟电路进行仿真。

二、实验要求

1.观测不同参数下二阶系统的阶跃响应。

2.学会利用MATLAB对典型控制系统的仿真。

三、实验内容及步骤

1.典型二阶系统的时域分析

多项式建模方法创建单个方框模块,用MATLAB控制系统工具箱中的连接函数进行控制系统的建模,用阶跃响应、冲激响应和任意函数对其进行仿真。

例:

典型二阶系统如下

分析:

(1)单位冲激响应

t=[0:

0.1:

40]

num=[1]

den=[1,0.3,1]

impulse(num,den,t)

gridon

其响应曲线如下图所示:

图1单位冲激响应曲线图

(2)单位阶跃响应

t=[0:

0.1:

40]

num=[1]

den=[1,0.3,1]

u=sin(t)

y=tf(num,den)

step(num,den,t)

gridon

图2单位阶跃响应曲线

(3)任意函数响应

t=[0:

0.1:

40]

num=[1]

den=[1,0.3,1]

u=sin(t)

y=tf(num,den)

lsim(y,u,t)

gridon

图3任意函数响应曲线

2.控制系统的稳定性分析

在控制系统的稳定性分析中,用劳斯判据和赫尔维茨判据分析系统的稳定性比较简单,但计算机编程较为复杂。

MATLAB提供了直接求取系统所有零极点的函数,因此可以直接根据系统的零极点分布情况来分析系统的稳定性。

指令函数如下:

i=find(real()):

用来求取满足条件的向量的下标量,以列向量表示。

pzmap(p,z):

根据系统已知的零极点p和z绘制系统的零极点图。

例:

控制系统传递函数如下示

分析:

num=[1,-1,2,1];

den=[1,2,3,1,4];

sys=tf(num,den);

pzmap(sys);

图4系统的零极点图

四、思考题

请分析该传递函数的稳定性。

五、实验报告要求

实验4基于MATLAB的频域及根轨迹分析

一、实验目的

1.掌握控制系统的根轨迹和频率特性两大分析和设计方法。

2.熟悉用MATLAB对根轨迹和频率特性进行仿真和分析。

二、实验要求

1.观察给定传递函数的根轨迹图和频率特性曲线。

2.分析同一传递函数形式,当K值不同时,系统闭环极点和单位阶跃响应的变化情况;K值的大小对系统的稳定性和稳态误差的影响。

3.分析增加系统开环零点或极点对系统的根轨迹和性能的影响。

三、实验内容及步骤

1.使用MATLAB控制系统工具箱“rlocus”命令来计算及绘制根轨迹。

会出根轨迹后,可以交互地使用“rlocfind”命令来确定点击鼠标所选择的根轨迹上任意点所对应的K值,K值所对应的所有闭环极点值也可以使用形如“[K,PCL]=rlocfind(G1)”命令来显示。

2.波特图:

bode(G1,omga)

3.奈奎斯特图:

nuquist(G,omega)

例:

按照该实验的要求,绘制出bode和nyquist图,控制系统的传递函数如下示:

G11=zpk([-10],[-5;-1-I;-1+i],2)

G12=G11*15

t=0:

0.1:

10

y11=step(G11,t)

y12=step(G12,t)

subplot(2,2,1)

plot(t,y11,‘k’,t,y12)

title(‘step’)

xlabel(‘time(sec)’)

ylabel(‘voltage(V)’)

subplot(2,2,2)

rlocus(G11)

subplot(2,2,3)

bode(G11)

grid

subplot(2,2,4)

nyquist(G11)

grid

图5系统频域及根轨迹图

四、思考题

请绘制下述传递函数的bode图和nyquist图。

五、实验报告要求

printsyszp2tf,tf2zp

feedbackseriesparallel

helpcontrol非常重要

传递函数数学模型

零极点数学模型

实验报告

1.试利用程序显示如下传递函数(编程)。

>>z=[10]

z=10

>>p=[-5-169]

p=

-5-169

>>sys=zpk(z,p,200)

sys=

200(s-10)

------------------

(s+5)(s+16)(s-9)

2.试说明你如何利用matlab来进行控制系统分析和设计。

解:

在分析控制系统的性能指标时,经常用到的方法有时域分析法、根轨迹法以及频域分析法。

时域法通过直接求解控制系统的响应曲线来分析系统性能;而根轨迹法则是分析研究某些参数变化对闭环特征根的影响;频域法则是根据系统的开环频率特性判断闭环系统的影响,同时分析参数对暂态的影响。

在上述几种方法中,图解法有很重要的作用。

通过matlab,我们可以轻松地描绘出系统的响应曲线,根轨迹以及幅频特性曲线来分析系统性能。

3.试求出G(s)的阶跃响应,单位脉冲响应,Bode图。

(1)单位阶跃响应:

t=[0:

0.1:

40]

num=[1]

den=[111]

u=sin(t)

y=tf(num,den)

step(num,den,t)

gridon

 

(2)单位脉冲响应:

>>t=[0:

0.1:

40]

>>num=[1]

>>den=[111]

>>impulse(num,den,t)

>>gridon

 

 

(3)Bode图:

num=[1]

den=[111]

y=tf(num,den)

bode(y)

4.试利用零极点图判断G(s)系统的稳定性。

z=[10]

p=[-5-169]

y=zpk(z,p,200)

pzmap(y)

如图s平面的右半边有零极点,所以系统不稳定

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2