最少拍控制系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机控制技术
--基于Matlab的最少拍控制系统设计
学院:计算机科学与技术
班级:计科0902班
学号:
姓名:
指导老师:
日期: 2012年12月15日
一、实验目的:
1.学习使用Matlab 设计最少拍控系统的方法; 二、实验工具:
X86系统兼容型计算机、MATLAB 软件。 三、实验内容: 1.实验原理
最少拍设计,是指系统在典型输入信号(如阶跃信号、速度信号、加速度信号等)作用下,经过最少拍(有限拍)使系统输出的系统稳态误差为零。因此,最少拍控制系统也称最少拍无差系统或最少拍随动系统,它实质上是时间最优控制系统,系统的性能指标就是系统调节时间最短或尽可能短,即对闭环Z 传递函数要求快速性和准确性。下面以一个具体实例介绍最少拍系统的设计和仿真。
考虑图1所示的采样数字控制系统,被控对象的脉冲传递函数为
0210
G ()(1)
s s s =+
图0 最少拍采样数字控制系统
设采样周期T=1s ,首先求取广义被控对象的脉冲传递函数: 广义被控对象
2
11
1211
1111110
()[](1)
11
(1)10[](1)110.36793.679(10.718)(1)(10.3679)
Ts e G z Z s s s z z z z z z z z z -----------=+=-⨯-+---+=
--
我们知道,最少拍系统是按照指定的输入形式设计的,输入形式不同,数字控制器也不同。因此,对三种不同的输入信号分别进行考虑: ① 单位阶跃信号:
计算可得到最少拍数字控制器为
11
11
()()1()0.2712(10.3679))
()()(1())10.718e z z z z z z D z G z z z ----Φ=Φ=-Φ-==
-Φ+
检验误差序列:
()(1())()1E z z R z =-Φ=
由误差的变换函数得知,所设计的系统当k>1后,e (k )=0就是说,一拍以后,系统输出等于输入,设计正确。 ② 单位速度信号:
原理同上,我们可以得到:
1111()0.5434(10.5)(10.3679)
()()(1())(1)(10.718)
z z z D z G z z z z ----Φ--==-Φ-+
检验误差:
1()(1())()E z z R z z -=-Φ=
从E(z)看出,按单位速度输入设计的系统,当k 大于等于2之后,即二拍之后,误差e (k )=0,满足题目要求。 ② 单位加速度信号:
12112112()0.8154(11/3)(10.3679)
()()(1())(1)(10.718)()(1())()0.5()
z z z z D z G z z z z E z z R z z z -------Φ-+-==
-Φ-+=-Φ=+ 可知,按加速度输入信号设计的系统当k 大于等于3,即三拍之后,误差e (k )=0。
2.实验设计
将所得结果分别用Matlab 中的Simulink 工具箱进行仿真,并将输入、输出和误差三条曲线放置在同一图像内,比较三种情况下的跟随特性。 四、实验步骤:
在三种输入(单位阶跃/速度/加速度)分别作用下,运用Simulink 对其控制结果进行仿真。
(a )有波纹控制系统
① 单位阶跃信号:
系统Simulink 仿真模型框图如图1 所示: 可得更加清晰的仿真结果如图1-1所示:
图1 单位阶跃信号输入时最少拍控制系统
将示波器的数据存为矩阵形式,命名为y1
在Matlab 命令窗口输入:
>> plot(tout(:,1),y1(:,2:4));
>> hold on,legend(' 输入','误差','输出')
可得输入、输出和误差三条曲线结果图如下所示:
图1-1 单位阶跃信号输入时系统的仿真结果
②单位速度信号:
控制系统Simulink 框图如图2 所示:
图2 单位速度信号输入时最少拍控制系统
将示波器的数据存为矩阵形式,命名为y2
在Matlab 命令窗口输入
>> plot(tout(:,1),y2(:,2:4));
>> hold on,legend(' 输入','误差','输出')
仿真结果为
图2-2 单位速度信号输入时系统的仿真结果
③单位加速度信号:
控制系统Simulink 框图如图3 所示:
图3 单位加速度信号输入时最少拍控制系统
将示波器的数据存为矩阵形式,命名为y3
在Matlab 命令窗口输入
>> plot(tout(:,1),y3(:,2:4));
>> hold on,legend(' 输入','误差','输出')
仿真结果图如图3-3 所示。
图7 单位加速度信号输入时系统的仿真结果
(b)无波纹控制系统
》》无波纹最小拍控制器的计算
G s通过matlab,z变换程序为(1)带零阶保持器的广义被控对象为()
np=[0 0 10]; dp=[1 1 0]; hs=tf ( np, dp); hz=c2d(hs,1) 结果为
Transfer function: 3.679 z + 2.642 ---------------------- z^2 - 1.368 z + 0.3679
Sampling time: 1 即
2
3.679z 2.642
G(z)= 1.3680.3679z z +-+
(2)无波纹最小拍控制器D (z )
根据G(z),对象有一个纯迟后因子v=1,一个零点10.718b =-,两个极点,单位速度
信号2l =,所以q=1,则闭环脉冲传递函数为
11101()(10.718)()
z z z z φφ---Φ=++
由
01(1)(10.718)()
φφΦ=++
01
'(1) 2.436 4.154φφΦ=+
得系数0
1.407φ=,10.825φ=-,则系统脉冲传函为
111
() 1.407(10.718)(10.586)z z z z ---Φ=+- 误差脉冲传函为
121
()(1)(10.593)e z z z --Φ=-+ 由*z e
D G φ
φ=得设计的控制器为
220.3820.3640.0824
()0.4070.593z z D z z z -+=
--
①单位阶跃信号
》》无波纹最小拍控制系统框图