このシリーズのパート 1 では、いくつかの重要なアイデアを紹介しました。

  • TI はステッピング・モータに力をいれています。
  • ステッパ・モーターは、非常に多くの電力を消費することもあります。
  • 逆起電力(BEMF)はステッパ・モーターの負荷の大きさを示します。
  • 逆起電力に基づいて出力電流を制御できます。
  • この事実はある程度の電力節減に役立ちます。
  • 電流制御については説明しません。

さて、ここまででコンセプトに関する説明は完了しているので(読者への注意:実際の作業はまだ何も実施していません)、今度はこのコンセプトが現実に根ざしたものかどうか確認するときです。 筆者は、電力を節減する目的で、逆起電力に基づいてステッパの出力電流を自動的に調整するシステムのプロトタイプを製作できるでしょうか。 結果をご覧ください。

手順 1: ステッパの選択

偶然、机の上に次のステッピング・モーターがあります(次の画像を参照)。 このモーターがどこから来たか知りませんが、このモーターを使用する予定です。 ご丁寧に、誰かが「2.8A 1.4mH」と記入してくれています。

図 1: 筆者の新しいステッパ・モーター。気まぐれで寄贈してくれた見知らぬ人に感謝します

 

手順 2: ステッピング・ドライバの選択

パート 1 で説明したように、DRV8711 はステッピング・モーターの逆起電力をサンプリングできます。 システム全体を自力で新規設計することに比べると、本当に作業が簡単になります。

手順 3: ハードウェアのプロトタイプ製作

DRV8711 ブースタパック を設計してくれた同僚の Nick(ニック)に感謝します。 このデバイスを使用してプロトタイプを製作する予定です。

オンライン回路図を参照したところ、1 つの問題に行き当たりました。BEMF ピンが、MSP430™ LaunchPad に引き出されていません。 この重要なピンは、DRV8711 データシートによると、逆起電力を表すアナログ電圧として表現されます。 ステッパ・モーターの電流を増加または減少させる時期を制御できるように、この電圧を MSP430 デバイスに読み込む必要があります。

基板を改造する時間がやってきました。 以下で理解できるように、筆者は基板からポテンショメータ(R6)を取り外し、非常に見た目の悪い方法で C7 パッドから POT 回路に延びる配線を取り付けました。 少なくとも筆者は、POT 回路が MSP430 の A/D コンバータ(ADC)入力に取り回されていることを理解しています。

図 2: BOOST-DRV8711 の基板改造。 ごめん、基板に手を加えてしまったよ、Nick。

 

手順 4: ステッパの特性評価

ここまでで、ステッパ・モーターの逆起電力をサンプリングできるハードウェア機能を確保できたようなので、閉ループ制御のプログラミングに進む前に、モーターの特性評価を開始します。 C のプログラミングを開始する前に、この計画に成功の見込みがあることを確認したいと思います。

「モーターの特性評価」と表現しましたが、単純にモーターが回転しているときに、測定できるはずの逆起電力の電圧が DRV8711 から取得できるかどうかを判断するだけです。 BOOST-DRV8711 に付属しているファームウェアとグラフィカル・ユーザー・インターフェイス(GUI)(次の図 3 のような外観です)を使用してこの作業を実施できます。 何組かの異なる速度で複数の逆起電力を測定し、平均を求めたいと思います。

図 3: BOOST-DRV8711 の GUI。非常に多くの設定項目がありますが、全部を説明するには時間が足りません

この GUI を使用してモーターの速度を制御できます。オシロスコープを使用して BEMF ピンの動作を観察する予定です。 DRV8711 には STALLn/BEMFVn というもう 1 本のピンもあり、BEMF ピンで新しいサンプリング値を観察する準備ができたときに "Low" にプルダウンされます。 もちろん、このピンが動作するのは「external stall detect mode」(外的要因による停止の検出モード)の間のみであり、CTRL レジスタ内の EXSTALL ピンに 1 という値を書き込む必要があります。 次の図 4 に、リアルタイムで観察された結果を示します。

図 4: モーターの逆起電力。 明らかに、きれいな波形ではありません

 

DRV8711 では、STALL レジスタ内にある複数の VDIV ビットを使用して、逆起電力を 1/4、1/8、1/16、1/32 のいずれかにスケール化することができます。 1/4 の設定を使用して、モーターは 318rpm のときに 3V を出力しました。正常に動作します。 トルク・レジスタには SMPLTH という複数のビットもあり、ステッパ・モーターの逆起電力をサンプリングする前に DRV8711 が待機する時間の長さを指定します。 今回のモーターでは、最小の設定値である 50μs で正常に動作するようです。 DRV8711 レジスタの設定を終え、複数の速度でいくつかのデータを取得しました。 次の図 5 で未加工のデータを確認できます。

図 5: 逆起電力データに関するいくつかのデータ点。 モーターの速度に対してかなり直線的な関係にあります

このデータを目にして、かなり勇気付けられました。 モーターの負荷が増加してステッパ・モーターが停止しはじめると、逆起電力はそのことを反映して小さくなります。 逆起電力に基づいて制御ループを閉じ、逆起電力が減少している場合はモーター電流(トルク)を大きくする必要があります。 逆に、モーターが正常に動作しており、逆起電力が安定している場合は、モーター電流(トルク)を小さくできる可能性があります。その速度でモーターの回転を維持する必要はないからです。

このシリーズの最終となる次回の投稿では、実際に動作しているいくつかのハードウェアと、モーターから得られた逆起電力のデータを紹介する予定です。筆者はいくつかの試行を進めたいと思っています。

上記の記事は下記 URL より翻訳転載されました。

http://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2015/05/22/how-to-spin-your-stepper-motor-more-efficiently-part-2


*ご質問は E2E 日本語コミュニティにお願い致します。

 

 

 

Anonymous