简介
小编想给大家介一个用于simulink中调PI参数的工具,即PID Tuner。 好多人问我PID参数都是咋调的,我还能咋调,我也是瞎调的呗。 但哥这次要说的这个工具箱,有时候可能会对你调PI参数管点用,但貌似直接用在电力相关的模型中不太好使,But,whatever... 说明使用PID Tuner可以对Simulink模型中的PID控制器,离散PID控制器,两自由度PID控制器,两自由度离散PID控制器进行调参,实现控制性能和健壮性的良好平衡。 在使用PID Tuner的时候,它会自动做一些工作:
自动计算被控装置的线性模型。PID Tuner会将PID控制块输入和输出之 间所有Simulink块的组合看作为一个被控装置,因此被控装置将会包括控制环中所有块体,不仅仅是控制器本身。
自动给出一个经过控制性能和鲁棒性(健壮性)平衡的初始PID控制设计。这个过程基于经过线性化的被控装置模型的开环频率响应特性。
提供交互性工具和响应曲线来帮助设计满足要求的PID控制系统。
正常我们既可以通过matlab APP找到它的位置,也可以通过PID Controller模块直接使用。
PID Tuner 的设计流程
为更加方便地说明该工具最常用的使用流程,本次以一个matlab自带的最简单的例子来进行举例说明。 (1)打开demo模型,在matlab 命令窗口输入 open_system('scdspeedctrlpidblock')
(3)双击点开PI模块,模块可设置参数如下图所示
其中标出的数字:1可以设置调节器的类型;2可以选择调节器是连续还是离散模式;3可以设置PID两种不同的表达式(具体如下图所示);4处可以对PID进行一些设置,比如初始值、复位条件、输出限幅等;5处为具体PID参数数值。
(5)弹出界面如下,根据需求通过下图中1位置添加对应的观测曲线,拖动2处调节按钮,参考下边plot曲线,调整合适的参数,通过3处显示或自动更新调整后的参数。
(6)运行更新后的模型,并再次查看仿真结果通过改后的结果可以看出明显比改前的波形好。
说明
PI或PID参数整定是一个经常困扰我们的问题,之前小编介绍过通过PID Tuner工具调整参数 ,另外我们还可以通过System Identification工具箱( ),将复杂系统等效成传递函数,再结合PID Tuner加速参数的设计。 本次作者介绍通过PID Tuner的IO 数据来设计PID参数,因为很多模型,当我们通过PID controller点开设计工具时,界面是如下图所示的,我们无法通过拖动参数条来调节参数。
本次以一个相对比较简单的boost电路进行举例说明调节参数的方法及步骤。 整体模型如下图所示,boost电路输入直流电压Vin=30V,电感L=0.1mH,电容C=100uf,负载为50Ω的纯电阻,开关频率10kHZ,控制采用直流电压控制,给定电压参考值开始为60V,0.5s后变为80V,采用PI控制器,在默认PI参数下,仿真结果见下图右侧。
(2)识别系统:在打开的PID Tuner界面Plant 下拉菜单中选择Identify new plant,如下图所示;
(5)依次进行下图1,2,3操作过程;
(7)自动生成传递函数:依次点击Auto Estimate和Apply,这样界面左边就会自动更新跟踪参考曲线;
(8)调整参数:回到PID Tuner界面,拖动参数调节条,整定参数,合适后,点击Update Block自动更新模型中的PI参数;
(9)运行模型:PI参数更新完毕后,我们可以运行模型,观测控制结果,如果结果与你预期有差别,可以再次调整,更新,直至达到满意的结果,也可以在步骤(6)中选择其他的极点配置设置,对比不同情况的结果,选择比较好的参数。