PID控制设计变得简单

由Murad Abu-Khalaf,Mathworks,Rong Chen,Mathworks和Arkadiy Turevskiy,Mathworks


调整A.PID控制器似乎很容易,要求您找到三个值:比例,积分和衍生增长。事实上,安全有系统地找到了确保您控制系统最佳性能的增益是一个复杂的任务。传统上,PID控制器手动调整或使用基于规则的方法进行调整。手动方法是迭代和耗时的,如果在硬件上使用,可能会导致损坏。基于规则的方法也具有严重的限制:它们不支持某些类型的植物模型,例如不稳定的植物,高阶植物,或植物很少或没有时间延迟。金宝app除了调整外,PID控制还涉及设计和实施挑战,例如离散时间实现和定点缩放。

使用四条链接系统作为示例,本文介绍了一种简化和提高PID控制器的设计和实现的方法。此方法基于两个R2009B产品特征:Simulink中的PID控制器块金宝app®和Simulink Control Design™中的PID调谐金宝app算法。

四条联动系统:控制设计目标

四杆连杆(图1)用于各种应用,包括汽车悬架,机器人执行器和飞机着陆齿轮。

图1.具有静止下链路的四杆连杆机制,蓝色彩色。

控制系统由两个元素组成:前馈控制和反馈PID控制。前馈控制反转工厂动力学 - 它通过考虑非线性行为来处理机制的主要运动。反馈PID控制在面对建模不确定性和外部干扰方面保持定位错误。本文侧重于反馈PID控制的设计。

PID控制器(图2)采用其中一个链路的期望和实际旋转角度之间的误差信号,并产生扭矩请求。该请求将该请求添加到来自前馈控制器的扭矩请求,并且SUM信号用于驱动直流电动机,该直流电动机致动连接链接的接头的旋转。控制器必须稳定植物的运行。它还必须提供快速的响应时间和很少的过冲。因为控制器将在具有16位的固定点处理器上实现,所以需要采用离散时间形式,并且必须相应地缩放增益和计算信号。

图2.四杆联动系统控制器架构。

配置闭环系统并调谐控制器

该工厂模型包括在SimMechanics™中建模的四杆连杆机制和模型电池中的DC电机组成®(图3)。要创建图2所示的控制器体系结构,我们只需添加来自Simulink离散库的离散时间PID控制器块。金宝app使用已配置的闭环系统,我们已准备好调整控制器。

图3.具有DC电动机凝固电动机模型的四杆连杆机构的兴业模型。

为此,我们打开PID控制器块对话框,指定控制器采样时间,然后按“曲调”(图4)打开PID调谐器GUI。在显示GUI之前,Simulink控制设计将工厂线性化金宝app在当前操作点处,并在该反馈控制回路中导出PID控制器块的线性时间不变(LTI)工厂模型。自动考虑与采样相关的计算延迟。使用自动调整方法,Simulink控制设计然后生成PID控制器的初始金宝app增益。此调谐方法对工厂订单或时间延迟施加限制,并且它在连续和离散时间域中工作。

图4. PID调谐器,从“块”对话框打开。

图5显示了具有此初始PID设计的闭环系统的设定值跟踪响应。如果控制器性能令人满意,我们按“应用”将“应用”更新PID控制器块对话框中P,i,D和N增益的值。然后,我们可以通过模拟非线性模型来测试我们设计的性能,并查看结果(图6)。我们还可以使用简单的滑块交互式调整我们的设计,使控制器更快或更慢(图5,底部)。

此示例显示了具有此初始PID设计的闭环系统的设定值跟踪响应。(没有音频)
图6.四杆连杆模型的仿真结果。

准备实施

准备控制器以实现16位微处理器,我们为芯片支持的固定点算法扩展。金宝app

在“块”对话框中使用“数据类型”选项卡,我们应用了固定点设计所需的设置(图7)。我们可以使用Simulink中的固定点工具自动获取这些设置。金宝app然后,我们使用固定点设置运行模拟,以验证定点设计结果与控制器增益和信号实现为双精度值时的结果密切匹配。

图7.具有16位固定点架构的处理器上实现PID控制器的定点设置。

生成生产代码

使用为实现准备的PID控制器,最终步骤是使用实时研讨会嵌入式编码器™来生成C代码(图8)。要测试此代码,我们将使用生成的C代码替换PID控制器块,并在闭环仿真中运行代码。我们可以通过使用实时研讨会嵌入式编码器来自动创建调用生成的C代码的Simulink块。金宝app

图8. 16位固定点PID控制器的C代码实现。代码从PID控制器块生成。

我们现在可以使用将在实际处理器上运行的C代码运行模拟。仿真结果表明,生成的代码产生与具有双精度值的PID控制器块相匹配的结果(图9)。

图9.仿真结果比较了所生成的C代码的性能以及双精度PID控制器块的性能。

我们现在可以将此代码部署到处理器并开始实时控制我们的四个条链接。

发布2009年 - 91842V00

查看相关行业的文章