ワンチップマイクロコンピュータを使った実験装置
第4章 マイクロコンピュータを使った実験装置例
4.7 魚ロボット用コントローラ 〜R/C送信機を操作する〜(PIC)
はじめに
R/Cサーボモータを用いる魚ロボットでは,マイクロコンピュータを用いることでその運動制御が簡単になります。4.3節では,R/C受信機から発生する信号波形を測定し,マイクロコンピュータ(PIC 18F84/P20)によってパルスを発生させて,サーボモータの運動制御を行いました。ここでは,R/C送信機(フタバ製,T4VF,SKYSPORT 4)を操作するためのPIC 18F84/P20を搭載した魚ロボット用コントローラを紹介します。
信号波形の測定
ここで使用するR/C送信機(フタバ製,T4VF,SKYSPORT 4)は,専用ケーブル(トレーナーコード)を使うことで,2台の送信機を接続できます。一方の送信機で操縦し,もう一方で送信する機能(トレーナー機能)があります。この機能を利用し,操縦側の送信機をマイクロコンピュータ搭載のコントローラに置き換えることとします。
トレーナーコードは複数の配線で構成されています。今回のマイクロコンピュータ制御で使用するのは,@Ground(アース,網線),ADC12V(直流電源,紫色),BSignal(信号,青色)の3本だけです。
最初に,2台の送信機を接続した状態で,トレーナーコード中のBSignal(信号,青色)だけを切断し,操縦側送信機の@Ground(アース,網線)とBSignal(信号,青色)の電圧変化を測定しました。
右図の(a)は,操縦側送信機のch1〜ch4のスティックを全て中立な状態(ニュートラル)とした場合の測定結果です。これより,信号は6つのTTLレベル(約5V)のパルスで構成されていることがわかります。
(b)は操縦側送信機のch1のスティックだけを左右に動かした場合,(c)はch2のスティックだけを上下に動かした場合,(d)はch1とch2の両方のスティックを上下左右に動かした場合の測定結果です。これより,最初のパルスの幅(時間)がch1に対する信号(0.7〜1.6 ms,中立時は1.1 ms),2つ目のパルスの幅(時間)がch2に対する信号(0.7〜1.6 ms,中立時は1.1 ms)であることがわかりました。そして,信号がOFF(0 V)の時間は全て0.4 ms,全体の周期は常に18 msであることがわかりました。このようなパルスをマイクロコンピュータで発生させることで,R/C送信機を制御できます。
|

(a) 中立状態の信号

(b) ch1を変化させた場合

(c) ch2を変化させた場合

(c) ch1とch2の両方を変化させた場合
R/C送信機の制御パルス
(画像をクリックすると大きい画像が表示されます)
|
魚ロボット用コントローラの概要
以上のようなパルスを発生するマイクロコンピュータ搭載の魚ロボット用コントローラを試作しました(下写真)。マイクロコンピュータにはPIC 18F84/P20を使用し,コントローラには7つのタクトスイッチ(押しボタンスイッチ,RB0〜RB6ピンに接続),三端子レギュレータ78L05,20MHzセラロック,0.1μFコンデンサが配置されています。PIC 18F84/P20のRB7ピンはトレーナーケーブルのBSignal(信号,青色)に接続されています。 右写真はR/C送信機の外観です。R/C送信機のトレーナー機能用タクトスイッチを2極トグルスイッチに変更しています(送信機の向かって左上)。これにより,タクトスイッチの操作によって,簡単に魚ロボットを無線操縦することができるようになりました。

魚ロボット用コントローラ
(画像をクリックすると大きい画像が表示されます)
サンプルプログラム
以下に2つのサンプルプログラムを紹介します。サンプルプログラム1は,本コントローラで1つのR/Cサーボモータ(ch1)を操作するためのプログラムです(模型魚ロボットPPF-08i用)。タクトスイッチを押すことで,前進,右旋回,左旋回そして運動モードの変更を行うことができます。サンプルプログラム2は,2つのサーボモータ(ch1,ch2)を1/4周期(90deg)の位相遅れを持って往復運動させるためプログラムです(実験用魚ロボットPPF-300用)。それほど複雑な運動をさせることはできませんが,手軽に魚ロボットを遊泳させることができます。
サンプルプログラム1:rctr01.bas
サンプルプログラム2:rctr300a.bas

双葉電子工業(ホビー用ラジオコントロール装置のページ)
魚ロボット・ホームページ
|