采用开环PID自整定块对PID控制器进行实时整定

该示例示出了如何使用开环PID自动调节器块以调谐的发动机转速控制系统的PI控制器在模拟和实时。

开环PID自动调节器模块的介绍

开环PID自动调节器模块可以让你收听实时单回路PID控制器。它执行的开环试验内喷射扰动信号到植物,并计算基于近期望带宽推定的植物频率响应PID增益。

开环PID自动调节器块支持实时应用的两个典型的PID调谐的方案:万博1manbetx

(1)部署的硬件块,并用它在一个独立的实时应用程序,而不Simulink中的存在。万博1manbetx

(2)将block部署在硬件上,但是在Simulink中使用外部模式监控和管理实时调优过程。万博1manbetx外部模式允许在主机上运行的Simulink框图和在硬件上运行的生成代码之间进行通信。万博1manbetx

本实施例中聚焦在第二场景中,其中所述开环PID自动调节器块是使用外部模式用于调谐的发动机转速控制系统的实时性。

发动机转速调节器

Simu万博1manbetxlink模型包含一个PID块,开环PID自动调节器块和发动机模型。

MDL ='scdspeedctrlOnlinePIDTuning';open_system(MDL);

PI控制器具有P = 0.01的初始增益和I = 0.01,通过“P”和“I” inports外部提供给PID块。有外部P和I增益可以让你改变他们以后新的收益是由开放回路PID自动调节器块后计算。

在PID块与发动机模型之间插入开环PID自动调谐块。启动/停止信号用于启动和停止开环实验。当没有实验运行,开环PID自动调谐块像一个单位增益的块,在“u”信号直接通过“u +Δu”。当实验结束时,块对PID增益进行调优,并在“PID增益”端口上输出它们。

当你对一个物理植物实时使用开环PID自动调谐块时,有几件事你需要注意:

  • 因为开环试验是在优化过程中所进行的设备必须是渐进稳定。如果你的植物有一个积分,您仍然可以通过不选择来估算植物直流增益使用块。在这两种情况下,但是,你必须密切监视优化过程中植物的行为,并及时进行干预,如果厂房过于接近不期望的运行状态。

  • 为了更准确地实时估计频率响应,在调谐过程中应尽量减少负载扰动。块期望工厂的输出仅仅是对注入的扰动信号的响应,而负载扰动会扭曲这个输出。

  • “跟踪模式”(TR尺寸)的PID块,使PID块跟踪真正的植物在调优过程中输入“u +Δu”。这个特性应该一直使用,以便在循环关闭和PID块在调优过程完成后恢复控制时提供无故障传输。

配置开环PID自动调节器模块

正确的开环PID自动调节器块与植物模型和PID块连接后,打开块对话框,并指定调整和实验设置。

在“优化”选项卡中有两个主要的优化设置:

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

  • 目标相位裕度:决定你想如何强大的控制器是。在这个例子中,选择60度的默认值,导致一般在5%的超调。

在“实验”选项卡有两个主要的实验设置:

  • 正弦振幅:指定注入的正弦波的振幅。在本例中,为所有四个正弦波选择0.1,即标称植物输入值9的一小部分。在整定过程中,工厂的产量在1900到2100 rpm之间变化,大约是2000年工厂名义产量的+/- 5%。目标是使装置在标称工作点附近运行,以避免引起非线性的行为。

  • 阶跃振幅:指定注入的阶跃信号的振幅。在本例中,也选择0.1。注意,如果工厂有一个单一的积分器,你需要选择不估计直流增益,因此,没有阶跃信号注入工厂。

在正常模式模拟开环PID自动调节器模块

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

SIM(MDL);

在该示例中,发动机转速参考信号变为从2000到3000rpm,然后返回至2000rpm在第20秒。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到3000rpm,然后返回至2000rpm再次80和100秒之间。新PI涨势提供了一个更好的闭环响应。

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

要在外部模式下根据物理引擎对PI控制器进行调优,您需要用硬件接口块替换Simulink模型中的“引擎模型”部分,这些硬件接口块以“y”的形式提供rpm测量,并以“u”的形式向致动器发送节流阀角度。万博1manbetx

这里是配置以调谐在所述外部模式的示例的万博1manbetxSimulink图,假设你的PI控制器在一个Arduino DUE板上运行,并且经由串行端口物理引擎通信。

这里是为了使其在外部模式工作,以原有的Simulink模型所做的更改(按顺序)的摘要:万博1manbetx

  • 拥有一台运行Simulink并通过USB连接与Arduino 万博1manbetxDUE板通信的主机。

  • 安装“的Simul万博1manbet万博1manbetxxink支持包Arduino硬件”。你需要,如果你的硬件不同,安装不同的硬件支持包。万博1manbetx

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

  • 有两个串行接口块替换原始模型发动机模型部分。在实时中,开环PID自动调节器块从输出的Arduino板收集植物运行“串行接收”块(来自传感器),并通过“串行发送”块(到致动器)发送实验信号到发动机。

  • 对于实时操作更具灵活性,并开始通过翻转基于模拟时钟手动“调整开关”,而不是停止调整过程。类似地,更新由翻转“增益开关”的PI增益和通过翻转一个“REF开关”改变参考信号。

  • 选择“外部模式”在Simulink模型和仿真设置时间“无限”万博1manbetx。

模拟运行。首先,Simu万博1manbetxlink为整个模型生成代码并将其下载到Arduino DUE板。当程序开始在板上运行时,您可以实时监控范围内的工厂输入和输出。当工厂达到2000转/分钟的公称操作点时,使用三个手动开关来调整、更新和验证控制器。

减少内存和外部模式避免超限任务

“块”选项卡中的“减少内存和避免任务溢出(仅限外部模式)”选项可以帮助在有限内存资源和/或非常快的示例时间内将生成的代码部署到硬件上。

如果您的硬件有板载内存不足,使用这个选项时,调整外部模式。使用此选项,仅Simulink的生成万博1manbetx在线频率响应估计功能代码。因为没有代码被部署为PID设计功能,其结果是在硬件上减小的内存使用情况。在这种情况下,估计完成后,PID增益被计算在Simulink在主计算机上,然后发送回自动调节器块。万博1manbetx

在调整过程结束时的PID增益计算要求比网上频率响应估计得多的计算负荷。如果控制器采样时间非常快,一些硬件可能无法执行周期内完成计算。因此,具有主计算机来执行PID增益计算,您还可以调谐PID控制器在具有有限计算能力的硬件快速采样时间。

bdclose (mdl)

也可以看看

相关话题