主要内容

频率响应估计为电力电子模型使用伪随机二进制信号

这个例子展示了如何识别一个频域模型使用伪随机二进制序列(PRBS)电力电子系统建模仿真软件®使用Simscape™电气™组件。万博1manbetx这个例子解决了频率响应估计过程控制器设计工作流使用伪随机位序列作为输入信号。

通常情况下,电力电子系统不能线性化的,因为他们使用高频开关组件,如脉冲宽度调制(PWM)发电机。然而,大多数模型控制设计™P万博1manbetxID调优工具设计PID收益基于线性化模型。获得这样一个模型不能线性化的电力电子模型,你可以估计植物频率响应的频率范围,如本例所示。

为了收集频率响应数据,您可以:

  • 估计频率响应在命令行。

  • 估计工厂使用的频率响应模型线性化电路应用程序。

这个例子展示了如何估算植物频率响应命令行。学习如何评估工厂的电力电子系统的频率响应模型线性化电路使用伪随机位序列输入信号,明白了频率响应估计模型线性化电路中使用伪随机二进制序列

提高转炉模型

这个示例使用提高变换器模型作为电力电子系统。提高转换器电路一个直流电压转换到另一个,一般高,切或开关控制的直流电压源电压。

mdl =“scdboostconverter”;open_system (mdl)

这个模型使用一个MOSFET驱动PWM信号的切换。输出电压电压输出美元是规范的参考价值Vref美元。数字PID控制器调节PWM责任周期,责任美元基于电压误差信号。对于本例,您估计的频率响应负载电压PWM占空比电压输出美元

Simscape电气软件包含许多电力电子系统的预定义的街区。这个模型包含一个变体子系统提高变换器模型的两个版本:

  • 提高变换器电路使用电力组件构造。电路元件的参数是基于[1]。

  • 提高转炉块配置为具有相同的参数作为Boost变换器电路。在这个街区的更多信息,见提高转换器(Simscape电气)

使用Boost变换器块版本的子系统,在模型中,单击提高转炉块或使用下面的命令。

