Arduino UNO+ Grove I2Cモータードライバモジュールでステッピングモータを回す
前回はArduinoUNO+Grove I2C モータドライバモジュールでDCモータを回した。このモータドライバはDCモータ2つかステッピングモータ1つの駆動を選択できるので、今回はステッピングモータを回してみる。
Grove I2C モータドライバモジュールとステッピングモータ
このGrove I2C モータドライバモジュールはHブリッジが4つ搭載されているので、バイポーラステッピングモータを回すことが出来る。 しかし、このモジュールに搭載されているモータドライバICは純粋なステッピングモータドライバではないのでマイクロステップはICの設定ではできない。そのため、モータドライバICで細かい制御をする必要があるが、wikiやGithubを見る限り簡単なステップを送るだけらしい。サンプルプログラムもPWM生成の過程でパルス数が4倍か1倍かは選べるが、マイクロステップの設定は無い。
その一方で、上位のマイコンがステップ生成する必要はなく、I2Cでデータ送信すればよいので1つのマイコンで複数のステッピングモータをざっくり動かしたいときはこの機能も使えるだろう。
よって結論を述べるとステッピングモータを回すのはあまりお勧めできない。
↓メーカの製品情報 www.seeedstudio.com
ArduinoとGrove I2C モータドライバモジュールの配線
Arduinoスケッチ
ArduinoでGrove I2C モータドライバモジュールを使用するときはライブラリがあるので、それを使った方がよい。 ステッピングモータを使うときはアドレス設定関数と、送信ステップ数を設定すればよい。
動作させた様子
8周遅れのArduino(Grove I2C MotorDriverでステッピングモータを回す)
結論
Grove I2Cモータードライバモジュールはステッピングモータを回して何かを制御するには適していない。I2Cで送信するデータはモータ2つ分の回転方向とPWMDuty比、PWM周波数だけ。そのため、ステッピングモータを回すにはI2C経由で細かくHブリッジの制御をする必要がある。もう少しモジュールに搭載されているマイコンに指示を与えることが出来れば使えそうなので、今後モジュールのファームウェアの機能更新があればもっと使えるモジュールになるだろう。
一方でDCモータを回すという点では必要要件を満たしているので、簡単なモータ制御で使用することはできるだろう。例えば対向2輪のライントレーサ等を作る分には適している。ただし、価格面では¥1,500なので微妙。