主要内容

計算遅延とサンプリングの効果のモデル化

この例では,金宝app仿真软件®控制设计™を使用して計算遅延とサンプリングの効果をモデル化する方法を説明します。

計算遅延とサンプリング効果は,制御システムの性能に大きな影響を与える可能性があります。通常,これらの要素を考慮しなければ,システムの閉ル,プ応答は,振動して不安定になります。したがって,制御システムをモデル化する場合,計算遅延とサンプリング効果を考えて,閉ループシステムを正確に設計してシミュレートする必要があります。

計算遅延とサンプリングの効果を使用して,補償器を設計する方法は2あります。1つ目は,離散領域でコントローラーを設計し,プラントを離散化することでサンプリングの効果を得る方法です。2 .目は,連続領域でコントロラを設計する方法です。後者の方法が便利なときもありますが,この場合は,計算遅延とサンプリングの効果を考慮する必要があります。この例では,両方の方法を適用し,金宝app仿真软件控制设计ソフトウェアを使用して制御システムを再設計します。

離散コントロラと連続コントロ

次のモデル例では,当初の補償器に単ルプのフィドバック/プレフィルタの補償器設計の例における補償器からの次のゲ邮箱ンがあります。

P = 0.0018222 I = 0.0052662

最初のモデルには,制御システムの離散的実装があります。

mdl =“scdspeed_compdelay”;open_system (mdl)

このモデルでは,计算延迟ブロックは計算遅延の効果をモデル化します。遅延は,コントロラ,のサンプル時間に等しく,これは最悪の場合です。零级持有ブロックは,システムの応答に対するサンプリングの効果をモデル化します。最後に,速度コントローラー(PID控制器ブロックを使用して実装)は,前進オイラーサンプリング法を使用して離散化されます。

サンプリングの効果は,システムの応答をシミュレトすることで確認できます。

最初に,コントロラをサンプル時間Ts = 0.1秒で離散化してモデルをシミュレ。

Ts = 0.1;sim (mdl);T2 = simout.time;Y2 = simout.signals.values;

次に,サンプル時間をTs = 0.25秒にしてモデルをシミュレトします。

Ts = 0.25;sim (mdl);T3 = simout.time;Y3 = simout.signals.values;

2 .目のモデルは,連続モデルです。

mdl_continuous =“scdspeed_contcomp”;open_system (mdl_continuous)

連続モデルの応答をシミュレトします。

sim (mdl_continuous);T1 = simout.time;Y1 = simout.signals.values;

離散モデルと連続モデルの両方のシミュレションをプロットします。サンプル時間を大きくすると応答の振動が大きくなります。

情节(T1, Y1,“k”, T2, Y2,“r”、T3、Y3‘g’)包含(“时间(秒)。”) ylabel (“发动机转速响应”)传说(“连续控制器”'Ts = 0.1''Ts = 0.25'网格)

離散領域での補償器の設計

一番遅いサンプル時間(t = 0.25)を使用して,閉ループシステムの振動効果を取り除くには,補償器を再設計する必要があります。

最初に,プラントの離散化したバジョンを使用してコントロラを再設計します。単ルプのフィドバック/プレフィルタの補償器設計と同様の方法で補償器を再設計できます。調整した補償器のゲ邮箱ンは次のとおりです。

