2012年1月22日日曜日

NanoBoardAGで2つのモータを動かす

前回NanoBoardAGWithMotorsHelloBoardなのぼ〜どをつないでモータが動くかどうか実験をしましたが、今回は、2つのモータを同時に動かすことが出来るかという実験をしてみました。

この実験には、以前に作成したHelloBoard用モータドライバモジュールを使おうと思ったのですが、これには設計上の問題があることがわかっています。このモジュールでモータを動かすことはできるのですが、センサボードに過度な負担をかけてしまうのです。また、PWMによるパワーコントロールにも対応していませんでした。今回の実験では、このモータドライバモジュールを設計し直すことを目標として、動作確認をすることにしました。

はじめに、HelloBoardで実験をしました。モータAをTA7291SG(モータA用)の3番と7番ピンに接続します。HelloBoardの「D3.PWM」をTA7291SG(A)の8番ピン(制御電源=Vref)につなぎ、「D2」と「D7」を9番と1番ピンにつなぎました。次に、モータBをTA7291SG(モータB用)の3番と7番ピンに接続します。HelloBoardの「D9.PWM」をTA7291SG(B)の8番ピン(制御電源=Vref)につなぎ、「D8」と「D12」を9番と1番ピンにつなぎました。そして、両方のTA7291SGの2番ピン(ロジック電源=Vcc)を「5V」に接続し、そこからさらに抵抗を介して6番ピン(出力電源=Vs)に接続しました。最後に、両方の5番ピンを「GND」に接続して終了です。

この状態で、両方のモータを動かしてみましたが、問題なく動いてくれました。スピードコントロールも問題ありませんし、正逆回転も正常に動きました。片方ずつ動かしてみたり、急に正逆を変えてみたりといろいろやってみた結果、2番と6番の間に入れる抵抗は、4.7Ωでは抵抗が熱くなりすぎることがわかりました。そこで、1Ωや2.2Ωで試してみたのですが、2.2Ωでも過酷な使い方をすると少し熱くなることがわかったので、1Ωでやることにしました。
#センサボードは、1Ωでも落ちることはありませんでした。

今度は、この環境でなのぼ〜どでも動くか実験をしました。モータとの接続はそのままにして、なのぼ〜どの「9」をTA7291SG(A)の8番ピン(制御電源=Vref)につなぎ、「7」と「8」を9番と1番ピンにつなぎました。なのぼ〜どの「10」をTA7291SG(B)の8番ピン(制御電源=Vref)につなぎ、「5」と「6」を9番と1番ピンにつなぎました。そして、両方の TA7291SGの2番ピン(ロジック電源=Vcc)を「5V」に接続し、そこからさらに1Ωの抵抗を介して6番ピン(出力電源=Vs)に接続しました。最後に、両方の5番ピンを「GND」に接続して終了…と言いたいところですが、なぜか「5V」のとなりの「GND」に接続しないと(他の「GND」に接続したのでは)動きませんでした。

今回の実験で、いずれも快適に動くことがわかりました。ロジック電源と出力電源を1Ωの抵抗でつなげば実用的なモジュールが作れることもわかりました。しかし、HelloBoardとなのぼ〜どは、ピン互換性がないため同じモジュールを載せて使うことができません。それぞれ専用のモジュールを作るか、何かうまい方法があるか考えて設計してみようと思います。

0 件のコメント: