ハードとソフトのコンボパッケージで、BLDCモータを1時間未満で動作させる

著者 Jacob Beningo

DigiKeyの北米担当編集者の提供

防衛、産業、ロボティクスの業界には、ブラシレスDC(BLDC)モータを使用した組み込みシステムを必要とする多くのアプリケーションがあります。モータを回転させることは一見簡単に見えて、実は開発者がモータ駆動、トルク、電気電気的特性、電磁的性質、さらには電流フィードバック測定を把握するにつれ、プロジェクトに遅れを出しかねない問題が持ち上がることがあります。

これは、最小限の部品点数で、アプリケーションの動作範囲全体にわたってモータを円滑な制御で駆動するアルゴリズムで動作する、適切なハードウェアがすでに選択済みであることが前提です。

必要なのは、開発期間を大幅に短縮でき、モータ制御の細かな技術に深入りせずエンドアプリケーションに集中できるように、ハードウェアとソフトウェアがすべて1つにパッケージ化されて簡単に使えるものです。

この記事では、Texas Instrumentsが提供しているそのようなパッケージを紹介します。これは、マイクロコントローラおよび開発キットハードウェアと、InstaSPIN™フィールドオリエンテッドモータ制御ソフトウェアおよびツールを組み合わせたものです。続いて、このパッケージを使うと、この分野が初めての開発者でも、モータパラメータを容易に決定し、複雑なBLDCモータを1時間未満で動作させられることをお見せします。

InstaSPIN-FOCとは、そしてその使いやすさは本物か

Texas InstrumentsのInstaSPINソリューションのユニークな点は、ゼロから始める開発者でも、1時間未満でモータを動作させられることです。それどころか、このソリューションを一度でも使ったことがある開発者なら、10分未満でモータを動作させられるでしょう。また、このキットではエンコーダを使わず、フィールドオリエンテッド制御(FOC)を採用しているため、電源とグランドをモータに接続した後、各駆動相を接続するだけで済みます。この段階で電気的には準備完了です。エンコーダや他の複雑な電子装置は不要です。

もちろん、センサやエンコーダを使用しない方法には、FOC以外にも逆起電力ゼロクロスタイミング法などがあります。しかし、InstaSPINはモータのフラックスを監視し、モータを転流させるタイミングを決定します。開発者はプロットウィンドウのフラックス信号を見て、フラックスレベルがいくらのときにモータを転流させるかを[Flux Threshold]スライダの設定で指定できます。最適な転流であるかどうかは、表示される相電圧と電流波形を観察すれば確認できます。

InstaSPIN-FOCソリューションには、以下の4つの主要な要素があります。

  • マイクロコントローラボード
  • モータドライバボード
  • InstaSPIN-FOCグラフィカルユーザーインターフェース(GUI)
  • BLDCモータ

マイクロコントローラボードは、FOCアルゴリズムの実行、モータドライバに対するモータ各相をオンオフするタイミングの指示というインテリジェントな処理と共に、フラックスレベルなどのパラメータを表示するGUIへの通信を行います。モータドライバは実際のモータを駆動するインターフェースです。これらには、高電圧からのマイクロコントローラ保護、測定の実行、さらにモータの不具合検出を行う電気回路が含まれています。

InstaSPIN-FOC GUIは、Texas Instrumentsのオンライン開発ギャラリーの中にある汎用GUIです。このGUIは、ウェブブラウザから直接実行することも、ローカル実行可能版をコンピュータにダウンロードすることもできます。

最後は、実物の3相永久磁石BLDCモータです。

以下、それぞれについて詳しく見ていき、BLDCモータを動作させるためのハードウェアソリューションを検討しましょう。

BLDCモータドライバおよびマイクロコントローラ

BLDCモータ駆動用に選択できるソリューションはいくつも存在するので、特に探して回る必要はありません。TIのInstaSPIN-FOCおよびMotorControl SDKは、同社のLAUNCHXL-F280049C TMS320F280049C LaunchPad(図1)およびBOOSTXL-DRV8323RS LaunchPadブースタパックと対になっています。TMS320F28049C LaunchPadは低コストの開発ボードで、オンボードXDS110デバッガ、拡張ヘッダ、F280049CPMS TMS320F280049C Piccolo™マイクロコントローラを搭載しています。

