PID(比例-积分-微分)控制器无处不在,它的设计和调试在理论上很简单,但是实际上却很困难。通常采用的调试方法是在控制器工作的同时手动调整控制器增益。这种耗时的调试方法要求对工厂硬件进行操作,一旦所选增益导致不稳定的动作,则会造成损坏。本文介绍了如何在可编程逻辑控制器(PLC)、可编程自动化控制器(PAC)和微处理器上系统地采用基于模型的设计方法,提升PID控制器的设计、测试和安装体验。
采用基于模型的设计方法,我们使用模块框图环境来创建工厂和控制器系统模型。这些模型可以用于仿真,使我们能够在控制器安装使用之前快速地优化控制器的设计。无需对工厂硬件进行操作,因为我们可以通过仿真进行大量的测试,无需使用工厂硬件。通过仿真进行前期验证,确保控制器在工厂实际安装之后能够按照预期工作。来自于多家供应商的不同软件平台使这种类型的仿真和分析成为可能。在本文中,我们的团队使用MathWorks公司的Simulink。
基于模型的PID控制器设计包括如下四步:
·创建工厂模型;
·设计PID控制器;
·实时测试控制器;
·安装设计方案。
使用数字运动控制系统作为例子www.cechina.cn,我们将采用基于模型的设计方案完成PID控制器的快速设计和搭建。
数字运动控制系统
图1所示的工厂,或者说物理系统,正是我们所试图控制的。此工厂包含了一个功率放大器,用于驱动一台直流电机和两个用于测量电机轴和负载位置的旋转光学编码器。此电机通过小型柔性轴与负载相连,以模拟在很多运动控制系统中执行器和负载之间的依从关系。此控制系统通过测量编程负载角度和实测负载角度之间的差值来确保负载沿着特定轨迹运动,然后它使用PID控制器来计算电压,并将其提供给电机。我们的设计就是将我们的设备性能从现有的最大速度150弧度/秒和最大加速度2000弧度/秒2提高到250弧度/秒和5000弧度/秒2。我们希望在获得此性能提高的同时不降低位置精度。尤为关键的是,我们希望编程负载角度和实测负载角度之间的差值不要超过1度。如图2所示,现有的控制器设计无法满足新的性能要求。
图1:此数字运动控制系统就是我们的“工厂”。
图2:与改进后的速度和加速度值相比,以前的控制器设计在跟踪参考轨迹时(上图,红线推荐负载角度;黄线——实测负载角度)允许超过4度(下图)的最大位置误差。改进后误差的性能指标应低于1度。
不再对工厂硬件的PID增益进行手动调整,取而代之的是使用基于模型的设计来完成控制的开发、测试和安装。
创建工厂模型
创建工厂模型主要有两种方法:数据驱动建模和机理分析建模。
使用数据驱动建模方法,我们按照测量得到输入输出数据创建工厂模型。我们希望在数据收集阶段能够对控制器进行操作,以便于最小化工厂作业的偏差。为了获得输入输出数据,我们在输入信号上给直流电机的供电电压增加随机白噪声。控制器给直流电机的控制指令就是我们的总输出信号。收集此输入-输出数据,我们可以计算闭环系统的频率响应。由于我们知道电流控制器设计(即我们试图努力改进的设计)的具体增益值,于是我们可以得到工厂频率响应。最终,可以在时域完成控制器的仿真,我们采用系统辨识技术,将工厂的频率响应用于估计工厂传递函数。
图3:通过系统分析,估计工厂频率响应和工厂传递函数模型。
使用机理分析建模方法,我们采用标准模块框图建模,将增益、加和以及综合模块连接起来,创建工厂基本动态方程。
图4:将模块框图模型引入工厂的动态方程。
当进行机械系统或者电气系统建模时,创建工厂模型通常都很容易,只需与“物理”元件打交道,例如惯量、硬度、阻尼、电阻、电感等,然后将其相连即可CONTROL ENGINEERING China版权所有,就和我们绘制系统机械框图或者电气图没什么区别。机理分析建模方法则有所不同,这种方法被称为物理建模,无需得到工厂的动态方程就可以完成建模。
通常最好将两种建模方法结合使用。为此,我们从实际系统中测量输入-输出数据,用于矫正物理模型的参数(图5)。使用数字最优化技术对参数(电机和负载的惯量、硬度和阻尼)进行矫正。我们将实测输入值引入模型中,将得到的模型输出与实际系统测量得到的输出进行比较。我们对参数进行反复矫正,直到校准模型输出与实测输出完美匹配。通过使用最优化技术,这种反复矫正完全可以自动完成。
图5:运动控制系统的物理模型。
设计PID控制器
一旦工厂模型搭建完成,PID的设计和调整就很容易了。我们在工厂的模块框图中增加一个PID控制器,建立闭环系统模型。通过比例、积分和相应的增益使其参数化,具体增益值可以更新以达到预期的系统性能。我们使用如图6所示的自动PID调整方法,自动为工厂模型计算PID增益,而不是手动调整增益。当我们想要提升控制器速度时,我们发现系统变得不稳定了。通过对系统进行频域分析,发现共振峰值是罪魁祸首。
图6:自动PID调整。PID调整器自动计算PID控制器增益,使用轮动条可以设定预期响应时间,完成精细调整。
对于运动控制系统,这种不稳定是很常见的,使用陷波滤波器可以消除这种共鸣。如图8所示www.cechina.cn,此工具允许我们在峰值顶端增加一个陷波滤波器,以稳定系统并提升控制器速度。
图7:带有PID控制器的闭环系统频率响应(左)和阶跃响应(右)中可见共振峰值。
图8:带有陷波滤波器的控制器的系统响应。
我们通过对闭环系统进行非线性仿真来检验我们的设计(重新调整PID控制器和陷波滤波器)。此非线性模型包含电机的饱和效应。按照预期系统性能的速度要求运行仿真,结果证明改进后的设计满足要求,如图9所示。
图9:预期参考轨迹的系统响应。改进后的控制器设计误差小于1度。
此仿真器说明仅仅提高PID增益是不够的。我们需要使用陷波滤波器来消除共振峰值。自动PID调整允许我们快速对设计进行精细调整。对实际设备的手动调整可能会导致不稳定和损坏。
实时测试
制器的设计通过了仿真的检验,下一步就是实时测试控制器了。首先,我们需要建立实时测试平台www.cechina.cn,包括配有I/O板的实时目标计算机,如图10所示。这些I/O板通常与设备上(或设备原型)的实际传感器和执行器相连。现在我们重新使用控制器模型,并为PID控制器和陷波滤波器自动生产C代码,然后将此C代码下载到实时目标计算机上。现在,我们的控制器代码正实时地运行在目标计算机上www.cechina.cn,通过传感器和执行器的输入和输出直接控制工厂运作。在PLC或者PAC等生产硬件上安装控制器之前,我们就可以通过实时测试确定在实际的工况下,使用实际的输入和输出整个系统可以正常工作。通常这种方法被称为快速控制建模。我们也可以验证实时控制器的性能是否与我们在计算机仿真得到的结果一致。如果我们发现任何偏差,我们就可以尽早地进行诊断,在仿真模型中简单地修正问题,然后实时验证控制器是否工作正常。
图10:数字运动控制器系统的实时测试。工厂硬件置于配有IO板的实时目标计算机上。
安装设计
最后一步就是将控制器安装在目标PLC、PAC或者微处理器上。从我们的控制器模型中自动生成IEC61131结构文本,此结构文本以PLCopen XML和其他格式生成,被大多数集成开发环境(IDE)所支持。因此,我们可以编译控制器代码,并将其安装在数字PLC和PAC设备上。如果最终目标器件是微处理器,我们可以选择自动生成C代码。
工厂建模技术、闭环仿真和自动PID调整技术允许我们在计算机仿真中调整和测试PID控制器。使用模型,我们可以发现系统中的共振,进而开发并测试一个陷波滤波器以解决此问题。实时测试确保我们的控制设计与计算机仿真结果相符并满足设计要求。自动代码生成意味着我们可以快速地在PLC或者微处理器上安装控制器。最后,使用基于模型的设计允许我们快速开发、测试并搭建原型设计,不会损坏工厂硬件或者影响生产。
(翻译:辛磊夫)