set_param ([bdroot' / Simscape电力系统提高转换器的),“LabelModeActiveChoice”,“block_boost_converter”);

发现模型操作点

估计提高转换器的频率响应,首先必须确定稳态操作点你想要的转换器。在发现操作点的更多信息,见找到Simscape模型的稳态运行点。对于这个示例,使用一个操作点估计从模拟快照为0.045秒。

opini = findop (mdl, 0.045);

初始化模型计算出的操作点。

set_param (mdl“LoadInitialState”,“上”,“InitialState”,“getstatestruct (opini)”);

创建伪随机二进制信号

伪随机二进制信号(PRBS)是周期性的,确定性信号white-noise-like属性两个值之间的变化。一个伪随机位序列是一种固有的周期信号的最大周期长度2美元^ {n} 1美元,在那里n美元是伪随机位序列的顺序。有关更多信息,请参见伪随机位序列输入信号

创建一个伪随机位序列使用以下配置。

  • 使用一个非周期的伪随机位序列,设置时间的数量为1。

  • 使用伪随机位序列的顺序14日生产长度为16383的信号。获得一个精确的频率响应估计,伪随机位序列的长度必须足够大。

  • 伪随机位序列的注射频率设置为200千赫至匹配的样品时间模型。也就是说,指定一个样本的时间5 e-6秒。

  • 确保系统正确地兴奋,将扰动幅值设置为0.05。如果输入幅度太大,boost变换器在discontinuous-current运营模式。如果输入振幅太小,伪随机位序列的涟漪在电力电子电路。

in_PRBS = frest.PRBS (“秩序”14岁的“NumPeriods”,1“振幅”,0.05,“t”5 e-6);

收集频率响应数据

收集频率响应数据,你可以估计植物频率响应命令行。要做到这一点,首先获得输入和输出线性分析点的模型。

io = getlinio (mdl);

指定操作点使用模型初始条件。

op = operpoint (mdl);

找到所有源块信号路径的线性化输出产生时变信号。这种时变信号可能会干扰信号线性化输出点和产生不准确的估计结果。

srcblks = frest.findSources (mdl, io);

禁用时变源块,创建一个frestimateOptions选项设置和指定BlocksToHoldConstant选择。

选择= frestimateOptions;选择。BlocksToHoldConstant = srcblks;

估计使用伪随机位序列输入信号频率响应。

sysest_prbs = frestimate (mdl io, op, in_PRBS选择);

分析提高变换器模型的传递函数

分析转变函数可以确定模型的基于组件的参数。

L = 20 e-6;C = 1480 e-6;R = 6;rC = 8 e - 3;rL = 1.8 e - 3;签证官= 18;Iload =签证官/ R;

计算分析传递函数,需要实际的工作周期的价值。对于这个提高转换器,使用记录的工作周期在操作点。

D = 0.734785;d = 1 - 0.734785;

定义分析传递函数,这是在[1]的基础上,使用boost变换器中的组件参数模型。

穴= [L * C * (R + rC) L + C * rL * (R + rC) + C * R * rC-R * D * C * rC R + rL-R * dr ^ 2 * D *(一维)/ (R + rC)];Num1 = [L / R /(一维)^ 2 rL / R /(一维)^ 2 R (R + rC) + Iload / Vo * (2 * rL /(一维)^ 2 + R * rC / (R + rC) /(一维)));Num = [C * rC * Num1 (1) Num1 (1) + C * rC * Num1 (2) Num1 (2)];TFvd =特遣部队(- R *签证官*(一维)^ 2 * Num, (1 + rL / R / D(一维)- R * / (R + rC)) *穴);

更准确的描述,考虑延迟由于PWM信号传递函数TFvd。

N = 1.5;Ts = 5 e-6;iodelay = N * Ts;% 0.5 ZOH PWM + 1TFvd。IODelay = IODelay;

比较频率响应数据Sinestream FRE结果

比较评估结果使用PRBS信号时发现使用sinestream输入信号。比较的信号15对数间隔频率用于sinestream从50 Hz到5 kHz。

负载frdSinestreamwbode = estsysSinestream.Frequency;选择= bodeoptions;选择。PhaseMatching =“上”;选择。XLim = [wbode (1) wbode(结束)];bodeplot (sysest_prbs, estsysSinestream TFvd,选择);传奇(“伪随机位序列估计的结果”,“Sinestream估计结果”,“分析传递函数”,“位置”,“东北”);网格

找到仿真时间频率响应估计由一个输入信号,可以使用getSimulationTime函数。

tfinal_sinestream = in_sine1。getSimulationTimetfinal_prbs = in_PRBS.getSimulationTime
tfinal_sinestream tfinal_prbs = 0.0819 = 0.2833

仿真时间与in_PRBS大约30%的时间采取吗in_sine1估计的频率响应模型。这表明频率响应与输入信号伪随机位序列估计比sinestream更快输入信号。

估计频率响应的结果,sysest_prbs,匹配estsysSinestream。因为伪随机位序列输入信号估计频率响应与大量的频率点,估计的结果提供了关于系统的谐振特性的更多信息。使用sinestream输入信号得到类似的结果,您可能需要增加频率点的数量,导致估计时间的增加。您可以使用这种方法来获得准确的频率响应估计结果相比,缩短仿真时间与sinestream估计信号。

提高频率响应结果在低频率

提高频率响应估计结果在较低的频率,你可以使用一个样本时间低于样品原始提高变换器模型。为此,修改模型使用一个常数输入点和分析速度块过渡块输出分析点。

率为常数块和过渡块,使用一个样本的时间5 e-5秒,比原样品慢十倍的时间5 e-6秒。

创建一个伪随机位序列输入信号使用的新样品的时间和订单12。

in_PRBS = frest.PRBS (“秩序”12“NumPeriods”,1“振幅”,0.05,“t”5 e-5);

新的伪随机位序列输入信号,你可以获得一个延伸到更低频率的频率响应。

能力改变样品时间输入信号的伪随机位序列提供了一个额外的自由度的频率响应估计过程。使用一个更大的样本的时间比在原始模型中,您可以获得高分辨率频率响应估计结果在低频范围内模拟时间短。此外,评估运行在较低采样率减少部署到硬件时处理需求。

关闭模式。

close_system (mdl, 0)

引用

[1]李,s . w .实际反馈回路分析电压型提高转换器。申请报告SLVA633。德州仪器公司,2014年版。https://www.ti.com/lit/an/slva633/slva633.pdf

另请参阅

||

相关的话题