东南大学自动化学院
《计算机控制技术》实验报告
实验名称:最少拍控制算法研究
实验次数:第三次
姓 名:
学 号:
实验地点:
实验完成时间: 201 年 4 月 24 日
实验报告完成时间:201 年 4 月 30 日
1
一、实验目的
1.学习并熟悉最少拍控制器的设计和算法;
2.研究最少拍控制系统输出采样点间纹波的形成;
3.熟悉最少拍无纹波控制系统控制器的设计和实现方法。
二、实验设备
1.THBDC-1 型 控制理论·计算机控制技术实验平台
2.PCI-1711 数据采集卡一块
3.PC 机 1 台(安装软件“VC++”及“THJK_Server”)
三、实验原理
1)最小拍系统
在采样控制系统中,通常把一个采样周期称作一拍。在典型输入信号作用下,经过最少
拍,使输出量采样时刻的数值能完全跟踪参考输入量的数值,跟踪误差为零的系统称为最少
拍系统。
计算机控制系统的方框图为:
根据上述方框图可知,有限拍系统的闭环脉冲传递函数为:
图 4-1 最少拍计算机控制原理方框图
)(
zH
)(
zC
)(
zR
)(
)(
zGzD
)(
)(
zGzD
1
1
)(
zH
)(
zE
)(
zR
1
1
)(
)(
zGzD
由(4-1) 、(4-2)解得:
)(
zD
1
)(
zG
)(
zH
)(
zH
1
(4-1)
(4-2)
(4-3)
首先要使系统的过渡过程在有限拍内结束,显然,这样对系统的闭环脉冲传递函数
)(zH 提出了较为苛刻的要求,即其极点应位于 z 平面的坐标原点处。亦即希望系统的脉冲
传递函数为
( )
H z
a
0
a z
1
1
a z
k
k
( )
F z
k
z
(4-4)
式中:F(z)为 H(z)的分子多项式,k 为某一整数。式(4-4)表明 H(z)的极点都在 z 平面的原
点,系统的脉冲响应在经过了有限数 k 拍以后就变为零,过渡过程结束。式(4-4)表明了
离散系统中,为了使过渡过程较快地结束应符合的条件。
K 是个有限值,它至少应该是什么数值呢?可以分析一下闭环传递函数 H(z)。将式(4-4)
2
代入 D(z)表示式,得
)(
1
zH
)(
)(
zGzH
1
)(
zG
)(
zD
1
)(
zF
k
(
zF
)]
[
z
(4-5)
如果 m 和 n 分别为对象和保持器的组合脉冲传递函数 G(z)的分子和分母的阶次,l 为式(4-5)
中 F(z)的阶次,要使 D(z)能实现,就应使分母的阶次大于分子的阶次
由式(4-6)可见,当 0
k
n m l
l 时,H(z)的分子
(4-6)
( )F z
F
0
常数,暂态响应的持续节拍数
最少。式中 n 和 m 是由对象、保持器决定的,是不可变部分。这时应有
k
n m
(4-7)
这是过渡过程所能达到的最低极限节拍数,它规定了“最少拍”的极限数。
2)无稳态误差的最小拍系统
由王勤主编教材 P89~P90 的理论推导,可以知道,为保证系统稳态误差为零且拍数最
少,应取
1
( )
H z
(1
z
1
k
)
( )
F z
1
(4-8)
其中 1( )F z 为不包含 G(z)的零点和极点的多项式。为式(4-8)表示了无稳态误差的最少拍
系统,其1
( )H z
满足的条件。另外,为了使系统的暂态过程在有限时间内结束,H(z)必须
是 1z 的有限多项式。这两者都要满足,因而应使 1( )F z 为 1z 的有限多项式。最简单的情况
F z ,这时
是 1( ) 1
(1)对阶跃输入
1
H z
( ) 1
1
z
( )H z
1
z
因而
)(
zD
1
)(
zG
)(
1
zH
1)(
)(
zGzH
z
1
1
1
z
1
)(
zG
1
1
z
(2)对斜坡函数输入
或
从而有
1
( )
H z
(1
z
1 2
)
( )
H z
2
z
1
2
z
)(
zD
1
)(
zG
2
z
1(
1
2
z
21
)
z
1
)(
zG
2
(
z
1
z
2
)1
(3)对加速度函数输入
1
( )
H z
(1
1 3
)
z
3
或
从而有
H z
( ) 3
1
z
3
z
2
z
3
)(
zD
1
)(
zG
3
z
1
3
z
1(
z
2
31
)
3
z
1
)(
zG
3
2
z
(
3
z
)1
z
3
1
3)无纹波,无稳态误差的最少拍系统
用前述方法设计的最少拍控制系统,对于符合原设计的输入信号能很快地跟踪。然而,
如果进一步用改进的 z 变换法来研究所设计的系统,就会发现问题。这种改进的 z 变换不仅
能求出采样时刻的系统输出,而且可以研究采样间隔中,输出的变化情况。用这种 z 变换将
发现用前述方法设计的系统,在采样时刻之间存在着波动。
有纹波的系统,在采样时刻之间存在误差,而且功率损耗、振动等也很大,它将加快执
行机构等可动部件的磨损。为此,必须改进设计方法,使设计出的系统满足无纹波的条件。
(1)最少拍系统产生纹波的原因
经分析可知,最少拍系统虽然经过有限拍后能使采样时刻的稳态误差为零,从而使数字
控制器的离散输入量 E(z)为零。但控制器的输出并没有达到稳态值,仍然是上下波动的。亦
即控制器的输出 U(z)不能在有限拍内变为零。如果整个系统以 U(z)为输出量,设这时的闭
环传递函数为 ( )
DH z 。同样,如果这一闭环传递函数也能表示成极点都在 z 平面原点的形
式,则过渡过程也能在有限拍内结束。
(2)无纹波最少拍系统的设计
根据王勤主编教材 P93 的理论推导可知,无纹波最少拍系统的闭环传递函数应分别为
(4-9)
(4-10)
( )
H z
( )
H z
D
0( )
( )
F z P z
k
z
( )
F z
k
z
0( )
( )
F z Q z
k
z
式中:
( )
G z
( )
P z
( )
Q z
, 0( )F z 为 z 的多项式。
上述传递函数能保证系统的输出 Y(z)和控制器输出 U(z)的暂态过程均能在有限拍内结
束。
式(4-9)说明,无纹波最少拍系统的闭环传递函数 H(z)不仅应为 1z 的多项式,而且应
包含 G(z)的全部零点。
由式(4-5)可得
)(
zD
1
)(
zG
)(
zH
)(
zH
1
)(
)(
zQzF
0
k
)()(
zPzF
0
z
在最简单的情况下, 0( )F z 为常数。为了保证 D(z)是可实现的,至少要使 k 大于或等于 Q(z)
的阶次,即
k
n
(4-11)
将式(4-7)与式(4-11)相比,发现由于要求无纹波,系统的最少拍增加了 m 拍,响
应的暂态过程也延长 m 拍。
4
4)斜坡输入下最少拍系统设计举例
(1)斜坡输入下无稳态误差最少拍系统设计
设被控对象为二阶系统,其传递函数为
)(
sG
K
(
sTs
1
)1
对于二阶被控对象加零阶保持器后对象的传递函数为:
1)(
sG
TS
e
s
K
(
sTs
1
)1
选择采样周期 T,将上述传递函数离散后得
)(
zG
(
eTTTK
1
1
T
T
1
1
)
z
T
T
1
T
T
1
Te
2
)
z
(
eTT
1
1
e
T
T
1
1(
z
1
1)(
因为输入是单位斜坡信号,所以选择:
1
)(
zH
z
1(
21)
)(
zH
12
z
z
2
)(
zUzD
)(
)(
zE
1
)(
zG
)(
zH
)(
zH
1
K
1(
z
1
z
1
)
2(
z
T
T
1
e
z
1
)
1
1)(
T
T
1
)
)[(
TT
1
eT
1
(
T
1
eT
1
T
T
1
T
T
1
Te
)
z
1
]
2(
z
1(
KA
1
1)(
1
z
e
1)(
T
T
1
z
Bz
1
)
1
)
21(21
e
KA
B
(1
1
T
T
)
z
1
1
)1
z
e
Bz
T
T
1
2
z
2
其中
eTTA
1
T
T
1 T
1
TB
1
,
eT
1
T
T
1
Te
T
T
1
A
由此可得斜坡输入下最少拍算法的数字控制器算法为
21)(
e
ke
KA
u(k)=(1-B)u(k-1)+Bu(k-2)+
2
KA
/
TT
1
(
ke
)1
/
TT
e
1
KA
(
ke
)2
(2)斜坡输入下无纹波、无稳态误差最少拍系统设计
)(
zG
(
eTTTK
1
1
T
T
1
1
)
z
T
T
1
T
T
1
Te
2
)
z
z
1
1(
KA
(
eTT
1
1
T
T
1
1(
z
1
1)(
e
z
1
)
1(
z
1
1)(
e
1
)
Bz
T
T
1
z
1
)
①保证系统在斜坡输入下的稳态误差为零,则系统的闭环传递函数应符合
1
( )
H z
(1
z
1 2
)
( )
F z
1
5
②稳定性原则
1
( )H z
应包含 G(z)的不稳定极点,其形式为
1
( )
H z
(1
z
1 2
)
( )
F z
1
,其中 1( )F z 为不包含 G(z)的零点和极点的多项式。
上式和保证稳态误差为零的要求相同。
( )H z 应包含 G(z)的不稳定零点,其形式为
( )
H z
(1
1
( )
Bz F z
)
2
,其中 2( )F z 为不包含 G(z)的零点和极点的多项式。
③无纹波有限拍暂态过程
为了实现无纹波, 2( )F z 中必须包含 G(z)的分子上的另一因子 1z 。要寻找 ( )H z 、 1( )F z
和 2( )F z 的形式,使它们的项数最少(即最小实现)而又满足上述条件。显然应为
( )
F z
1
1
b z
0
1
( )
F z
2
(
c
0
c z
1
1
)
z
1
1
( )
Bz F z
)
2
(1
Bz
1
)
z
1
(
c
0
c z
1
1
)
( )
H z
(1
联立求解得
c
0
3
B
2
2
2
B
1
B
,
c
1
2
B
2(
B
2
B
)1
1
,
b
0
(
)1
BB
2
2
B
B
1
所以有
)(
zUzD
)(
)(
zE
1
)(
zG
)(
zH
)(
zH
1
1(
e
1(
KA
T
T
1
1
z
z
1
)(
c
zc
1
0
1
1
1)(
zb
0
)
)
c
0
1
KA
(
c
ec
1
0
(1
b
0
T
T
1
)1
z
1
)
z
1
ec
1
zb
0
T
T
1
2
2
z
由此可得斜坡输入下最少拍无纹波的算法:
)(
ku
1(
()
kub
0
)1
(
kub
0
)2
c
0
KA
)(
ke
c
1
ec
0
KA
T
T
1
(
ke
)1
T
T
1
ec
1
KA
(
ke
)2
四、实验步骤及结果
1、编程实现在单位斜坡输入下的无稳态误差最少拍控制算法(有纹波和无纹波),列出
程序清单。
(1)有纹波最少拍控制算法
ei=sv-fVoltage;
6
//斜坡输入下有纹波最小拍控制
ep=exp(-100*Ts/Ti);
A=100*Ts+Ti*ep-Ti;
B=(Ti-Ti*ep-100*Ts*ep)/A;
op=(1-B)*opx+B*opxx+2*ei/(k*A)-(1+2*ep)*eix/(k*A)+ep*eixx/(k*A);
(2)无纹波最少拍控制算法
ep=exp(-100*Ts/Ti);
//斜坡输入下无纹波最小拍控制
A=100*Ts+Ti*ep-Ti;
B=(Ti-Ti*ep-100*Ts*ep)/A;
c0=(3*B+2)/(B*B+2*B+1);
c1=-(2*B+1)/(B*B+2*B+1);
b0=B*(2*B+1)/(B*B+2*B+1);
op=(1-b0)*opx+b0*opxx+c0*ei/(k*A)+(c1-c0*ep)*eix/(k*A)-c1*ep*eixx/(k*A);
2、编程实现在的单位阶跃输入下的无稳态误差最少拍控制算法(有纹波和无纹波),列
出程序清单。
(1)有纹波最少拍控制算法
ep=exp(-100*Ts/Ti);
//单位阶跃输入下有纹波最小拍控制
A=100*Ts+Ti*ep-Ti;
B=(Ti-Ti*ep-100*Ts*ep)/A;
op=(-B)*opx+ei/(k*A)-ep*eix/(k*A);
(2)无纹波最少拍控制算法
ep=exp(-100*Ts/Ti);
//单位阶跃输入下无纹波最小拍控制
A=100*Ts+Ti*ep-Ti;
B=(Ti-Ti*ep-100*Ts*ep)/A;
c0=1/(B+1);
b0=B/(B+1);
op=(-b0)*opx+(c0/(k*A))*(ei-ep*eix);
(3)给出上述两种设计方法的阶跃、谐波响应曲线。
斜波输入有纹波:
7
斜波输入无纹波:
阶跃输入有纹波:
阶跃输入无纹波:
8