ステッピングモーター制御を検証しました。
部品
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を乗じます。
ちなみに、検証時に利用していたステッピングモータ、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にすることで、その他のピン出力を有効にする |