迭代学习控制的原理和简单实例已经在上一篇文章中讲过了。这篇文章将要研究在用迭代学习控制来无静差跟踪逆变器输出电压。
1 逆变器ILC控制建模
逆变器的模型采用半桥模型,话不多少直接贴图:
Control控制器子系统内部结构如图:
这里将传统的逆变器电压电流双闭环控制中的电压环改造成了迭代学习控制器ILC Controller。控制器输出作为电流环参考。
接着看ILC Controller内部结构:
这个只是简单的使用了一个P型迭代控制器。将控制器输出保存到Matlab工作空间变量Iref_out。Vo和Vref也导入到工作空间,只是为了绘图用。Iref是从工作空间读取的上一次的迭代控制量。
配套的Matlab控制程序:
clc;
clear all;
T=0.52;%和Simulink模型中相同
Ts=52e-6;
t=0:Ts:T;%采样时间和仿真时间可修改,但是要注意SIMULINK的也要修改
for k=1:1:10001
uinit(k)=0;
end
Iref=[t',uinit'];
for i=1:10
sim('INV_IGBT');
Iref=[t',Iref_out];
figure(i);
plot(t,Vref,'r',t,Vo,'b');
end
这里设置仿真时间52us,控制器初始化输入为0数组。仿真次数10次。运行该程序,出来10个波形了:
第1次迭代波形:
第5次迭代波形,已经在逼近参考了:
第10次迭代波形,非常完美的与参考信号重合了:
仿真模型已经上传到CSDN空间。下载链接https://download.csdn.net/download/liuzhijun301/11562635。