Texas Instruments TMS320F280049C LaunchPadの画像図1:TMS320F280049C LaunchPadは、絶縁型USB XDS110デバッグプローブ、F280049C Piccoloマイクロコントローラ、アプリケーション固有のハードウェア用に使用可能なブースタパック2つに電力供給する電子回路を搭載しています。(画像提供:Texas Instruments)

TMS320F280049Cは、C2000マイクロコントローラコアを使用し、256KBのフラッシュ、100KBのRAMを内蔵しており、100MHzで動作します。TMS320F280049Cは、TIのFOCモータ制御アルゴリズムをROMに格納しているため、貴重なコードスペースを浪費せずに済みます。

TMS320F280049Cマイクロコントローラを活用する手段は、TMS320F280049C LaunchPadだけではありません。TMDSCNCD280049CというTMS320F280049Cマイクロコントローラ用制御カードもあります(図2)。このカードは試作段階や、開発者がアプリケーションで使用しているマイクロコントローラを抜き取れる柔軟性やさらに拡張性を求める場合に使用できます。この制御カードをドッキングステーションに接続すると、開発者はマイクロコントローラのI/Oにアクセスできます。

Texas Instruments TMS320F280049C制御カードの画像図2:TMS320F280049C制御カードは、モータ制御機能を備えた小型モジュールパッケージであり、ドッキングステーションといっしょに使用すればマイクロコントローラのI/Oにアクセスできる。(画像提供:Texas Instruments)

DRV8323RS LaunchPadブースタパックは、TMS320F280049C LaunchPadに搭載する拡張ボードで、BLDCモータの駆動に必要なその他のハードウェアを追加するものです(図3)。

Texas Instruments DRV8323RS LaunchPadブースタパックの画像図3:DRV8323RS LaunchPadブースタパックには、モータ駆動コントローラ、FET、その他のBLDCモータ駆動用回路が搭載されている。(画像提供:Texas Instruments)

DRV8232RSボードは、拡張エリアのサイト1またはサイト2に接続できますが、MotorControl SDKのサンプルはサイト1に接続していることを想定しています。BLDCモータをこのボードに3端子型コネクタで接続して、モータ駆動用電力を外部からボードに供給できます。DRV8232RS LaunchPadブースタパックはTMS320F280049Cボードにも電力を供給します。このボードは電源ON状態を示すLEDと、不具合検出LEDを備えています。

DRV8232RS LaunchPadブースタパックの中心部にあるのが、DRV8230 3相スマートゲートドライバです。このゲートドライバにより、ローサイド電流センシングおよび最大定格60V動作のMOSFETの直接駆動ができます。

TMS320F280049C LaunchPadおよびDRV8232RS LaunchPadブースタパックを使用すれば、幅広いBLDCモータを駆動できます。初めて扱うモータとしては、TrinamicQBL4208-41-04-006がおあつらえ向きです(図4)。

このTrinamic製モータは24V電源で動作し、最大回転速度4000rpmで62.5mNmのトルクを発生します。

Trinamic QBL4208-41-04-006 4000rpm BLDCモータの画像図4:TrinamicのQBL4208-41-04-006 4000rpm BLDCモータは、24V電源で動作し、62.5mNmのトルクを発生する。(画像提供:Trinamic Motion Control GmbH)

BLDCモータ制御を始めるための必要最小限の説明できたので、次のステップでInstaSPIN-FOC GUIでモータパラメータを同定する方法を見ていきます。

BLDCモータのパラメータを同定し、モータを動作させる

InstaSPIN-FOC GUIでモータを駆動する前に、速度またはトルクのFOC制御ができるよう、モータの特性を理解する必要があります。それには、アルゴリズムで使用する以下のような特性を知る必要があります。

  • 抵抗
  • インダクタンス
  • モータフラックス
  • 磁化電流

これらの特性はすべて、InstaSPIN-FOC GUIによってほんの数分で自動的に決定できます。このGUIはブラウザ内で実行でき、デフォルトで、TMS320F280049CおよびDRV8232拡張ボードと動作するように設計されたMotorControl SDK lab 5を読み込みます。lab 5は、モータを同定し、そのパラメータを取得する方法を実行するものです。すべての詳細は、GUIのクイックスタートガイドおよびlabマニュアルに記載されています。

