实验二最少拍控制系统设计2015
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二最少拍控制系统设计2015 实验二基于MATLAB的最少拍控制系统设计一、实验目的:
1(掌握最少拍有纹波、无纹波系统的设计方法;
2(学会对最少拍控制字体的分析方法;
3(了解输入信号对最少拍控制系统的影响及改进措施
二、实验内容:
设单位反馈线性定常系统的连续部分和零阶保持器的传递函数分别为:
,sTe21,, GsG(s),(),0hss(s,1)
,采样周期T=1秒。要求系统在单位阶跃输入时实现最少拍控制,求数字控制器的脉冲传递函数。讨D(z)论加上控制器后的系统输出在采样点之间是否存在纹波,若存在纹波,请设计最少拍无纹波控制器。系统结构如图: Ys()R(s)D(z)Gs()G(s)h0T-
例:
Ys()R(s)D(z)Gs()G(s)h0T-
设单位反馈线性定常系统的连续部分和零阶保持器的传递函数分别为:
,sTe11,Gs, G(s),(),0hss(s,1)
,采样周期T=1秒。要求系统在单位斜坡输入时实现最少拍控制,求数字控制器的脉冲传递函数。讨D(z)论加上控制器后的系统输出在采样点之间是否存在纹波,若存在纹波,请设计最少拍无纹波控制器。 1、设计最少拍控制器: 步骤:(1)确定有零阶保持器的广义对象G(z)
clear all;
Close all;
clc;
G=zpk([],[0,-1],1); %零极点形式的被控对象
T=1; %采样周期
Gd=c2d(G,T,'zoh'); %广义被控对象脉冲传函
广义被控对象的脉冲传递函数为:
0.36788 (z+0.7183)
------------------
(z-1) (z-0.3679)
可知,广义被控对象没有单位圆外的零极点,也没有纯滞后。即i=j=l=0。 (2)输入为单位斜坡时,m=2,s=j+m=2,t=l+i=0 最少拍系统应具有的误差脉冲传递函数、闭环脉冲传递函数分别为:
,1,2 ,(z),mz,mz12
,12 1()(1),,,,zz求待定系数,得:
2z,112,,,(z),2z,z,2 z
2z,2z,1,1,2 1,,(z),1,2z,z,2z
(3)确定数字控制器 D(z)
,()z Dz(),Gzz()1()][,,
(4)闭环系统输出: YzRzzUzGz()()()()(),,,,,
数字控制器的输出: U(z),E(z),D(z)
程序:
clear all;
clc;
G=zpk([],[0,-1],1); %零极点形式的被控对象 t=0:0.01:10;
u=t; %单位斜坡输入
figure(1);
lsim(G,u,t); %求未加控制器时系统的单位斜坡响应 title('未加控制器时开环系统的单位斜坡响应,灰线:系统输入;蓝线:系统输出');
T=1; %采样周期
Gd=c2d(G,T,'zoh'); %广义被控对象脉冲传函
phie=tf([1 -2 1],[1 0 0],T); %误差脉冲传函 phi=tf([0 2 -1],[1 0 0],T); %闭环脉冲传函 D=phi/(Gd*phie); %数字控制器脉冲传函D(z)
Phie,phi,Gd,D
[num1,den1]=tfdata(Gd,'v');
[num2,den2]=tfdata(D,'v');
ud_1=0;ud_2=0;ud_3=0;ud_4=0;ud_5=0;
yd_1=0;yd_2=0;
ed_1=0;ed_2=0;ed_3=0;ed_4=0;ed_5=0;
for k=1:1:35
time(k)=k*T;
rin(k)=k*T; %单位斜坡信号
%加数字控制器的差分方程
yd(k)=num1(2)*ud_1+num1(3)*ud_2-den1(2)*yd_1-den1(3)*yd_2;
ed(k)=rin(k)-yd(k); %求偏差
%数字控制器的差分方程
ud(k)=(num2(1)*ed(k)+num2(2)*ed_1+num2(3)*ed_2+num2(4)*ed_3+num2(5)* ed_4+num2(6)*
ed_5-den2(2)*ud_1-den2(3)*ud_2-den2(4)*ud_3-den2(5)*ud_4-
den2(6)*ud_5)/den2(1);
%数据更新
ud_5=ud_4;ud_4=ud_3;ud_3=ud_2;ud_2=ud_1;ud_1=ud(k);
ed_5=ed_4;ed_4=ed_3;ed_3=ed_2;ed_2=ed_1;ed_1=ed(k);
yd_2=yd_1;yd_1=yd(k);
end
yd,ud
figure(2);
plot(time,rin,'r',time,yd,'b',time,ud,'k');
xlabel('time');
ylabel('rin,yd,ud');
title('加数字控制器后单位速度信号的闭环响应及数字控制器的输出'); text(3,23,'红线:系统输入;蓝线:系统输出;黑线:控制器输出');
未加控制器时开环系统的单位斜坡响应,灰线:系统输入;蓝线:系统输出90
80
70
60
50
40AmplitudeSystem: GTime (seconds): 5.95Amplitude: 25.530
20
10
0012345678910
Time (seconds)
由图可知,未加控制器的开环系统是不稳定的。输入按照单位斜坡变化,而输出与输入的差异越来越大。
不能稳定。为实现最少拍控制,需加控制器。