针对PID的模糊逻辑。 我们越过刺猬和蛇。 飞机发动机和NPP控制算法

大概,每个反复研究自动控制理论的人都对模型中这两个,三个甚至十个传递函数的正方形如何表示复杂单元(例如核反应堆或飞机发动机)的动力学有疑问。 这里有作弊吗? 使用简单模型可能会在“现实”生活中停止使用复杂模型。


在本文中,我们将尝试使用“真实的”飞机发动机模型。 用核电厂的设备和控制算法的“真实”模型包围了它。


最初,该模型是用Fortran编写的,旨在用于与引擎管理系统相关的某些高度科学的目的。 这个模型是作为示例提供给我们的,我们的任务是以结构形式重复该模型并证明它与原始模型一致。 完成了


该模型从Fortran列表变成框图后,就可以使用它进行任何“最复杂”的实验,变得简单,方便。 我原来是真正的NPP控制算法,这绝非偶然。 这样就可以快速为实验建立模型,而无需使用任何公式,是的,仅使用图片。


引擎型号


该模型是一组典型的模块,这些模块配置为模拟特定引擎的各种组件。 在上一篇文章中,我们拆解了一个燃气涡轮发动机,其中使用轴将净功率去除。 在涡轮喷气发动机中,净功率是喷气推力,但我们将控制速度。

该模型的一般方案如图1所示。




图1.涡轮喷气发动机的结构模型图。

尽管模型图看起来像是三维零件的散布,但实际上它是一组相互连接的结构元素。


作为实验,我们和上一篇文章一样 ,将尝试控制燃料供应以获得所需的速度。


为此,我们需要一个燃烧室,在燃烧室中我们可以改变其燃料消耗。 并且在参数中,腔室具有入口压力,该压力在此块中计算。 (见图2和3)



图2.燃烧室的特性。


图3.燃烧室的参数。

作为可调速度,我们采用低压轴的转速。 在我看来,它的旋转对燃料供应压力的依赖性比高压轴的旋转更为复杂,高压轴的旋转受燃烧室后气体的影响。


燃油输送模式


在原始模型中,燃料供应以千克/秒为单位,以时间的表格函数形式指定为建模的边界条件。 我们想要创建一个接近“实际”模型的模型,因此我们将使用上一篇文章中的建议,并创建一个从管道和电动阀供油的液压模型。


作为模型,我们将设置直径为10 mm的管道,并在其上放置一个电动阀。 假设燃油泵在那儿工作,则将管道一侧的压力设置为恒定。 另一侧的压力将取自发动机模型。 在管道的末端,我们添加了2倍的缩窄以模拟喷嘴。 (图4)



图4.向发动机供油的模型。

该模型结合了阀的液压阻力变化对阀位置的依赖性。


这种模型将使我们能够考虑燃烧室中的压力对燃料消耗的影响,并提供反馈;当我们增加燃料消耗时,我们会增加燃烧室中的压力,因此,燃油泵和燃烧室之间的压差减小,从而降低了燃料消耗。


通过解决流体流动的非平稳方程,并考虑摩擦,粘度,密度和其他物理影响,来确定管道的成本,该过程的描述将花费两三页公式。


管理模式


为了模拟真实的控制系统,我们将采用调节器的模型,该调节器用于从NPP控制项目向涡轮机供应蒸汽。 不仅是给我们阀门位置的PID,而且还有一个诚实的模型,它具有:


  1. 考虑到非敏感区域,延迟,打开和关闭速度,对驱动电动机的运行进行建模。
  2. FIR(脉冲转换继电器)是一个非线性模块,用于在命令“打开”和“关闭”中转换控制动作。
  3. PID控制器。
  4. 速度传感器的惯性。

要描述所有列出的模块和模型,您将需要一百五十页的文字,因此只需给图片加上很少的解释即可。


阀门型号


它是引擎和本地控制系统的模型。


该引擎是一个棘手的集成器,它在考虑给定的可能的撞击,电源故障等运动速度的情况下,处理“打开”和“关闭”命令。 (参见图5)在此块的出口处,在过程模拟中的每个时间点计算阀门位置



图5.电动机模型

为了控制阀门电动机,使用了阀门控制单元(BUK),该单元可对传入命令和可能的给定故障进行逻辑处理,并生成指示和控制系统所需的所有信号。 (见图6)



图6.阀门控制单元(BEECH)的型号

