Matlab Simulink提供的控制参数整定效果还是值得肯定的,在此记录本人进行PID参数整定的过程,有不对之处忽略即可,但更欢迎批评指正。
资料引用(基于Matlab官方)
Cascade Digital PID Control Design for Power Electronic Converters
Multiloop Control Design for Buck Converter
引用资料的两个例子分别介绍了逐级调参和同时调参两个方法,下面对其分别进行说明
考虑到篇幅,将分为三个部分介绍.
【1】逐级调参-内环
【2】逐级调参-外环
【3】同时调参
二、同时调参(Multiloop Control Design for Buck Converter)
相同步骤不再赘述,参照前两篇的内容。下面是simulink建模的原理图,与前面例程相同。
1 非参简化模型获取
确定稳态工作点👉注入扰动信号👉分别在电流采样和电压采样两个点测量输出,求频率响应👉对其进行简化,得到非参简化模型如下图。
2. 获得参数化模型
该部分是通过非参模型(仿真数据)来构建参数模型
此部分重点介绍基于参数化模型进行PID调节的方法,我目前还没有找到工具箱,但有一个“Estimate State-Space Model with Live Editor Task”可以用,下面是界面
运行后的结果如下图
蓝色是参数化模型,在电压环的高频段有一些偏差,但总体影响不大,毕竟电压环最终整定的带宽也比较窄。总体吻合度是95.5%
3.首先构建内环和外环的turablePID对象,原例程中是PI形式
Ci = tunablePID('Ci','PI',Ts_ctrl);
Ci.IFormula = 'Trapezoidal';
Ci.u = 'Ie';
Ci.y = 'Duty Cycle';
Cv = tunablePID('Cv','PI',Ts_ctrl);
Cv.IFormula = 'Trapezoidal';
Cv.u = 'Ve';
Cv.y = 'Iref';
为了加快收敛速度,先给外环PI环节赋初值。
Cv.Kp.Value = 1;
Cv.Ki.Value = 200;
4.构建抽象的非电路系统
下图是基于参数化模型的系统框图
基于上面原理框图构建纯数学系统,目前没有找到方便的GUI方法,可以由状态空间方程的A、B、C、D矩阵,构建状态空间模块,再将所有电路物理信号转换为数学信号,输入到模型当中,会比较麻烦。
由于后面考虑结合实物进行设计验证时,也不打算采用双环同时调参的方法,因此不在此处继续深入,只是用命令的方式实现调参验证。
该方法虽然不够直观,但全部由命令实现,非常快捷和方便调整参数,也有一定的实际意义。
可以将分布整定和同时整定两种设计方法进行对比,确认设计的正确性
sum_i = sumblk('Ie = Iref-iL_sampled');
sum_v = sumblk('Ve = Vref-vc_sampled');
input = {'Vref'};
output = {'iL_sampled','vc_sampled'};
APs = {'Iref','Duty Cycle','iL_sampled','vc_sampled'};
ST0 = connect(sysTune,Ci,Cv,sum_i,sum_v,input,output,APs);
通过上面步骤,完成了双闭环控制回路的建模。
5. PID参数优化
对参数进行整定的代码如下:
LS1 = TuningGoal.LoopShape('iL_sampled',30000);
LS1.Openings = {'vc_sampled'};
LS2 = TuningGoal.LoopShape('vc_sampled',3000);
MG1 = TuningGoal.Margins('iL_sampled',3,60);
MG1.Openings = {'vc_sampled'};
MG1.Focus = [30000 300000];
MG2 = TuningGoal.Margins('vc_sampled',3,60);
MG2.Focus = [3000 30000];
opt = systuneOptions('SoftTol',1e-10,'MinDecay',1e-10,'MaxRadius',1e10);
rng(1)
[ST1,fSoft,fHard] = systune(ST0,[],[LS1,LS2,MG1,MG2],opt);
6. 参数优化效果验证
上图是参数优化后的时域结果
内外环都采用了PI,而非之前的内环-PID,外环PI。
之前分布调节时的最终效果如下图:
采用双PI控制器,超调更小,动态稍差。总体都比较理想。
小结
双闭环控制环路的PID参数整定,采用内外环分开整定的方法,整定过程都可以对电路动力学过程进行比较直观的验证,比较容易理解。
采用内外环同步整定的方法,由于是单输入双输出的系统,传统SISO方法没法使用,因此采用State-Space方程描述,先将非参模型参数化,对参数化模型进行全局的整定,因此效果可能较分步整定更好,Matlab提供的脚本也可以通过简单修改参数进行更多情况和模型的适配,因此也是一种非常好的整定方法。该方法应该也可以对三环回路进行运用。