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