完成!スマホでリモートコントロールするバギーカー【電子工作始めますか?】
タミヤのバギー工作基本セットを使ってスマートフォンでリモートコントロールできるバギーカーが完成しました。自作する電子回路はFET1個と抵抗2個だけです。これだけの回路でモーターのオンとオフを制御できます。PWMを使えばモーター速度の調節もできます。
前回まででスマートフォンからサーボモーターとモーターのコントロールができるようになりました。
あとはRaspberry Pi Zeroとモーターコントロール回路を載せれば完成です。
ここで電源をどうするかという問題があります。ラズパイは5V、モーターは3Vの電源が必要です。
最初はモバイルバッテリーを使って5Vをから3Vを作る電圧コンバータ回路を載せるつもりでした。ですがモバイルバッテリーは大きすぎてバギーカーの大きさに合いません。
そこで電池2本の3Vからラズパイ用の5Vを作る方法を検討したのですが、試しに買った電圧コンバーターがちゃんと動きませんでした。安易な回路の電圧コンバータを使うとラズパイを壊す電圧を発生する可能性があります。
PiSugar2
いろいろな利用パターンを想定した結果、Raspberry Pi Zero用のバッテリーを使うことにしました。PiSugar2というRaspberry Pi Zeroとジャストサイズなバッテリーです。
充電ケーブルをつないでおけば無停電電源にもなります。充電ケーブルを抜いても数時間は使えそうです。Raspberry Pi用のバッテリーには充電ケーブルを抜き差しする時に電源の供給が一瞬停まってしまうものがあるそうです。それでは無停電電源として使えません。PiSugar2はそんな事は無く無停電電源として使えます。
詳しくは別記事にする予定です。
PiSugar2用ケース
PiSugar2にはケースの3Dモデルが公式にあります。3Dプリンタがあればプリントしておくと便利です。
PiSugar / PiSugar | GitHub
特に難しい形状ではありません。サポートありでスライスしてプリントすれば良いでしょう。
カメラケーブルを通す穴を追加で空けています。モータードライバ基板
モーターを駆動する回路を作ります。
回路は以前の記事と基本同じです。
関連記事:FETでモーターを動かし初心者の壁を突破 【電子工作始めますか?】
モーターにダイオードを付けます。
2SK4017ではFETのサイズ大きいし、Raspberry Piで使うにはオン抵抗も大きいのでIRLML6344TRに変えます。SOTパッケージでとても小さいので変換基板を使って万能基板に付けられるようにします。
こんなイメージの基板を作ります。
モーターにはコイルが入っています。コイルに電気を流したり停めたりすると思いがけない高い電圧が一瞬発生します。この電圧でFETを壊してしまうかもしれません。また、一瞬の高電圧はノイズの発生源になります。モータの配線の近くにある他の回路へ悪影響を及ぼします。
こんな事を防ぐためモーターの端子近くにダイオードを置いて、モーターコイルが発生させた高い電圧の電気をモータのコイルに戻して閉じ込めるようにします。できるだけモータの端子の近くに付けるとより効果的です。
ダイオードを付けなくてもそれなりに動きますが、今回のようにサーボモータも一緒に使っていると、サーボモータが何もしていないのにピクピク動くとか無理な角度に動こうとするとかしてしまうでしょう。本来サーボモータは5Vの信号で動かすもので、今回のようにRaspberry Piの3.3V信号で動かしているとノイズの影響をさらに受けやすいです。
バギーカーへ搭載
電池、Raspberry Piやらをバギーカーへ載せて配線します。カメラも載せたいです。
何度も試作検討した結果、こんな感じで載せました。
完成
車載カメラ映像はmjpg-streamerを使って送信しています。
jacksonliam / mjpg-streamer | GitHubmjpg-streamer is a command line application that copies JPEG frames from one or more input plugins to multiple output plugins.
MQTTアプリ
スマートフォンで使うMQTTアプリは以前と変えています。
Virtuino MQTT | Google Play
スライダーの操作途中の値を送信する事ができます。値の送信間隔が短く、リアルタイムな操縦に適しています。マルチタッチでスライダーを動かせるのでアクセルとステアリングを同時に操作できました。
でも、もっといいアプリがないか探しています。
スマートフォンでの遊び方
最近のAndroidなら画面を2つに分割して2つのアプリを同時に動かせます。iPhoneは知りません。
一つはブラウザでmjpg-streamerの映像を表示します。もう一つはVirtuino MQTTアプリを表示してリモートコントロールに使います。これで車載映像を見ながらリモートコントロールができます!
スマートフォンとRaspberry Piをテザリングで接続すれば屋外でも・・・
・・・
・・・
実際はタイムラグがあり、まっすぐ走らせることもままなりません。気づくと壁にぶつかっています(汗)。WiFi電波が弱いとステアリング操作が間に合わなくなります。
もしも屋外で遊ぶ場合は、MQTTアプリで定期的にメッセージを送り、Raspberry Pi側で定期メッセージを受け取れなかったらモーターを停めるなどのプログラムを追加しましょう。じゃないとどこまでも走っていきます。
コメント
コメントを投稿