控制系统仿真实验报告

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

采样控制系统仿真实验报告

姓名胡晓健

班级13

学号08001331

课题内容

1、应用采样工作原理和离散控制系统设计方法设计采样控制系统。

2、掌握采样控制系统的特点及采样控制系统仿真的特殊问题,运用采样控制系统数字仿真的一般方法(差分方程递推求解法和对离散、连续部分分别计算的双重循环法)及Simulink 对系统进行仿真。

3、给出仿真设计方案和仿真模型。

4、仿真分析。 具体内容:

采样控制系统如下图所示:

一. 设计要求

① 设被控对象s

s

s G o +=

2

1)(,采用零阶保持器,数字控制器为5

.015.2)(+-=

z z z D ,采样周期

T=0.1s 。应用差分方程递推求解法求系统输出的单位阶跃响应,并求其超调量、上升时间、峰值时间。

设计方案和实现

差分方程递推求解法

在构成采样控制仿真模型时,若连续部分不要求计算内部状态变量或不含非线性环节,则可以同样的采样周期分别建立离散部分和连续部分的差分方程,然后采用差分方程递推求解。

由题意可知被控对象不含非线性环节且不要求计算其内部状态变量,为了简化仿真过程并提高仿真精度,将连续部分的离散化模型嵌入到整个仿真模型中,即求出系统闭环脉冲传递函数(离散化模型),得到系统的差分方程后递推求解

由题意得数字控制器(离散部分)为

5

.015.2)(+-=

z z z D

求解传递函数的程序如下:

Ts=0.1 %采样周期

num1=[1]

den1=[1,1,0]

G1c=tf(num1,den1)

G1d=c2d(G1c,Ts) %采用零阶保持法进行系统变换G2d=tf([2.5 -1],[1 0.5],0.1)

Gd=G1d*G2d

GHd=feedback(Gd,1) %建立闭环系统模型

Ts =

0.1000

num1 =

1

den1 =

1 1 0

%G1c的传递函数

Transfer function:

1

-------

s^2 + s

%G1c转换后的Z传递函数

Transfer function:

0.004837 z + 0.004679

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

z^2 - 1.905 z + 0.9048

Sampling time: 0.1

%G2d的传递函数

Transfer function:

2.5 z - 1

---------

z + 0.5

Sampling time: 0.1

%开环系统的Z传递函数

Transfer function:

0.01209 z^2 + 0.00686 z - 0.004679

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

z^3 - 1.405 z^2 - 0.04758 z + 0.4524

Sampling time: 0.1

%闭环系统的Z 传递函数 Transfer function:

0.01209 z^2 + 0.00686 z - 0.004679 ------------------------------------

z^3 - 1.393 z^2 - 0.04072 z + 0.4477

Sampling time: 0.1

由上式可知

当采样周期为T =0.1s 时,连续部分的脉冲传递函数为

系统闭环脉冲传递函数

系统差分方程为

求解差分方程的MATLAB 程序如下

clear all

m=2;n=3; % 明确脉冲传递函数分子m=2;分母n=3 A=[-1.393 -0.04072 0.4477]; % 脉冲传递函数分母多项式的系数行向量 B=[0.01209 0.00686 -0.004679]; % 脉冲传递函数分子多项式的系数行向量

R=zeros(m+1,1); % 建立参与递推运算的输入信号序列存储列向量

Y=zeros(n,1); % 建立参与递推运算的输出信号序列存储列向量 T=0.1; % 明确采样周期T =0.1s

M=150; % 设定仿真总时间为M*T=15s(进行M=150次递推计算) yt=0;t=0;

for k=1:M

R(k)=1; % r (t )=1(t )的离散序列R(0)=R(1)=…R(k)=1 R=[R(k);R(1:m)];

% 刷新参与递推运算的输入信号序列 yk=-A*Y+B*R; % 递推运算

2

1

2

19048.0905.1104679.0004837.0)(----+-+=

z

z

z z z G 3

213

2

1

4477.004072.0393.11004679.000686.001209.0)()(1)

()()()

()(------+---+=+==z

z z z

z

z

z G z D z G z D z R z Y z G cl )3(004679.0)2(00686.0)1(01209.0)3(4477.0)2(04072.0)1(393.1)(---+-+---+-=k k r k r k y k y k y k y

相关文档
最新文档