升压变换器模型的LPV近似

这个示例展示了如何获得升压转换器Simscape™电气™模型的线性参数变化(LPV)近似值。LPV表示允许快速分析各种操作条件下的平均行为。

提高转炉模型

升压转换器电路通过控制切断或切换源电压,将直流电压转换成另一直流电压。对一定负载电压的要求转化为对晶体管占空比的相应要求。占空比调制通常比开关频率慢几个数量级。净效应是获得一个平均电压和相对较小的波纹。请参见图1以放大查看此动态。

图1:变频器输出(负载)电压的产生

在实际应用中,电源电压也会受到干扰$ V_{直流}$还有电阻性负载R美元影响实际负载电压美元V_{负载}$.

打开Simulin万博1manbetxk模型。

mdl =“BoostConverterExampleModel”;open_system (mdl);

图2:基于Simscape的升压变换器模型

该电路具有高频开关的特点。该模型使用25纳秒的采样时间。模型中使用的“Boost Converter”块是一个实现了3个不同版本的转换器动态的变体子系统。双击该块以查看这些变体及其实现。该模型以占空比值为唯一输入,产生三个输出:电感电流、负载电流和负载电压。

由于高频开关元件和较小的采样时间,该模型模拟缓慢(当寻找0 - 10ms的变化时)。

批量调整和线性化

在许多应用中,响应某一占空比波形的平均电压是很重要的。这种行为是在比电路的基本采样时间大几十年的时间尺度上研究的。这些电路的“平均模型”是通过对特定时间段内功率动态的平均分析推导出来的。该模型BoostConverterExampleModel实现了这种电路的平均模型作为其第一个变体,称为“AVG电压模型”。此变体通常比“低级模型”变体执行得更快。

平均模型不是一个线性系统。它表现出对占空比和负载变化的非线性依赖关系。为了帮助更快的仿真和稳压控制器的设计,我们可以线性化的模型在不同的占空比和负载值。线性系统的输入和输出将与原始模型的输入和输出相同。

我们使用基于快照时间的微调和线性化方法。调度参数为占空比(d)和电阻负荷(R),模型根据调度参数的不同值进行裁剪,得到线性模型网格。在这个例子中,我们选择了占空比变化10%-60%的跨度,负载变化为4-15欧姆。在这些范围内的5个值为每个调度变量和线性化得到的所有可能的组合其值。

调度参数:d:占空比R:电阻性负载

nD = 5;nR = 5;dspace = linspace (0.1, 0.6, nD);“d”的% nD值在10%-60%范围内Rspace = linspace (nR) 4, 15日;"R"在4-15欧姆范围内的% nR值[dgrid, Rgrid] = ndgrid (dspace Rspace);%“d”和“R”值的所有可能组合

创建一个参数结构数组。

参数(1)。Name =' d ';参数(1)。值= dgrid;参数(2)。Name =“R”;参数(2)。值= Rgrid;

对模型在不同条件下的仿真结果表明,模型的输出稳定在0.01 s之前的稳态值。因此,我们使用t = 0.01s作为快照时间。

声明模型输入、输出和状态的数量。

纽约= 3;ν= 1;nx = 2;ArraySize =大小(dgrid);

计算平衡工作点使用findop.代码需要几分钟才能完成。

op = findop(mdl, 0.01, params);

得到模型中指定的线性化输入-输出。

io = getlinio (mdl);

在操作点阵列上线性化模型人事处并存储偏移量。

[linsys, ~, info] = linearize(mdl, op, io, params,...linearizeOptions (“StoreOffsets”,真的));

从线性化结果中提取偏移量。

偏移量= getOffsetsForLPV(信息);yoff = offsets.y;发送葡开= offsets.x;uoff = offsets.u;

绘制线性系统阵列。

bodemag (linsys)网格

图3:在调度参数网格上得到线性系统阵列的波德图。

LPV模拟

linsys是一个由25个线性状态空间模型组成的数组,每个模型包含1个输入、3个输出和2个状态。模型为离散时间模型,采样时间为25ns。bode图显示出在调度参数网格上动态的显著变化。线性系统阵列及其偏移数据(uoff,yoff发送葡开)可用于配置LPV系统块。由此得到的“LPV模型”作为平均动力学的线性系统阵列近似。的LPV块配置是可用的BoostConverterLPVModel模型。

lpvmdl =“BoostConverterLPVModel”;open_system (lpvmdl);

图4:使用linsys配置的LPV模型。

为了模拟该模型,我们使用一个大致覆盖其调度范围的占空比输入配置文件。我们还通过改变电阻负载来模拟负载扰动的情况。

产生仿真数据。

t = linspace (0 . 05 1 e3) ';喧嚣= 0.25 * sin(2 *π* t * 100) + 0.25;din(500年底):= din(500:结束)+ 1。;占空比曲线rin = linspace(4、12、长度(t)) ';rin(500:结束)= rin(500:结束)+ 3;rin (100:200) = 6.6;%负载分布图yyaxis情节(t, din)包含(“时间(s)”)ylabel (的工作周期)yyaxis正确的情节(t, rin) ylabel (的电阻负载(欧姆))标题(“仿真调度参数配置文件”)

图5:为仿真选择调度参数配置文件。

注意:生成上述信号的代码已经添加到模型的PreLoadFcn回调中,用于独立加载和执行。如果您想要覆盖这些设置并尝试自己的设置,请在基本工作区中覆盖这些数据。

模拟LPV模型。

sim (lpvmdl“StopTime”,“0.004”);

图6:LPV仿真结果。

LPV模型的模拟速度明显快于原始模型BoostConverterExampleModel.但是,与原始的升压变换器模型相比,结果如何呢?为了检查这个,打开模型BoostConverterResponseComparison.这个模型有升压转换器块配置使用高保真“低电平模型”的变体。它还包含LPV块,其输出叠加在三个范围内的boost转换器的输出上。

linsysd =汇集(e4 linsys, Ts * 1);mdl =“BoostConverterResponseComparison”;open_system (mdl);% sim (mdl);取消运行注释

图7:用于比较高保真模型的响应和其平均行为的LPV近似。

模拟命令已注释掉;取消注释以运行它。结果显示在下面插入的范围快照中。

图8:电感电流信号。蓝色:原始,洋红色:LPV系统响应

图9:负载电流信号。蓝色:原始,洋红色:LPV系统响应

图10:负载电压信号。蓝色:原始,洋红色:LPV系统响应

由于原升压变换器电路的快速切换,仿真运行速度较慢。结果表明,LPV模型能够很好地捕捉平均行为。

结论

利用占空比输入和电阻性负载作为调度参数,我们能够以状态空间模型阵列的形式获得平均模型行为的线性近似。

得到的模型阵列以及与操作点相关的偏移数据被用来创建非线性平均行为的LPV近似。仿真研究表明,LPV模型能够较准确地模拟高保真模拟场景的平均行为。LPV模型消耗的内存更少,并且比原始系统的模拟速度快得多。

另请参阅

|

相关的话题