まず、TIの開発者サイトからInstaSPIN-FOC GUIを開く必要があります。すると他の開発IDEと同様、GUI環境内に実行ボタンがあります。このボタンをクリックすると、モータを同定するコードがLaunchPadにダウンロードされ、それを実行しようとします。

これだけでは特別なことは起きません。ソフトウェアの有効化が必要だからです。有効化は、GUIの[Enable System]チェックボックスにチェックを入れるとできます。この時点では、モータ同定コードはまだ実行されません。[Run]チェックボックスにもチェックを入れる必要があります。[Run]にチェックを入れると、コードがモータを同定するためのシーケンスを開始します。このシーケンスでは、モータを動作させるのに必要なパラメータを得るために必要な測定を実行します。同定のプロセス全体には数分かかり、その間、モータはスピンアップ、そしてスピンダウンし、数分間、低速で回転します。

このプロセスが完了すると、GUIの表示が図5に示したようになるでしょう。

モータを特定した直後のInstaSPIN-FOC GUIの画像図5:モータを特定した直後のInstaSPIN-FOC GUI(画像提供:Jacob Beningo)

図5で、GUIの右上の部分に入っている数個の値に注目してください。これらは、後でモータをトルクモードまたはスピードモードで駆動するときに使えるように、記録しておく必要があるモータパラメータです。また、左側では、「Motor Identified」が暗色表示から緑に変わっていることに気が付くでしょう。この時点で、モータの速度をGUIから直接、制御できるようになっています。

モータの速度は、単にGUIの[speedRef(Hz)]ボックスを変更することで制御できます。このリファレンス制御による加速は非常に速いことに注意してください。それに対して、減速するにはspeedRefの値が徐々に小さくなるように複数の設定値を入力する必要があります。[Run]チェックボックスのチェックを外すと、モータを即座に完全停止させることができます。

TIのInstaSPIN-FOCでBLDCモータを使用する場合のヒントとコツ

以下に、BLDCモータとTIのInstaSPIN-FOCソリューションを扱う場合に考慮すべきベストプラクティスをまとめました。

  • モータ用アルゴリズムが内蔵フラッシュに格納されているマイクロコントローラを選択します。そうすれば、モータ用アルゴリズムに使用されるコードスペースが減り、その実行時のパフォーマンスも向上させられます。
  • F280049C Launchpadでは、DRV8323RS Launchpadブースタパック用にサイト1をデフォルトとして使います。サイト2を使うには、ソフトウェアを変更する必要があります。
  • TIのMotorControl SDKに含まれている13個のサンプル実験(lab)をすべて試す時間を確保します。これらの実験には、モータパラメータの同定から、速度およびトルク制御によるモータ制御までのすべてが含まれています。
  • lab 5のサンプルで、使用するモータのパラメータを求めます。MOTOR_TYPE_PMを使用している場合は、labを正常にコンパイルできるように、必ず以下の定義も追加して調整済みの値を使います。

    define #define USER_MOTOR_INERTIA_Kgm2           (7.06154e-06)

  • InstaSPIN-FOCオンラインGUIを使用して、BLDCの実験を開始します。

まとめ

トルク制御または速度制御でBLDCモータを駆動することは、組み込みソフトウェアエンジニアの知識を軽く超えた複雑な問題になり、プロジェクトの進行を遅らせることがあります。この記事で紹介したように、Texas InstrumentsのInstaSPINおよびMotorControl SDKと関連ハードウェアを使用すれば、制御工学に不案内であっても迅速かつ容易にBLDCモータを動作させることができます。

 
DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

著者について

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo氏は組み込みソフトウェアコンサルタントで、現在、製品の品質、コスト、市場投入までの時間を改善することで、ビジネスを劇的に変革するために数十か国以上のお客様と作業しています。同氏は、組み込みソフトウェア開発技術に関する200以上の記事を発表しており、引っ張りだこのスピーカーでありテクニカルトレーナです。ミシガン大学のエンジニアリングマスターを含む3つの学位を取得しています。気楽にjacob@beningo.comにメールするか、彼のウェブサイトwww.beningo.comから連絡してみてください。そして毎月のEmbedded Bytes Newsletterにサインアップしましょう。

出版者について

DigiKeyの北米担当編集者