如何将PID控制器调整为非线性过程?
你不知道 您对过程进行线性化,然后让PID控制器对线性值进行处理。
通过“线性化流程”,我并不是要真正使流程本身线性化。由于物理原因,通常无法做到这一点。但是,可以在PID控制器的输出和过程输入之间放置非线性的东西,以便PID输出从PID控制器的角度线性控制过程。
这样的线性化器不需要非常精确,因为它位于反馈回路内。目的是使整个控制动态范围内的增益大致恒定。一种简单而通用的方法是基于分段线性表的函数。16或32段通常足以满足非高度非线性过程的要求。
我遇到的最坏的例子是通过改变阴极灯丝的驱动强度来控制通过电子管的电流。阴极温度对电子束电流的函数是高度非线性的,并且控制阴极灯丝电流的系统也有些非线性。在这种情况下,很难预测整个混乱情况,因此我在生产过程中使用了校准程序,逐步遍及灯丝驱动控制值,测量了每个的束电流,然后从中计算出32段查找表。它工作得非常好,我们能够在整个范围内调整束电流PID控制器以获得良好的响应。
如果在过程前没有线性化功能,则必须调整PID控制器以在过程的最高增量增益点处保持稳定性。然后,这导致在其他点的行为非常衰减。
添加
您更新的问题中没有任何内容说明为什么上述方法仍然不是一个好主意并且不适用。您说您正在使用模拟控制器。我的第一个反应是“ 1980年代早已过去,不要那样做。” 但是,PID控制器和工厂线性化器可以是独立的。
显然,工厂输入是功率,输出是温度。在一系列功率水平下测量典型的稳态温度。由此可以计算将线性化的“功率”转换为实际工厂功率输入的函数。模拟PID控制器可能会输出与功率成比例的电压。您所要做的就是在与该电压对应的位置插入一个黑盒,该电压对实际功率电平进行线性测量。
通常,您将使用具有内置A / D的微控制器来执行此操作。在点之间进行此表查找和线性插值是微不足道的。然后以最终转换为电压的方式输出结果。由于与微控制器相比,该工厂的运行速度较慢,因此就像过滤和缓冲PWM输出一样容易。或者,您可以直接驱动D / A,尽管在这种情况下听起来好像没有必要。
与控制器的1980年代主题保持一致,您可以使用A / D,内存和D / A来实现这种复古感。
无论哪种情况,PID控制器现在都可以有效地控制线性设备,并且应该可以将其调整为良好的性能。
在一个位置上对工厂输入进行分段线性变换比在输出范围内调整PID控制器内的3个值更容易。后者是一个难题,而前者则直接解决了这个问题。测量线性化函数的数据比确定各个点的P,I和D增益要容易得多。即使这样做了,您仍然会遇到短暂的问题,因为正确的收益不会立即应用到这种情况。再次,“收益调度”是一个难题。