インドアプレーン制御システム


概要

当学当学科において、毎年夏のオープンキャンパスで高校生対象の ものづくりコンテスト を実施してます。 内容は赤外線リモコン通信によるインドアプレーンを作り、その航空時間を 競うというものです (ちなみに審査員点もあって制御できてない 旋回して飛ぶだけの飛行機はあまり加点されない傾向です)。

「ものづくり」コンテストですからモノを作らないといけません。 作る物は電気回路と飛行機です。 このうち電気回路 (赤外線リモコン送信・受信部) ですが、 町野猫又氏が 設計したらしいというものが使われてきました。 私の赴任前の話です。

この回路ですがマイコンに一個 200 円以上する PIC16F819 が、 それに載せるファームウェアを多分HI-TECH C という有償コンパイラで作成されており、 今時なかなか気楽に作成・改造できないように感じました。 そこでマイコンを一個 100 円以下の PIC16F1503 にして、 ファームウェアも XC8 Free エディションでコンパイルできるよう書き換えてみました。

引き継いだ段階では HI-TECH C 用のソースと、 それをコンパイルして生成したとされる HEX ファイルがあったのですが、 HEX ファイルを PIC に焼きこんでオシロで観察すると、 明らかにソースに記述されたものと異なる動きをします。 多分二つのファイルのバージョンが違うのだろうということで、 原則ソースファイルは参考にせず、オシロの結果が再現されるように一から作りました。

なお PIC ファームウェア (ソースファイル含) ですが、ものづくりコンテストにエントリした方のみ提供ということにしています。 なおエントリした団体には、ファーム書き込み済の PIC やモータ、プロペラなども支給されるかもしれません。 詳しくはコンテスト窓口にお問合せください。

回路

1. しくみ

回路は送信部 (コントローラ) と受信部 (飛行機) の二つの回路で構成されています。 送信部でジョイスティックの動きをマイコンが捉えて赤外線信号に変えて発信し、 受信部でそれを赤外線受光器で受けてマイコンが意味を解析しラダーやプロペラを 動かすというしくみです。 なお、送信側は 006P という 9V の電池が使用されることを想定し、 レギュレータで 5V に変換しています。 一方受信側はリチウムポリマ電池 (3.7V) を使うことを想定しそのまま電源を供給してます。

1. 送信側回路

送信側回路は次の通りです。 原則オリジナルの回路を踏襲していますが、 赤外線 LED 駆動用 FET だけは工作しやすい TO92 タイプのトランジスタに変更しました。

2. 受信側回路

受信側回路は次の通りです。 こちらもオリジナルの回路を原則的に踏襲していますが、 受信ステータス表示用の LED を追加しました。 単に表示用なので無くてもいいです。

ラダーコイルはジョイスティックを右に倒すと RC2 側が High になるので、 ラダーが右に動くようセッティングしてください。 ラダーコイルは IO ピンでダイレクトに動く設計です。 PIC16F1503 は IO ピンに流せる最大電流は 50mA です (データシート 28.1 節)。 電圧 3.7V とするとコイルの抵抗は 74Ω以上必要だという計算になります。 余裕をもって 100Ω はあるよう巻くといいでしょう (それ以上流したい場合は 適当に H ブリッジを組んでください)。

青く囲った所は赤外線受光部分です。 この部分はできるだけコンパクトにまとめてノイズが乗りにくいようにすると同時に 飛行機底面等信号が受信しやすい位置に設置してください。 下の写真は以前使っていた素子 (PL-IRM2121-A538) のものですので、若干今のものと違いますが雰囲気は分かるでしょう。

信号フォーマット

赤外線の信号フォーマットはプログラムがしやすい範囲でオリジナルに似せ互換性を 持たせました。 そのためオリジナルの送信機・受信機と入れ替えてもきちんと動きます。

信号は上記のように 7ms の start と 1.25ms の end の間に A, B, C, D 四つの幅を持つ信号が入っています。 この時間 T1〜T4 (0.26〜2.60ms) によって四つの数値を伝える書式です。 ただし今回はスロットル (T1) とラダー (T2) 二つの情報しか伝える必要はないため T3, T4 は 0.53ms 固定にしています。 ファームウェアをちょろっといじればこれらも活用できるようになります。

送信側ではこのフォーマットの信号を約 100ms に一回発しています。 この信号は発信部の RA0 から発信し (38kHz で変調をかけてます)、 受信側の RA3 で受けてます。 これらの信号をオシロスコープで観察すればどこまで正しく動いているか把握できるでしょう。

動作モードと LED

受信側のファームでは安全のため新たに動作モードという概念を追加しました。

電源投入直後 (電池を回路に接続した直後) 、 一旦「待機モード」に入ります。 待機モードではモータ (プロペラ) が回りません。 ラダーも動きません。 「待機モード」中にリモコンのスロットル弱指令を受けると「通常モード」 に遷移します。 「通常モード」ではリモコンでモータやラダーが動かせるので、 飛行機を操作することができます。 ここで万一操縦をミスって、赤外線が届く範囲を超えて飛び立ってしまうと 操縦不能になってしまいます。 そのための安全策として 10 秒間リモコンを受信しなかった場合、 「待機モード」に遷移しモータ (プロペラ) を止めるようにしています。

またリモコンの受信状況を示す LED も追加しました。 リモコン信号が受信されてない時は一回ずつ、受信している場合は二回ずつ点滅します。 動作モードではなく、受信状況を示していることに注意してください。

参加者向け情報

ものづくりコンテストに参加される高校生向けの情報を紹介します。


[戻る]