FC2ブログ

名張市つつじが丘おもちゃ病院

三重県名張市つつじが丘でおもちゃの病院を開院しています。年中無休で修理は無料、部品代のみ実費です。おもちゃの修理依頼は tutuji@cb4.so-net.ne.jp へメールにてご連絡下さい。なお、宅配便での受け付けは行っておりません。このブログにはおもちゃ等の修理事例やツール製作などを載せていきます。故障診断や修理方法の改善等、ご意見をお寄せ下さい。

2.4GHzラジコン用ファームウェアの開発(nRF24L01+)

この記事はトランシーバモジュール 「nRF24L01+」 を使ったものだ。 「SE8R01」 を使ったものは こちら

【前振り】
2.4GHzのラジコンはRF部分とエンコーダ/デコーダ部分が一体化して1個のCOBで実装されているものが多い。こうなると故障部位のみを修理することができず、全体を換装することになってしまう。また、RFモジュールが別物になっていても、インタフェースが不明なので結局は全体を換装せざるを得ないことになる。更に問題なのは、コントローラ側と本体側の双方を同じタイプのトランシーバモジュールで、且つ同じプロトコルのファームウェアで換装しないと通信できないことだ。それでコストが多大になり、修理することができなかった。

しかし、最近は2.4GHzのトランシーバモジュールが安く出回るようになってきたので、比較的低コストで全体を換装できる可能性が出て来た。そこで、2.4GHzラジコン用のファームウェアの評価版ができたので、みんなでブラシアップして行きたいと思う。評価結果やコメント、改善提案などをいただきたい。

【構成】
2.4GHzトランシーバモジュールは応用事例が多く比較的廉価な nRF24L01+ (2017年9月時点で@100円くらい)を採用した。
2400MGHzラジコン用ファームウェア外観2

ピン接
2400MHzラジコン用ファームウェア(nRF24L01+)DIPタイプピン接

制御用のマイコンはポピュラーな 16F1503T-I/SL (2017年9月時点で@70円)を使用し、トランシーバモジュールとのインタフェース機能と、コントローラ側では操作スティックの読み取りとエンコード、本体側ではデコードとHブリッジへの信号出力を行う。デバグにはUARTを内蔵した 16F1705 を使っている。
2400MHzラジコン用ファームウェア外観説明

コントローラ側と本体側のハード構成は同じで、搭載するファームウェアをコントローラ用と本体用に分けている。


【ファームウェアの機能】
前進/ターボ前進/後進、左折/直進/右折のフルアクションコントロールを行う。

ポートの割り当てはソースコード中のコメントを参照。

データ形式

・8chデジタルプロポへの応用を意識して、データペイロードは9バイトとする
 現時点ではch1にドライブの制御値、ch2にステアリングの制御値を入れて動作確認している。

・バイト位置(先頭から):内容
 0:ペアリング番号(未実装のため常に0xa5)
 1:ch1制御値(ターボ前進=255、前進=192、停止=128、後進=64)
 2:ch2制御値(左折=192、中立=128、右折=64)
 3:ch3制御値(未実装のため常に0x5a)
 4:ch4制御値(未実装のため常に0x5a)
 5:ch5制御値(未実装のため常に0x5a)
 6:ch6制御値(未実装のため常に0x5a)
 7:ch7制御値(未実装のため常に0x5a)
 8:ch8制御値(未実装のため常に0x5a)
 無線通信としては9バイトのデータペイロードを伝送するだけなので、制御データの意味付け、使い方は個々の応用にて適宜決めればよい。

トランシーバモジュールの設定

・自動応答しない
 これは同一のキャリア周波数で 1:n の通信モデル(ブロードキャスト)を実現するため、個々の受信側が応答を返さない設定にしている。

・送受信アドレスは3バイト、「'R','C',0x24」に固定
 無闇に長くする必要性は無い。

・自動再送しない
 自動応答しない、と同じ理由による。

・チャネルは40(キャリア周波数は2464MHz)
 特に40にする意図はない。

・データレートは2Mbps
 実験の結果、2Mbpsが最も感度が良かったことによる。

・CRCは2バイト
 特に2バイトにする意図はない。

送受信タイミング

・コントローラ側から20ms周期でフレームを送信する
・本体側は1ms周期で受信ポーリングし、200msの無通信検出で全停止する

Hブリッジ出力

・モーターの正転と逆転の間にデッドタイム(1ms)を確保する
 今回のフルアクションリモコンとしての対策である。

パワーダウンモード

・コントローラ(送信機)に電源SWが無い場合への対応として、操作をしていないときはnRF24L01+をパワーダウンモードに設定して、PICはSleepする。このときの消費電流は22uAであった。

・コントローラが操作されるとPICがIOC割込みにてWakeUpし、nRF24L01+を送信モードに設定する。このときの消費電流の平均値は1mAであった。

【ダウンロード】
開発プロジェクトの一式は ここから ダウンロードできる。
プロジェクト名にTX/RXの区別とターゲットのデバイス名を織り込んでいる。

実際のおもちゃの修理では、色んな要件が被さってくると思うので、カスタマイズが必要であれば 「故障したICやマイコンの代替品をお作りするサービス」 で依頼をして欲しい。


【今後の展開】
・ペアリング機能が未実装だが、換装した複数のラジコンを使い回しするシーンが無さそうで、腰が上がらない。
関連記事
スポンサーサイト
  1. 2017/09/15(金) 11:46:54|
  2. 2.4GHzラジコン
  3. | コメント:0
<<2.4GHz対応RFチェッカー増殖中 | ホーム | マイクロ波磁界検出器の調査>>

コメント

コメントの投稿


管理者にだけ表示を許可する

プロフィール

大泉茂幸

Author:大泉茂幸
名張市つつじが丘おもちゃ病院
名張市つつじが丘南3番町129
tutuji@cb4.so-net.ne.jp
090-5534-6494
連絡は上記のメール、またはSMSでお願いします。

子どもの頃から趣味は電子工作一筋でやってきました。理科離れが進む中で科学技術に興味を持つ子どもが少しでも増えて行くことを願って、子ども達に電子工作の活動の場を提供しています。

1981年からおもちゃ病院の活動を始め、2014年に三重県名張市への移住を機に「つつじが丘おもちゃ病院」を開院しました。自分でおもちゃを設計し製作する【おもちゃ工房】と、マイコンを応用した電子工作を楽しむ【マイコンクラブ】も併設しています。新規参加メンバーを募集しています。

当ブログで公開している技術情報や成果物のご利用および再配布はフリーです。読者様の技術活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。なお、公開ファイルは最新版を載せているので、古い記事の内容から変わっている場合があります。

カテゴリ

おもちゃ修理技術 (87)
¦ ・電子オルゴール+音声 (32)
¦ ・音声再生・録音再生 (4)
¦ ・2.4GHzラジコン (29)
¦ ・レガシーラジコン (12)
¦ ・赤外線リモコン (4)
¦ ・RFID (3)
¦ ・タッチセンス (3)
ツール製作 (24)
¦ ・プログラマー (17)
¦ ・USB-シリアル変換 (3)
¦ ・その他のツール (4)
修理事例 (150)
¦ ・マイコン換装 (70)
¦ ・電子・電気修理 (58)
¦ ・メカ修理 (22)
製作記事 (4)
PIC開発 (4)
おもちゃ病院 (9)
ドクター研修会 (2)
未分類 (0)

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR