よっしゃ、WiFiラジコン作ったろ!

Lチカできたら、モーター回すっしょ

モーターの回転音ってテンション上がりますよね!


マブチモーター回します。

モーターはどうやって回しましょう

SDカードの出力にモーターくっつけても回りません。電流が足りません。ノイズとかなんとかかんとかでいろいろまずいはず(詳しくは知らん)。で、トランジスタとかダイオードとかくっつけると回せるようになりますが、世の中は便利なもので、IC1つにいろいろまとめてくれたモータドライバというものがあります。ので、これを使います。

モータドライバへ2ビット入力してやれば、前後進と停止、ブレーキの制御が出来ます。Flashairからは5ピンの出力があり、モータを2個制御できるので、右左に割り当ててキャタピラ回せばいい感じになるだろ、と。
イメージはこう(給電部分は省略)。
img2.png

手元に昔買ったTA7291Pが2個あったのでこれを使ってこんな回路を組みます。
2MOTOR.png
手元にいい感じの抵抗がなかったので、Rになってるのは全部47k、R'だけ100kを使用、トランジスタは1815 (*1)
ほんとはほかにも電流制限抵抗とかヒューズとか入れるべきなんだろうけど、よくわからん。

で、ブレッドボードで作って、タミヤのギアボックス繋ぐとこうなる。
2MOTOR.jpg
。。。ぐちゃぁ。

コントロールページ作りましょ

関数はこんな感じ。
//■■モータ1制御■■
function fwd1(){
stat = stat | 0x01;
stat = stat & 0x1d;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}
function bwd1(){
stat = stat | 0x02;
stat = stat & 0x1e;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}
function stop1(){
stat = stat | 0x03;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}
function brake1(){
stat = stat & 0x1c;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}

//■■モータ2制御■■
function fwd2(){
stat = stat | 0x04;
stat = stat & 0x17;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}
function bwd2(){
stat = stat | 0x08;
stat = stat & 0x1b;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}
function stop2(){
stat = stat | 0x0c;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}
function brake2(){
stat = stat & 0x13;
url = url_comm + ("0"+stat.toString(16)).slice(-2);
flashair_get(url);
}
これをhtmlにおいたボタンから呼べば終わり。


ほんとならタミヤのクローラキットとかに積むんだけど…

先が見えたら満足してしまったのでここまで。
まぁ、ぶっちゃけラジコン欲しいだけなら一昔前に流行ったエアロアールシー (*2)とかから基盤引っぺがすほうがお手軽だと思うけど。

  • 最終更新:2016-01-13 23:54:25

このWIKIを編集するにはパスワード入力が必要です

認証パスワード