Boost 变换器 PI参数设计举例
小编想给大家介一个用于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模块直接使用。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553956390_tu8wah.jpg?imageView2/0)
工具箱位置
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553954892_i44vme.jpg?imageView2/0)
通过PIDController模块打开工具箱
PID Tuner 的设计流程
为更加方便地说明该工具最常用的使用流程,本次以一个matlab自带的最简单的例子来进行举例说明。(1)打开demo模型,在matlab 命令窗口输入 open_system('scdspeedctrlpidblock')![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553951937_xizdia.jpg?imageView2/0)
模型打开
(2)打开模型并运行当前默认PI参数下模型,如下,从仿真波形我们可以判定,PI参数可能还有进一步优化的空间。![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553955186_udqpw0.jpg?imageView2/0)
整体模型
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553952252_q7vrqk.jpg?imageView2/0)
模型对应仿真结果
(3)双击点开PI模块,模块可设置参数如下图所示
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553955420_tnb42v.jpg?imageView2/0)
PID模块属性设置界面
其中标出的数字:1可以设置调节器的类型;2可以选择调节器是连续还是离散模式;3可以设置PID两种不同的表达式(具体如下图所示);4处可以对PID进行一些设置,比如初始值、复位条件、输出限幅等;5处为具体PID参数数值。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553956976_osxyln.jpg?imageView2/0)
两种不同表示方式对应的数学公式
(4)调整PID参数,在已经打开的模块属性最下方,选择合适的调整校验方法,大部情况下选第一个基于传递函数的方法即可,然后点击后边的Tune按钮。![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553950204_t4c8dp.jpg?imageView2/0)
基于传递函数的设计方法
(5)弹出界面如下,根据需求通过下图中1位置添加对应的观测曲线,拖动2处调节按钮,参考下边plot曲线,调整合适的参数,通过3处显示或自动更新调整后的参数。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553950756_44cy1z.jpg?imageView2/0)
参数调整及曲线显示界面
(6)运行更新后的模型,并再次查看仿真结果通过改后的结果可以看出明显比改前的波形好。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553950474_9kv06n.jpg?imageView2/0)
更新后PI参数及仿真结果
本次主要通过matlab自带的一个demo演示PID模块参数的一个整定方法,个人觉得在某些模型上使用起来还是挺方便的,对模型调试有一定的帮助。说明
PI或PID参数整定是一个经常困扰我们的问题,之前小编介绍过通过PID Tuner工具调整参数,另外我们还可以通过System Identification工具箱(MATLAB系统辨识工具箱 System Identification),将复杂系统等效成传递函数,再结合PID Tuner加速参数的设计。本次作者介绍通过PID Tuner的IO 数据来设计PID参数,因为很多模型,当我们通过PID controller点开设计工具时,界面是如下图所示的,我们无法通过拖动参数条来调节参数。![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553953966_pd1l1i.jpg?imageView2/0)
PID Tuner界面
针对上图所示的情况,我们应该如何调继续调整PI参数是一个问题。通过小编的研究,可通过I/O数据的方式进行调整,鉴于作者水平有限,请大家择优品鉴,随时交流。本次以一个相对比较简单的boost电路进行举例说明调节参数的方法及步骤。整体模型如下图所示,boost电路输入直流电压Vin=30V,电感L=0.1mH,电容C=100uf,负载为50Ω的纯电阻,开关频率10kHZ,控制采用直流电压控制,给定电压参考值开始为60V,0.5s后变为80V,采用PI控制器,在默认PI参数下,仿真结果见下图右侧。![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553956663_kq3fw4.jpg?imageView2/0)
boost电路及默认PI参数仿真结果
上述结果很明显PI参数是不合理的,我们可以通过以下步骤对PI参数进行重新设计。(1)通过PID Controller模块打开PID Tuner工具箱;![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553954267_n6lbqe.jpg?imageView2/0)
打开PID Tuner界面
(2)识别系统:在打开的PID Tuner界面Plant 下拉菜单中选择Identify new plant,如下图所示;
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553954582_xuafpl.jpg?imageView2/0)
识别系统
(3)获取I/O数据:在新打开的PLANT IDENTIFICATION界面Get I/O Data下拉菜单中选择Simulate Data选项;![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553949859_n3ioou.jpg?imageView2/0)
获取I/O数据
(4)设置系统输入:在新打开的SIMULATION I/O DATA界面设置相应的输入参数;![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553953603_et5krv.jpg?imageView2/0)
设置输入参数
(5)依次进行下图1,2,3操作过程;
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553952504_8hjbql.jpg?imageView2/0)
显示输入及误差等情况
(6)设置极点个数:上述(5)过程完成后,点击Close,回到PLANT IDENTIFICATION界面,并选择极点情况,此处我们先选择Underdamped Pair,后续我们再选一次Two Real Poles进行一下两种情况的对比。不同的选择对应的传递函数形式可以参考该设置项的右侧公式;![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553952894_2rqaq3.jpg?imageView2/0)
(7)自动生成传递函数:依次点击Auto Estimate和Apply,这样界面左边就会自动更新跟踪参考曲线;
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553955737_d53zb9.jpg?imageView2/0)
生成传递函数
(8)调整参数:回到PID Tuner界面,拖动参数调节条,整定参数,合适后,点击Update Block自动更新模型中的PI参数;
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553951150_b03vie.jpg?imageView2/0)
参数调整
(9)运行模型:PI参数更新完毕后,我们可以运行模型,观测控制结果,如果结果与你预期有差别,可以再次调整,更新,直至达到满意的结果,也可以在步骤(6)中选择其他的极点配置设置,对比不同情况的结果,选择比较好的参数。
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553953225_38f4nr.jpg?imageView2/0)
仿真结果
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553956076_m2h638.jpg?imageView2/0)
步骤(6)选择Two Real Poles选项
![](https://public.fangzhenxiu.com/fixComment/commentContent/imgs/1684553951553_5ynr4k.jpg?imageView2/0)
选择Two Real Poles选项仿真结果
本次介绍了一种设计PI参数的方法,个人认为对于相对简单的系统或电路相对较为实用对于复杂多PI的系统,还有待进一步研究实践。说明:本文来源网络;文中观点仅供分享交流,不代表本公 众 号立场,转载请注明出处,如涉及版权等问题,请您告知,我们将及时处理。