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

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

Arduino UNO+ Grove I2CモータードライバモジュールでDCモータ回す

前回はArduinoUNOでステッピングモータを動かしたが、今回は秋月電子で販売していたGrove I2CモータードライバモジュールでDCモータを回してみる。

f:id:kirikoshokunin:20210327233427p:plain:w300
Grove I2C MotorDriver
 

Grove I2Cモータードライバモジュールの詳細な説明は下のWikiに書いてある。 Grove - I2C Motor Driver (L298P) - Seeed Wiki

 簡単に説明するとL298Pというモータドライバをマイコンで制御しているボードで、L298PにはHブリッジが2つあるのでDCモータの場合は2つ、ステッピングモータを1つのいずれかを回せる。つまり、ステッピングモータを1つ回してるときはDCモータを回すことが出来ないので注意が必要。

 このドライバの良いところは前述の通り、ボード上にマイコンが載っているのでArduinoなどの上位のコントローラがPWMを発生させたりする手間が少ないことと、I2C通信でコントロールできてレベル変換回路も搭載されているので色々な手間がなく使うことが出来る。

 一方で、電流は連続2Aまでしか流せないので注意が必要。また内部のHブリッジトランジスタの動作が遅いのでPWM周波数を高い設定にして電流を流していくと発熱に注意する必要がある。

ライブラリのインクルード

Grove I2CモータードライバモジュールにはArduino用のライブラリが用意されている。そのライブラリのインクルード方法を下に画像らで示す。

まず、下のGithubのURLからライブラリのZIPファイルをダウンロードする。

github.com

f:id:kirikoshokunin:20210327231932p:plain:w300
GithubからZIPファイルをダウンロード

f:id:kirikoshokunin:20210327220901p:plain:w300
ライブラリのインストール

f:id:kirikoshokunin:20210327221047p:plain:w300
ZIPファイルを選択して開く

f:id:kirikoshokunin:20210327221448p:plain:w300
新しいスケッチでインストールしたライブラリをインクルード

f:id:kirikoshokunin:20210327221625p:plain:w300
スケッチの上部にインクルード処理の行が追加される

配線

Grove I2CモータードライバモジュールとArduinoの配線は簡単で、VCC,GND,SCL、SDAの端子をモータドライバモジュールの白いコネクタにつなげるだけ。

f:id:kirikoshokunin:20210328012706p:plain
Grove I2C MotorDriver DCモーター
f:id:kirikoshokunin:20210327235527p:plain:w300
配線後の写真

 スケッチ

サンプルプログラムを参考に下のスケッチを書いた。ほとんどサンプルプログラムと一緒だが、PWM周波数を設定する関数を備忘録として追加したある。PWM周期の設定は4種類しかないので注意が必要。

 動作させた動画

 モータをMotor1に接続して動作させた様子を下に示す


8周遅れのArduinoでモータ回す(ArduinoUNO+Grove I2C MotorDriver)

前回記事

kirikoshokunin.hatenablog.com