升压变换器模型的LPV近似
这个例子展示了如何获得boost转换器的Simscape™Electrical™模型的线性参数变化(LPV)近似。LPV表示法允许快速分析各种操作条件下的平均行为。
升压变换器模型
升压转换器电路通过控制源电压的斩波或开关将一个直流电压转换为另一个直流电压。对一定负载电压的要求转化为对晶体管占空比的相应要求。占空比调制通常比开关频率慢几个数量级,产生的平均电压波纹相对较小,如下图所示。
在实际应用中,源电压也存在扰动还有电阻性负载影响实际负载电压.
打开Simulin金宝appk®模型。
mdl =“BoostConverterExampleModel”;open_system (mdl)
该模型中的电路以高频开关为特征。该模型使用25 ns的采样时间。模型中使用的Boost Converter模块是一个变体子系统,它实现了转换器动态的两个不同版本。该模型将占空比值作为其唯一的输入,并产生三个输出:电感电流、负载电流和负载电压。
由于开关频率高,采样时间短,模型模拟速度慢。
批量裁剪和线性化
在许多应用中,响应于某个占空比剖面的平均电压是感兴趣的。这种行为是在比电路基本采样时间大几十年的时间尺度上研究的。这些平均模型对于电路,是通过分析考虑,基于平均的功率动态在一定的时间周期。的BoostConverterExampleModel
模型实现了这样一个电路的平均模型作为它的第一个变体,称为AVG电压模型。这种变体通常比低级模型变体执行得更快。
平均模型不是一个线性系统。它与占空比和负载变化呈非线性关系。为了产生更快的仿真并帮助电压稳定控制器设计,您可以在不同占空比和负载值下线性化模型。
对于本例,使用基于快照的裁剪和线性化。调度参数为占空比d
电阻性负载R
.您可以针对调度参数的几个值对模型进行修整和线性化。
在本例中,占空比变化的跨度为10-60%,负载变化的跨度为4-15欧姆。在这些范围内为每个调度变量选择5个值,并在这些值的所有可能组合中进行线性化。
nD = 5;nR = 5;dspace = linspace(0.1,0.6,nD);d的值在10%-60%范围内Rspace = linspace(4,15,nR);% Rin 4-15欧姆范围内的值[dgrid,Rgrid] = ndgrid(dspace,Rspace);所有d和R值的组合
为调度参数创建一个参数结构数组。
参数(1)。Name =' d ';参数(1)。Value = dgrid;参数(2)。Name =“R”;参数(2)。Value = Rgrid;
指定模型输入、输出和状态的数量。
Ny = 3;Nu = 1;Nx = 2;ArraySize = size(dgrid);
对模型在不同条件下的模拟结果表明,模型输出在0.01 s前趋于稳定。因此,取t = 0.01s作为快照时间。
计算快照时间的平衡工作点findop
函数。该操作需要几分钟才能完成。
Op = findop(mdl,0.01,params);
为了线性化模型,首先从模型中获得线性化输入和输出点。
IO = getlinio(mdl);
配置线性化选项以存储线性化偏移量。
opt =线性化选项(“StoreOffsets”,真正的);
在数组的工作点处线性化模型人事处
.
[linsys,~,info] =线性化(mdl,op,io,params,opt);
从线性化结果中提取偏移量。
offset = getOffsetsForLPV(info);Yoff = offset .y;Xoff = offset .x;Uoff =偏移量。u;
画出线性系统阵列。
bodemag (linsys)网格在
LPV模拟
linsys
是一个包含25个线性状态空间模型的数组,每个模型有1个输入、3个输出和2个状态。模型是离散的,采样时间为25 ns。波德图显示了调度参数网格上动态的显著变化。
您可以使用线性系统数组和附带的偏移数据(uoff
,yoff
,发送葡开
).所得到的LPV模型作为平均动力学的线性系统阵列近似。的BoostConverterLPVModel
模型使用了这样的LPV近似。
lpvmdl =“BoostConverterLPVModel”;open_system (lpvmdl)
为了模拟模型,对占空比使用大致覆盖其调度范围的输入轮廓。此外,改变电阻性负载来模拟负载扰动。
生成占空比剖面喧嚣
.
T = linspace(0,.05,1e3)';Din = 0.25*sin(2*pi*t*100)+0.25;Din (500:end) = Din (500:end)+.1;
生成电阻性负载剖面rin
.
Rin = linspace(4,12,length(t))';Rin (500:end) = Rin (500:end)+3;Rin (100:200) = 6.6;
绘制调度参数概要。
yyaxis左情节(t, din)包含(“时间(s)”) ylabel (的工作周期) yyaxis正确的情节(t, rin) ylabel (电阻负载(欧姆))标题(“模拟调度参数配置文件”)
生成上述信号的代码已添加到模型中PreLoadFcn
用于独立加载和执行的回调函数。若要覆盖这些设置并尝试自己的设置,请在MATLAB®工作空间中覆盖此数据。
模拟LPV模型并查看结果输出。
sim (lpvmdl“StopTime”,“0.004”);open_system (“BoostConverterLPVModel /输出”)
LPV模型的模拟速度明显快于原始模型BoostConverterExampleModel
模型。
要将这些仿真结果与原始升压变换器模型仿真进行比较,请使用BoostConverterResponseComparison
模型。该模型使用Boost转换器块,配置为使用高保真低电平模型变体。它还包含LPV System块。您可以在模型作用域中查看两个系统的响应。
linsys = c2d(linsys,Ts*1e4);mdl =“BoostConverterResponseComparison”;open_system (mdl)
模拟模型。由于高保真模型的快速切换动力学,仿真运行速度较慢。取消以下代码的注释以模拟模型。
% sim (mdl);
下图显示了电感电流、负载电流和负载电压的示例仿真结果。
虽然LPV模型比高保真模型消耗更少的内存,并且模拟速度明显更快,但它能够模拟升压转换器的平均行为。