图5-6中的图表是用于建模核电站的典型库方案。 这些块不由用户更改,但已准备就绪并用于创建控制算法。 控制算法以表格形式创建。 在我们的案例中,阀控制算法表如图7所示。


命令“打开”或“关闭”(更多,更少)的直接形成是在脉冲的继电器转换(FIR)块中进行的。 该单元既可以在“铁逻辑”(晶体管,继电器,放大器)上执行,也可以以程序形式执行。
在EPI块的输入处,将计算出不匹配,该不匹配由PID块以百分比偏差的形式计算。 基于此数据,单元本身会为阀门控制单元生成“打开”或“关闭”(更多,更少)脉冲。 EPI的框图如图8所示。

速度控制算法如图9所示。


设定速度和传感器读数用作计算压力调节器的初始数据。


PID算法本身如图10所示。


速度传感器考虑了实际传感器的延迟,惯性和误差。 传感器模型图如图11所示。



图7.阀门控制算法


图8. FIR框图


图9.控制旋钮的算法


图10. PID控制器


图11.传感器模型

如我们所见,该模型非常详细(超过一千个块),并且根本不是线性的。


由于在此实验中我们正在探索优化和管理复杂系统的可能性,因此从其非线性和复杂性的角度来看,数学模型的细节对我们很重要。 因此,来自NPP调节器的实际控制程序和“真实”发动机模型的这种“狂野”组合构成了测试具有复杂模型的调节器的任务。


  • 控制系统使用以下设置:
  • 阀门打开和关闭时间-10秒
  • 发动机转速调节范围-1500-4000 rpm
  • 调节器的死区-1%

模型调整和数值实验


我们正在探索的模型仅描述了引擎。 并且所有控制动作(例如燃料消耗,导叶的旋转角度,流量等)均以随时间变化的功能形式设置。 我们创建了“更诚实”的燃油供应模型,并正在尝试将其与发动机模型联系起来。 数值实验的设计如下:

  1. 使发动机模型达到标称速度;
  2. 将燃油供应切换到创建的控制系统;
  3. 进行速度控制。

图12示出了进行数值实验的控制电路。


图12.数值实验控制模型

该模型可以在优化模式或控制模式下工作。


当优化模式打开时,优化单元开始工作;在关闭模式下,它不参与计算。


单个包装中连接的所有型号均被视为通过信号数据库同步交换数据。 在计费管理项目中,数据从一种模型转移到另一种模型。 特别地,来自发动机的燃烧室的压力被传递到燃料系统的出口处的压力,并且所计算的低压轴的转数被传递给传感器模型以在控制系统中进行计算。


为了模拟速度测量的不准确性,将白噪声添加到轴速度的计算值中。


设置的速度将传输到优化单元。 为了监控瞬变的质量,使用了流量和阀门位置。


控制系统以具有三种状态的状态机的形式制成(请参见图13):


  1. 发动机加速。 在这种状态下,发动机模型独立于燃油系统运行,燃油消耗设置为分段线性函数。 关闭调节器,将计算出的低压轴转数传输到设定转数,根据上位信号,转换可以在优化状态或控制状态下发生。
  2. 优化。 在这种状态下,燃油消耗从液压模型中获取,并转移到发动机模型中。 PID控制器打开,并调节阀的位置。 控制器的PID系数取自优化块,并以优化模式应用于控制器。 作为测试动作,设置发动机转速的变化。
  3. 管理。 除了将系数传输到PID控制器外,与优化完全相同。


图13.引擎管理系统的状态机


图14.状态“引擎加速”和“优化”

控制器的调整通过优化方法进行。 优化框图如图15所示。根据系统中使用哪个控制单元进行控制,优化块为PID块或模糊控制块选择值。


设置时,不考虑白噪声(在该块中将其设置为0)。



图15.调节器优化块

仿真结果


要选择PID控制器系数,请使用以下过程:

在10秒内,使用预先计算的燃油消耗曲线执行加速。 加速结束时低压轴的转速为3564 rpm。

在计算的10秒时,状态机切换。 从这一刻起,油耗就从液压模型中获取,调节器的设定频率为3600 rpm。


在计算20秒时,设定的频率将发生变化-3900 rpm。


因此,调节器必须在计算10秒时计算出36 rpm的步进,并在计算30秒时计算出300 rpm的步进。


考虑到以下事实:经过调谐的PID控制器成功地完成了这一任务,即在10秒内,除了转数的跳跃外,在切换到液压模型时燃油消耗也发生了跳跃(见图16)。



