モータードライバーについて

TJ3Bではモーターは二つまでしか接続することができません。

センサーのポートは10ポートありますが、モーターのポート(端子)は2つです。
端子自体は4つありますが、モーターを逆方向にまわすためのポートがそれぞれ1つずつ用意されているだけで、別々に動かせるモーターの数は2つです。

なので、ドリブラーなどで三つ目のモーターを動かしたいときにはそのための部品の追加が必要になります。モーターを動かすための装置「モータードライバー」といいます。

この装置はマイコンからの信号を使って、モーターをON/OFFさせることができます。
マイコンの信号はプログラムで出力させることができます。
つまり、プログラムの出力をつかって、モーターをON/OFFさせることができるようになります。TJ3Bのセンサーモニターで9番、10番のところを押すと、LEDがついたり、消えたりしますが、これがモーターでできるようになります。

モータードライバー(片方向)

一番簡単な片方向のモータードライバーから紹介します。
amazonでは、「MOSFET」などと検索すると出てきます。
MOSFET(モスフェットと読みます)というのが素子の名前で、トランジスタの高性能版のようなものです。
マイコンの信号をうけて、スイッチをON/OFFできる機能があります。

モータードライバー(片方向)
つなぎ方は以下の通りです。
  1. VINとGNDと書かれたところにモーターを回すための電源をつなぎます。
    必ずVINにプラスをつなぎます。
  2. V+とV-のところにモーターをつなぎます。
    方向はどちらでも壊れたりはしませんからまずはためしに適当につないで大丈夫。
  3. TJ3BのセンサーポートCN9かCN10にケーブルをつなぎます。
  4. センサーポートからの3線コネクタをモータードライバーのGND/VCC/SIGという端子につなぎます。GNDの位置がTJ3BのGNDの端子と合う向きに挿しましょう。
  5. センサーモニターを立ち上げて、CN9かCN10のLEDのボタンをおせば、TJ3B本体のLEDが光ると同時にモーターが回ります。


CN9、CN10以外を使いたい場合は、セットアップでセンサーポートをOutput(L)に設定して、その設定でプログラムをTJ3Bにダウンロード(※これをしないと、センサモニターでみてOutputに変わりません)すれば、同じように使えるようになります。

値段も安く、電流も良く流れるのでお勧めです。電源は個別に用意してもいいですし、TJ3BのCN15が外部電源取得用の端子になっているのでそこから接続すればモーターと電源は共有できるので新しい電源は不要になります。

モータードライバー(両方向)

上記のMOSFET(モスフェット)ではモーターを片方向にしか回せません。ドリブラー専用であればいいですが、両方向に回したい場合は使えません。
その場合は両方向に回せるモータードライバーをつかいます。
こちらは別名をH(エイチ)ブリッジと呼びます。モーターを動かすための回路がHの形になっているからそう呼ばれます。


つなぎ方はモーターと電源はほとんど同じです。
信号側が少し複雑になります。
例では、秋月電子通商で購入できるTB6612使用 Dual DCモータードライブキットを使います。

センサーポートから3つの信号を入力としてつなぎます。図ではCN8、CN9、CN10を使う例で書いています。
5VとGNDをつなぐ必要があるので、CN10から5VとGNDを図のようにつなぎます。CN8とCN9の5VとGNDはTJ3B内でつながっているので、CN10からモータードライバーとつなげば、CN8、CN9からはつなげる必要はありません。

これらを同様にOutput(L)に設定し、それぞれの信号をHighにしたり、Lowにしたりすればその信号に応じてモーターが回ります。回す方向をINPUT1とINPUT2で決めて、PWMの信号を入れることで回ったり止まったりします。

このドライバーでダイセンのロボサイトモーターまでは回せることは確認しています。
(スペック的には多少電流が規格よりこえていそうなので、あくまで動いたという結果であり、問題が出るかどうかは自己責任でお願いします。)

モータードライバー(両方向、大電流)

TB6612は出力電流が1.2Aで少なめです。電流をより多く流したい場合は、TB66512ではスペック不足になります。温度上昇で保護機能が働いてモーターが止まったり、回路が壊れやすくなったりします。その場合はより高性能なモータードライバーのチップを搭載したものが必要です。
ロボカップでよく使われているのがこちらです。ここまでくると、自己責任で試してみてください。先輩たちのブログにも使用した情報が載っていたりします。使用方法も自分で調べてみてください。上記のTB6612が動かせる程度の知識があれば困らないはずです。

6CHモーターコントローラー(ダイセン電子製)

役割は同じですが、使いかたは全く別物です。
C-STYLEから、モーターそれぞれの出力を指定できるようになります。
TJ3Bとの接続も、I2Cのポートにつなぐだけです。あとは電源とモーターをつなげばうごきます。手軽に複数のモーターを動かすことができます。
かなり便利であることは間違いないですが、価格もそれなりなので、初心者に気軽にお勧めはしていません。
前進、後退、回転などの命令はなくなり、数字だけで指定していきますので、初心者が下手に手を出すと、結局プログラミングで進めなくなることもあります。
2輪より当然プログラムは難しくなると覚悟して購入しましょう。
ちなみに似たものに「4CHモーターコントローラー」というものがあり、こちらは大電流を流せますが、価格がさらに倍に上がります。まずは安い6CHのほうを買って試しておくことをお勧めします。

コメント

このブログの人気の投稿

センサー自作のための参考情報

TJ3BでHMC5883L(QMC5883L)を使う方法

TJ3Bにm5stck UnitV AI Cameraをつなぐ(暫定版)