LabVIEWとDCモーターによる閉ループ制御

更新しました May 14, 2021

環境

ハードウェア

  • NI ELVIS
  • Quanser QNET DC Motor Control for NI ELVIS

ソフトウェア

  • LabVIEW
  • LabVIEW Control Design and Simulation Module
  • LabVIEW MathScript Module

自然科学の研究やシステム開発を行う場合、制御の概念は不可欠な要素です。制御を完全に理解し、実践するには、理論とアプリケーションの両方を完成させる必要があります。制御に必要な技術の基礎は、制御システムのモデリング、制御設計、シミュレーション、実装、調整、および操作から構成されます。このチュートリアルでは、NIELVIS用のQuanserDC Motorプラグインボード、およびLabVIEW MathScriptRTを使用したLabVIEW制御設計とシミュレーションを使用してこれらの概念を学生に教える方法を示します。従来、コントローラーのチューニングを完了するには、複数の反復と試行錯誤が必要でした。しかし、LabVIEWを使用する場合、コントローラをリアルタイムで調整し、ハードウェアとのシームレスな統合により検証に直接移行できます。

このチュートリアルを終了すると、次のことができるようになります。
  • DCモーターをモデル化する
  • 閉ループPIコントローラーを設計する
  • シミュレーションでコントローラーを調整する
  • DCモーターでコントローラーを実装する
サンプルプログラムをダウンロードし、以下の手順に従って、LabVIEWで閉ループ制御プログラムを作成します。

ステップ1-モデリング

開ループコントローラーを設計するための最初のステップは、プラントの数学的表現を特定するか、モデルを作成することです。機械システム、電子回路、アナログおよびデジタルフィルター、熱および流体システムなど、多くのタイプのシステムをモデル化できます。この実験では、DCモーターのモデルを作成します。

DCモーターは、伝達関数で表現する事ができます。伝達関数では、システムの入力と出力がどのように関連しているかについての数学的な記述を行います。今回の場合、システムへの入力は、電圧(V M)であり、システムからの出力は角速度(ΩM)です。以下の式を使用して、DCモーターのモデルを表すことができます。

km =モーター逆起電力定数(V /(rad / s))
Rm =モーター電機子抵抗(オーム)
Jeq =等価慣性モーメント(kg * m2)(Jeq = Jm(モーター電機子慣性モーメント)と仮定)

図1.DCモーターの数学モデル(伝達関数)

このモデルは、実際のモーターでテストできる閉ループコントローラーの設計に使用されます。 LabVIEW MathScript RTモジュールの一部であるMathScriptノードを使用して、LabVIEWでこの伝達関数を表すことができます。入力パラメータ値は、Quanser QNETDCモーターの仕様書から入手しました。

図2.LabVIEWMathScriptノードで表されるDCモーターのモデル

MathScriptノードは、プログラミング>>構造パレットの下にあります。


 

ステップ2-制御設計

次のステップは、制御方法を選択し、プラント(DCモーター)を制御する為のコントローラーを設計することです。コントローラーを設計はプラント(DCモーター)の挙動の理解を目的としています。ボード、根軌跡、ナイキスト線図など、プラントがどのように動作するかについての直感的理解を得られる特殊なグラフの分析が使用されます。ステップ応答などの時間領域のグラフは、立ち上がり時間、オーバーシュート、整定時間、定常状態エラーなど、システムの理想的な動作に関するフィードバックを即座に提供します。

図3:閉ループ制御システムの概略図

この実験では、LabVIEW制御設計およびシミュレーションモジュールを使用して、DCモーター用のPIコントローラーを設計します。内蔵のODEソルバ積分と微分項を処理するために含まれるシミュレーションループは、シミュレーションの下でコントロール設計とシミュレーションパレットで見つけることができます。 Summation、Gain、Integrator、およびTransfer Functionブロックは、 Control Design andSimulationパレットのSimulation >> Signal Arithmetic and Simulation >> Continuous LinearSystemsにあります。

図4:LabVIEW制御の設計とシミュレーションにおける閉ループPIコントローラー



 

ステップ3-シミュレーション

次のステップは、設定値または目的の速度入力を変更するときのDCモーターの応答をシミュレートすることです。これにより、コントローラーのパラメーターまたはゲインを調整して、システムの堅牢性を高めることができます。手順1で作成したDCモーターの伝達関数またはモデルを閉ループコントローラーと組み合わせる必要があります。

図5:DCモーター伝達関数を備えた閉ループPIコントローラー



 

ステップ4-チューニングと検証

コントローラーとDCモーターの応答の両方をシミュレートできるようになったので、反復プロセスに従ってコントローラーを最適化します。システム性能を確認しながら、LabVIEWフロントパネルからコントローラパラメータを調整します。

図6:コントローラーを最適化するための反復プロセス

次の手順を使用して、コントローラーパラメーターを調整できます。

    • Kp = 1およびKi = 0に設定されたゲインから開始します。
    • 比例ゲイン(Kp)を増やして、必要な立ち上がり時間を取得します
    • 必要に応じて、積分ゲイン(Ki)を増やして、定常状態エラーを減らします。

プログラムを実行すると、希望のモーター速度と推定モーター速度が波形チャートにプロットされます。立ち上がり時間は比例ゲインkpを1に設定すると良好に見えますが、プロットには少量の定常状態エラーが示されています。これは、目的の速度データと推定速度データの間のギャップで表されます。積分ゲインkiを増やすことで、この定常状態エラーを減らすことができます。

図7:比例(P)コントローラーを使用したDCモーター応答のシミュレーション
 

積分ゲインkiを10に増やすと、システム応答が大幅に向上します。

図8:比例積分(PI)コントローラーを使用したDCモーター応答のシミュレーション



 

ステップ5-実装

PIコントローラーがシミュレートされたDCモーター応答で動作することを確認したので、最終的な制御システムを実装し、NIELVIS用のQuanserDCモータープラグインボードの速度を制御できます。 LabVIEW制御設計およびシミュレーションモジュールは、シミュレーションモデルだけでなく実際のシステムを制御するために使用できます。シミュレーション制御から実際の制御に移行するために、プラントモデルをハードウェア入力および出力機能に置き換えることができます。この場合、DCモーターを表す伝達関数を、実際のモーターを制御するデータ収集(DAQ)入力および出力VIに置き換えます。

図9:伝達関数をハードウェア入力/出力ブロックに置き換えることによるシミュレーションから実際のハードウェアへの移行

LabVIEW制御設計およびシミュレーションループを実際のハードウェアで使用する場合、タイミングは重要な考慮事項です。制御設計とシミュレーションループはタイムステップを持つ組み込みのODEソルバーを使用するため、ループのシミュレーションパラメーターとタイミングパラメーターを同じタイムステップに設定することが重要です。データ収集タスクは通常、タイミングパラメータを使用するため、シミュレーションループのタイミングをデータ収集のタイミングと同一視することも重要です。

これで、LabVIEWプログラムを実行し、LabVIEWフロントパネルからQuanserDCモーターの速度を制御できます。

図10:PI閉ループコントローラーを使用した実際のQuanserDCモーターの応答


 

1.ソリューションのブロック図VIスニペット

上記のVIスニペットを右クリックし、[名前を付けて画像保存... ]を選択します。このファイルをLabVIEWブロックダイアグラムにドラッグします。 LabVIEWはVIスニペットからコードを自動的に生成します。VIスニペットの詳細については、ここをクリック してください。