图16. PID控制器的周转和控制过程

为了创建基于模糊逻辑和实验纯度的控制器,我们使用相同的已配置PID控制器(参见图10),在其中添加基于模糊逻辑的控制器模型并替换控制器输出-代替PID,我们发送在模糊逻辑中获得的信号。


因此,与归一化,不敏感区域,EPI的功有关的所有其他参数都与PID相同。

控制器的输出与PID的输出相同,是百分比不匹配。
而且,我们离开了PID控制器本身,以便我们可以比较调节器产生的影响。 (见图17)



图17.将PID转换为模糊逻辑

监管机构本身看起来与第一篇文章相同。 (见图18)。 输入不匹配,通过数字确定不匹配的一阶和二阶导数,并使用三个规则的简单基数:

  • 如果小于 ,则减小减慢 => 减小。
  • 如果规范不变不变 => 则不变
  • 如果更多增加加速 => 增加


图18.模糊控制器图。

为了进行定制,我们使用与第一篇文章中相同的变量-这些是一阶和二阶导数偏差的偏差范围。


优化后,我们开始相同的过渡过程。



图19.模糊逻辑的周转和控制
模糊逻辑控制器的表现还不错。 请注意,根据闸阀的位置,在闸阀停止,暂停然后再次移动时会形成“由我们自己形成”的台阶。

根据时间表19判断,模糊逻辑可以更好地控制飞机发动机的速度!


现在,我们将问题的条件更改为300 rpm的正步进,并测试-1500 rpm的负步进。 (如果再加一点,阀门可能会关闭,但我不知道该模型在零油耗下的表现如何,尽管真正的发动机允许短暂终止燃油供应。)

在20秒的计算时间,我们将频率设置为2100 rpm。 让我们看看我们的监管机构如何运作。 环中的第一个是模糊逻辑。



图20.降低速度的做法。 模糊逻辑

第二个实验是使用PID控制器。 我们看到了什么? 这是一个完全的故障,PID控制器经过调整以提高速度,无法应对频率的降低。 (请参阅21)我们的核电站现在发生了一些令人震惊的事情。


事实证明,在PID控制器的帮助下,低转速时的发动机模型完全无法控制,以实现高转速时的控制。


顺便说一下,可以看出燃油供应的短暂关闭(阀完全关闭)不会导致涡轮喷气发动机模型的崩溃。



图21.降低速度的做法。 PID控制器。

这将与使用二阶导数的SDA调节器进行比较。 由于已经在上一篇文章中建立了这样的模型(请参见图22),因此将模糊逻辑转换为交通规则大约需要两秒钟。 (见图23)。



图22.调节器交通规则的结构图。


图23.用控制算法中的流量规则替换PID

我们通过优化方法调整控制器,然后重复降低速度。



图24测试交通规则控制器速度的降低

SDA具有过冲功能,但明显优于PID,几乎与模糊逻辑一样好。 但是有一个超调!


让任务复杂化-向传感器添加噪音


现在,让我们尝试向信号测量传感器中添加白噪声,并查看调节器如何与真实传感器一起工作。 死区是最大速度的1%-40 rpm。 将白噪声设置为50 rpm。


由于PID不能以较低的速度运行,因此我们将以更高的速度进行测试。


交通控制调节器虽然可以保持所需的速度,但显然不能应付这种噪音,但是当设定速度打开时,控制阀会像在圣维特的舞蹈中那样摇动。 在图25中,将过程的25-26秒部分特别放大



图25随着传感器中的噪声增加RPM。 交通法规


图26随着传感器中的噪声增加RPM。 PID控制器

尽管RPM传感器中有噪声,但PID控制器的瞬变没有改变。 管理带有明确而漫长的步骤。


核电站的警报消退了。



图27.传感器中带有噪声的模糊控制器。

具有噪声的模糊逻辑的控制器也可以控制,但是在应用于静止状态时,调节机构的位置会发生波动。

结论


针对PID和SDA的模糊逻辑的第三系列测试以模糊逻辑的胜利告终。 与上一篇文章的简单模型不同。


事实证明,不可能以低速控制PID控制器。


PID的实验确定的优势是没有带有噪声传感器的振荡。


顺便说一句,引擎的动力学(加速度图)与简化模型的动力学非常相似。

Source: https://habr.com/ru/post/zh-CN430412/


All Articles