ドンキで買った1980円の赤外線リモコン操作ヘリ エアキングZEROの通信を解析してみた。使用機材はAnalog DevicesのADALM2000。リモコンの赤外線発光部に印加される電圧をモニタリングすることで信号波形を計測した。
フレーム送出間隔
フレーム周期はフレーム長により変化する。例えば、ほぼアイドルの場合は183ms周期だが、フルスロットルフル前進フル左旋回だと190ms周期ほどになる。一方、フレーム間の無信号区間は基本的に長さ固定で約157ms。ただし、ローター停止時は無信号区間が108msに変化する。
フレームおよびビットの時間特性
フレームは33bitから成る。ビット数は固定。
各bitは長さ390ms程度の"0"bitと784ms程度の"1"bitから成る。それぞれ、26.3us周期のパルス15個および30個から成る。各bit間には320us程度の無信号区間がある。
各bitのduty比は19:18程度である。
フレームの構造
各データはリトルエンディアンで格納されていた。また、各レバーの可動域と信号の範囲は不一致であり、たとえばUp/Downはレバー可動域の半分程度しか使われておらず、レバーをほぼ中立としたあたりで既に0xFFとなっており、それよりレバーを動かしても信号は変化しなかった。どおりでやたら敏感なわけだ。残念設計である。
Position | Signal | Size(bit) | Detail |
0 | Channel | 2 | A: 2 B: 1 C:3 |
1 | |||
2 | Up/Down | 8 | Unsigned char. フル上昇時は0xFF。 |
3 | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 | Checksum | 1 | Up/Downのチェックサム。 |
11 | Left/Right | 6 | Signed 6bit. 左旋回が正。 +0, -0の区別有り。 |
12 | |||
13 | |||
14 | |||
15 | |||
16 | |||
17 | Checksum | 1 | Left/Rightのチェックサム。 |
18 | Trim L/R | 7 | Signed 7bit. 左トリムが正。 最大値は32. |
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | |||
25 | Checksum | 1 | トリムのチェックサム。 |
26 | Fwd/Back | 4 | Signed 4bit. 前進が正。最大は111。 |
27 | |||
28 | |||
29 | |||
30 | Checksum | 1 | Fwd/Backのチェックサム。 |
31 | Stop bit | 2 | Fixed to 11 |
32 |