2015年5月5日火曜日

BeagleBone Black モーター制御

初モーターです。


使用した部品

・タミヤ:ツインモーターギアボックス
・タミヤ:ユニバーサルプレート(2枚セット)
 ⇒ 3階建てにしたので、同じものをもう1つ購入した
・タミヤ:トラック&ホイールセット
・モータードライバ:TA7291P x 2
・エネループ単三4本(モーター用、VS接続)
・電解コンデンサ:10uF(容量はTA7291Pマニュアル通り)
・モーターの両端に0.1uFを追加したほうがいい

回路図

・モーター1個につき、GPIOを2つ、PWMを1つ使用
 ⇒ GPIO(IN)にPWMを使う方法もあるが、PWMの数に制限があるのでVrefにPWMを使う
・図はモーター1個分、同じものをもう1個分必要
・モーター電源は2つのモーター共通でエネループ4本(約4.8V)を使用
・図のUSBシリアル変換はモーターとは関係ない



mjpg-streamer


・BBBの制御は mjpg-streamer を改造して使う
・mjpg-streamer は下記の r182 が最新、だと思う
 ⇒ http://sourceforge.net/projects/mjpg-streamer/

・www 下の stream_simple.html を HTML5化、jQueryMobile を使って改造して使用する
・mjpg-streamer には UI からコマンドを送る仕組みが用意されてるのでそれを使う
・jQueryMobile で使用する部品は、ボタンとチルトパン用のスライダー
・スマホ、タブレットでは onmousedown、onmouseup の代わりに、ontouchstart、ontouchend を使う
・具体的には、output_httpプラグインにモーター、サーボの制御を書く
・ボタンやスライダーを操作したとき、マルチスレッドでコマンドがたくさん送られてくるので排他制御を入れること
 ⇒ スライダーをドラッグするとたくさんのコマンドが送られてきてスムーズに動かない(小刻みに右左に動く)
 ⇒ 排他制御中は、現在の値と設定中の角度へのコマンドは無視するようにすると落ち着いた
・カメラは手持ちの Webcam Pro 9000 をばらして、カメラマウンタにゴムで仮止め
 ⇒ ほんとはカメラモジュールを使いたかったけど、高いし、配線が多くなる。。
 ⇒ RaspberryPi ならカメラモジュールあるけど、PWMを4つ使う(モーターに2つ、サーボに2つ)のに、1ポートしかないのが致命的、SoftPWMもあるらしいけど、10us単位の精度は出ないはず
 ⇒ USB接続のカメラモジュールで安くてHDなものがあれば。。


感想

・モーターは特に苦労もなく、簡単に回る回る
・キャタピラが1番苦労した、、絨毯の上を走行してると、曲がろうとするとすぐにキャタピラが外れる
 ⇒ フローリングしかまともに走らない
・ユニバーサルプレートの下段に、ツインギアボックスとエネループ4本の電池ボックスを載せた
 ⇒ 電池ボックスの穴とプレートの穴が微妙に合わず、プレートの穴をヤスリで削って調整
・モータードライバのブレッドボードが場所を取るので基板化が必要
・残りはUSBハブ(セルフパワー)の電源をモバイル電源から取るようにすれば一通り完成
・その後は、測距、加速度、ジャイロなどのセンサーを載せたり、OpenCVで自律走行させたりの予定



参考にしたサイト

http://nonbirikousaku.blog.fc2.com/blog-category-3.html

0 件のコメント:

コメントを投稿