计算机控制原理实验报告详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)。