HELI Q赤外線信号解析


HELI Q(ヘリQ)とは株式会社タカラトミーが発売した赤外線でコントロールを行う超小型ヘリです。
ここではこのHELI Qの制御に使われている赤外線信号について解析した結果を載せています。
一応断っておきますが、ここに書かれている内容は正式なものではないので一部に間違いや勘違いをしている部分があるかもしれないのでご注意ください。

PSPで解析し直してみたら波長に結構誤差があったので修正しました。(2008/3/25)

HELI Qの赤外線信号は基本的には一般のリモコンで使われている信号と同じ構造になっています。
(もっとも、一般のリモコンにもいろいろな仕様があるので全てこの通りと言うわけでもないですが。)

とりあえず最初に、どんな信号がコントローラーから送出されているかご覧ください。
これは「バンドB」でコントロールレバーが「ニュートラル」の場合に送出されている信号波形です。

このような信号が各バンド毎に異なった周期で繰り返し送出されています。
ちなみにコントローラーのボタンを何も押していないときでも信号は送出され続けています。
各波形の波長は上に書いた通りで赤い部分で赤外線を出している訳ですが、この時発光素子はずーっと光ってるわけではなくて細かく点滅を繰り返しています。
これを搬送波と呼ぶんですが、この搬送波周波数は40[KHz]前後みたいです。

HELI Qでは無発光時間の長さの違いによりビットの0と1を区別しています。
無発光時間の長い方と短い方のどちらをビット0としても良いんですが(開発側では明確に定義されているハズですが、こちらにはそれを知る手段が無いので)、取りあえずここでは短い方をビット0とします。

ビット0
ビット1

「ヘッダ」は信号波形の先頭位置を検出するためのもので、それ以上の意味はありません。

「ストップビット」はパケットデータの最後を表すためのものです。

「パケットデータ」は16ビットの長さがありますが、これはさらに複数のフィールドに分割されます。
上記の信号波形のパケットデータ部をビット列に変換したものを例にすると、

0 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0
左右旋回 ローター L R バンド ID?

以上の信号波形が各バンド固有の周期で繰り返し送出されています。
各バンドでの周期は大体以下の通り。

バンドA 125ms
バンドB 180ms
バンドC 290ms

この時間差により各バンドにて偶然同じタイミングで赤外線を送出したとしても操作不能となる事を避けているわけです。
ちなみにHELI Qは動作中に赤外線信号が途絶えた(受信に失敗した)としても直ぐにはローターを停止させないので、一つや二つの信号を受け損なったとしても直ぐに落ちるという事はありません。
Qステアの信号と比べると周期がかなり長いですが、ヘリQはそもそも細かい操作にはあまり意味がないのでこんな設定でも大丈夫なんでしょう。

…さて、これらはあくまでもコントローラー側の仕様を示しているだけなので、HELI Q本体側がこの信号に対してどう反応するかは別の話となります。
コントローラーが送出する信号の仕様を見た限りではかなり細かな制御ができるハズなんですが、実際はご存知の通り。
恐らくモーターのトルクが弱いためローターの回転数を上げるのに時間がかかりすぎてるのが全ての元凶なのでしょう。

HELI Qが飛行中にコントローラーからの赤外線信号が途絶えた場合、現在の動作を約2.5秒続けた後各ローターの回転を停止させます。
これは何らかの原因によって一時的に赤外線信号が遮断されても直ぐにローターが停止して墜落しないようにという配慮なのでしょうが、場合によってはこれが逆効果になる事もあります。
HELI Qが墜落した場合がそうで、赤外線信号が届かない場所に落ちる前にコントロールレバーをニュートラルに戻さないと、物陰に落ちた後もしばらくローターが回転し続けてしまうのでローターを破損する原因になります。
墜落しそうになったら落ちる前にさっさと諦めてレバーから手を離すようにしましょう。(ただし最後までコントローラーの向きを本体から外さないこと)