Main Content

電気駆動装置の調整

この例では、カスケード制御構造を使用した電気駆動装置の調整方法を説明します。

カスケード制御構造

次の図は、カスケード制御構造を使用するフィードバック制御ループを示しています。外側の速度制御ループの動作は、内側の電流制御ループより遅くなっています。

極配置法を使用した PI 調整の方程式

単純な離散プラント モデル Gf (z-1) に必要な制御性能を満たすには、閉ループ PI 制御システム GPI(z-1) を使用します。過渡特性はオーバーシュートで表すことができます。オーバーシュートは減衰係数に応じて減少します。

σ=eπξ1ξ2

ここで、

  • σ はオーバーシュート。

  • ξ は減衰係数。

応答時間 tr は、減衰および固有振動数 ωn に次のように依存します。

  • ξ < 0.7 の場合

    tr4ωnξ.

  • ξ ≥ 0.7 の場合

    tr6ξωn.

1 次システムのための PI コントローラー設計の一般的なワークフローは次のとおりです。

  1. ゼロ次ホールド (ZOH) 離散化メソッドを使用してプラント モデルを離散化します。すなわち、プラントを表す 1 次方程式が以下であるとします。

    G(s)=KmTms+1,

    ここで、

    • Km は 1 次ゲイン。

    • Tm は 1 次システムの時定数。

    次のように設定します。

    s=1z1z1Ts,

    これにより、次の離散プラント モデルが生成されます。

    G(z1)=Km(TsTm)z11+(TsTmTm)z1=b1z11+a1z1,

    ここで、Ts は離散時間コントローラーのサンプル時間です。

  2. 同じ変換を使用して PI コントローラーの離散時間表現を記述します。次の

    GPI(s)=KP+KI(1s),

    に対して以下のように設定します。

    s=1z1z1Ts,

    これにより、次の離散コントローラー モデルが生成されます。

    GPI(z1)=KP+(KITsKP)z11z1=q0+q1z11z1.

    プラントとコントローラーの離散方程式を組み合わせることで、次のシステムの閉ループ伝達関数が生成されます。

    G0(z1)=q0b1z1+q1b1z21+(a11+q0b1)z1+(a1+q1b1)z2,

    伝達関数の分母は特性多項式です。つまり、次のようになります。

    Pc0(z1)=1+(a11+q0b1)z1+(a1+q1b1)z2.

  3. 必要な性能を達成するための特性多項式は、次のように定義されます。

    Pcd(z1)=1+α1z1+α2z2,

    ここで、

    • α1=2eξωnTscos(ωnTs1ξ2).

    • α2=e2ξωnTs.

  4. コントローラーのパラメーターを決定するには、システムの特性多項式を、必要な性能の特性多項式と等価に設定します。

    Pc0(z1)=Pcd(z1),

    の場合、

    α1=a11+q0b1

    および

    α2=a1+q1b1.

    となります。q0 および q1 を求めると、

    q0=α1a1+1b1

    および

    q1=α2+a1b1.

    となります。したがって、1 次システムの比例制御パラメーターと積分制御パラメーターの一般方程式は、

    KP=q0

    および

    KI=q1+KpTs.

    となります。

DC モーター コントローラー調整の方程式

モデル例のシステムについて、Kb = Kt と仮定すると、DC モーターの電圧およびトルクの単純化された数式は次のようになります。

va=Ladiadt+Raia+Kbω

および

Te=Jmdωdt+Bmω+Tload=Kbia,

ここで、

  • va は電機子電圧。

  • ia は電機子電流。

  • La は電機子インダクタンス。

  • Ra は電機子抵抗。

  • ω は回転子角速度。

  • Te はモーターのトルク。

  • Tload は負荷トルク。

  • Jm ローターの慣性モーメント。

  • Bm は粘性摩擦係数。

  • Kb は比例定数。

電流コントローラーを調整するために、モデルが線形であること、つまり、Kbω で表される逆起電力が無視できる大きさであることを仮定します。この仮定によって、次の 1 次ラプラス方程式を使用したプラント モデルの近似が可能になります。

Gi(s)=1Ra(LaRa)s+1.

システム要件を与えると、KP および KI を解くことができます。モデル例の電流コントローラーの要件は次のとおりです。

  • サンプル時間、Ts= 1 ミリ秒。

  • オーバーシュート、σ = 5%。

  • 応答時間、tr = 0.11 秒。

したがって、電流コントローラーの比例パラメーターと積分パラメーターは次のようになります。

  • KP=7.7099.

  • KI=455.1491.

速度コントローラーを調整するには、単純なモデルによってプラント モデルを近似します。まず、内側のループが外側のループより大幅に高速であると仮定します。また、定常偏差がないと仮定します。これらの仮定から、内側の電流ループに対し伝達関数が 1 であると見なすことで、1 次システムの使用が可能になります。

