我正在尝试组合一个控制算法,以使用加热器将二阶热系统尽快驱动到目标温度。我已经做了一个很好的状态空间模型,带有一个额外的积分器来将静态误差驱动到 0,并选择了我的目标极点,并获得了一个可爱的线性控制器,如果我可以要求加热器瞬时提供 a) 真正疯狂的数量功率和 b) 冷却。
这些都不可能,我需要的是一个控制器,它可以优雅地处理以最大功率控制输出和回到线性控制模式之间的转换,而不会试图过冲回 0。只需钳位线性系统的输出就非常错误的; 我的模拟很怪诞。
输出致动器可以做什么的硬限制必须是最常见的控制非线性。但是当我脱离线性控制器设计时,一切都变得模糊不清。讨论了十几种不同的技术,但没有讨论如何使技术与问题保持一致。
谁能指出我“正确的方法”(或者请简单的方法)来设计一个输出有硬限制但系统是线性的控制器?最终实现将是数字化的,采样率为赫兹,时间常数为分钟,因此计算周期是免费的,时间量化效应可以忽略不计。
血腥模拟细节
我正在模拟的热系统看起来像这样,其中电流源代表加热器功率,电压是高于环境温度的温升。一件有趣的事情是 e1 和 e2 之间的差异与 e2 处的导数成正比。
具有神奇(绿色)和可实现(蓝色)的加热器电源模拟如下所示:
e2 处的结果(我试图控制的温度):
最后,具有抗饱和的积分器。让积分器走得更远会使 e2 处的过冲变得更糟;选择 5k 值是为了给环境温度变化留出一些空间。节点看起来像这样: