仿真实验报告

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

控制系统设计与仿真

实验报告

专业:自动化

班级:5班

姓名:夏肇平

学号:306

第一次上机实验任务

2、采用四阶龙格库塔法求如下二阶系统的单位脉冲响应的数值解。

22

2

()2n

n n

G s s s ωξωω=++,0.5,10n ξω== 3、采用四阶龙格库塔法求高阶系统阶单位跃响应曲线的数值解。

22

2()(2)(1)

n

n n

G s s s Ts ωξωω=

+++,0.5,10n ξω==,5T =

4、 自学OED45指令用法,并求解题2中二阶系统的单位阶跃响应。

程序:y=RKT2(0.1,5,[0 1;-100 -10],[0;100],[0;0]);

y=RKT3(0.1,20,[0,1,0;0,0,1;-20,-102,-10.2],[0;0;20],[0;0;0]); [t,y]=ode45('func',[0,1],[0,0]);plot(t,y); M 文件

function y=RKT2(h,T,A,B,Y) YY=Y; for t=0:h:T; if (t<=1) u=1; else u=0; end

K1=A*YY+B*u;

K2=A*[YY+h/2*K1]+B*u; K3=A*[YY+h/2*K2]+B*u; K4=A*[YY+h*K3]+B*u;

YY=YY+h/6*(K1+2*K2+2*K3+K4); Y=[Y YY]; end y=Y(1,:); t=0:h:(T+h);

function y=RKT3(h,T,A,B,Y)

YY=Y; for t=0:h:T; K1=A*YY+B;

K2=A*[YY+h/2*K1]+B; K3=A*[YY+h/2*K2]+B; K4=A*[YY+h*K3]+B;

YY=YY+h/6*(K1+2*K2+2*K3+K4); Y=[Y YY]; end y=Y(1,:); t=0:h:(T+h); plot(t,y)

function yp=func(t,y) yp=[0;0]; yp(1)=y(2);

yp(2)=100-10*y(2)-100*y(1); end

实验结果图像:

1

2

3

4

5

6

-0.2

0.2

0.4

0.6

0.8

1

1.2

5

10

15

20

25

00.1

0.20.30.40.50.6

0.70.80.9

10

0.10.20.30.40.50.60.70.80.91

第二次上机任务

1、试用simulink 方法解微分方程,并封装模块,输出为i x 。得到各状态变量的

时间序列,以及相平面上的吸引子。

112322331223x x x x x x x x

x x x x αββγ=-+⎧⎪=-+⎨⎪=-+-⎩&&&

参数入口为,,αβγ的值以及i x 的初值。(其中8/3,10,28αβγ===,以及初值分

别为1230,0,0.001x x x ===) 提示:

1

s

模块输入是输出量的微分。

模块的封装图:

封装内部结构图:

各状态的时间曲线图:

吸引子:

2、用simulink搭建PI控制器的控制回路,被控对象传递函数:

1

51

s+

,分别分

(1)、比例系数由小到大以及积分时间由小到大对阶跃响应曲线的影响。

(2)、控制器输出有饱和以及反馈有时滞情况下,阶跃响应曲线的变化。

(3)、选做:主控制回路传递函数为:

1

201

s+

,副回路为:

1

51

s+

,主回路

采用PI控制器,副回路采用P控制器,分析控制系统对主回路以及副回路的阶

跃扰动的抑制。注:PI控制器表达式为

1

()(1)()

i

U s Kp E s

T s

=+,串级控制如图所

示。

(1) 被控对象为

1

51

s+

时,搭建的模型如下:

封装好的子模块模型如下:

A.Ti=0.1保持不变时,比例系数Kp由小到大变化时对阶跃响应曲线的影响: Kp=1时:

Kp=3时:

Kp=5时:

Kp=20时:

B.Kp=1保持不变时,积分时间Ti由小到大变化时对阶跃响应曲线的影响:

Ti=0.1时:

Ti=0.5时:

Ti=1时:

Ti=2时:

(2) 控制器输出有饱和以及反馈有时滞情况下搭建的模型如下:

设置反馈时滞时间Ʈ=0.5s。

饱和模块设置饱和系数改变时阶跃响应曲线如下所示:a.饱和值=1时

b.饱和值=1.5时

c.饱和值=3时

(3)

不加扰动,主回路加扰动,副回路加扰动,主副回路都加扰动响应曲线

3、编写S函数模块,实现两路正弦信号的叠加,正弦信号相位差为60度。

a.编写的名为addsin的S函数程序如下:

function [sys,x0,str,ts,simStateCompliance] = addsin(t,x,u,flag,A) A=[1,1];

switch flag,

case 0,

[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;

case 1,

sys=mdlDerivatives(t,x,u,A);

case 2,

sys=mdlUpdate(t,x,u,A);

case 3,

sys=mdlOutputs(t,x,u,A);

case 4,

相关文档
最新文档