回転速度を 1 分あたりの回転数で出力するには、伝達関数に係数 30/π を乗算します。モーター トルクの代わりに電機子電流を制御入力として使用するには、伝達関数に比例定数 Kb を乗算します。その結果、外側のループのプラント モデルの近似は次のようになります。

Gn(s)=30KbπBm(JmBm)s+1.

次のように、速度コントローラーのサンプル時間とオーバーシュートの要件は電流コントローラーと同じですが、応答時間は遅くなっています。

  • サンプル時間、Ts= 1 ミリ秒。

  • オーバーシュート、σ = 5%。

  • 応答時間、 tr = 0.50 秒。

したがって、速度コントローラーの比例パラメーターと積分パラメーターは次のようになります。

  • KP=0.0045

  • KI=0.0405

モデル例の電気駆動装置の調整

  1. DC モーターとカスケード コントローラーのコンポーネントを調べます。

    1. モデルを開きます。MATLAB® コマンド プロンプトで、次のように入力します。

      openExample("simscapeelectrical/DCMotorControlExample")

    2. [コントロール] サブシステムには、Simulink® ライブラリのブロックを使用して作成されたカスケード制御システムのモデルが含まれています。

    3. Four Quadrant Chopper ブロックは、2 つのブリッジ アームを含む 4 象限 DC-DC チョッパーを表します。その各ブリッジ アームに 2 つの IGBT (Ideal, Switching) ブロックがあります。入力電圧が 0.5 V のしきい値を超えると、IGBT (Ideal, Switching) ブロックは、順電圧 0.8 V、抵抗 1e-4 Ω の線形ダイオードのように動作します。しきい値電圧を超えていないときの IGBT (Ideal, Switching) ブロックは、オフ状態のコンダクタンスが 1e-5 1/Ω の線形抵抗器のように動作します。

  2. モデルのシミュレーションを実行します。

    sim("DCMotorControl")

  3. 結果を表示します。[Scope] ブロックを開きます。

    1.5 秒の時点で、定常偏差になる負荷トルクが発生しています。

  4. DC モーター コントローラーを調整します。関数 ee_getDCMotorFirstOrderPIParams は、この例の 1 次システムの比例ゲイン KP と積分ゲイン KI を計算します。

    関数の構文は [Kp, Ki] = getParamPI(Km,Tm,Ts,sigma,tr) です。

    関数の入力引数は、コントローラーの次のようなシステム パラメーターと要件です。

    • Km は 1 次ゲイン。

    • Tm は 1 次システムの時定数。

    • Ts は離散時間コントローラーのサンプル時間。

    • sigma は目的の最大オーバーシュート σ。

    • tr は目的の応答時間。

    1. 関数内の方程式を調べるには、次のように入力します。

      edit ee_getDCMotorFirstOrderPIParams

    2. 関数を使用してコントローラーのパラメーターを計算するために、次のシステム パラメーターをワークスペースに保存します。

      Ra=4.67; 			% [Ohm]
      La=170e-3;    			% [H]
      Bm=47.3e-6;			% [N*m/(rad/s)]
      Jm=42.6e-6;			% [Kg*m^2]
      Kb=14.7e-3;			% [V/(rad/s)]
      Tsc=1e-3;     			% [s] 

    3. 電流コントローラーを調整するためのパラメーターを、内側のコントローラーのパラメーターおよび要件の関数として計算します。

      • Km = 1/Ra

      • Tm = La/Ra

      • Ts = Tsc

      • sigma = 0.05

      • Tr = 0.11

      [Kp_i, Ki_i] = ee_getDCMotorFirstOrderPIParams(1/Ra,La/Ra,Tsc,0.05,0.11)

      Kp_i =
      
          7.7099
      
      
      Ki_i =
      
        455.1491

      電流コントローラーのゲイン パラメーターがワークスペースに保存されます。

    4. 速度コントローラーを調整するためのパラメーターを、外側のコントローラーのパラメーターと要件に基づいて計算します。

      • Km = Kb*(30/pi)

      • Tm = Jm/Ra

      • Ts = Tsc

      • sigma = 0.05

      • Tr = 0.5

      [Kp_n, Ki_n] = ee_getDCMotorFirstOrderPIParams((Kb*(30/pi))/Bm,Jm/Bm,Tsc,0.05,0.5)

      Kp_n =
      
          0.0045
      
      
      Ki_n =
      
          0.0405

    速度コントローラーのゲイン パラメーターがワークスペースに保存されます。

  5. 保存された、速度とコントローラーのゲイン パラメーターを使用して、モデルをシミュレートします。

    sim("DCMotorControl")

  6. 結果を表示します。[Scope] ブロックを開きます。

オーバーシュートはやや増加していますが、コントローラーは負荷トルクの変化にずっと速く応答しています。

参考

| |

関連するトピック