数字控制器的直接设计
把计算机控制系统中的连续部分数字化,把整个系统看
作离散系统,用离散化的方法设计控制器,称为直接设计法。
D(z) Ho(s) Gc(s)
e*(t) u*(t)
E(z) U(z)
r (t)
+ _
R(z)
Φ (z)
G(z)
c (t)
C (z)
s
esH Ts
o
??
? 1)(
? ?0( ) ( ) ( )CG z Z H s G s? 1 ()Ts
C
eZ G s
s
????
? ??
??
()) ( )CGsZ
s
-1= ( 1-z
D(z) Ho(s) Gc(s) e
*(t) u*(t)
E(z) U(z)
r (t)
+ _
R(z)
Φ (z)
G(z)
c (t)
C (z)
开环传递函数,)()()( zGzDzK ???
闭环传递函数,
)()(1
)()(
)(1
)()(
zGzD
zGzD
z
zz
K
K
????
???
误差传递函数,
)(1)()(1 1)( )()( zzGzDzR zEze ???????
数字控制器输出闭环传递函数为,
)(
)(
)()(1
)(
)(
)()(
zG
z
zGzD
zD
zR
zUz
U
??
????
已知 Φ(z),可计算出 D(z),
)(1
)(
)(
1)(
z
z
zGzD ??
???
已知 Φe(z),可计算出 D(z),
)(
)(1
)(
1)(
z
z
zGzD e
e
?
????
已知 ΦU(z),可计算出 D(z),
)(1
)(
)()(1
)()(
z
z
zGz
zzD U
U
U
??
??
??
??
D(z)必须满足以下条件,
? 由此而得到的 D(z)是物理可实现的
? D(z)也必须是稳定的。
最少拍无差系统的设计
最少拍无差系统是指在典型的控制输入信号作用下能
在最少几个采样周期内达到稳定无静差的系统。
典型控制输入 时间序列 z域表达式
单位阶跃输入,
单位速度输入,
单位加速度输入,
通式,
( ) ( )R n T u n T? 11() 1Rz z ?? ?
()R n T n T? 112() (1 )TzRz z??? ?
21( ) ( )
2R n T n T?
2 1 1
13
( 1 )()
2 ( 1 )
T z zRz
z
??
?
??
?
是一个 z-1的有理多项式
3,2,1,)1( )()( 1
1
??? ?
?
mzzAzR m
1()Az?
典型输入下最少拍系统的设计方法
)()()( zRzzE e?? 而
通常 m=1,2,3。 取 F(z-1)=1,M=m
11
( ) [ ( 1 ) ( ) ] [ ( 1 ) ( ) ( ) ] 0e
zz
e z E z z z R zl i m l i m
? ? ? ?
? ? ? ? ? ? ?
所以,
其中 F(z-1)是 的有限多项式,且不含有 因子。 -1z -11-z
1
1
()()
(1 ) m
AzRz
z
?
?? ?
1
1
( ) ( )()
( 1 )
e
m
z A zEz
z
?
?
??
?
11( ) ( 1 ) ( )Me z z F z M m??? ? ? ?
1 1 1( ) ( 1 ) ( ) ( )MmE z z F z A z? ? ? ???
单位阶跃输入时,
单位速度输入时,
单位加速度输入时,
1( ) (1 )e zz ?? ? ?
12( ) ( 1 )e zz ?? ? ?
13( ) ( 1 )e zz ?? ? ?
误差函数以及控制器
1
1()
1Rz z ?? ?
1
12() (1 )
TzRz
z
?
?? ?
2 1 1
13
( 1 )()
2 ( 1 )
T z zRz
z
??
?
??
?
阶跃输入 速度和加速度输入
)(
)(1
)(
1)(
z
z
zGzD e
e
?
????控制器
实例
单位阶跃输入时的动态误差级数,
1( ) (1 )e zz ?? ? ?
1
1()
1Rz z ?? ?
1)1 1)(1()()()( 11 ?????? ?? zzzRzzE e
0)()2()1(,1)0( ????? neeee ?
????????? ????
?
321
1
1
1)()()( zzzz
zzRzzC
1)3()2()1( ????? ?CCC
)1)(()( 1
1
?
?
?? zzG
zzD
T 2T 3T 4T 5T t
C ( t )
1
0
)(
)(1
)(
1)(
z
z
zGzD e
e
?
????
返回
1( ) 1 ( )ez z z ?? ? ? ? ?
单位速度输入时,
1
21
1
21
)1()1()()()(
?
?
?
? ?
????? Tzz
TzzzRzzE
e
0)()3()2(,)1(,0)0( ????? neeeTee ?
单位加速度输入时,
2
2
1
2
31
112
31
22)1(2
)1()1()()()( ??
?
??
? ??
?
????? zTzT
z
zzTzzRzzE
e
0)()4()3(,2)2(,2)1(,0)0(
22
??????? neeeTeTee ?
?对应于不同典型输入,系统经过 T,2T,3T,系统达到稳定。
?对应不同典型输入,为得到最少拍响应,应选择合适的 Φe(z)。
? 对应于典型输入,选定 Φe(z)后,可根据 G(z)得到 D(z)。
)()(
)(1)(
zzG
zzD
e
e
?
??? 返回
例:设计计算机单位反馈控制系统,
)1(
10)(
?? sssG c s
esH Ts??? 1)(
0
T=1秒,单位速度输入时,按最少拍法设计 D(z)。
解,
? ? 10 ()( ) ( ) ( ) ( 1 ) cc GsG z Z H s G s z Z s? ??? ? ? ????1 2 10( 1 ) ( 1 )zZ ss? ???? ?????
1
2
1 1 11 0 ( 1 ) ( )
1zZ s s s
?? ? ? ?
?
1
1
1 2 1 1 1
111 0 ( 1 ) ( )
( 1 ) 1 1
zz
z z e z
?
?
? ? ? ?? ? ? ?? ? ?
113, 6 8 ( 1 0, 7 1 8 )
( 1 ) ( 1 0, 3 6 8 )
zz????
??
()tu t ()ut ()te u t?
纹波说明
???????
?
????
????
?
?
??
5432
21
1
21
5432
)1(
)2()()()(
zzzz
z
Tz
zzzRzzC
21 )1()( ???? zze
对速度输入信号的误差传递函数和闭环传递函数
1 2 1 2( ) 1 ( ) 1 ( 1 ) 2ez z z z z? ? ?? ? ? ? ? ? ? ? ?
1 ( )()
( ) ( )
e
e
zDz
z G z
???
?
113, 6 8 ( 1 0, 7 1 8 )
() ( 1 ) ( 1 0, 3 6 8 )zzGz
???
? ??
11
11
0, 5 4 3 ( 1 0, 5 ) ( 1 0, 3 6 8 )
( 1 ) ( 1 0, 7 1 8 )
zz
zz
??
??
???
??
纹波说明
1 2 1 1
1 2 1 1
2 ( 1 ) ( 1 0, 3 6 8 )
( 1 ) 3, 6 8 ( 1 0, 7 1 8 )
z z z z
z z z
? ? ? ?
? ? ?
? ? ???
??
212)( ?? ??? zzz )()()( zRzzC ??
? 单位阶跃输入时,
1)()3()2(,2)(,0)0(
2
1
1
)2()( 321121
??????
????
?
??? ??????
nTcTcTcTcc
zzz
z
zzzC
?
??
? 单位加速度输入时,
???????
?
?
??
??
?????
?
??
??
65432
31
112
21
175.1175.3
)1(2
)1(
)2(
)()()(
zzzzz
z
zzT
zz
zRzzC
nT
C(nT)
12
8
4
5.1175.3100)(
5.1285.425.00)(
?
?
nTC
nTR
*最少拍系统的调节时间由闭环脉冲传递函数的形式
所决定,与输入信号的形式无关。
快速性 按单位斜坡输入设计的最少拍系统,其动
态过程均为两拍。
准确性 对单位阶跃和单位斜坡输入,两拍后采样时
刻无稳态误差,但对单位加速度输入,采样时刻的稳态
误差为 T2
在设计的广义被控对象的脉冲传递函数 G(z)必须是稳定的
为了使系统稳定, 讨论以下三个问题,
? G(z)有不稳定极点,单位园上或园外的极点 (z-1=1除外 )
? G(z)有位于单位园上或园外的零点 (z-1=1除外 )
? G(z)中包含有纯延迟环节
1 ( ) ( )()
( ) ( ) ( ) ( )
e
ee
zzDz
z G z z G z
? ? ???
??
最少拍快速有纹波系统设计时,应遵循以下原则,
? D(z)是在物理上可实现的有理多项式
? Φe(z)应把 G(z)的不稳定极点作为自己的零点。
? Φ(z)应把 G(z)的单位园上和单位园外的零点作为
Φ(z)的零点。
? Φ(z)应包含 G(z)中 z-1的因子,其方次相同。
1( ) ( )
() ()
mz P z
Gz Qz
?
?
满足 ( ) 1 ( )
ezz? ? ? ?
无纹波控制
1
1 1 ( )()
( ) ( )
1 ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
e
e
m
ee
zDz
G z z
z Q z z
G z z z P z z?
????
?
??? ? ?
113, 6 8 ( 1 0, 7 1 8 )
( 1 ) ( 1 0, 3 6 8 )
zz????
??
? ? 10 ()( ) ( ) ( ) ( 1 ) cc GsG z Z H s G s z Z s? ??? ? ? ????
速度输入信号时的控制器传递函数
1 ( )()
( ) ( )
e
e
zDz
z G z
???
?
21 )1()( ???? zze
误差传递函数和闭环传递函数
212)(1)( ?? ?????? zzzz e
11
11
0, 5 4 3 ( 1 0, 5 ) ( 1 0, 3 6 8 )
( 1 ) ( 1 0, 7 1 8 )
zz
zz
??
??
???
??
实例
系统误差,
11
21
1
21
1 )1()1()()()(
??
?
?
? ??
????? zTzz
TzzzRzzE
e
1 2 3 4 5 6 70, 5 4 3 0, 3 1 7 0, 4 0, 1 1 4 0, 2 5 5 0, 0 1 0, 1 8z z z z z z z? ? ? ? ? ? ?? ? ? ? ? ? ? ?
1
)(1 nTe
T T20 T3 T4 0
)(2 nTe
T2 T4
0
)(tV
T2 T4
T6
21( ) ( ) ( )E z D z E z?
11
1
11
0, 5 4 3 ( 1 0, 5 ) ( 1 0, 3 6 8 )
( 1 ) ( 1 0, 7 1 8 )
zzz
zz
??
?
??
????
??
1 2 3
12
0, 5 4 3 0, 4 7 1 0, 1
1 0, 2 8 2 0, 7 1 8
z z z
zz
? ? ?
??
???
??
去纹波设计
经过两拍以后,误差的输出已经为 0,但控制器的输出
仍然在上下波动,这时零阶保持器的输出也仍然是上
下波动的矩形波。
最少拍无纹波系统的设计
最少拍无纹波设计的要求:在典型输入作用下,经过尽
可能 少的采样周期以后,输出跟随输入,而且在非采样点
上也没有纹波 。
● 纹波产生的原因,数字调节器的输
出序列不趋向恒定,使采样点之间产
生纹波。
问题归结为,设计一个系统在典型输入作用
下,e2(nT)经过有限个周期以后,达到相对
稳定。
要实现上述目标,就是要使 E2(z)成为 z-1的有限多项式,
或者在某项以后各项的系数相同。
由,
)()()()()()( 12 zRzzDzEzDzE e???
在最少拍系统设计中,的零点完全对消 的极
点。 )(ze? )(zR
要求,为 的有限多项式 )()( zzD
e?
1?z
设广义对象(包含零阶保持器)的传递函数,
)(
)()(
zQ
zPzG ?
去分母
()()
( ) ( )e
zDz
G z z
??
?
()( ) ( )
()e
zD z z
Gz
???
P(z)是 G(z) 的零点多项式
Q(z) 是 G(z) 的极点多项式,其极点数有限的
)(
)()()()(
zP
zQzzzD
e
???
若选择 1( ) ( ) ( )z P z M z ???
1()Mz? 为一个待定的 z
-1多项式。
无纹波最少拍系统的设计原则,
( 1) 应当包含广义对象 的全部零点。 )(z? )(zG
( 2) 的选择没有变化。它需要抵消掉输入的极
点以外还需要抵消 中的不稳定极点 (z=1除外 )。 )(zG
)(ze?
( 3)根据 确定待定多项式 ( ) 1 ( )e zz? ? ? ?
例:单位反馈计算机控制系统,系统广义对象脉冲传递函数为
)3 6 8.01)(1(
)7 1 8.01(68.3)(
11
11
??
??
??
??
zz
zzzG
T=1秒,在单位速度输入下,设计最少拍无纹波控制器 D(z)。
解,中应该包含 G(z)中的滞后环节和全部零点 ()z?
1 1 11( ) ( 1 0, 7 1 8 ) ( )z z z M z? ? ?? ? ?
()e z?在单位速度输入下 应该包含 (1-z
-1)2
同时还应该包含 G(z)中的不稳定极点
1 2 12( ) ( 1 ) ( )e z z M z??? ? ?
( ) 1 ( )ezz? ? ? ?满足关系
解联立方程解得,a0= 1.407,a1= -0.826,b= 0.592
11 0 1( ) ( )M z a a z ???选择 12 ( ) ( 1 )M z b z ???
1 1 1( ) 1, 4 0 7 ( 1 0, 7 1 8 ) ( 1 0, 5 8 7 )z z z z? ? ?? ? ? ?
1 2 1( ) ( 1 ) ( 1 0, 5 9 2 )e z z z??? ? ? ?
()()
( ) ( )e
zDz
G z z
??
?
1 1 1 1 1
1 1 1 2 1
( 1 ) ( 1 0, 3 6 8 ) 1, 4 0 7 ( 1 0, 7 1 8 ) ( 1 0, 5 8 7 )
3, 6 8 ( 1 0, 7 1 8 ) ( 1 ) ( 1 0, 5 9 2 )
z z z z z
z z z z
? ? ? ? ?
? ? ? ?
? ? ? ???
? ? ?
11
11
0, 3 8 2 ( 1 0, 3 6 8 ) ( 1 0, 5 8 7 )
( 1 ) ( 1 0, 5 9 2 )
zz
zz
??
??
???
??
1 2 30 1 0 1( 0, 7 1 8 ) 0, 7 1 8a z a a z a z? ? ?? ? ? ?
1 1 101( ) ( 1 0, 7 1 8 ) ( )z z z a a z? ? ?? ? ? ?
1 2 1( ) 1 ( ) 1 ( 1 ) ( 1 )ez z z b z??? ? ? ? ? ? ? ?
1 2 31 [ 1 ( 2 ) ( 1 2 ) )b z b z b z? ? ?? ? ? ? ? ? ?
T 2T 3T 4T 5T t
u
0.4
0.3
0.2
0.1
0
1 1 1
1 1 1
1 2 1 1
1 2 3 4
()
()
()
( 1 ) ( 1 0,3 6 8 )
1,4 0 7 ( 1 0,7 1 8 ) ( 1 0,5 8 7 )
( 1 ) 3,6 8 ( 1 0,7 1 8 )
0,3 8 0,0 2 0,1 0 0,1 0
Cz
Uz
Gz
T z z z
z z z
z z z
z z z z
? ? ?
? ? ?
? ? ?
? ? ? ?
?
??
? ? ? ? ?
??
? ? ? ? ?
1
1 2 1
1 12
12
( ) ( ) ( ) ( 1 ) ( 1 0, 5 9 2 ) ( 1 )
0, 5 9 2
e
TzE z z R z z z
z
zz
?
??
?
??
? ? ? ? ? ?
??
T 2T 3T 4T 5T t
c
5
4
3
2
1
0
??????
??
?
?
??
????
???
?
?
5432
111
21
1
54341.1
)8 2 6.04 0 7.1)(7 1 8.01(
)1(
)()()(
zzzz
zzz
z
Tz
zRzzC
纯滞后对象的控制算法 —— 大林 (Dahlin)算法
大林算法
1)( 1 ??
?
sT
KesG s
c
?
)1)(1()( 21 ???
?
sTsT
KesG s
c
?
设,τ = NT,N为正整数
NTsT es
s
????
?
?
?
?
1)(
大林算法的设计目标:设计合适的数字控制器, 使整个
闭环系统的传递函数为具有时间纯滞后的一阶惯性环节,
而且要求闭环系统的纯滞后时间等于对象的纯滞后时间 。
大林算法的设计思路,
假设,
NTsT es
s
????
?
?
?
?
1)(
采用零阶保持器,且采样周期 T。
1/
1/
1
)1(
1
1
)(
1
)(
)(
)(
??
?????
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
????
ze
ze
sT
e
s
e
Z
s
s
e
Z
zR
zC
z
TT
NTTN T sTs
Ts
?
?
?
1/1/
/1
)1(1
)1(
)(
1
)(1
)(
)(
1
)(
?????
???
???
?
?
??
?
??
NTTTT
TTN
zeze
ez
zG
z
z
zG
zD
??
?
? 被控对象为带有纯滞后的一阶惯性环节
1/
/
1
1
1
1
1
1
1
1)(
??
?
??
??
?
??
??
?
??
?
??
??
ze
eKz
sT
Ke
s
eZzG
TT
TT
N
N T sTs
? ?1/1//
1//
)1(1)1(
)1)(1()(
1
1
??????
???
????
???
NTTTTTT
TTTT
zezeeK
zeezD
??
?
? 被控对象为带有纯滞后的二阶惯性环节
)1)(1(
)(
)1)(1(
1)(
1/1/
11
21
21
21 ????
?????
??
??
??
?
??
?
???
??
zeze
zzCCK
sTsT
Ke
s
eZzG
TTTT
NN T sTs
)(1,)(11 122121 /2/1
12
)11(
2
/
2
/
1
12
1
TTTTTTTTTTT eTeT
TTeCeTeTTTC
?????? ?
???????
? ?1/1/121
1/1//
)1(1)(
)1)(1)(1()( 21
??????
?????
????
????
NTTTT
TTTTTT
zezezCCK
zezeezD
??
?
§ 4-4-2 振铃现象及其抑制
例:单位反馈计算机控制系统,已知被控对象的传递函数为
134.3)( ??
?
s
esG s
c
T=1s,试用大林算法,求
数字控制器的 D(z)。
解,
1
12
7 4 1 3.01
)733.01(1 4 9 3.0)(
?
??
?
??
z
zzzG
1
2
0 6 0 6 5.01
3 9 3 5.0
12)()( ?
??
????
?
??
?
??? z
z
s
esHZz s
? ? )3935.01)(1)(733.01( )7413.01(6356.2)(1)( )()( 111
1
???
?
???
??
??
??
zzz
z
zzG
zzD
12)( ???
?
s
es s
??????
??
???
????
??
?
5432
11
2
8647.07769.06322.03935.0
)1)(6065.01(
3935.0
)()()(
zzzz
zz
z
zRzzC
???????
???
???
????
???
?
4321
111
1
4093.16078.08096.13484.06356.2
)733.01)(1)(6065.01(
)7413.01(6356.2
)(
)()(
zzzz
zzz
z
zG
zCzU
振铃幅度 RA的定义,
控制器在单位阶跃输入作用下,第 0次输出幅度减去第 1
次输出幅度所得的差值。
*
1 2 3 4 *
*
*
*
RA
U(nT)
nT
大林算法的数字控制器 D(z)的基本形式可写成,
)(11)( 2
211
2
2
1
1 zQKz
zaza
zbzbKzzD mm ?
?
?
??
? ?
???
?????
?
?
?
?
???
????
?
?
??
2
211
2
2
1
1
1
1)(
zaza
zbzbzQ
其中,
几个有代表性的例子,
11
1)(
??? zzQ
*
1 2 3 4 *
*
*
* RA
U(nT)
nT
RA=1
15.01
1)(
??? zzQ
*
1 2 3 4
* * * *
RA
U(nT)
nT
RA=0.5
)2.01)(5.01(
1)(
11 ?? ??? zzzQ
*
1 2 3 4
* * * *
RA
U(nT)
n
T
RA=0.3
)2.01)(5.01(
)5.01()(
11
1
??
?
??
??
zz
zzQ
*
1 2 3 4
*
*
*
* RA
U(nT)
n
T
RA=0.8
消除振铃的方法:先找出数字控制器中产生振铃现象的极点,
令其中 z =1。
例:一阶近似控制系统大林控制器为
)7 3 8.01)(3 9 2.01)(1(
)7 4 1.01(96.1)(
111
1
???
?
???
??
zzz
zzD
1.0
0
-1.0
-10.0 0.0 10.0 20.0 t
C(t)
2.0
0
-2.0
-10.0 0.0 10.0 20.0 t
U(t)
1+0.738=1.738 代替 1+0.738z-1 项
)392.01)(1(
)741.01(128.1
)392.01)(1(
)741.01(
738.1
96.1
)( 11
1
11
1
??
?
??
?
??
??
??
?
?
zz
z
zz
z
zD
2.0
0
-2.0
-10.0 0.0 10.0 20.0 t
U(t)
1.0
0
-1.0
-10.0 0.0 10.0 20.0 t
C(t)