Simulink 中的 PID 控制器整定

本示例展示如何使用 PID Tuner 自动整定 PID 控制器模块。

PID Tuner 简介

PID Tuner 为 Simulink® PID 控制器模块提供了一种快速且广泛适用的单回路 PID 整定方法。使用此方法,您可以整定 PID 控制器参数,以实现具有期望响应时间的鲁棒设计。

使用 PID Tuner 的典型设计工作流程包括以下任务:

  1. 启动 PID Tuner。启动时,软件会自动从 Simulink 模型计算线性被控对象模型并设计初始控制器。
  2. 通过在两种设计模式下手动调整设计准则,在 PID Tuner 中整定控制器。整定器计算能够鲁棒稳定系统的 PID 参数。
  3. 将设计好的控制器参数导出回 PID 控制器模块,并在 Simulink 中验证控制器性能。

打开模型

打开包含 PID 控制器模块的发动机转速控制模型,并花些时间熟悉它。

open_system(‘scdspeedctrlpidblock’)

发动机转速控制模型

设计概述

在本示例中,您将在发动机转速控制回路中设计一个 PI 控制器。设计目标是跟踪来自 Simulink 阶跃模块 scdspeedctrlpidblock/Speed Reference 的参考信号。设计要求是:

  • 调节时间小于 5 秒
  • 对阶跃参考输入的稳态误差为零。

在本示例中,您通过在 PID Tuner 中设计 PI 控制器 scdspeedctrl/PID Controller 来稳定反馈回路并实现良好的参考跟踪性能。

打开 PID Tuner

要启动 PID Tuner,请双击 PID 控制器模块以打开其模块对话框。在 主要 选项卡中,点击 整定

PID 控制器模块对话框

初始 PID 设计

PID Tuner 启动时,软件会计算控制器所见的线性化被控对象模型。软件会自动识别被控对象的输入和输出,并使用当前工作点进行线性化。被控对象可以是任意阶次,并且可以包含时间延迟。

PID Tuner 会计算一个初始 PI 控制器,以在性能和鲁棒性之间实现合理的折衷。默认情况下,图中显示阶跃参考跟踪性能。

下图显示了具有初始设计的 PID Tuner 对话框:

PID Tuner 初始设计

显示 PID 参数

点击 显示参数 以查看控制器参数 P 和 I,以及一组性能和鲁棒性测量值。在本示例中,初始 PI 控制器设计给出的调节时间为 2 秒,满足要求。

显示参数的 PID Tuner

在 PID Tuner 中调整 PID 设计

参考跟踪响应的超调量约为 7.5%。由于在达到调节时间限制之前我们仍有一些余地,您可以通过增加响应时间来减少超调量。将响应时间滑块向左移动以增加闭环响应时间。请注意,当您调整响应时间时,响应图以及控制器参数和性能测量值会更新。

下图显示了一个调整后的 PID 设计,其超调量为零,调节时间为 4 秒。设计出的控制器实际上变成了一个纯积分控制器。

PID Tuner 调整后的设计

PID Tuner 调整后的设计参数

完成具有性能折衷的 PID 设计

为了在将调节时间减少到 2 秒以下的同时实现零超调,您需要同时利用两个滑块。您需要使控制响应更快以减少调节时间,并增加鲁棒性以减少超调。例如,您可以将响应时间从 3.4 秒减少到 1.5 秒,并将鲁棒性从 0.6 增加到 0.72。

下图显示了具有这些设置的闭环响应:

PID Tuner 最终扩展设计

PID Tuner 最终扩展设计参数

将整定后的参数写入 PID 控制器模块

当您对线性被控对象模型上的控制器性能感到满意后,可以在非线性模型上测试设计。为此,请点击 PID Tuner 中的 更新模块。此操作会将参数写回 Simulink 模型中的 PID 控制器模块。

下图显示了更新后的 PID 控制器模块对话框:

更新后的 PID 控制器模块对话框

完成的设计

下图显示了闭环系统的响应:

闭环系统响应

响应表明新控制器满足所有设计要求。

当 PID 控制器模块属于多回路设计任务时,您也可以使用 Control System Designer 来设计 PID 控制器模块。请参阅示例 Single Loop Feedback/Prefilter Compensator Design (Simulink Control Design)。

bdclose(‘scdspeedctrlpidblock’)

另请参阅

PID Tuner

相关主题

  • Tune PID Controller to Favor Reference Tracking or Disturbance Rejection (Simulink Control Design)
  • Analyze Design in PID Tuner (Simulink Control Design)

版权标注与来源说明

本文译文对应的原文内容,均来源于 MathWorks 官方网站(https://www.mathworks.com/)及官方帮助中心,原文版权均独家归属MathWorks 公司所有。

原文进行的非官方翻译,仅为方便个人学习、理解MathWorks相关产品(含MATLAB等)的功能、操作及技术细节而制作,不代表MathWorks公司官方立场,也不构成官方翻译版本。

建议使用者优先查阅官方原文。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