banner

ブログ

Mar 24, 2023

マイクロステッピングは実際どのくらい正確ですか?

ステッピング モーターは、1 回転を何百もの個別のステップに分割するため、自動車、ロボット、3D プリンター、CNC マシンなどの動きを正確に制御するのに最適です。 DIY プロジェクト、3D プリンター、小型 CNC マシンで使用されるほとんどのステッピング モーターは、1 回転あたり 200 ステップ、または高解像度バージョンでは 400 ステップのバイポーラ 2 相ハイブリッド ステッピング モーターです。 これにより、ステップ角はそれぞれ 1.8 °、0.9 ° になります。

ある意味、ステップは動きのピクセルであり、多くの場合、所定の物理解像度では十分ではありません。 フルステップ モード (ウェーブ ドライブ) でステッピング モーターのコイルをハード スイッチングすると、モーターが 1 つのステップ位置から次のステップ位置にジャンプし、オーバーシュート、トルク リップル、および振動が発生します。 また、より正確な位置決めを行うためにステッピング モーターの分解能を高めたいと考えています。 最新のステッピング モーター ドライバーは、ステッピング モーターのすべてのフル ステップに任意の数のマイクロステップを押し込む駆動技術であるマイクロステッピングを備えており、これにより振動が大幅に低減され、(おそらく) ステッピング モーターの分解能と精度が向上します。

一方では、マイクロステップは実際には、負荷がかかっている場合でもステッピング モーターが物理的に実行できるステップです。 一方、通常、ステッピング モーターの位置決め精度は向上しません。 マイクロステッピングは必ず混乱を引き起こします。 この記事では、この点を少し明確にすることに専念しています。また、これはドライバーに大きく依存する問題であるため、一般的に使用されている A4988、DRV8825、および TB6560AHQ モーター ドライバーのマイクロステッピング機能も比較します。

ハイブリッド ステッピング モーターでは、マイクロステッピング対応モーター ドライバーがステーター コイルの電流を調整して、永久磁石ローターを後続の 2 つのフル ステップ間の中間位置に配置します。 フルステップは複数のマイクロステップに分割され、各マイクロステップは 2 つのコイル電流によって実現されます。

古い産業用モーター ドライバーの多くは 4 マイクロステップ (クォーター ステップ モード) しか備えていませんが、現在ではフルステップあたり 16、32、さらには 256 マイクロステップが一般的です。 以前は 1 回転あたり 200 ステップのステッピング モーターがあったとすると、今では 1 回転あたり 51,200 ステップという奇跡が起こります。 理論的には。

実際には、依然として開ループ ドライバーを扱っています。これは、モーター ドライバーがモーター シャフトの正確な角度位置を認識しておらず、偏差を補正できないことを意味します。 摩擦、モーター自体のディテントトルク、そして最も顕著なことに、ローターに作用する外部負荷はドライバーには気付かれません。 エンコーダとより高度な特別なドライバを介してループを閉じない限り、モーターが目標位置の± 2 フルステップ (はい、それはひどい) のどこかにあると想定できます。これは、ローターの前の最大たわみです。間違ったフルステップ位置にスナップすると、ステップロスが発生します。

あるマイクロステップから別のマイクロステップへの増分トルクは、容赦のない三角法によって支配され、モーターの動的トルクのほんの一部にすぎません。 モーター シャフトが実際に +/- 1 マイクロステップ以内に設定されるようにするには、それに応じて負荷も減らす必要があります。 この小さな増分トルクを超えてもステップ損失は発生しませんが、最大 ± 2 フルステップの同じ絶対位置誤差が発生します。 以下の表は、壊滅的な関係を示しています。

出典: ステッピング モーターのテクニカル ノート: Micromo によるマイクロステッピングの神話と現実

良いニュースは、十分に強力なモータードライバーを使用している限り、外部負荷によるものであろうとモーターの内部慣性によるものであろうと、その増分トルクを超えない限り、マイクロステップの位置決め精度を達成するための理論上の唯一の制限は次のとおりであるということです。モーターの内部摩擦とディテントトルク。 これらの値はモーターのタイプに大きく依存しますが、一般的にはかなり低い (ほとんど無視できる) 値です。 たとえば、次のテストで使用されるモーターのディテント トルクは 200 g cm と指定されています。 これは 4000 g cm の保持トルクのわずか 5% にすぎません。 上の表によると、このモーターはフルステップ ドライバーあたり 16 マイクロステップで正確な位置決めができる必要があります。

