明日は我が身の備忘録(あすびぼ)

自分向け備忘録です。頻繁に更新は難しいでしょうね

ArduinoUNO+RepRapA4988でステッピングモータの角度指示

 前回に引き続き今回もArduinoUNOとA4988 でステッピングモータを動かす。前回のスケッチは、タイマー割り込み周期を変えて台形加速をしていた。しかし、速度の制御をしても角度の指示はしていなかった。そのため、ステッピングモータの長所であるフィードフォワード制御で位置決めを活かせていなかった。

 よって今回は、原点に立ち戻りパルスを指定した回数送信して想定通りの位置決めができるか確認する。

 使用するハードウェア

 前回と同様のハードウェアを用意する。

f:id:kirikoshokunin:20210324235142p:plain:w300
ステッピングモータとA4988、ArduinoUNO

A3941の設定_マイクロステップ

 A3941は設定によりマイクロステップ駆動が可能だ。マイクロステップ駆動とは、通常1パルスで1.8 [deg.]回転するステッピングモータを4倍の分解能にして、1パルス0.45[deg.]で駆動させることが出来る機能のこと。このように、ステッピングモータの分解能を大きくすると位置決め精度があがり、低速領域での回転の滑らかさが上がる。デメリットとしては、ステッピングモータの最高速度が出なくなる。ちなみに、マイクロステップ設定なしのときをフルステップと呼び1/2マイクロステップのときはハーフステップと呼ぶ。

 A3941での設定はMS1~MS3ピンで変更できる。MS設定ピンと分周の組み合わせを下に示す。

f:id:kirikoshokunin:20210326222043p:plain:w300
MS1~MS3入力とマイクロステップ設定

Arduino スケッチ

100パルスをタイマー割り込みを使用して送信するスケッチを下に示す。使用したステッピングモータPKP246D15B2は1.8[deg./pluse]なので、フルステップ設定のときは180 [deg. ]回転し、ハーフステップ設定のときは90 [deg. ]回転する。

動作させた様子

フルステップ


ArduinoUNO+A3948でステッピングモータを回す(フルステップ)

ハーフステップ


ArduinoUNO+A3948でステッピングモータを回す(ハーフステップ)

1/16マイクロステップ


ArduinoUNO+A3948でステッピングモータを回す(1/16マイクロステップで回転)

前回記事

kirikoshokunin.hatenablog.com