设计具有硬输出限制的控制器

信息处理 控制系统 非线性
2022-02-04 23:39:31

我正在尝试组合一个控制算法,以使用加热器将二阶热系统尽快驱动到目标温度。我已经做了一个很好的状态空间模型,带有一个额外的积分器来将静态误差驱动到 0,并选择了我的目标极点,并获得了一个可爱的线性控制器,如果我可以要求加热器瞬时提供 a) 真正疯狂的数量功率和 b) 冷却。

这些都不可能,我需要的是一个控制器,它可以优雅地处理以最大功率控制输出和回到线性控制模式之间的转换,而不会试图过冲回 0。只需钳位线性系统的输出就非常错误的; 我的模拟很怪诞。

输出致动器可以做什么的硬限制必须是最常见的控制非线性。但是当我脱离线性控制器设计时,一切都变得模糊不清。讨论了十几种不同的技术,但没有讨论如何使技术与问题保持一致。

谁能指出我“正确的方法”(或者请简单的方法)来设计一个输出有硬限制但系统是线性的控制器?最终实现将是数字化的,采样率为赫兹,时间常数为分钟,因此计算周期是免费的,时间量化效应可以忽略不计。

血腥模拟细节

我正在模拟的热系统看起来像这样,其中电流源代表加热器功率,电压是高于环境温度的温升。一件有趣的事情是 e1 和 e2 之间的差异与 e2 处的导数成正比。

热系统的 LTSpice 模型

具有神奇(绿色)和可实现(蓝色)的加热器电源模拟如下所示:

应用加热器功率的 LTSpice 图

e2 处的结果(我试图控制的温度):

结果温度的 LTSpice 图

最后,具有抗饱和的积分器。让积分器走得更远会使 e2 处的过冲变得更糟;选择 5k 值是为了给环境温度变化留出一些空间。节点看起来像这样:

积分器信号的 LTSpice 图

1个回答

输出致动器可以做什么的硬限制必须是最常见的控制非线性。

能让你在学术论文上获得成功的搜索词是“执行器饱和度”。

但是当我脱离线性控制器设计时,一切都变得模糊不清。讨论了十几种不同的技术,但没有讨论如何使技术与问题保持一致。

那是因为这是一个难题。很容易假设,因为区别通常是“线性的”与“非线性的”,每个领域都提供了大致相同的努力。它更像是在查看系统的所有可能方式中,线性时不变系统是一小部分(可以说它很小,甚至不包含任何真实的东西)。 其他一切都是非线性的。

线性系统理论使分析甚至综合变得非常容易。整个“其余部分”中也有一些同样微小的楔子,它们使分析和有时合成变得容易——但这只是留下了非线性控制的其余部分。如果我能画出好的漫画,我会给你一个维恩图,在“一般非线性控制”问题部分有龙。

谁能指出我“正确的方法”(或者请简单的方法)来设计一个输出有硬限制但系统是线性的控制器?

嗯,不是一般的。但在这种特定情况下,您可以采取一些方法,开始容易,最终困难。

最简单的,如果你能实际测量的话,就是测量你对应的温度e1, 并根据您的最终温度 (e2) 和目标温度。当您切断加热器的电源时,对应于 C1 的热质量会被热浸并导致过冲。这不会给你最快的稳定,但它会让你非常接近,并让你控制超调直到它任意小(你不会摆脱超调,因为你有一个积分器 - 但是使任意小,代价是需要更长的时间来解决,在你的能力范围内)。

第二个最简单的方法是按照我刚才说的做,但是估计e1从上升的速度e2. 基本上,区分e2有一个带限微分器,有一个内部循环,根据两者之间的差异进行控制e2和你的目标温度,再次限制。

最难的——我将把它作为练习留给读者——是深入研究简单的最优控制理论。取系统的二阶微分方程e1e2作为您的州,并找到使它们尽快解决的有效解决方案。对于任意两个温度e1e2,“最佳”(在建立时间意义上)控制将涉及一个简单的三步序列:(1)完全打开(或关闭),(2)完全关闭(或打开),(3)正好到达保持温度的正确值。

您可能想在“滑动模式控制”上搜索上述技术的解决方案。我想如果我使用教科书的滑模控制器,我会感觉到它在与理想温度的一些小偏移范围内并过渡到线性控制 - 一个“真正的”滑模控制器只会颤抖,总是驱动加热器全开或全关。(但是——它是一个加热器,所以如果它能做到这一点,它的效率不会低于尝试部分驱动它)。