そろそろ中堅エンジニアのIT雑記

プログラミングを仕事にして若干、まだまだ新米エンジニアの雑記です。

自作赤道儀開発【検証・設計-動作装置】

ステッピングモーター制御を検証しました。

部品

ArduinoのCNCシールドは3Dプリンタを制御ために3つのモータードライバを搭載できるものが、安価で入手できます。
モータードライバはA4988が安価です。
www.amazon.co.jp

CNCシールドには12~36V の直流電圧入力端子があります。この端子はモータドライバを経由し、ステッピングモータへの電力供給に使われます。
12VのDC出力があるモバイルバッテリーを利用することにしました。
5V/2.4AのUSB出力もありますので、Arduinoへの電源供給も同時に行えます。
www.amazon.co.jp

ステッピングモーターは大きさと入手性からNEMA17を選びました。
型番は17HS4023です。
スペックシートは以下になります。

定格電流 0.7A
ステップ角 1.8 deg./ step
トルク 14 N cm

モータードライバ設定

A4988ドライバは可変抵抗がついており、ステッピングモータへの入力電圧を調整して使用するのですが、入力電圧の計算式は以下の記事を参考にしました。
asumin-home.com

今回利用した17HS4023のステッピングモータの定格電流は0.7Aなので、以下の数式で算出しました。ステップは1/16を選択したので、最後に1.0を乗じます。


 \displaystyle
V_{REF} = 0.8 \times 0.7 \times 1.0 = 0.56 [V]
CNCシールドに搭載したA4988ドライバの可変抵抗をテスターで測りながら、上記の電圧に調整します。
ちなみに、検証時に利用していたステッピングモータ、17HS4401の定格電流は1.7Aで、1.36Vの入力電圧となるのですが、今回使用したモータドライバでは1.2V以上に印加できず、使用を諦めました。DRV8825というモータードライバならもう少し定格電流が高くても大丈夫そうです。

ピンアサイン調査

上記部品をArduinoの接続すると、Arduinoからステッピングモータを制御できるようになります。
Arduinoのスケッチプログラムで、特定ピンにHIGH/LOWを書き込みます。
CNCボードとArduinoのピンアサインを調査したところ、以下となりました。

ピン番号 ピン種別
2 X軸ステップ
3 Y軸ステップ
4 Z軸ステップ
5 X軸方向
6 Y軸方向
7 Z軸方向
8 ネーブル

ピン種別の内容は以下となります。

ピン種別 内容
ステップ ステッピングモータのパルス入力
方向 ステッピングモータの回転方向
ネーブル ピン出力をOUTPUTにすることで、その他のピン出力を有効にする