Arduino ステッピングモーターを回す

このチュートリアルは武蔵野美術大学通信教育課程授業用に作成したものです。

今回はステッピングモーターをArduinoで動かしてみます。

ステッピングモーター(Stepper motor)は、パルス電力に同期して動作する同期電動機である。したがってパルスモーター(Pulse motor)とも言われる。簡単な回路構成で、正確な位置決め制御を実現できるので、装置の位置決めを行う場合などによく使われる。(出典: フリー百科事典『ウィキペディア(Wikipedia)』)

ステッピングモーターの使い方を覚えることで、正確な位置決めを行う必要がある場合に役に立ちます。サーボモーターでは連続回転ができない、DCモーターでは位置制御ができないなどの問題に対して、ステッピングモーターを使うことで、それらを解決することができます。

今回扱うステッピングモーターは秋月のバイポーラステッピングモーター「SM-42BYG011」です。また、ステッピングモーターを扱うためにはドライバーを使用します。今回は「A4988」というタイプを使用します。

配線

A4988のアプリケーションダイアグラムは以下です

スクリーンショット 2019-11-12 11.06.14
スクリーンショット 2019-11-12 11.48.40

Arduinoの最も簡単な配線図は上図です。こちらを参考に配線してみてください。(モータードライバーA4988の向きと、ステッピングモーターの色に注意してください。)モーターやドライバーの種類が違う場合は適宜配線を変更してくださいね。

プログラム

Arduinoのプログラムについて、今回は簡単に駆動できる「AccelStepper」ライブラリーを利用します。ライブラリーのインクルードからインストールしておいてください。

単純な連続回転であれば以下のプログラムでスピードを指定して回転させられます。

指定の加速度(setAcceleration)にて指定のステップ数だけ移動するには「runToNewPosition」を利用します