主要内容

使用开环PID自整定块实时整定PID控制器

这个例子展示了如何使用开环PID自动调谐块在模拟和实时中调谐发动机转速控制系统的PI控制器。

开环PID自动调谐块

开环PID自动调谐器块允许您实时调整单环PID控制器。它进行了一个开环实验,向植物注入扰动信号,并根据在所需带宽附近估计的植物频率响应计算PID增益。

开环PID自动整定块支持两种典型的实时应用PID整定场景。金宝app

  1. 在硬件上部署块,并在没有Simulink®的情况下在独立的实时应用程序中使用它。金宝app

  2. 在硬件上部署块,但使用外部模式在Simulink中监控和管理实时调优过程。金宝app外部模式允许在主机上运行的Simulink框图与在硬件上运行的生成的代码之间进行通信。金宝app

本例重点介绍第二种场景,其中使用开环PID自动调谐器块使用外部模式实时调谐发动机转速控制系统。

发动机转速模型

Simu金宝applink模型包含一个PID块、一个开环PID自动调谐块和一个引擎模型。

mdl =“scdspeedctrlOnlinePIDTuning”;open_system (mdl)

PI控制器具有P = 0.01和I = 0.01的初始增益,通过“P”和“I”输入外部提供给PID块。拥有外部P和I增益允许您在开环PID自动调谐块计算新的增益后更改它们。

在PID块和发动机模型之间插入开环PID自动调谐块。启动/停止信号用于启动和停止开环实验。当没有实验运行时,Open-Loop PID Autotuner块表现为单位增益块,其中“u”信号直接传递给“u+Δu”。当实验结束时,块调整PID增益并在“PID增益”端口输出。

在实时使用开环PID自动调谐器块时,有几个重要的考虑因素。

  • 该装置必须是渐近稳定的,因为在调谐过程中进行了开环实验。如果你的电站只有一个积分器,你仍然可以通过选择不估计电站直流增益来使用块。但是,在这两种情况下,您必须在调优过程中密切监视设备行为,并在设备过于接近不希望的操作条件时及时进行干预。

  • 为了帮助更准确地实时估计机组频率响应,在调谐过程中应该有最小的负载扰动。块期望装置输出仅仅是对注入扰动信号的响应,负载扰动会使输出失真。

  • PID块中的“跟踪模式”(TR输入)打开,使PID块在整定过程中跟踪真实植物输入“u+Δu”。当闭环关闭和PID块在整定过程完成后恢复控制时,应该始终使用该特性来提供无扰动传输。

配置开环PID自调谐块

将open - loop PID Autotuner块与工厂模型和PID块正确连接后,打开块对话框,指定整定和实验设置。

调优选项卡,有两个主要的调优设置。

  • 目标带宽:决定控制器的响应速度。在本例中,选择2 rad/sec,因为所需的上升时间为1秒。

  • 目标相位裕度:决定你想要的控制器有多健壮。在本例中,选择默认值60度,一般会导致5%左右的超调。

实验Tab,有两个主要的实验设置。

  • 正弦振幅:注入的正弦波振幅。在本例中,所有四个正弦波都选择0.1,这是工厂名义输入9的一部分。在调谐过程中,装置输出在1900到2100 rpm之间变化,大约是2000年额定装置输出的+/- 5%。目标是保持电站运行在标称工作点附近,以避免刺激非线性电站行为。

  • 一步振幅:注入阶跃信号的振幅。在本例中,也选择0.1。如果电站只有一个积分器,就不能估计直流增益。在这种情况下,清除用阶跃信号估计直流增益参数。因此,没有台阶信号注入到植物。

在正常模式下模拟开环PID自整定块

如果您在Simulink中构建了一个植物模型,建议在使用外部模式的块进金宝app行实时调整之前,在正常模式下对植物模型模拟开环PID自动调谐器块。模拟可以帮助您识别信号连接和块设置中的问题,以便在生成代码之前调整它们。

sim (mdl);

在本例中,发动机转速参考信号在前20秒内从2000转到3000转,然后回到2000转。P = 0.01和I = 0.01的原始增益在瞬态中引起强烈振荡,必须进行调整。

20秒后,设备以2000转/分的标称工作点运行,并开始在线PID整定。实验持续时间为50秒,因为保守的指导方针表明,在线频响估计需要大约100/带宽秒才能收敛。

当PID整定在70秒停止时,新的增益P = 0.0026和I = 0.0065立即在“PID增益”输出口可用,并发送到PID块的外部P和I端口,覆盖原始增益。当闭环关闭,PID块恢复控制时,暂态几乎没有颠簸。

发动机转速参考信号从2000转到3000转,然后在80到100秒之间再次回到2000转。新的PI增益提供了更好的闭环响应。

在外部模式下使用开环PID自动调谐块

要在外部模式下针对物理引擎调整PI控制器,您可以将Simulink模型中的引擎模型部分替换为硬件接口块,这些硬件接口块提供rpm测量值为“y”,并将节气门角度发送给执行器为“u”。金宝app

作为示例,下面的Simulink图配置为在外部模式下调优,金宝app假设您的PI控制器运行在Arduino®DUE板上,并通过串行端口与物理引擎通信。

为了使原始模型在外部模式下工作,对原始Simulink模型作了以下更改(按顺序)。金宝app

  1. 有一台运行Simulink的主机计算机,并通过USB连接与Ar金宝appduino DUE板通信。

  2. 为Arduino金宝app硬件软件金宝app安装Simulink支持包。如果您的硬件不同,则必须安装不同的硬件支持包。金宝app

  3. 在“配置参数”对话框中解算器窗格,选择“固定步骤”求解器类型。在硬件实现面板中,选择“Arduino DUE”硬件板。

  4. 用两个串行接口块替换原始模型中的引擎模型部分。Arduino板上运行的Open-Loop PID Autotuner模块实时从Serial Receive模块(从传感器)收集植物输出,并使用Serial Transmit模块(到执行器)将实验信号发送到发动机。

  5. 为了更灵活的实时操作,启动和停止调优过程通过手动“调优开关”,而不是基于模拟时钟。类似地,通过翻转“增益开关”来更新PI增益,并通过翻转“参考开关”来更改参考信号。

  6. 在Simulink模型中选择“外部模式”,将仿真时间设置为“金宝app无限”。

运行模拟。首先,Simu金宝applink为整个模型生成代码,并将其下载到Arduino DUE板。程序在板上开始运行后,您可以实时监控范围内的植物输入和输出。当装置达到2000rpm的标称工作点时,使用三个手动开关来调优、更新和验证控制器。

在外部模式下减少内存和避免任务溢出

选项卡,减少内存并避免任务溢出(仅限外部模式)选项可以帮助在内存资源有限或采样时间非常短的硬件上部署生成的代码。

如果您的硬件板上内存较低,请在调优外部模式时使用此选项。使用此选项,Simulink仅为在线金宝app频率响应估计功能生成代码。由于没有为PID设计功能部署代码,因此减少了硬件上的内存使用。在这种情况下,估计完成后,PID增益在主机上的Simulink中计算,然后发送回自调谐器块。金宝app

在整定过程结束时的PID增益计算比在线频响估计需要更多的计算量。如果控制器采样时间非常快,一些硬件可能无法在一个执行周期内完成计算。因此,让主机执行PID增益计算也可以使您在计算能力有限的硬件上以快速采样时间调优PID控制器。

bdclose (mdl)

另请参阅

相关的话题