2016年7月24日日曜日

I2C接続のDCモータドライバ

3年ぐらい前にRaspberry Piを自走式にして遊んでいた時のシャーシにつけてたモータドライバが煙を吹いてお亡くなりになられたのでI2C接続のモータドライバでも作ってみようかと。
モータドライバを作ると言ってもL298Nを使ったモジュールはeBayでお安く買ったのが在庫有ったのでこれこいつをPWMで制御できる程度のものでいいかなぁと
多分こいつも3年ぐらい前に買ったやつで、壊れたモータドライバのがだいぶ熱を持つし、パワーが無かったので買ってたやつかも。

Attiny85がたくさんあったのでとりあえずI2Cスレーブのライブラリと格闘してPWMが2ch分動かせたんだけど、結局L298で2ch分動かすにはロジックICを使うしかな差そうなんだけど残りの2chのデジタル出力がうまく行かなくて断念…
Arduino Pro microも在庫有ったんだけどi2cの関係で調べていたらオープンソースなモータドライバを見つけてしまったのでパクらせてもらった…

Grove I2Cモータドライバとして普通に売られてるものなんだけど、回路図もプログラムも公開されてるっぽい。
Atmega8はESC修理用のやつが有ったのでそいつを使用してみた。
ただしTQFPなのだ…

まずはおもむろにユニバーサル基板の上にカプトンテープを貼ってとりあえずプログラムを書き込んだ。
最初に書き込んだのはこの後配線が大変なことになりそうだから…
DIPスイッチはI2Cのアドレス変更に使うみたい。

端子を付けて完成。
スズメッキ線で結構裏面を使ってしまった。

3年前に作ってホコリをかぶっていたシャーシに再びモータドライバが!
このモータって3Vじゃなかったっけと言いつつこのモータドライバだと4.8V以上だったはずなのでエネループ4本で駆動してみた。
ちなみにL298Nモジュールにレギュレータ載ってるけど、今回のように低い電圧で動かす場合はジャンパで外電源に切り替えて別なところから供給しないとうまく動かなかった。
多分レギュレータが悪い…(本来このモジュールは12V駆動を想定してるらしい)

モータドライバがI2Cになったことにより上に何載せても良さそう。
Raspberry Piでもいいし、ESP-WROOM-02でもいいし。


0 件のコメント:

コメントを投稿