FC2ブログ

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

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

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

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


【当初のブログアップからの追加情報】
おもちゃ病院 新津(新潟)」様 が本ファームウェアを利用して、実際のラジコン修理で送受信機の換装を行った。換装作業の状況と動作確認の結果は、彼の ブログ記事 で詳しくレポートされている。限られたスペースに格納するため表面実装で細かい工作をされていて、いつも感心させられる。結果は 「30m前後まで完璧に動作した」 とのことだ。

2.4GHzラジコンの修理については今年(2017年)春から、RFチェッカーの検討と合わせて、彼と2人3脚で進めてきたプロジェクトだ。それが良好な結果を以って完了し、おもちゃ病院業界での2.4GHzラジコンの修理の道筋をつけることができた。

当初はトランシーバの種類(SE8R01とnRF24L01+)で使い方が異なっていたため、別のファームウェアとして開発していたが、現在はそれらを統合して、SE8R01用のファームウェアで両方のトランシーバを区別なく使えるように改善している。

統合版のファームウェア を使って、フルアクション制御とプロポ制御が実演できる デモボード を作った。

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

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

【構成】
2.4GHzトランシーバモジュールは応用事例が多く比較的廉価な SE8R01 (2017年9月時点で@40円くらい)を採用した。
こんなに廉価に入手出来るので、レガシーバンドのラジコンの場合でもディスクリート部品で作るよりこれで換装した方が安くつく。

DIPタイプ(表)
2400MGHzラジコン用ファームウェア(SE8R01)外観2

DIPタイプ(裏)
2400MGHzラジコン用ファームウェア(SE8R01)外観3

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

SMDタイプ(表)
2400MGHzラジコン用ファームウェア(SE8R01)外観4

SMDタイプ(裏)
2400MGHzラジコン用ファームウェア(SE8R01)外観5

SMDタイプ(ピン接)
2400MGHzラジコン用ファームウェア(SE8R01)SMDタイプピン接

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

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


【ファームウェアの機能】
前進/ターボ前進/後進、左折/直進/右折のフルアクションコントロール、または8chデジタルプロポーショナルコントロールを行う。どちらを実行するかは、送信側のSW操作によって決定し、受信側へ伝えられる。

ノーコン状態(0.2秒以上の無受信)になったら、フルアクションでは全停止、プロポーショナルではサーボを各ch毎に定義された停止位置に戻させる。

フルアクションでは、ボタン操作が無くなったときはSTOPコードを10回送信してSleepする。ボタン操作でWakeUpする。

フレームの送信時間は約110us、フレーム間隔は約17ms。

サーボ信号のパルス巾は1~255[10us]の範囲で設定可能であり、ボリューム可変範囲の設定も可能である。

サーボ信号の周期は20ms。

フルアクションでは、モーターの正転と逆転の間にデッドタイム(1ms)を確保する

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

データ形式

・8chデジタルプロポに対応できるように、データペイロードは9バイトにしている。

・操作データのフォーマット
//バイト位置:内容
//0:制御タイプ(b7-4:0xa=フルアクション・0xc=プロポ、b3-0:ch番号)
//1:ch1制御値(フルアクション制御:b0=後進・b1=前進・b2=右折・b3=左折・b4=ターボ、プロポ制御:サーボパルス巾[10us])
//2:ch2制御値(フルアクション制御:0を設定、プロポ制御:サーボパルス巾[10us])
//3:ch3制御値(フルアクション制御:0を設定、プロポ制御:サーボパルス巾[10us])
//4:ch4制御値(フルアクション制御:0を設定、プロポ制御:サーボパルス巾[10us])
//5:ch5制御値(フルアクション制御:0を設定、プロポ制御:サーボパルス巾[10us])
//6:ch6制御値(フルアクション制御:0を設定、プロポ制御:サーボパルス巾[10us])
//7:ch7制御値(フルアクション制御:0を設定、プロポ制御:サーボパルス巾[10us])
//8:ch8制御値(フルアクション制御:0を設定、プロポ制御:サーボパルス巾[10us])

・無線通信としては9バイトのデータペイロードを伝送するだけなので、制御データの意味付け、使い方は個々の応用にて適宜決めればよい。

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

・キャリブレーションとRF設定

 nRF24L01+ではこのような処理は要らなかったが、SE8R01ではこれを実行しないと動かない。データシートにはこの辺りの記述が見当たらず、先達の事例に倣って処理を行ったところ動き出した。複数の事例で内容が微妙に異なる部分があり、最終的には試行錯誤で完成に至った。確たる情報をお持ちの方はコメントをいただきたい。

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

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

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

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

・データレートは2Mbps
 実験の結果、飛距離はボーレートにあまり左右されなかったので、2Mbpsとした。

・CRCは2バイト
 特に2バイトにする意図はない。トランシーバにてCRCチェックが為されるので、ファームウェア側ではデータの正常性検証は行わない。

・RF送信レベルは+5dBm
 信号到達距離10mを確保するため、最大レベルを設定する。

パワーダウンモード

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

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

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

実際のおもちゃの修理では、色んな要件が被さってくると思うので、カスタマイズが必要であれば 「故障したICやマイコンの代替品をお作りするサービス」 で依頼をして欲しい。
関連記事
スポンサーサイト
  1. 2017/10/12(木) 17:57:24|
  2. 2.4GHzラジコン
  3. | コメント:0
<<27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)表示部の省電力化(第2弾) | ホーム | 27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)表示部の省電力化>>

コメント

コメントの投稿


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

プロフィール

大泉茂幸

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

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

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

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

カテゴリ

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

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR