このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,サンプリング周波数に近い帯域幅で高性能デジタルコントローラーを調整する方法を説明します。
金宝app仿真软件を使用して,電子デバイスの電力段の電圧コントローラーをモデル化します。
Open_System('rct_powerstage')
電力段の増幅器は,次の周波数応答で2次線形システムとしてモデル化されます。
波德(psmodel)网格
コントローラーは,設定点Vcmd
を追従し,負荷電流iLoad
の変動の影響を受けないように,デバイスに送られる電圧Vchip
制御构造は,制御构造,フィードバック补偿器と外乱フィード补偿ででさいますます。vin.
は,に制限されます。コントローラーのサンプリングレートは10 MHz(サンプル時間Tm
は1 e -秒)です。
この適用例は,コントローラー帯域幅がナイキスト周波数π/ Tm
= 31.4 MHzに近づかなければならないため難しい作業です。連続時間コントローラーを離散化するときのエイリアシングの問題を回避するためには,コントローラーを離散時間で直接調整することをお勧めします。
電力段は(周波数全体での)ピーク偏差を50%としておよそ5つのサンプリング周期における設定点での目標電圧Vcmd
の変化に応答しなければなりません。この目的を達成するために,追従要件を使用します。
Req1 = TuningGoal。跟踪(“Vcmd”,“Vchip”5 * Tm, 0, 1.5);Req1。Name =“定位点变化”;viewGoal (Req1)
電力段は,負荷外乱iLoad
もすばやく抑制しなければなりません。この要件はiLoad
からVchip
へのゲインで表します。適切な外乱の抑制にするためには,このゲインを低周波数で低くしなければなりません。
s =特遣部队(“年代”);nf =π/ Tm;%奈奎斯特频率req2 = tuninggoal.gain(“iLoad”,“Vchip”,1.5e-3 * s / nf);req2.focus = [nf / 1e4,nf];req2.name ='负载干扰';
高性能要求により,制御操作と飽和が高くなる可能性があります。金宝app仿真软件モデルで指定されたランププロファイルvcmd
(250年約のサンプリング周期で0から1)では,飽和制約に達しないようにします。レート制限フィルターを使用してランプコマンドをモデル化し,レート制限入力からへのゲインが未満になることを要求します。
RateLimiter = 1 / (250 * Tm * s);在simulink中%models ramp命令金宝app% |RateLimiter * (Vcmd->Vin)| < Vmaxreq3 = tuninggoal.gain(“Vcmd”,“文”, / RateLimiter);Req3。焦点= [nf/1000, nf];Req3。Name =“饱和”;
適切なロバスト性を確保するには,プラント入力に少なくとも7 dBのゲイン余裕と45度の位相余裕が必要です。
Req4 = TuningGoal。利润(“文”7、45);Req4。Name =“利润”;
最后に,フィードバック补偿器材,プラントの共振をノッチアウトてて波がするがありますあり振周がが确に把握れてていまたはまたはまたはまたはいいまたはまたは変の影响を受け受けないないまたはまたは不不を受けない场场不不ようを受けない场不再なこれ结果に避けるためにありをを共振モードのアクティブな减衰.
REQ5 = TuningGoal.poles(0,0.5,3 * NF);req5.name ='减震';
次に,systune
を使用して,上で定義された要件に従ってコントローラーパラメーターを調整します。最初に,slTuner
Simulinkモデルを调整金宝appに成成します。特色,2つの可なブロックあることと,モデルをと时空。Tm
で線形化して調整しなければならないことを指定します。
TunedBlocks = {“补偿”,“杉”};st0 = sltuner('rct_powerstage', TunedBlocks);ST0。Ts = Tm;%为开环和闭环分析登记感兴趣的点addPoint (ST0, {“Vcmd”,“iLoad”,“Vchip”,“文”});
冷杉フィルターをフィードフォワード補償器として使用します。これを行うには1次冷杉フィルターのパラメーター化を作成し,それを仿真软件の“金宝app前馈冷杉”ブロックに割り当てます。
冷杉= tunableTF (“杉”,1,1,tm);%修复分母到z ^ nFIR.Denominator.Value = [1 0];FIR.Denominator.Free = false;setBlockParam (ST0“杉”,冷杉);
slTuner
では,フィードバック補償器が3次状態空間モデル(仿真软金宝app件ブロックで指定された次数)として自動的にパラメーター化されます。次に,systune
でフィードフォワード補償器とフィードバック補償器を調整します。減衰要件と余裕要件を厳密な制約として扱い,可能な限り残りの要件を満たすように試みます。
rng(0) topt = systuneOptions(“RandomStart”6);ST = systune(ST0,[Req1 Req2 Req3],[Req4 Req5],topt);
最后:软= 1.28,= 0.99213,最后迭代= 401:软= 1.29,= 0.95748,最后迭代= 337:软= 1.29,= 0.88226,最后迭代= 404:软= 1.3,= 0.85505,最后迭代= 372:软= 1.29,= 0.91573,最后迭代= 271:软= 1.29,= 0.96569,最后迭代= 281:软= 1.28,硬= 0.96646,迭代= 465
最适な设计は,厳密な制约を満たし(1未満の硬
),その他の制約をほぼ満たします(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(st,“iLoad”,“Vchip”), 20 * Tm)标题(负载电流的阶跃干扰抑制)
getLoopTransfer
をを用して,プラントプラント力における开启応答をし,プラントとフィードバック补偿器の応答を合并ます。
clf l = getlooptransfer(st,“文”1);C = getBlockValue(圣“补偿”);bodeplot(L,psmodel(2),C(2),{1e-3/Tm pi/Tm})网格图例(的开环反应,'植物',“补偿”)
コントローラーは目的の帯域幅を実現し,応答は十分に迅速化されます。調整後のパラメーター値を Simulink モデルに適用し、調整後の応答のシミュレーションを実行します。
writeBlockValue (ST)
制御形シミュレーションシミュレーション结果はのますされれれれれれれれれれれれれれれれれれれれvin.
は,シミュレーションの設定点の追従部分で饱和境界境界内にほぼ留まっていいいていい
図1:ランプコマンドとステップ負荷外乱への応答
図2:設定点の追従フェーズにおける入力電圧vin.
の大きさ
TuningGoal。获得
|TuningGoal。利润率
|TuningGoal。跟踪
|slTuner
(金宝app仿真软件控制设计)|systune (slTuner)
(金宝app仿真软件控制设计)