将具有状态反馈的PID控制器组件转换为单传递函数和离散状态空间形式


9

作为一个为期一年的项目的一部分,我已经为这个问题努力了大约一个星期。我们正在基于模型设计用于特定反应堆的控制器。在看了一段时间之后,我仍然无法使它正常工作-因此,如果能得到一些帮助,我将不胜感激。

我们大量依据的一篇已发表的文献评论将PID控制器列出到每个单独的组件中,而不是一个组合方程式,如下所示:

{P(n)=Kp[G(n)target]I(n)=I(n1)+KpTI[G(n)target]D(n)=KpTDdGdt(n)

只需将三个组件组合到PID控制器输出中即可:

PID(n)=P(n)+I(n)+D(n)

然后,作者在PID信号之上添加了一层状态反馈,以获取最终的控制器输出应用于系统。

{Q(n)=K0R(n1)+K1Q(n1)K2Q(n2)R(n)=(1+γ)PID(n)γQ(n1)

R是最终的“控制器输出”。这里,是过程增益,和是积分增益和微分增益,和是针对状态反馈(不可变)调整的“增益”,而是常数0.5。是系统状态,是影响模型动力学的估计状态,是发送到工厂的实际最终输出。Ť Ť d ķ 0ķ 1 ķ 2 γ ģ Ñ Q Ñ - [R Ñ KpTITDK0,K1K2γG(n)Q(n)R(n)

我试图首先将整个过程转换为单个控制器传递函数,但是有人告诉我,简单地将它们加在一起是行不通的。

我还负责查找该控制器的离散状态空间表示形式。为此,我尝试将更改为来解决该问题。ģÑ-G ^ñ-1dGdt(n)G(n)G(n1)

接下来,我尝试为定义一个新的状态变量,以便将和转换为一阶。Q n - 1 Q n - 2 Q(n)Q(n1)Q(n2)

然后,我尝试将这些值替换为PID控制器,以获取作为状态变量。这些努力都是基于我教授的建议。G(n)

但是,我仍然非常困惑,因为我一直在盲目地跟随他的方向,没有一个整体的愿景来进行工作。我以为这是Tustin转型的简单问题-哦,我怎么错了...

我很沮丧,因为经过一个星期的努力,我仍然为看起来很简单的问题感到困惑。

如果可能的话,我是否可以在这两个具体问题上谦虚地寻求您的帮助?

  1. 将此控制器转换为单个控制器传递函数(通常在任何传递函数表示中均可见,即)G(s)=1s+1
  2. 将此控制器转换为离散的状态空间表示形式,而将采样率保留为变量?

MATLAB和Maple可以解决这些问题。我有两个程序。我已打印出您的帖子,并会尝试使用它们。我在大学里做了一些。
韦斯利·沃特曼

您可以提供出版物的标题吗?
Hazem

Answers:


1

这不是一个完整的答案,但我希望它可以有所帮助。

您可以将第一个系统重写为

{P(n)=KPE(n)I(n)=I(n1)+KPTIE(n)ΔtD(n)=KPTDE(n)E(n1)Δt

E(n)=G(n)target(n)ΔtTDTIKI=KPTIKD=KPTI

现在,您可以将系统重写为错误的单个功能。

PID(n)=P(n)+I(n)+D(n)

I(n1)=PID(n1)P(n1)D(n1)=PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt

PID(n)=KPE(n)+PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt+KPTIE(n)Δt+KPTDE(n)E(n1)Δt=PID(n1)+KP((1+ΔtTI+TDΔt)E(n)(1+2TDΔt)E(n1)+TDΔtE(n2))

第二个要重写为单个方程式要复杂一点,但是您可以用类似的方式来完成。结果应该是

R(n)=K1R(n1)(γK0+K2)R(n2)+(1+γ)(PID(n)K1PID(n1)+K2PID(n2))

现在,您只需要替换PID方程,即可获得作为误差函数的调节器方程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.