HiSKY社プロポ用RC受信機


はじめに

HiSKY社製の2.4GHz帯プロポH-6 (技適マーク付き)を持っているので,Nordic社製の無線ICのnRF24L01+を使ってこの送信機で使用可能な受信機を作りました. HiSKY純正の受信機HY-7000Sも比較的安く入手できますが,将来できるだけ小さく作った受信機をドローンなどに組み込むことを考慮して自作してみました.

設計・製作

マイコンにはATMega328Pを使いArduinoでファームウェアを開発することにしました. nRF24L01+用のArduinoのライブラリがいくつか存在するようですが,細かい設定をいじる必要があるので自前のライブラリを用意しました. HiSKY社の送信機のプロトコルについてはDeviationのソースコードが大変参考になりました. 最初にファームウェアを書いても動作せずかなり試行錯誤を繰り返しましたが,問題の原因は単純でパスコンを入れ忘れていたために電波を安定して受信できていませんでした. 電源をUSBシリアル変換アダプターから供給していて電流に余裕がなかったことも原因かもしれませんが,パスコンを入れると解決しました. なお使用した無線モジュールは技適を取得したものではありませんが,今回は受信のためだけに使用して電波は一切出さないので問題ありません.

H-6プロポはFHSS (Frequency Hopping Spread Spectrum)方式で2.4GHz帯の20個のチャンネルを切り替えて信号を送信します. 説明書に記載された仕様によれば切り替える速度は"240 jumps/sec"とのことですが,実際に測定したところ112 jumps/sec程度でした. Deviationのソースコードでも9ms毎にチャンネルを切り替えているので(111 jumps/secに相当)説明書の方が間違っているようにみえます. チャンネルの切り替え速度が111~112 jumps/secだとするとその切り替え周期は約9msになり,20チャンネルを一回りするのに9*20=180 msかかります. つまり,2.4GHz帯の電波を出す別の送信機が近くにあり,電波が干渉してあるチャンネルの信号の受信に失敗して次の周期の信号を待ち続けた場合180ms以上の遅延が生じることになり,これはドローン等の操縦では致命的な問題になります. そのためこのファームウェアではタイムアウト処理を入れて,来るはずの電波が一定時間以上受信できなければ次のチャンネルに移るようにしていますが,この処理でも完璧ではなく,別の送信機を近くに置くと遅延が見られることがあったのでまだ改善の余地がありそうです.

回路図
完成した基板(表)
完成した基板(裏)

ファームウェア


[戻る]
2017-06-11 ページ作成
(2016-11 製作)
T. Nakagawa