主要内容

功率级电压的数字控制

这个例子展示了如何调优带宽接近采样频率的高性能数字控制器。

功率级电压调节

我们使用Sim金宝appulink对电子设备的功率级电压控制器进行建模:

open_system (“rct_powerstage”

功率级放大器被建模为二阶线性系统,其频率响应如下:

波德(psmodel)网格

控制器必须调节电压Vchip发送到设备跟踪设定值Vcmd并且对负载电流的变化不敏感iLoad.该控制结构由反馈补偿器和扰动前馈补偿器组成。的电压进入放大器是有限制的$V_{\rm max} = 12 V$.控制器采样率为10mhz(采样时间Tm是1e-7秒)。

性能需求

这种应用具有挑战性,因为控制器带宽必须接近奈奎斯特频率π/ Tm= 31.4 MHz。为了避免离散连续时间控制器时的混叠问题,最好是在离散时间直接调优控制器。

功率级应响应所需电压的设定值变化Vcmd在大约5个采样周期内,峰值误差(跨频率)为50%。使用跟踪需求来捕获这个目标。

Req1 = TuningGoal。跟踪(“Vcmd”“Vchip”5 * Tm, 0, 1.5);Req1。Name =“定位点变化”;viewGoal (Req1)

功率级还应迅速排除负载干扰iLoad.用收益来表达这个要求iLoadVchip.这种增益在低频时应该很低,这样才能很好地抑制干扰。

S = tf(“年代”);nf = pi/Tm;%奈奎斯特频率Req2 = TuningGoal。获得(“iLoad”“Vchip”,1.5e-3 * s/nf);Req2。焦点= [nf/1e4, nf];Req2。Name =负载扰动的

高性能需求可能导致高控制努力和饱和度。对于斜坡剖面vcmd在Simulink模型中指定(在大金宝app约250个采样周期内从0到1),我们希望避免击中饱和约束$V_{\rm in} \le V_{\rm max}$.使用速率限制滤波器对ramp命令建模,并要求从速率限制器输入的增益为美元V_ {\ rm在}$小于美元V_ {\ rm max} $

RateLimiter = 1/(250*Tm*s);%模拟斜坡命令在Simulink金宝app% |RateLimiter * (Vcmd->Vin)| < Vmax . %Req3 =调优目标。获得(“Vcmd”“文”, / RateLimiter);Req3。焦点= [nf/1000, nf];Req3。Name =“饱和”

为了确保足够的稳健性,要求在器件输入处至少有7 dB增益裕度和45度相位裕度。

Req4 =调优目标。利润(“文”7、45);Req4。Name =“利润”

最后,反馈补偿器有一个倾向,取消植物共振缺口。这种植物反转可能导致较差的结果时,共振频率是不确切地知道或受到变化。为了防止这种情况,施加最小闭环阻尼0.5来主动阻尼装置的谐振模式。

Req5 = tuninggoal . pole (0,0.5,3*nf);Req5。Name =“阻尼”

调优

下一个使用systune根据上面定义的要求调优控制器参数。首先使用slTuner接口配置Simulink模型进行调优。金宝app特别地,指定有两个可调块,并且模型应该在采样时间线性化和调优Tm

TunedBlocks = {“补偿”“杉”};ST0 = slTuner(“rct_powerstage”, TunedBlocks);ST0。Ts = Tm;为开环和闭环分析登记感兴趣的点addPoint (ST0, {“Vcmd”“iLoad”“Vchip”“文”});

我们想使用FIR滤波器作为前馈补偿器。为此,创建一个一阶FIR滤波器的参数化,并将其分配给Simulink中的“前馈FIR”块。金宝app

FIR =可调的(“杉”1 1、Tm);将分母固定为z^nfir . denomator . value = [1 0];fir . denomator . free = false;setBlockParam (ST0“杉”、冷杉);

请注意,slTuner自动将反馈补偿器参数化为三阶状态空间模型(在Simulink块中指定的顺序)。金宝app接下来调整前馈和反馈补偿器systune.将阻尼和裕度需求视为硬性约束,并尽量满足其余需求。

rng(0) topt = systuneOptions(“RandomStart”6);ST = systune(ST0,[Req1 Req2 Req3],[Req4 Req5],topt);
Final:软= 1.29,硬= 0.99651,迭代= 373 Final:软= 1.29,硬= 0.98195,迭代= 407 Final:软= 1.29,硬= 0.91128,迭代= 351 Final:软= 1.29,硬= 0.99834,迭代= 399 Final:软= 1.3,硬= 0.99571,迭代= 360 Final:软= 1.28,硬= 0.99752,迭代= 504 Final:软= 1.29,硬= 0.97842,迭代= 368

最佳设计满足硬约束(小于1)且几乎满足其他约束(接近1)。通过绘制每个需求的调优响应图形来验证这一点。

图(“位置”,[10,10,1071,714]) viewGoal([Req1 Req2 Req3 Req4 Req5],ST)

验证

首先在线性域内使用slTuner接口。绘制step命令的闭环响应Vcmd阶跃扰动iLoad

图(“位置”,[100,100,560,500]) subplot(2,1,1) step(getIOTransfer(ST,“Vcmd”“Vchip”), 20 * Tm)标题(对电压中阶跃命令的响应) subplot(2,1,2) step(getIOTransfer(ST,“iLoad”“Vchip”), 20 * Tm)标题(负载电流的阶跃干扰抑制

使用getLoopTransfer计算装置输入处的开环响应,并将装置和反馈补偿器的响应叠加。

L = getLoopTransfer(ST,“文”1);C = getBlockValue(ST,“补偿”);bodeploy (L,psmodel(2),C(2),{1e-3/Tm pi/Tm})网格图例(的开环反应“植物”“补偿”

控制器达到了期望的带宽,并且响应足够快。将调整后的参数值应用于Simulink模型,并模拟调整后的响应。金宝app

writeBlockValue (ST)

非线性模拟的结果如下所示。注意控制信号大约在$\pm 12 V$模拟的设定值跟踪部分的饱和边界。

图1:对斜坡命令和台阶负载干扰的响应。

图2:输入电压幅值在定点跟踪阶段。

另请参阅

(金宝appSimulink控制设计)|(金宝appSimulink控制设计)|||

相关的话题