P = 0.00066155 I = 0.0019118795
set_param (“scdspeed_compdelay / PID控制器”“P”“0.00066155”) set_param (“scdspeed_compdelay / PID控制器”“我”“0.0019118795”

結果の閉ルプシステムをサンプル時間Ts = 0.25秒でシミュレトします。これらの結果にいて,この例の後の手順で調べます。

Ts = 0.25;sim (mdl);Td = simout.time;Yd = simout.signals.values;

連続領域での遅延とサンプリングの考慮

2 .目の方法として,単位遅延とゼロ次ホルドの連続等価を使用してコントロラを再設計します。

この例では,ゼロ次ホナミクスとして以下を使用します。

$$ZOH(s) = \frac{1-e^{-sT_s}}{sT_s}$$

これらのダイナミクスをモデルで指定するには,零持有ブロックを右クリックし,[線形解析],[選択したブロック線形化を指定]を選択します。[ブロックの線形化]ダ。

または,次のコドを使用してブロックの線形化を指定することもできます。

zohblk =“scdspeed_compdelay /零持有”;set_param (zohblk“SCDEnableBlockLinearizationSpecification”“上”) rep = struct(“规范””(1-ss(1“InputDelay Ts)) * ss (0, 1, 1, 0) / Ts '...“类型”“表情”...“ParameterNames”...“ParameterValues”);set_param (zohblk“SCDBlockLinearizationSpecification”代表)

連続伝達遅延を使用して计算延迟ブロックの線形化を指定します。

$$DELAY(s) = e^{-sT_s}$$

次のコドを使用して遅延ブロックの線形化を指定します。

delayblk =scdspeed_compdelay /计算延迟的;set_param (delayblk“SCDEnableBlockLinearizationSpecification”“上”) rep = struct(“规范”“党卫军(1“InputDelay Ts) '...“类型”“表情”...“ParameterNames”...“ParameterValues”);set_param (delayblk“SCDBlockLinearizationSpecification”代表)

遅延とサンプリングの効果の連続時間モデルで,コントロラ設計の解析は連続領域に残ります。

次に,Ts = 0.1秒および0.25秒の遅延を使用してモデルを線形化します。これを行うには、まず入力と出力の線形解析ポ以及ントを設定します。

Io (1) = linio(“scdspeed_compdelay / PID控制器”,1,“输入”);Io (2) = linio(“scdspeed_compdelay /零持有”,1,“openoutput”);

モデルをTs = 0.1で線形化します。

Ts = 0.1;Sys2 =线性化(mdl,io);

モデルをTs = 0.25で線形化します。

Ts = 0.25;Sys3 =线性化(mdl,io);

最後に,サンプリングおよび計算遅延の効果を使用しないで,モデルを線形化します。

Io (1) = linio(“scdspeed_contcomp / PID控制器”,1,“输入”);Io (2) = linio('scdspeed_contcomp/rad//s to rpm',1,“openoutput”);Sys1 =线性化(mdl_continuous,io);

エンジンの線形モデルを使用すると,周波数応答に対する計算遅延の効果を調べることができます。この場合,システムの位相応答は,サンプリングによって導入された遅延により大幅に減少します。

P = bodeoptions(“cstprefs”);p.Grid =“上”;p.PhaseMatching =“上”;bodeplot (sys1“k”sys2,“r”sys3,‘g’, {1e-2,1e2},p)图例(“连续模式”'Ts = 0.1''Ts = 0.25'“位置”“西南”

一番遅いサンプル時間でモデルを使用して,単ルプのフィドバック/プレフィルタの補償器設計の手法で補償器を再設計します。そうすることにより,次のPIゲンが得られます。

P = 0.00065912 I = 0.001898342

これらのゲ邮箱ンをコントロ邮箱ラ邮箱で設定します。

set_param (“scdspeed_compdelay / PID控制器”“P”“0.00065912”) set_param (“scdspeed_compdelay / PID控制器”“我”“0.001898342”

結果の閉ルプシステムをサンプル時間Ts = 0.25でシミュレトします。

sim(mdl) Tc = simout.time;Yc = simout.signals.values;

応答の比較

設計の応答をプロットします。両方の方法を使用して制御システムを再設計すると,同様のコントロラが得られます。この例では,計算遅延と離散化の効果を示します。これらの効果により,システムの安定余裕は減少しますが,制御システムを適切にモデル化すると,目的の閉ループ動作を実現できます。

情节(T1, Y1,“k”、T3、Y3“b”Td码,“米”、Tc、Yc“r”)包含(“时间(秒)。”) ylabel (“发动机转速响应”)传说(“连续补偿器(原)”“离散补偿器(原)”...“离散补偿器(离散重新设计)”...“离散补偿器(连续重新设计)”...“位置”“东南”网格)

bdclose (“scdspeed_contcomp”) bdclose (“scdspeed_compdelay”

参考

関連するトピック