这个例子展示了如何调整高性能数字控制器带宽接近采样频率。
我们使用Sim万博1manbetxulink对一个电子设备的功率级电压控制器进行建模:
open_system (“rct_powerstage”)
将功率级放大器建模为二阶线性系统,其频率响应如下:
波德(psmodel)网格
控制器必须调节电压Vchip
送至设备跟踪设定值Vcmd
对负载电流的变化不敏感iLoad
.控制结构由反馈补偿器和扰动前馈补偿器组成。的电压文
进入放大器是有限的.控制器采样率为10mhz(采样时间)Tm
是1 e -秒)。
这种应用具有挑战性,因为控制器带宽必须接近Nyquist频率π/ Tm
= 31.4 MHz。为了避免离散化连续时间控制器时的混叠问题,最好在离散时间内直接对控制器进行整定。
功率级应响应所需电压的设定值变化Vcmd
在大约5个采样周期中,峰值误差(跨频率)为50%。使用跟踪需求来捕获这个目标。
Req1 = TuningGoal。跟踪(“Vcmd”,“Vchip”5 * Tm, 0, 1.5);Req1。Name =“定位点变化”;viewGoal (Req1)
功率级还应迅速排除负载扰动iLoad
.用收益来表达这个要求iLoad
来Vchip
.为了更好地抑制干扰,这个增益在低频时应该是低的。
s =特遣部队(“年代”);nf =π/ Tm;%奈奎斯特频率Req2 = TuningGoal。获得(“iLoad”,“Vchip”1.5 e - 3 * s / nf);Req2。焦点= [nf/1e4, nf];Req2。Name =负载扰动的;
高性能要求可能导致高控制努力和饱和。斜坡剖面vcmd
在Simulink模型中指定(在大万博1manbetx约250个采样周期内从0到1),我们希望避免达到饱和约束.使用速率限制滤波器来模拟斜坡命令,并要求增益从速率限制器输入到小于.
RateLimiter = 1 / (250 * Tm * s);在Simulink中%模型斜坡命令万博1manbetx% |RateLimiter * (Vcmd->Vin)| < VmaxReq3 = TuningGoal。获得(“Vcmd”,“文”, / RateLimiter);Req3。焦点= [nf/1000, nf];Req3。Name =“饱和”;
为了确保足够的稳健性,在工厂输入处需要至少7db增益裕度和45度相位裕度。
Req4 = TuningGoal。利润(“文”7、45);Req4。Name =“利润”;
最后,反馈补偿器有一种倾向,通过凹刻来消除植物共振。当谐振频率不确切知道或受变化影响时,这种植物反演可能导致不良结果。为了防止这种情况,施加最小闭环阻尼0.5来主动阻尼电站的谐振模式。
Req5 = TuningGoal.Poles(0、0.5、3 * nf);Req5。Name =“阻尼”;
下一个使用systune
根据上面定义的要求调整控制器参数。第一次使用slTuner
接口来配置用于调优的Simulink模型。万博1manbetx具体来说,指定有两个可调块,并在样本时间对模型进行线性化和调优Tm
.
TunedBlocks = {“补偿”,“杉”};ST0 = slTuner (“rct_powerstage”, TunedBlocks);ST0。Ts = Tm;%为开环和闭环分析登记感兴趣的点addPoint (ST0, {“Vcmd”,“iLoad”,“Vchip”,“文”});
我们想用FIR滤波器作为前馈补偿器。为此,在Simulink中创建一阶FIR滤波器的参数化,并将其分配给“前馈FIR”块。万博1manbetx
冷杉= tunableTF (“杉”1 1、Tm);把分母固定为z^nFIR.Denominator.Value = [1 0];FIR.Denominator.Free = false;setBlockParam (ST0“杉”、冷杉);
请注意,slTuner
自动将反馈补偿器参数化为三阶状态空间模型(在Simulink块中指定的顺序)。万博1manbetx下一个调整前馈和反馈补偿systune
.将阻尼和保证金要求视为硬性约束,并尽量满足其余要求。
rng(0) topt = systuneOptions(“RandomStart”6);ST = systune(ST0,[Req1 Req2 Req3],[Req4 Req5],topt);
最后:软= 1.29,= 0.96513,最后迭代= 338:软= 1.3,= 0.90215,最后迭代= 452:软= 1.29,= 0.93049,最后迭代= 301:软= 1.29,= 0.96365,最后迭代= 450:软= 1.28,= 0.90666,最后迭代= 367:软= 1.28,= 0.97886,最后迭代= 384:软= 1.28,硬= 0.99783,迭代= 462
最佳设计满足硬约束(硬
小于1),且几乎满足其他约束条件(软
通过绘制每个需求的调优响应来图形化地验证这一点。
图(“位置”,[10,10,1071,714]) viewGoal([Req1 Req2 Req3 Req4 Req5],ST)
首先在线性域中使用slTuner
接口。绘制对步骤命令的闭环响应Vcmd
阶跃干扰iLoad
.
图(“位置”[100100560500])次要情节(2,1,1)步骤(getIOTransfer(圣,“Vcmd”,“Vchip”), 20 * Tm)标题(“电压步进命令响应”次要情节(2,1,2)步骤(getIOTransfer(圣,“iLoad”,“Vchip”), 20 * Tm)标题(负载电流的阶跃干扰抑制)
使用getLoopTransfer
计算在设备输入处的开环响应,并将设备和反馈补偿器的响应叠加。
clf L = getLoopTransfer(ST,“文”1);C = getBlockValue(圣“补偿”);bodeplot(L,psmodel(2),C(2),{1e-3/Tm pi/Tm})网格图例(的开环反应,“植物”,“补偿”)
控制器达到了所需的带宽,并且响应足够快。将调整后的参数值应用到Simulink模型中,并模拟调整后的响应。万博1manbetx
writeBlockValue (ST)
非线性模拟的结果如下所示。注意控制信号文
大约是在模拟的设定值跟踪部分的饱和界限。
图1:对斜坡命令和阶跃负载扰动的响应。
图2:输入电压幅值文
在设定点跟踪阶段。
systune (slTuner)
(万博1manbetx仿真软件控制设计)|slTuner
(万博1manbetx仿真软件控制设计)|TuningGoal。跟踪
|TuningGoal。获得
|TuningGoal。利润率