f?0.7183m
解方程组,得m=1/1.7183;f=0.7183/1.7183;即得
10.7183z??(z)?1.718321.7183z 10.7183z2?z?1.71831.71831??(z)?2z
(3)确定数字控制器D(z)
D(z)??(z)
G(z)[1??(z)](4)闭环系统输出:Y(z)?R(z)??(z)?U(z)?G(z)
数字控制器的输出:U(z)?E(z)?D(z)
程序:
clear all; close all; clc;
G=zpk([],[0,-1],1); %%零极点形式的被控对象 T=1; %采样周期
Gd=c2d(G,T,'zoh'); %广义被控对象脉冲传函
%求误差脉冲传函及闭环脉冲传函
phi=tf([1/1.7183 0.7183/1.7183],[1 0 0],T); %闭环脉冲传函 phie=tf([1 -1/1.7183 -0.7183/1.7183],[1 0 0],T); %误差脉冲传函 D=phi/(Gd*phie); %数字控制器脉冲传函D(z) Gd,D,phie,phi
[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:25 time(k)=k*T;
rin(k)=1; %单位阶跃信号
%加数字控制器的差分方程
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(1);
plot(time,rin,'r',time,yd,'b',time,ud,'k'); xlabel('time'); ylabel('rin,yd,ud');
title('加数字控制器后单位阶跃信号的闭环响应及数字控制器的输出'); text(1.5,1.5,'红线:系统输入;蓝线:系统输出;黑线:控制器输出');
加数字控制器后单位阶跃信号的闭环响应及数字控制器的输出21.5红线:系统输入;蓝线:系统输出;黑线:控制器输出1du,dy0.5,nri0-0.5-10510152025time
系统输出序列: yd =
Columns 1 through 10
0 0.5820 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
Columns 11 through 20
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
Columns 21 through 25
1.0000 1.0000 1.0000 1.0000 1.0000 控制器输出序列: ud =
1.0000 1.0000 1.0000 1.0000
Columns 1 through 10
1.5820 -0.5819 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
Columns 11 through 20
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
由图可以看出,此时调节时间变为2s,调节时间比原来延长1拍,但其控制器输出也在2拍后变为恒定值,可以保证2拍后,输出不仅在采样点上与输入相同,还在采样点间保证相同,实现输出无纹波。 广义被控对象脉冲传函: 0.36788 (z+0.7183) ------------------ (z-1) (z-0.3679) 闭环脉冲传函为: 0.582 z + 0.418 --------------- z^2
误差脉冲传函为:
z^2 - 0.582 z - 0.418 --------------------- z^2 数字控制器为:
1.582 z^2 (z+0.7183) (z-1) (z-0.3679) ------------------------------------- z^2 (z+0.7183) (z+0.418) (z-1)
三、思考与分析
1. 最少拍受什么限制而使调整节拍增加? 2. 分析不同输入信号对最少拍控制系统的影响。 3.无纹波系统对控制器有何要求?
四、实验报告要求
1、写出广义被控对象的脉冲传递函数G(z)。并求出广义被控对象的差分方程形式。 2、画出未加控制器时系统的单位阶跃响应图,分析系统是否稳定?若稳定,求稳态误差。
3、根据最少拍设计步骤,写出针对单位阶跃输入时的闭环脉冲传递函数?(z)和误差脉冲脉冲传递函数1-?(z)。给出设计出的最少拍控制器的脉冲传递函数D(z)。并求出最少拍控制器的差分方程形式。
4、画出串上最少拍控制器后的数字控制系统框图。
5、将上述所求的最少拍控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制器的控制量变化曲线。分析加入控制器后系统能否达到最少拍控制的要求。给出系统输出序列和控制器输出序列,并求出调节时间,讨论输出是否存在纹波。
6、若存在纹波,请设计最少拍无纹波控制器,并给出串上最少拍无纹波控制器后的闭环脉冲传递函数?(z)和误差脉冲脉冲传递函数1-?(z)。最少拍无纹波控制器的脉冲传递函数D(z)。
7、将得到的最少拍无纹波控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制
器的控制量变化曲线。给出系统输出序列和控制器输出序列,分析加入最少拍无纹波控制器后系统能否达到消除纹波的目的。为消除纹波,调节时间变为多少。
8、写出针对单位斜坡信号输入时的闭环脉冲传递函数?(z)和误差脉冲脉冲传递函数1-?(z)。给出设计出的最少拍控制器的脉冲传递函数D(z)。
实验四 基于Matlab 的最少拍控制系统simlink仿真
一、 实验目的
学习使用simulink 设计最少拍系统的方法
二、 实验器材
x86 系列兼容型计算机,Matlab 软件
三、 实验原理
系统如图所示,建立相应的数字PID 系统和最少拍系统并进行仿真。 1. 最少拍系统仿真
计算机控制系统 仿真实验
建立所示的数字PID 系统控制模型并进行系统仿真,已知Gp(S)?10,采样周期T=1s。
S(S?1)?1?11?广义被控对象脉冲传递函数:G(z)?Z[G(s)]?Z[es?Ts3.679z(1?0.718z)K,?]??1?1s(s?1)(1?z)(1?0.3679z)则G(z)的零点为-0.718(单位圆内)、极点为1(单位圆上)、0.368(单位圆内),故 u=0,v=1,
m=1。
a. 有纹波系统
单位阶跃信号:根据稳定性要求,G(z)中 z=1 的极点应包含在 Φe(z)的零点中,系统针对阶跃输入进行设计,q=1,显然准确性条件中已满足了稳定性要求,于是可设?(z)?根据?(1)?1,求得
z??10,
?1?0?1,则?(z)?z?10.2717(1?0.3679z)1?(z),D(z)?。 ??1G(z)1??(z)1?0.718z
b. 无纹波系统
单位阶跃信号:根据稳定性要求,G(z)中 z=1 的极点应包含在
?(z)的零点中,系统针对阶跃输入进行设
e计,q=1,显然准确性条件中已满足了稳定性要求,于是可设?(z)?z?1(1?0.718z),根据?(1)?1,
?1