では、この理論は当てはまりますか? また、すべてのマイクロステップ モーター ドライバーは、マイクロステップ位置決め精度の点で同じパフォーマンスを提供しますか? 最近、あるプロジェクトでいくつかのモーター ドライバーをテストする機会がありましたが、その結果にはかなり驚きました。

テストのセットアップでは、赤外線温度計から赤色レーザー ポインターを借用し、3D プリント治具を介してモーターに取り付けました。 3D プリントされたミラー マウントは、第 1 面ミラーをモーターのシャフトに取り付け、モーターに所定の質量を負荷するための長さ 100 mm の 2 つのレバーを備えています。 荷重テストでは、100 g のおもりを 1 つのレバーに取り付けました。その結果、レバーを通る荷重の運動量は 1000 g cm になります。 これは、このテストに使用したモーターの保持トルクの 4 分の 1 です。Wantai 42BYGHW609 は、1 相あたり 1.7 A、保持トルク 4000 g cm、1 回転あたり 200 ステップを備えています。

私はモーターアセンブリを硬い窓辺に取り付け、レーザーポインターのドットが部屋を横切って約6メートル離れた反対側の壁に取り付けられたポケットルールに投影されるように配置しました。 光学レバーによりステップが拡大され、正確な読み取りが可能になります。 当初は測定値を手動でメモすることを計画していましたが、写真から測定値を抽出するための小さな Java 画像処理スクリプトを作成すればほんの少しの時間で完了できることにすぐに気付きました。 そこで、DSLR カメラをテスト用電子機器 (Arduino と RAMPS 1.4) に接続し、位置の読み取り値を取得するためにトリガーしました。 確かに、定規の隣のきれいな白い壁にレーザーを向けるべきでしたが、赤チャンネルの単純なしきい値が、定規から明るい赤色のレーザー スポットを正確に抽出するのにうまく機能しました。 定規の読み取り値と壁の距離から、後でモーターシャフトの角度位置を計算しました。

すべてのステッピング モーター ドライバーは、フルステップあたり 16 マイクロステップ モードでテストされました。 測定前に、ステッピング モーターをフルステップの戻り止め位置に置き、ミラーを壁に垂直なビームに位置合わせしました。 次に、ステップごとにカメラをトリガーしながら、一方向に 16 マイクロステップが実行されました。 その後、逆方向に 16 マイクロステップが実行され、ステッピング モーターが元の位置に戻りました。 ここでも、各ステップの後にカメラがトリガーされました。 両方向の位置を測定すると、モーターのクッション性のあるバックラッシュ (存在する場合) を把握できるはずですが、予想よりも興味深い洞察が得られました。 このテスト シーケンスは、すべてのドライバーに対して、1000 g cm の負荷がかかっている状態と負荷がかかっている状態の両方で実行されました。 より強力なドライバーは負荷テスト中に若干のオーバーシュートを引き起こしたため、写真がトリガーされる前に休憩する時間が与えられました。

以下のすべての結果は、比較可能性を確保するために、まったく同じモーターと同じ物理的なモーター ステップから得られたものであることに言及する価値があります。 シャフト位置角度の計算を除いて、何も平均化またはその他の処理は行われていません。 ただし、結果の健全性を確保するために、すべてのテストは異なるハードウェア (つまり、同じドライバー IC ですが、異なるソースからの異なるブレークアウト ボード) で複数回実行されています。 風変わりな結果 (DRV8825 など) も、さまざまなセットアップで再現できました。 次のグラフは、時間連続測定であるかのような誤った印象を与える可能性があることに注意してください。 実際には、X 軸上のマークでの一連の離散測定値が表示されており、折れ線グラフのみを使用すると、非線形性が一目で分かりやすくなります。

