这个例子展示了如何获得升压变换器的Simscape™Electrical™模型的线性参数变化(LPV)近似。LPV表示允许快速分析各种运行条件下的平均行为。
升压变换器电路通过控制斩波或开关源电压将一个直流电压转换为另一个直流电压。对一定负载电压的要求转化为对晶体管占空比的相应要求。占空比调制通常比开关频率慢几个数量级,这就产生了一个平均电压和相对较小的波纹,如下图所示。
实际上,源电压中也存在干扰以及电阻负载影响实际负载电压.
打开Simulin万博1manbetxk®模型。
mdl =“BoostConverterExampleModel”;open_system (mdl)
该模型中的电路具有高频开关的特点。该模型使用25纳秒的采样时间。模型中使用的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 (nR) 4, 15日;% Rin 4-15欧姆范围的值[dgrid, Rgrid] = ndgrid (dspace Rspace);% d和R值的所有组合
为调度参数创建一个参数结构数组。
参数(1)。Name =' d ';参数(1)。值= dgrid;参数(2)。Name =“R”;参数(2)。值= Rgrid;
指定模型输入、输出和状态的数量。
纽约= 3;ν= 1;nx = 2;ArraySize =大小(dgrid);
模型在不同条件下的仿真结果表明,模型输出在0.01 s前就稳定到稳态值。因此,请使用t = 0.01s作为快照时间。
方法计算快照时刻的平衡工作点findop
函数。该操作需要几分钟时间才能完成。
op = findop (mdl, 0.01, params);
要对模型进行线性化,首先从模型中获取线性化的输入和输出点。
io = getlinio (mdl);
配置线性化选项以存储线性化偏移量。
选择= linearizeOptions (“StoreOffsets”,真正的);
在数组的工作点上线性化模型人事处
.
[linsys ~,信息]=线性化(mdl、人事处、io、参数选择);
从线性化结果中提取偏移量。
偏移量= getOffsetsForLPV(信息);yoff = offsets.y;发送葡开= offsets.x;uoff = offsets.u;
绘制线性系统阵列。
bodemag (linsys)网格在
linsys
是一个由25个线性状态空间模型组成的数组,每个模型有1个输入、3个输出和2个状态。模型是离散时间的,采样时间为25 ns。伯德图显示了调度参数网格上的动态变化。
您可以使用线性系统阵列和伴随的偏移数据(uoff
,yoff
,发送葡开
).所得到的LPV模型作为平均动力学的线性系统阵列近似。的BoostConverterLPVModel
模型使用LPV近似。
lpvmdl =“BoostConverterLPVModel”;open_system (lpvmdl)
为了模拟该模型,使用大致覆盖其调度范围的占空比输入剖面。同时,通过改变电阻性负载来模拟负载扰动。
生成占空比曲线喧嚣
.
t = linspace (0 . 05 1 e3) ';喧嚣= 0.25 * sin(2 *π* t * 100) + 0.25;din(500年底):= din(500:结束)+ 1。;
生成电阻性负载曲线rin
.
rin = linspace(4、12、长度(t)) ';rin(500:结束)= rin(500:结束)+ 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 Converter模块,该模块配置为使用高保真低电平模型变体。它还包含LPV System块。您可以在模型范围中查看两个系统的响应。
linsysd =汇集(e4 linsys, Ts * 1);mdl =“BoostConverterResponseComparison”;open_system (mdl)
模拟模型。由于高保真模型的快速切换动力学,仿真运行相当缓慢。取消注释以下代码以模拟模型。
% sim (mdl);
下图显示了电感电流、负载电流和负载电压的仿真结果示例。
LPV模型比高保真模型消耗的内存更少,模拟速度更快,但它能够模拟升压变换器的平均行为。