计算机控制原理实验报告详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机控制原理实验报告

姓名:

学号:

班级:

指导教师:

完成时间:

实验一 二阶系统闭环参数n ω和ξ对时域响应的影响

一、实验目的

1.研究二阶系统闭环参数

n

ω和ξ对时域响应的影响

2.研究二阶系统不同阻尼比下的响应曲线及系统的稳定性。 二、实验要求

1. 从help 菜单或其它方式,理解程序的每个语句和函数的含义;

2.分析ξ对时域响应的影响,观察典型二阶系统阻尼系数ξ在一般工程系统中的选择范围; 三、实验内容

1、如图1所示的典型二阶系统,其开环传递函数为)

2s(s G(S)2

n n ξωω+=,其中,

无阻尼自然震荡角频率n ω=1,ξ为阻尼比,试绘制ξ分别为0, 0.2, 0.4, 0.6, 0.9, 1.2, 1.5时,其单位负反馈系统的单位阶跃响应曲线(绘制在同一张图上)。

图1 典型二阶系统方框图

2、程序代码 wn=1;

sigma=[0,0.2,0.4,0.6,0.9,1.2,1.5];(1) num=wn*wn;

t=linspace(0,20,200)';(2) for j=1:7(3)

den=conv([1,0],[1,2*wn*sigma(j)]);(4) s1=tf(num,den);(5) sys=feedback(s1,1)(6);

y(:,j)=step(sys,t);(7)

end

plot(t,y(:,1:7));(8)

grid;(9)

gtext('sigma=0');(10)

gtext('sigma=0.2');

gtext('sigma=0.4');

gtext('sigma=0.6');

gtext('sigma=0.9');

gtext('sigma=1.2');

gtext('sigma=1.5');

3、代码函数理解分析

(1)给ξ赋值。

(2)用于创建向量。linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。

(3)给j赋值1至7。

ω),并赋值给den。

(4)做多项式的乘积(卷积),用来表示s(s+2ξ

n

(5)定义开环传递函数,num做分子,den做分母。

(6)ys=feedback(sys1,sys2),其中sys1是对象,sys2代表负反馈线路中的传递函数,也就是后所sys = feedback(sys1,2)意思是指对sys1系统进行负反馈,负反馈增益为2,sys = feedback(sys1,1)意思是对sys1进行单位负反馈。

(7)求系统在时间t内的单位阶跃响应。

(8)作图,以t为横坐标,y为纵坐标做7条曲线。

(9)网格显示。

(10)点击显示sigma的值。

4、曲线图

四、实验结论

从二阶系统的脉冲响应曲线可以看出:

无阻尼响应(sigma=0)为等幅震荡,没有调节作用;

过阻尼和临界阻尼(sigma>=1)是单调衰减的,不存在超调的现象;

欠阻尼(0

实验二开环参数K和T对系统动态性能及稳定性的影响

一、实验目的

研究开环参数K和T对系统动态性能及稳定性的影响。

二、实验要求

1. 推导单位负反馈系统的闭环传递函数;

ω、ξ的关系式;

2. 对比二阶系统的典型传递函数,找出K、T与

n

ω、ξ的关系;

3. 从2中的关系式中分析K、T与

n

4. 实验参数设定T=1,试绘制K分别为0.1, 0.2, 0.5, 0.8, 1.0, 2.4时,其单位负反馈系统的单位阶跃曲线(绘制在同一张图上);

5. 从help菜单或其它方式,制作PPT讲解程序的每个语句和函数的含义;

三、实验内容

K,其中,K为回路增益,1、对一般的二阶系统而言,其开环传递函数为)1

s

Ts

(+

通常是可调节的,T为时间常数,通常由被控对象的特性决定,一般是不可以改变的。

2、由已知条件可以求得随动系统的闭环传递函数为

K

S S T K

s M ++=

2)(ψ

其中T M 为机电时间常数,K 为开环增益。 二阶系统的单位阶跃响应的标准形式为:

0)

( 2c(s) 2

22

n

=++=

ξωξωωn

n s s

两个表达式对比可以得出:

K

T T K

w M M

n 21

=

=

ξ

3、程序代码 T=1;

K=[0.1,0.2,0.5,0.8,1.0,2.4];(1) t=linspace(0,20,200)(2) num=1;

den=conv([1,0],[T,1]);(3) for j=1:6(4)

s1=tf(num*K(j),den);(5) sys=feedback(s1,1);(6) y(:,j)=step(sys,t);(7) end

plot(t,y(:,1:6));(8) grid;(9)

gtext('K=0.1');(10) gtext('K=0.2'); gtext('K=0.5'); gtext('K=0.8'); gtext('K=1.0'); gtext('K=2.4');

4、代码函数理解分析

(1)K 取值分别为0.1,0.2,0.5,0.8,1.0,2.4;

(2)用于创建向量。linspace 是Matlab 中的一个指令,用于产生x1,x2之间的N 点行矢量。其中x1、x2、N 分别为起始值、终止值、元素个数。若缺省N ,默认点数为100。

(3)卷积,用于表示S(TS+1)。

相关文档
最新文档