Pololu のようなステッパー ドライバー ブレークアウト ボード上の Allegro A4988 は、無負荷時と負荷時の両方で最高のパフォーマンスを発揮しました。 1 相あたり 1 A しか供給しませんが、無負荷テストでは非常に線形で等間隔のマイクロステップを実現し、理想位置からの偏差は小さいですが再現可能であり、± 1 マイクロステップ以内でした。 興味深いことに、A4988 はハーフステップ位置で最大の偏差を示します。

当然のことながら、シャフトの位置は負荷がかかると顕著に変化します (フルステップの半分以上)。 無限の解像度の夢が消えます。 ただし、グラフは、フルステップ位置がモーターのわずかなディテント トルクによってサポートされているにもかかわらず、このたわみの影響を受けないことも示しています。

Pololu のようなステッパー ドライバー ブレークアウト ボード上の Texas Instruments DRV8825 のパフォーマンスが最悪でした。 さまざまなソースからのさまざまなブレークアウト ボードを使用して測定を数回繰り返しましたが、すべての結果がこれとほぼ同じ曲線になりました。 ただし、ドライバーは 2.2 A というより高い電流をモーターに供給できるため、フルステップおよびハーフステップ位置での負荷時のたわみは大幅に小さくなります。

DRV8825 はロード時でもアンロード時でも、ハーフステップに達するまで良好に動作します。 次に、単一マイクロステップ内でほぼ次のフルステップ位置にジャンプします。 逆方向では、元のフルステップの位置に戻る前に、ハーフステップに到達するまで (今回はフルステップの残りの半分)、再び良好なパフォーマンスが得られます。 この動作は説明が難しいです。 少なくとも、モーターの電流検出経路の欠陥は、位置決めにより均一に影響を与えるはずです。 Hackaday の読者は、DRV8825 のこの動作の説明、確認、反証に貢献できると確信しています。あるいは、これらの結果を引き起こした可能性のある測定セットアップの欠陥を指摘することもできるでしょう。

正直なところ、東芝 TB6560AHQ 3A モーター ドライバー チャネルを 4 つ搭載した安価な赤い ST6560T4 ドライバー ボードにはあまり期待していませんでしたが、素晴らしいドライバー IC であり、驚くほど優れたパフォーマンスを発揮しました。 このテストではドライバーを 2.25 A に設定し、無負荷時の偏差が ± 2 マイクロステップでマイクロステップ シーケンス全体にわたって良好な直線性を達成しました。

ただし、A4988 では見られなかった、フルステップの上部位置で再現可能な非線形性があり、TB6560AHQ の負荷時の動作はアイドル動作とは著しく異なります。 また、DRV8825 と同様に電流が増加するとモーターのトルクが増加するはずなので、モーターが負荷の下でフルステップの半分以上偏向することは驚くべきことです。

この記事と測定結果が、設計上の決定や、これらの非常に一般的なドライバーを使用する際の参考になれば幸いです。 このテストはかなり狭い用途に対して行ったものであり、あまり一般化すべきではありません。 あえて次のように結論付けますが、

オープンループマイクロステッピングを使用する CNC ルーターなどのより重い機械のステッピング モーターは、主にマイクロステップ モードの振動の低減とトルク リップルの低減の恩恵を受けます。 負荷によって軸の位置がフルステップを超えて偏向する可能性があるため、位置決め精度を向上させる手段としてマイクロステップに依存することはできません (少なくとも大きなトルクマージンを維持しない限り)。

ただし、負荷や摩擦が小さい小型軽量のアプリケーションでは、標準のステッピング モーターからより高い精度を引き出すための安価なトリックとしてマイクロステッピングに頼る可能性があります。 安価で低電流のモータードライバーを使用した場合でも、非常に優れた性能を誇る A4988 を見ると、負荷が低く保たれている限り、理想的にはマイクロステップの増分トルク内であれば、正確な角度位置決めが可能です。

いつものように、この投稿の主題に関するあなたの考え、意見、経験を喜んで聞きます。 DRV8825 で何が起こっているのでしょうか? あなたが最もよく利用しているステッピング モーター ドライバーは何ですか? コメントでお知らせください!

共有