数字控制器

Digital Controller

一、基本思想

  1. 将系统中被控对象及零阶保持器进行离散化,得到广义对象 G(z)=Z[Gh(s)G0(s)]
  2. 根据系统的性能指标及约束条件,确定闭环期望传递函数 Φ(z)误差传递函数 Φe(z)
  3. 进一步得到数字控制器 D(z)
  4. D(z) 写为差分方程的形式,得到控制算法

二、数字控制器一般形式

Pasted image 20250417205845.png

广义对象传递函数:

G(z)=Z[Gh(s)G0(s)]=GhG0(z)=(1z1)Z[G0(s)s]

误差传递函数及误差序列:

Φe(z)=E(z)R(z)=11+D(z)G(z)e(k)=Z1[Φe(z)R(z)]

闭环传递函数及输出序列:

Φ(z)=Y(z)R(z)=D(z)G(z)1+D(z)G(z)=1Φe(z)y(k)=Z1[Φ(z)R(z)]Y(z)+E(z)=R(z)y(k)=r(k)e(k)

数字控制器及控制序列:

D(z)=U(z)E(z)=1G(z)Φ(z)1Φ(z)u(k)=Z1[D(z)E(z)]
Question

离散序列指的是 u(kT),为书写方便,可以直接写为 u(k)

零阶保持器和惯性环节串联的 z 变换

Important

由于出现的频率十分高,甚至可以作为结论来简化计算量!

计算反复出现错误

  1. 符号
  2. 漏乘 (1z1),非常容易漏项!!!注意次数要相等
  3. eT/T1eT/T2=eT(1/T1+1/T2) 幂次相加,而不是 eT2/(T1T2)
  4. 千万注意公式的记忆!!!注意是和零阶保持器相乘得到的结果
  5. 注意次数!!!注意 z1
  6. 公式都是不带放大倍速的,实际做题要乘以系数!

1. 零阶保持器和一阶惯性环节串联 (一阶)

Z[1esTs×1T1s+1]=(1z1)Z[1s(T1s+1)]=(1z1)Z[1sT1T1s+1]=(1z1)Z[1s1s+1T1]=(11z11eT/T1z1)=(1eT/T1)z11eT/T1z1

2. 零阶保持器和一阶惯性环节与一阶积分串联 (二阶)

Z[1esTs×1s(T1s+1)]=(1z1)Z[1s2(T1s+1)]=(1z1)Z[1s2+T1s+T1s+1T1]=Tz1T1(1z1)1z1+T1(1z1)1eT/T1z1=(TT1+T1eT/T1)z1+(T1TeT/T1T1eT/T1)z2(1z1)(1eT/T1z1)=c1z1+c2z2(1z1)(1eT/T1z1){c1=TT1+T1eT/T1c2=T1(T+T1)eT/T1

3. 零阶保持器和二阶惯性环节串联(二阶)

Z[1eTss1(T1s+1)(T2s+1)]=(1z1)Z[1s+T1T1T2s+1T1+T2T2T1s+1T2]=(1z1)[11z1+T1T1T21eT/T1z1+T2T2T11eT/T2z1]=(1(eT/T1+eT/T2)z1+e(T/T1)(T/T2)z2)+(1z1)(1+T1T1T2eT/T2z1+T2T2T1eT/T1z1)(1eT/T1z1)(1eT/T2z1)=(1(eT/T1+eT/T2)z1+e(T/T1)(T/T2)z2)+1+(1+T1T1T2eT/T2+T2T2T1eT/T1)z1+(T1T2T1eT/T2+T2T1T2eT/T1)z2(1eT/T1z1)(1eT/T2z1)=(1+T1T1T2eT/T2+T2T2T1eT/T1+eT/T1+eT/T2)z1+(e(T/T1)(T/T2)+T1T2T1eT/T2+T2T1T2eT/T1)z2(1eT/T1z1)(1eT/T2z1)=(c1+c2z1)z1(1eT/T1z1)(1eT/T2z1){c1=1+T2T1T2eT/T2+T1T2T1eT/T1=1+T1eT/T1T2eT/T2T2T1c2=eT(1/T1+1/T2)+T1eT/T2T2eT/T1T2T1

数字控制器的可实现性

所谓控制器的可实现性,是指在控制算法中,不允许出现未来时刻的偏差值,即要求数字控制器 G(z) 中不能有 z 的正幂次项

常用数字控制器

参数优化的低阶算法
数字 PID 控制器
最小拍控制器
大林算法控制器