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

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

Arduino UNO+ Grove I2Cモータードライバモジュールでステッピングモータを回す

 前回はArduinoUNO+Grove I2C モータドライバモジュールでDCモータを回した。このモータドライバはDCモータ2つかステッピングモータ1つの駆動を選択できるので、今回はステッピングモータを回してみる。

f:id:kirikoshokunin:20210327233427p:plain:w300
Grove I2C モータドライバモジュール

Grove I2C モータドライバモジュールとステッピングモータ

 このGrove I2C モータドライバモジュールはHブリッジが4つ搭載されているので、バイポーラステッピングモータを回すことが出来る。 しかし、このモジュールに搭載されているモータドライバICは純粋なステッピングモータドライバではないのでマイクロステップはICの設定ではできない。そのため、モータドライバICで細かい制御をする必要があるが、wikiGithubを見る限り簡単なステップを送るだけらしい。サンプルプログラムもPWM生成の過程でパルス数が4倍か1倍かは選べるが、マイクロステップの設定は無い。

 その一方で、上位のマイコンがステップ生成する必要はなく、I2Cでデータ送信すればよいので1つのマイコンで複数のステッピングモータをざっくり動かしたいときはこの機能も使えるだろう。

 よって結論を述べるとステッピングモータを回すのはあまりお勧めできない。

↓メーカの製品情報 www.seeedstudio.com

ArduinoとGrove I2C モータドライバモジュールの配線

f:id:kirikoshokunin:20210328180644p:plain
Grove I2C MotorDriver とステッピングモータの配線

Arduinoスケッチ

 ArduinoでGrove I2C モータドライバモジュールを使用するときはライブラリがあるので、それを使った方がよい。 ステッピングモータを使うときはアドレス設定関数と、送信ステップ数を設定すればよい。

 動作させた様子


8周遅れのArduino(Grove I2C MotorDriverでステッピングモータを回す)

結論

 Grove I2Cモータードライバモジュールはステッピングモータを回して何かを制御するには適していない。I2Cで送信するデータはモータ2つ分の回転方向とPWMDuty比、PWM周波数だけ。そのため、ステッピングモータを回すにはI2C経由で細かくHブリッジの制御をする必要がある。もう少しモジュールに搭載されているマイコンに指示を与えることが出来れば使えそうなので、今後モジュールのファームウェアの機能更新があればもっと使えるモジュールになるだろう。  

 一方でDCモータを回すという点では必要要件を満たしているので、簡単なモータ制御で使用することはできるだろう。例えば対向2輪のライントレーサ等を作る分には適している。ただし、価格面では¥1,500なので微妙。

前回記事

kirikoshokunin.hatenablog.com