![ロボット工作(0913)](https://www.kitashirakawa.jp/yama-blog/wp-content/uploads/2023/05/2021-05-19-23.22.08-2-e1685531534636.jpg)
福西です。
この日は2つの無線機(Twe-lite Dip)の入出力を使って、モーターを駆動させることに挑戦しました。親機の方をリモコンにして、子機をロボットカー(モーター)に載せて、遠隔で操作できるかどうかの実験です。
結果から言うと何とかかんとか、成功しました(ただし室内で、通信距離の性能は試していないです)。たどたどしい一歩でしたが、離れたところにあるロボットカーが、手元にあるリモコンの指示通りに動く光景からは、なんとも言えず嬉しさがこみあげてきました。特にR君は、2年ほど前から「無線化がしたい」と言っていたので、このたび2年越しの思いが実ったことになります。よかったですね。
これでひとたび「動く」ことが確かめられたので、次からは一つずつ問題点を改善していこう思います。
たとえば、一つには操作性の課題があります。今回はタクトスイッチも使っておらず、とりあえずブレッドボード上でGNDにジャンプワイヤーを抜き差しするという、非常に原始的な方法でしていました(^^;)。それなので、まずはタクトスイッチ(とできれば基板)に置き換えたいと思います。(その後、できれば十字キーのあるゲームパッドとの接続も考えています)。
もう一つは、パワーの問題です。今回は3Vの電源を使いましたが、ただつないだだけなので、モーターの出力がとても弱かったのが、今後の課題です。
あとは、教室から山のどのあたりまで通信ができるか、その距離も確認したいです。
さて、無線機の入力(それを受けての出力も)は負理論なので、何も考えずにモーターをつないで動かそうとすると、信号が何もない状態で「動きっぱなし」、信号がある状態で「停止」という、逆の動作をしてしまいます。なので、そこが今回の考えどころでした。
最初はFETで実現しようと思っていたのですが、PchとNchの組み合わせが中学生にはまだ難しかったので、結局モータードライバーICの力を借りて実現しました。
はじめは信号に対して、ぎこちない動きを見せていたモーターでしたが、電源まわりに原因があると気付き、470μF以上の大きなコンデンサを乗せると安定して動くようになりました。
ただ電源が3Vで、モータードライバーICがそのうち1~2V取ってしまっているので、結局1V程度で回っていることになります。そのため、思った以上にゆっくりした回転でした。なので、次回はそのあたりの改善も考えたいと思います。
・無線機(3.3V)とモーター用の電源(5V)を別に用意する
→電源を二つ用意することはかさばってできないので、あくまで一つの電源で二つの電圧(3.3Vと5V)を作り出すこと。
対策1(電源5Vの場合)
→モーターは電圧の問題だけでなく1A以上の大電流が必要なので、低い電源からの昇圧は考えられない。(昇圧回路の電流は小さくなる)
→よって、高い電源を用意し、無線機用には降圧した電源(3.3V)を供給すること。
→低ドロップの3端子レギュレータ―を取り付ける。
対策2(電源3.3Vの場合)
・あるいは、モータードライバーIC(トランジスタによる電圧降下が大きい)をやめて、FETで自作したモータードライバーに変える。
→正転、逆転、PWM(特にPWM)をかけたときに、発熱がないか確かめる。
→発熱があれば、それはきちんとした電圧で駆動していないことになる。
→FETを駆動する(なるべく反応の早い)回路を追加して実装する。
ちなみに無線機(Twe-lite Dip)には、
アナログ入力(AI1~AI4)→対応するアナログ出力は、PWM1~PWM4、
デジタル入力(DI1~DI4)→対応するデジタル出力は、DO1~DO4
の計8つの入出力ポートがあり、そのうち今回使ったのはデジタルの方です。一方、アナログの方も使えるようになると、DCモーターの回転速度(スピード)が制御できるようになります。(今回成功したのはON/OFFだけで、スピードの制御はなし)。またさらに、サーボモーターという別の種類のモーターの角度制御をできるようにもなります。なので、アナログ(PWM)もぜひ使えるようになりたいと思います。