FC2ブログ

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

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

2.4GHz8chリモコンモジュール「JDY-40」の評価

【前振り】
ラジコンカーの修理でCOB故障の場合に、 SE8R01+16F1503で換装するためのファームウェア を公開している。

最近、JDY-40と言う8chリモコンモジュールが出回っていて、価格は約83円(2019年AliExpress)で、SE8R01(約35円、2019年AliExpress)+16F1503(85円、2019年秋月)よりも安いのでコストメリットがある。

それで、JDY-40だけでラジコンカーの換装が可能なのか評価してみた。

なお、JDY-40はキーオン/キーオフの制御しかできないので、フルアクション方式での応用に絞って評価する。


【評価観点】
JDY-40はラジコンカーの制御を意図した製品では無いので、ラジコンカーに特有の以下の機能が実現できるかどうか、を評価する。

(1)ノーコン状態の検知と自動停止

電波伝搬の阻害やコントローラ側の電源ダウンなどでノーコン状態になったとき、速やかに車体を停止させる機能がラジコンカーでは必要不可欠だ。今まで数多くのラジコンカーを診てきたが、このフェールセーフ機能が無いものは見たことが無い。

(2)正逆転の排他制御機能

前後進駆動とステアリング制御で、正転と逆転の信号が同時に出ないように排他制御の機能が必要だ。トイラジでは専用のモータードライバICを使わないで、MOSFETやTrを組み合わせただけのベアなHブリッジを使っている場合が多い。最新の2.4GHzラジコンの「CCP社Wドライブ/Gドライブシリーズもそうである。その場合に正転と逆転の信号が同時に出るとHブリッジに貫通電流が流れて素子が破壊する。

JDY-40では、8chのキーオン/キーオフの制御はそれぞれ独立しているので、前進に割当てたchと後進に割当てたchが同時にオンすることを防ぐことはできない。従って、前進と後進の操作がタクトSWで同時に押せる構造のコントローラでは、同時に押すとその時点でHブリッジの素子が破壊する。ステアリング操作についても同じことが言える。そのため、そのような操作構造のコントローラに対しては、元々JDY-40を適用する考えが成り立たない。

そうすると、評価する意味が無くなってしまうので、ここでは、シーソータイプの操作構造のコントローラを想定して、機械的に前後進、或いは右左折の操作が同時には起きないことを前提として評価を行うこととする。


【評価回路】
JDY-40の簡易マニュアルに掲載されている回路で行った。
2.4GHz8点リモコンモジュール「JDY-40」の評価回路図
簡易マニュアルでの説明書きには「7 IO」と記載されているが、「8 IO」の誤りである。ここ以外にも、簡易マニュアルには誤記が多い。

送信側は CLSS=C1、受信側は CLSS=C4 を設定している。


【評価結果】
先ずは実験動画をご覧いただきたい。


(1)ノーコン状態の検知と自動停止

結果はNG。

・送信側はキーオンまたはキーオフされた瞬間に一度だけ指令を送信し、それ以外はSleepしている。受信側は新たな指令を受信するまで前回の指令を保持している。

・電波伝搬の阻害やコントローラ側の電源ダウンなどでキーオフの指令が届かなかった場合は、車体は走り続けてしまう。

(2)正逆転の排他制御機能

結果はNG。

・上記(1)と同じ理屈で、正転信号のchがオフされないまま、逆転信号のchがオン状態になってしまう。JDY-40がラジコンカーの制御を意図した製品ではないので、当然の結果ではある。

・トイラジではベアなHブリッジを採用しているものが殆どなので、このような状況になることは極めて危険である。

(3)総合評価

ラジコンカーで必須な機能がJDY-40だけでは実現できないことが明らかになった。そのため、外付けの制御回路で機能を補う必要がある。

・ノーコン状態を検知させるには、一定時間間隔で指令を送受信させる仕組みにする必要があり、送信側と受信側の両方にロジック回路の追加、若しくは、マイコンでの制御が必要になる。

・正逆転の排他制御機能は受信側にロジック回路の追加が必要になる。ベアなHブリッジをブレーキング機能が付いたモータードライバICに交換するにしてもデッドバンド制御は必要になる。

・不足する機能を外付け回路で補うとJDY-40の廉価性と実装の容易性が失われてしまうので、現状では、ラジコンカーの修理にJDY-40を採用するメリットは無い。

・外付けロジック回路を装備せずにJDY-40だけで、ベアなHブリッジを実装したラジコンカーを換装することは極めて危険であり、やってはならない。
スポンサーサイト



  1. 2019/08/25(日) 12:21:53|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェアの改善(電源瞬低への対応)の続編

【前振り】
先般、 「2.4GHzラジコン用ファームウェアの改善(電源瞬低への対応)」 のファームウェアを公開したばかりだが、スッキリしないところがあった。

コントローラからの指令が一定時間(標準値200ms)途切れたら、車体を停止させる。このフェールセーフ機能は以前から実装していた。通信阻害が続く場合は電源電圧の瞬低によるトランシーバのダウンが想定されるので、フェールセーフ機能が働いたときはトランシーバの初期設定を再度行うようにしたのが先般の改善だ。

車体を停止させるには、フルアクション制御とESC制御ではモータードライバへの出力をオフすればよいのだが、サーボ制御の場合は予め設定されたサーボパルス巾(ニュートラル位置)で出力を継続する必要がある。

サーボパルスの標準仕様は周期20ms、パルス巾は1~2msである。16F1503や16F18325等の10ビットPWMではPWM周期を20msにすると1ステップは20usになり、サーボパルスの可変巾1msに対して2%の分解能しか得られない。もう少し分解能を稼ぎたいので、少し工夫している。

PWM周期をサーボパルスの最大巾の2msに近付けて、PWMのn周期がサーボパルス周期の20msになるようにする。つまり、PWMのn周期中のうち1周期のみにサーボパルスを出力することで、PWMのステップ巾を小さくする考えだ。

TMR2のクロックソースとプリスケーラの選択条件の中では、Fosc=16MHz、プリスケ=1/64、PR=249 の設定でPWM周期は4msになり、n=5でサーボパルス周期を20msにできる。1ステップは4usでサーボパルスの可変巾1msに対して0.4%の分解能に改善できる。なお、PWM周期を2msにしないのは、サーボパルス巾の最大巾を2.5msまで拡張可能とするためだ。

2.4GHzラジコン用ファームウェアの改善(電源瞬低への対応)の続編

PWM出力を1/nに間引く操作はソフト実装していて、メインループの中で行っている。この処理はPWM周期の4ms以内に動作する必要がある。そこに、トランシーバの初期設定のような時間が掛かる処理が入ると、サーボパルスが規定通りに出せなくなってしまうのである。これが、「スッキリしないところ」なのだ。

改善策は、PWM出力を1/nに間引く操作を割り込み処理で行うことだ。そうすれば、メインループでの処理状況に影響を受けずに正しくサーボパルスを出力できる。

16ビットPWMを持ったデバイス、例えば16F157x系を使えば解決できる問題だが、デバイスが割高なので今はソフトの工夫で対処する。


【設計】
上記のとおり、PWMデューティの設定をPWM周期(TMR2)割り込み処理で実行するように変更した。


【ダウンロード】
ファームウェアの設計資料と開発プロジェクトは下記からダウンロードできる。

制御タイプが動的に変更可能な「デモ」仕様は ここから ダウンロードできる。

ホルダ名とプロジェクト名に、トランシーバのデバイス名・送信側/受信側の別・PICのデバイス名を織り込んでいる。「MON」が付いたプロジェクトは、開発時に使う受信モニタで、おもちゃには実装しない。


制御タイプを駆動とステアリングともにデジタル入力フルアクションに固定したものは ここから ダウンロードできる。トランシーバはSE8R01とnRF24L01+のみサポートしている。

制御タイプをCCP社G-DRIVE/W-DRIVEのデジプロ対応に固定したものは ここから ダウンロードできる。トランシーバはSE8R01とnRF24L01+のみサポートしている。
  1. 2019/07/15(月) 21:50:21|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェアの改善(電源瞬低への対応)

【前振り】
つつじが丘おもちゃ病院では2.4GHzラジコンのエンコーダ/デコーダ、トランシーバが故障した場合にそれらを換装するためのファームウェアを開発して、当ブログで公開してきた。例えば、

2.4GHzラジコン用ファームウェア(フルアクションタイプ対応版)

2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)

2.4GHzラジコン用ファームウェアのデモボード

上記以外にも関連記事が多くあり、「2.4GHzラジコン」でブログ内検索すると出てくる。

これらのファームウェアの利用者は徐々に増えてきていて、実装の結果や改善意見をいただいている。僕はファームウェアと技術情報を提供しているが、実際のおもちゃへの換装は数が少ない。そのためフィールドからいただくご意見はファームウェアを改善していくのに大変有難い。その中で 「電源瞬低への対応」 が要望され、今回対応した。


【要件】
ラジコンが動いているときには電池電流が大きく変動する。特に走り始めるときや急加速時には大きなモーター電流が流れて、電池電圧が瞬低する。制御に使っているPICは電源電圧の瞬低により停止しても、復電するとPORして動作を再開する。しかし、トランシーバモジュールは一度ダウンすると、PORしてもキャリブレーションを含む初期設定を再度実行しないと通信は再開できない。

トランシーバがダウンした事を検知して、初期設定を再実行することが今回の改善要件である。

安定な電源電圧を担保するには昇圧電源を装備することが本来のやり方であろうが、できるだけ廉価にファームウェア側での対応だけで済ませられないか、というのがテーマだ。


【設計】
・トランシーバがダウンしたことの検知

トランシーバのデータシートにPORの要件が示されていて、電源電圧が緩やかに変動する場合は正常にPORされず、デバイスの状態は不定になることがある。例えばCC2500では
2.4GHzラジコン用ファームウェアの改善(電源瞬低への対応)CC2500のPOR条件

トランシーバがダウンしている最中はSPIの応答が無いので検知できるが、復電し再稼働後はSPIの応答はあり、ステータス等を読み出すと正常な値を返してくる。そのため、SPIの応答ではトランシーバがダウンしたことは検知できない。次善の策として、正常な受信が一定時間以上無かった場合にトランシーバがダウンしたと見做して初期設定を再実行することにする。

コントローラ側ではトランシーバのダウンを検知する方法が無いため、コントローラ側のファームウェアでは対応しない。電源電圧の瞬低は負荷電流が急激に増加する車体側で発生するものであり、コントローラ側での対応は不要と考える。

・初期設定の再実行

以前から、通信阻害による暴走を防止するために、一定時間コントローラからの電波を受信しなかった場合は車体を停止させる仕様になっている。今回は、その時限を超えて更に受信できない状態が継続したらトランシーバの初期設定を実行する。

トランシーバが正常にPORしていない場合があるので、初期設定を再実行する前にトランシーバをリセットしておく。

具体的なやり方としては、トランシーバのダウンを検知したらPICをソフトリセットして再起動する。


【対応デバイス】
・PIC
16F1503
16F1705
16F18325

・トランシーバ
SE8R01
nRF24L01+(パワー強化版と非強化版)
A7105
CC2500

上記のPICとトランシーバの組み合わせが可能


【動作検証】
改善前後の動作検証を 飯塚こわれたおもちゃの相談所さん がやってくれた。多謝


【ダウンロード】
ファームウェアの設計資料と開発プロジェクトは ここから ダウンロードできる。

制御タイプが動的に変更可能な「デモ」仕様になっているので、実際のおもちゃの換装に応用する場合はおもちゃの構造に合わせて制御タイプを固定すること。具体的には、ソースコードの1行で制御タイプを宣言するだけだ。

ホルダ名とプロジェクト名に、トランシーバのデバイス名・送信側/受信側の別・PICのデバイス名を織り込んでいる。「MON」が付いたプロジェクトは、開発時に使う受信モニタで、おもちゃには実装しない。


制御タイプを駆動とステアリングともにデジタル入力フルアクションに固定したものは ここから ダウンロードできる。トランシーバはSE8R01とnRF24L01+のみサポートしている。

制御タイプをCCP社G-DRIVE/W-DRIVEのデジプロ対応に固定したものは ここから ダウンロードできる。トランシーバはSE8R01とnRF24L01+のみサポートしている。
  1. 2019/07/14(日) 08:49:30|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェア(フルアクションタイプ対応版)

2.4GHzラジコン用ファームウェア は以下の制御タイプで使用可能なものを公開している。

・フルアクション制御
TX2/RX2に代表される前後進と右左折、及びターボの操作が可能なもの。動作はオンかオフの制御であり、プロポーショナルな制御はできない。

・サーボ制御
操作量によって制御量をプロポーショナルに制御するもの。標準のサーボパルスを出力して、サーボを制御する。

・ESC制御
前後進のモーターをESC制御するもの。

・アナログ入力のフルアクション制御
動作はフルアクションだが、操作信号をアナログ電圧で入力するもの。

上記の制御タイプを自由に組み合わせて使うことができるように、汎用性を持たせたファームウェアを公開している。実際におもちゃを換装するときには、制御タイプを決めるためのカスタマイズを行うことを前提としている。

しかし、このカスタマイズ作業の依頼が増えてきていて、需要が多そうな制御タイプにカスタマイズを施したものを用意しておこうと思っている。先日公開した「2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)」もその一つだ。

今回は、前後進と右左折ともにオン/オフ動作のフルアクション制御に固定したものを公開する。この制御タイプは昔からあるベーシックなものだ。操作信号のインタフェースはTX2/RX2と同様に、負論理のデジタル信号をPICのポートに入力する。信号レベルはPICの規定に従う。

【ハード構成】
コントローラ側と車体側ともに、トランシーバモジュールはSE8R01(またはnRF24L01+)、マイコンは16F1503を使用する。

コントローラ側の操作SWは既存のものを使って、エンコードとRF部を上記の構成で換装する。

車体側のモータードライバーは既存のものを使って、RFとデコード部を上記の構成で換装する。

【周辺回路の設計情報】
コントローラ側16F1503のポート割り当ては以下の通り。
//RA0:後進SW入力(負論理、内部プルアッフ
//RA1:前進SW入力(負論理、内部プルアッフ)
//RA2:ターボSW入力(負論理、内部プルアッフ)
//RA3:無接続
//RA4:左折SW入力(負論理、内部プルアッフ)
//RA5:右折SW入力(負論理、内部プルアッフ)
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:SE8R01(またはnRF24L01+)のMISO
//RC2:SE8R01(またはnRF24L01+)のMOSI
//RC3:SE8R01(またはnRF24L01+)のCSN
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:無接続

車体側16F1503のポート割り当ては以下の通り。
//RA0:無接続
//RA1:ターボ出力(正論理)
//RA2:左折出力(正論理)
//RA3:無接続
//RA4:SE8R01(またはnRF24L01+)のMISO
//RA5:SE8R01(またはnRF24L01+)のMOSI
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:右折出力(正論理)
//RC2:SE8R01(またはnRF24L01+)のCSN
//RC3:後進出力(正論理)
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:前進出力(正論理)

【ダウンロード】
ファームウェアの設計情報とプロジェクト一式は ここから ダウンロードできる。

プロジェクトは以下の通り。

コントローラ側
RC24_SE8R01_TX_1503.X
RC24_nRF24L01_TX_1503.X

車体側
RC24_SE8R01_RX_1503.X
RC24_nRF24L01_RX_1503.X
  1. 2019/04/16(火) 11:16:36|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)

CCP社のG-DRIVE、及びW-DRIVEの基板換装用のファームウェアの需要が多いようなので、つつじが丘おもちゃ病院が公開している 「2.4GHzラジコン用ファームウェア」 をG-DRIVE/W-DRIVE用にカスタマイズしたものを公開する。

2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)G-DRIVE
2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)W-DRIVE


【適用条件】
一口にG-DRIVE/W-DRIVEと言ってもいろんなバリエーションがあり、今回対応しているのは「スピードコントロール(デジプロ)」が謳われているのものだ。特徴は、コントローラのステアリング操作はSWのオン/オフで、前後進はボリュームでプロポーショナルに操作できるようになっている。

換装後もステアリングの操作はSWのオン/オフで、前後進はボリュームでプロポーショナルに操作できる。車体側では前後進はPWMによるESCとなる。

前後進の操作では、PICに入力される操作信号の電圧は以下を前提としている。そうなるようにボリューム回路を構成すること。

・操作量0%~100%で操作信号の電圧はGND~Vddまで変化する。

コントローラに使われているボリュームは、抵抗値の可変範囲の角度が非常に小さいタイプで、操作スティックの操作で抵抗値が0%~100%のフルに変化する。

前後進の操作量と制御量の対応は既製品のG-DRIVEの操作フィーリングに合わせて、以下のように設定している。
(このG-DRIVEの操作フィーイングは「おもちゃの病院さがみはら」の一色様から要件をいただき、カスタマイズの結果についても評価していただいた。感謝)

・操作量0%~30%はフル後進
・操作量30%~70%はフル後進~フル前進の比例制御
・操作量70%~100%はフル前進
・操作量50%で停止

このファームウェアは、CCP社の制御プロトコルとは互換性が無いので、コントローラ側と車体側の双方とも換装する必要がある。

CCP社とのペアリングはできない。また、当該ファームウェアに置いてもペアリング機能は実装していないので、換装後のコントローラと車体は1対1に括り付けとなる。ペアリングの仕様をまだ決めていないが、需要があれば検討したい。

コントローラ側は、ニッカド充電池2本での運用を可能とするため、BORをOFFに設定している。LFタイプを使用するのがスジだが、廉価なFタイプで動かすための策だ。実験結果ではVddが2.2Vまで動作した。CPUがダウン後にVddを回復すると正常にPORするため、BORをOFFで運用しても支障は無いと考える。

【ハード構成】
コントローラ側と車体側ともに、トランシーバモジュールはSE8R01(またはnRF24L01+)、マイコンは16F1503を使用する。

コントローラ側の操作SW、ボリュームは既存のものを使って、エンコードとRF部を上記の構成で換装する。

車体側のモータードライバーは既存のものを使って、RFとデコード部を上記の構成で換装する。

【周辺回路の設計情報】
コントローラ側16F1503のポート割り当ては以下の通り。
//RA0:無接続
//RA1:前後進ボリューム入力
//RA2:無接続
//RA3:無接続
//RA4:左折SW入力(負論理、内部プルアッフ)
//RA5:右折SW入力(負論理、内部プルアッフ)
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:SE8R01(またはnRF24L01+)のMISO
//RC2:SE8R01(またはnRF24L01+)のMOSI
//RC3:SE8R01(またはnRF24L01+)のCSN
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:無接続

車体側16F1503のポート割り当ては以下の通り。
//RA0:無接続
//RA1:無接続
//RA2:左折出力(正論理)
//RA3:無接続
//RA4:SE8R01(またはnRF24L01+)のMISO
//RA5:SE8R01(またはnRF24L01+)のMOSI
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:右折出力(正論理)
//RC2:SE8R01(またはnRF24L01+)のCSN
//RC3:後進出力(PWM、正論理)
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:前進出力(PWM、正論理)

【ダウンロード】
ファームウェアの設計情報とプロジェクト一式は ここから ダウンロードできる。

プロジェクトは以下の通り。

コントローラ側
RC24_SE8R01_TX_1503.X
RC24_nRF24L01_TX_1503.X

車体側
RC24_SE8R01_RX_1503.X
RC24_nRF24L01_RX_1503.X
  1. 2019/04/11(木) 23:00:04|
  2. 2.4GHzラジコン
  3. | コメント:0

Toyトランシーバの試作

2.4GHzトランシーバの活用事例の一つとして、Toyトランシーバ(ガントラ)を作ってみた。
Toyトランシーバの修理のヒントになるかも。
Toyトランシーバ外観

【設計】
トランシーバモジュールは「nRF24L01」若しくは「SE8R01」、制御マイコンは16F1503とする。

無線伝送はトランシーバモジュールにお任せなので、作り込みは下記のみとなる。

・送信側は、音声をADCして、PCMデータをデータペイロードに詰め込む。

・受信側はデータペイロードからPCMデータを取り出し、PWMにてDACする。

・ADCとDACは8ビット8kspsで、絶え間なく実行する。

・無線伝送でアンダーラン/オーバーランが発生しないようにトランシーバを制御する。

Fosc=16MHzでPR2=127とするとPWM周期は32usとなり、可聴周波数の外になる。具体的な設定はTMR2のプリスケーラは1:1とし、デューティ値上位レジスタにはPCMデータの上位7ビットを、デューティ値下位レジスタにはPCMデータの下位1ビットを設定する。

PWMの4周期は128usとなり、この周期でADC/DACを実行する。具体的にはTMR2のポストスケーラを1:4とする。
8kspsのサンプリング周期は125usであり、これとは若干乖離するが、送信側/受信側ともに同じだけズレるので、オーバーラン/アンダーランは発生しない。サンプリングレートが8kspsを若干下回るだけだ。

nRF24L01+のデータペイロードは最大32バイトなので、32バイト毎に送受信する。
32サンプルは4.1msに相当する。nRF24L01+は送信モードを維持できるのは3ms以下であるため、送信の都度、スタンバイモードに戻すことになる。

送信側と受信側のFoscは16MHzとするが、クロック精度は有限なので、現実には若干のズレが生じる。つまり、アンダーラン/オーバーランが発生する。
アンダーランが発生した場合はデューティ値の更新を飛ばす。オーバーランが発生した場合は、該当PCMデータを捨てる。これしか執り得ないのだが、発生頻度は非常に低いので問題にはならないと考える。

【製作】
回路図
Toyトランシーバ回路図

配線図
Toyトランシーバ配線図

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウンロードできる。

【評価】
再生音声

ブーーとノイジーで改善が必要だが、今のところ原因も対策もノーアイデアで悲しい。有識者の指南をいただきたい。

飛距離はトランシーバモジュールの性能に依存し、パワー強化版では30m程度であるが、非強化版では7m程度しかなく、トランシーバとしては物足りない。

動作タイミング
Toyトランシーバ送信処理タイミング
エアー占有時間は200us/32バイト、占有率は約5%となった。
  1. 2019/02/27(水) 13:05:37|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェアのnRF24L01+とSE8R01の統合版は失敗だった

2.4GHzラジコン用のファームウェアは nRF24l1+とSE8R01の統合版 を公開していたが、それは失敗だった。
SE8R01はnRF24L01+の類似品として出回っていて、SE8R01用に開発したファームウェアがnRF24L01+でも動作したことから、両者には互換があると解釈して、「統合版」としてファームウェアを公開してきた。

ところが、先日、鎌ケ谷のおもちゃドクターから 「nRF24L01+(SMD)で統合版が動かない」 とのレポートをいただいた。僕が持っている各種バージョンのnRF24L01+ではどれも統合版が正常動作している。実は、統合版では RF_SETUPレジスタ の設定がnRF24L01+の仕様を逸脱していて、それでも正常に動作していたのだが、一抹の不安は持っていた。それが、顕在化したようなのだ。

それで、nRF24L01の仕様を順守して、また、SE8R01では必須であるキャリブレーションも取り去って、nRF24L01+専用のファームウェアに変更して、鎌ケ谷にて動作確認をして貰ったところ、正常動作したとのこと。

以上の経緯から統合版は失敗作として、ファームウェアを nRF24L01+用 と SE8R01用 に分けることにした。対策後のファームウェアは ここから ダウンロードできる。

ディレクトリ名と内容は以下の通り
RC24_nRF24L01_FA nRF24L01+用のフルアクション操作
RC24_SE8R01_FA SE8R01用のフルアクション操作
RC24_nRF24L01 nRF24L01+用のフルアクション・サーボ・ESC操作
RC24_SE8R01 SE8R01用のフルアクション・サーボ・ESC操作
RC24_A7105 A7105用のフルアクション・サーボ・ESC操作
RC24_CC2500 CC2500用のフルアクション・サーボ・ESC操作
  1. 2019/01/14(月) 11:46:42|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェア製作(16F18325をサポート)

【前振り】
2.4GHzラジコンに限らず、僕のファームウェアでは全般的に16F1705使ってきた。コストパフォーマンスが良かったからだ。しかし、以前は100円(秋月2017年)だったが、今は110円(DIPタイプ秋月2018年)に値上がっている。おもちゃの患者さんとしては10円でも安い方がいいと思うので、100円(秋月2018年)の16F18325をサポートした。これでサポート済みのPICは、16F1503、16F18325、16F1705の3種になった。

と言うことで話は終わってしまうのだが、それでは味気ないので、今回の移植作業の状況でも。


【移植作業】
トランシーバへのアクセスエンジンは同じだし、デモボードの扱いも既存踏襲なので、PICの差異を吸収するだけだ。従来は16F1503と16F1705をサポートしていたので、16F18325に近しい方の16F1705のソースコードをベースに書き換えた。16F1705との違いは

・オシレータ設定 → OSCFRQの設定を追加
・PWMモジュールの番号の値 → PWM3、4をPWM5、6に変更
・内部プルアップの設定 → OPTION_REGのnWPUENビットが無くなり、WPUxのみで設定

上記を変更して、SE8R01(含むnRF24L01+)、CC2500はスンナリ動いた。しかし、A7105が送信側、受信側ともサッパリ動かない。RFチェッカーでモニタすると、送信時間が短くなっている。トランシーバへの設定は何も変更していないので???だ。

原因はA7105のSPIはMISOとMOSIがピンを共用していて、MISOのピン割当ての定義(#define)がそのようになっていなかったことだ。MISOは空きピンに定義されていた。

今回の移植作業は、「ターボ機能の仕様変更」(後述)も併せて行った。これは先にSE8R01で行ったので、移植作業はSE8R01と16F1705のソースコードをベースにして、それを他のトランシーバ、そして他のPICへとコピペして行った。16F1503に対しては、ピン割り当てを含む構成定義の部分を16F1503の既存コードから戻したので正しく書き替えられたが、16F18325は新規だったので、違いを意識していた部分のみを個別に書き換えていた。そのときにA7105のヘンなSPIを失念してしまった。

MISOが空きピンに定義された結果、空きピンはL出力設定のため読み込みデータは常に0となっていた。MISOをセンスするのはレジスタの読み込み時で、送信側ではキャリブレーションと送信の実行完了のチェックに使っていた。実際にはまだ送信中なのに完了したと誤認識していた。そのため、送信時間が短くなってしまい、データペイロードが尻切れトンボになってしまったのだ。

内部のバグを告知してどうなのかと思うが、A7105のSPIはMOSIとMISOが共用されているヘンな仕様だということで、よもやま話のネタにでもなればと。このようなヘンな仕様はピン数の節約には効果的だ。

以上がA7105で手古摺ったことの顛末で、次は「ターボ機能の仕様変更」の話に移る。


【ターボ機能の仕様変更】
フルアクションラジコンではターボ機能を搭載したものがあり、僕の2.4GHzラジコンでもターボ機能を搭載しているのだが、ターボのオン/オフのビットをデータペイロードのラジコン操作データの部分ではなく、制御タイプを設定するバイトに置いていた。これは、制御タイプを動的に変更するデモ向けの機能をターボボタンの操作で行う仕組みにしていたからだ。機能追加を重ねる過程でこのような間に合わせ的な設計をしてしまったのだが、ずっと気になっていた。それで、今回はターボのオン/オフをCH3の制御値に設定することにした。フルアクションの制御タイプでは、CH1が前後進、CH2が右左折、CH3がターボのオン/オフになった。これで気持ちは晴れ晴れスッキリした。プロポ制御タイプとESC制御タイプではターボ設定はあまり意味はないが、CH3に設定している。なお、この仕様変更は内部の処理の是正のみなので、回路や操作には影響はない。但し、送信側と受信側は共に今回のバージョンを使う必要がある。


【ダウンロード】
デモボードとファームウェアの設計資料と開発プロジェクトは ここから ダウンロードできる。

当初は SE8R01 と nRF24L01+ とはインタフェースを共通化して同じファームウェアを適用していたが、トランシーバのバージョンによっては非互換があることが判ったので、その後は SE8R01 と nRF24L01 のそれぞれに専用のプロジェクトを作っている。

プロジェクト名に トランシーバ名、TX/RXの別、PIC型番 を織り込んでいる。
  1. 2018/09/14(金) 08:02:47|
  2. 2.4GHzラジコン
  3. | コメント:0

「27MHz~2.4GHz対応のRFチェッカー(ラジコン電波検知器)の頒布」の有料化

27MHz~2.4GHz対応のRFチェッカー(ラジコン電波検知器)の頒布」を始めたのは昨年7月29日だった。その後1年が経ち、頒布した台数は下記のとおり200台を超えた。

・LT5534 20台

・AD8314 183台

当初はホームページやブログ等で 「2.4GHzの検知に困っている」 といった記事を掲載しているおもちゃ病院へ、当方から一方的に送り付けていたが、当方のブログ記事の認知が広まるとともに頒布希望が徐々に増えてきて、一時期は増殖が追い付かず台数を制限するなどご希望に添えないこともあった。最近では頒布依頼は月に数件程度にまで少なくなってきている。 「2.4GHzの検知に困っている」 おもちゃドクターには行き届いたのかも知れない。

1年前にRFパワーデテクタICを採用したことは、元はトラ技の猿真似だったが、おもちゃドクター向けのRFチェッカーへの適用は画期的だった。それまではレガシーバンドでやっていたダイオード検波器を使って試行錯誤していたが、感度が悪くて使い物にならなかった。現在はRFパワーデテクタICを使う方法が行き渡ってきて、2.4GHzラジコンチェッカーでの「普通の設計」になってきたと思う。ネットを見ると、この方式で自作するおもちゃ病院が増えてきているようだ。

以上のことから、つつじが丘おもちゃ病院での頒布活動は一応の成果とともに、その必要性は低くなってきたと評価する。それで今後は以下の方針に替える。

・無償での頒布は終了し、今後は実費での頒布とする。実費と言っても材料費と送料だけで工賃はいただかない。本記事の公開時点では、材料費は70円程度(ミニオーディオアンプは別途約20円)、郵送料は82円だ。材料費よりも郵送料の方が高いので、おもちゃ病院等でご所望の数量を取り纏めていただくのが宜しいと思う。

・当初は、RFパワーデテクタとミニアンプはAliExpressで最廉価なショップから調達していたが、不良品が混入していたり、配送トラブルの発生など問題が多いので、頒布代金は若干高くなるが、今後は並みの価格で調達することにした。そのため、頒布代金は都度問合せして欲しい。

・部品の品質を担保することはできないことなどから、 「ジャンク品扱い」 で 「ノークレーム」 であることは変わらない。

・頒布の条件と依頼方法は従前どおりで、 「27MHz~2.4GHz対応のRFチェッカー(ラジコン電波検知器)の頒布」 の記事を参照。時々、記事へのコメントで頒布依頼を書く人が居るが、コメント投稿されても対応しない


この1年間の頒布先の中には「無償頒布」することで逆に気を遣わせる結果となり、過大なお礼をいただくこともあり恐縮してしまった。実費徴収することで、気兼ねなくご利用いただけるようになると思う。
  1. 2018/08/17(金) 15:47:29|
  2. 2.4GHzラジコン
  3. | コメント:0

RF+IRチェッカーの製作(オートパワーオフの改善)

【前振り】
以前に作った 2.4GHz対応のRF+IRチェッカー の操作性を若干改善した。

当初からオートパワーオフ機能を付けていたのだが、外部電源で使用しているときもオートパワーオフ機能が働いて切れてしまう。
タクトSWの短押しでパワーオフタイマーの延長ができるのだが、一々押すのも面倒だし、そもそも外部電源で使用時は節電する必要はない。

と言うことで、 「外部電源で使用時はオートパワーオフしない」 仕様に変更した。


【設計】
電源制御の設計は当初からかなり手抜きで、外部電源は下記の回路図の「3V」に突っ込んでいる。
外部電源で起動したときはタクトSWを押下していないので、起動した直後にタクトSWを読み、Hであれば外部電源の使用と判定する。
RF+IRチェッカーの製作回路図表示部2

問題は外部電源をオフした時の処理だ。外部電源をオフしても内蔵電池から電源が供給されるので、稼働し続ける。外部電源がオフになったことを検知するには、ポートを増設する必要があるが、もう空きポートが無い。それで、一旦は内蔵電池で稼働するが、その後に通常のパワーオフの操作(タクトSWの長押し)を行うこととする。LEDが点いているので、パワーオフの操作を忘れることはないだろう。

外部電源を切る前にパワーオフの操作を行うと、PICはパワーオフの動作をしてSleepし、外部電源が切られるのを待つ。

もう一つ重要な事項がある。外部電源で使用中にタクトSWを押下すると、内蔵電池から外部電源へ電流が流れだす可能性がある。一般の電源器は外部から電圧が架けられるとことを想定していないので、最悪爆発するかも知れない。僕の電源器 は外部から電圧が架けられても大丈夫なように設計しているので、このような条件でも問題なく使える。だから、安易に猿真似をして 一般の電源器を繋がないように


【ダウンロード】
元記事の公開ファイルと区別なく、今回の仕様変更を施したファームウェアをアップロード済み。つまり、今回の仕様が唯一となる。

RF+IRチェッカーの設計資料とファームウェアの開発プロジェクトは ここから ダウンロードできる。
  1. 2018/08/17(金) 07:59:26|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェア製作(CC2500)

【前振り】
2.4GHzのラジコンを修理するときに代替部品として使える送信機・受信機のひな型を作っている。 nRF24L01+ と SE8R01 を使ったものと A7105 を使ったものは既に公開している。

今回はその延長戦で CC2500 を使ったものを作った。


【構成】
2.4GHzトランシーバモジュールは CC2500 で、送信側と受信側とも同じ。
2.4GHzラジコン用ファームウェア製作(CC2500)表

2.4GHzラジコン用ファームウェア製作(CC2500)裏


トランシーバ基板のピン接
2.4GHzラジコン用ファームウェア製作(CC2500)ピン接
基板アンテナが無いので、アンテナ端子にリード線を付ける必要がある。

CC2500のトランシーバは2018年5月29日の購入実績で2個419円だった。@210円とかなり高価なのでホビー向けだ。おもちゃ修理には今のところ SE8R01(@40円) しか選択肢が無い。

マイコンは 16F1503 または 16F1705 を使う。

【実験ボード】
各トランシーバ統合版のデモボード(ESC対応)を流用した。

送信側
2.4GHzラジコン用ファームウェア製作(CC2500)送信側

受信側
2.4GHzラジコン用ファームウェア製作(CC2500)受信側

回路図は 2.4GHzラジコン用ファームウェア製作(ESC対応) を参照。


【ファームウェアの機能】
2.4GHzラジコンデモのファームウェア をベースに、CC2500へのアクセス部分を新規に製作した。

制御タイプは以下の3種類をサポートしている。

・フルアクション動作では、送信機側のタクトSWのオン/オフ状態を送信し、受信機側では受信した信号をLEDに表示する。

・プロポ動作では、送信機側のボリュームの操作角を送信し、受信機側ではサーボ信号を出力する。

・ESC制御では、送信機側のボリュームの操作角を送信し、受信機側ではモーターを正逆転PWM信号で制御する。

前後進と右左折で、それぞれ別の制御タイプが設定できる。

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


【トランシーバの設定内容】
主な設定条件は以下のとおり。

・パケット(データ)長:9バイト
 送信時間(=エアー占有時間)を少なくするため、データ長は必要最小限とする。

・データレート:500kbps
 送信時間(=エアー占有時間)を少なくするため、最高速を選択する。

・CRC:有効
 通信の信頼性確保はチップの機能に任せる。

・RF出力:1dBm
 10m以上の飛距離を確保するため、最大出力を選択する。


【評価】
・アンテナとして3cm程度のリード線を付けただけで、飛距離は屋内で14mを楽々クリアした。流石にホビー向けであると感じた。

・送信側のSleep時の消費電流は全体で13uAであり、フルアクション動作では電源SWは不要である。通常動作時の平均電流は1.8mAで、かなりの省電力だ。

・CC2500は多くの構成レジスタを持ち、RF設定が細かく行えるようになっている。しかし、その設定値を決めることはかなり複雑で、専門的な知識を必要とする。そのため、設定値は 「SmartRF Studio」 で算出することが推奨されている。今回はこのツールに予め登録されていた 「500kbpsの感度最適化の設定パターン」 をコピーすることで期待通りに動作させることができ、僕のような素人にとっては大変有難いことだ。


【ダウンロード】
デモボードとファームウェアの設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2018/07/06(金) 12:58:02|
  2. 2.4GHzラジコン
  3. | コメント:2

2.4GHzラジコン用ファームウェア製作(ESC対応)

【前振り】
当ブログの記事 「2.4GHzラジコン用ファームウェアのデモ」 に対してESC機能も内蔵して欲しいとの要望を受けた。折角PICで構成しているのだから、機能と性能の限りトコトン使ってあげないとPICに申し訳ないということで、モーターの正逆転PWM信号を出力する機能を追加した。これにモータードライバを付ければESCが実現できる。


【ファームウェアの実現範囲】
RFトランシーバでやり取りするデータペイロードは8chデジタルプロポを想定して9バイト長にしているが、デモボードとしては14ピンPICを使っているため、2chを実装している。

制御タイプは、フルアクション制御、サーボ制御、ESC制御の何れかを各ch毎に決めることができる。

デモの実演を想定して、実行開始時および実行中にでもボタン操作で制御タイプを設定する機能を設けている。おもちゃ修理に応用する場合は制御タイプを固定するように、制御タイプの設定機能を殺して、目的の制御タイプを初期値として与えるようにコードを書き換えればよい。


【PWMのタイミング】
・サーボパルスの生成

サーボパルスの標準仕様は周期20msに対してパルス巾は1~2msである。PIC16FのPWMは10ビットなので、PWM周期を20msにすると1ビットは20usになり、サーボパルスの1msに対して2%の分解能になる。もう少し分解能を稼ぎたいので、少し工夫をする。

PWM周期をサーボパルスの1/nに設定し、n周期中の1周期だけPWMのパルスを出力し、残りの周期はパルスを止める。PWM周期はサーボパルス巾に近い方が分解能が高められるが、クロックとプリスケーラの選択条件の中では Fosc=16MHz、プリスケ=1/64、PR=249 の設定で 周期は4msになり、これがベストだ。分解能は 4us になる。4ms以内にソフトでPWM出力を有効/無効に設定しないといけないが、この程度はメインループの中で十分に実行可能である。


・モーター制御PWMの生成

PWMモジュールが複数あっても廉価PICの宿命でPWM周期は共通になる。従ってモーター制御のPWM周期は4msになる。

一般的なモータードライバは正転と逆転の入力端子が分かれているので、PICからは別ピンに出す必要がある。この切り替え方法を考える。16F1503はPWMが4個あるので、正転用と逆転用にPWMを括り付けて、2ch分が賄える。16F1705はPWMが2個しかないので、各chに1個を割り当ててPPS機能を利用して正転用と逆転用の別のピンに出力する。

正転と逆転が切り替わるときは、デューティ0の1周期を設けることで貫通電流を抑止する。

16F1705で考慮しないといけないことは、PWMデューティの設定レジスタにはバッファがあるのでPWM周期の切れ目でデューティ値が切り替わるのだが、PPSはリアルタイムに切り替わってしまうことだ。そのため、正転と逆転が切り替わるときに設けるデューティ0の周期にPPSを変更する。


【RFトランシーバ】
対応するRFトランシーバは以下のとおり。

nRF24L01+(出力強化版と非強化版)

SE8R01

A7105

CC2500


【外観・回路図】
デモボードの外観
送信側
2.4GHzラジコン用ファームウェア製作(A7105)送信側

受信側
2.4GHzラジコン用ファームウェア製作(A7105)受信側

回路図

以下に掲げる回路図はあくまでファームウェアの動作を観せるためのものであり、実際のラジコンおもちゃに応用する場合は実用環境を考慮した設計を加える必要がある。

下図は SE8R01(DIP)の送信側 (nRF24L01+(DIP)と共通)
2.4GHzラジコンデモボード回路図(SE8R01・nRF24L01+DIP)送信側
16F1503 は 16F1705 に差し替えられるが、ファームウェアはそれぞれのプロジェクトのものを使うこと。


下図は SE8R01(DIP)の受信側 (nRF24L01+(DIP)と共通)
2.4GHzラジコンデモボード回路図(SE8R01・nRF24L01+DIP)受信側
16F1503 は 16F1705 に差し替えられるが、ファームウェアはそれぞれのプロジェクトのものを使うこと。


下図は SE8R01(SMD)の送信側 (nRF24L01+(SMD)と共通)
2.4GHzラジコンデモボード回路図(SE8R01・nRF24L01+SMD)送信側
16F1503 は 16F1705 に差し替えられるが、ファームウェアはそれぞれのプロジェクトのものを使うこと。


下図は SE8R01(SMD)の受信側 (nRF24L01+(SMD)と共通)
2.4GHzラジコンデモボード回路図(SE8R01・nRF24L01+SMD)受信側
16F1503 は 16F1705 に差し替えられるが、ファームウェアはそれぞれのプロジェクトのものを使うこと。

下図は A7105(SMD)の送信側
2.4GHzラジコンデモボード回路図(A7105SMD)送信側
16F1503 は 16F1705 に差し替えられるが、ファームウェアはそれぞれのプロジェクトのものを使うこと。


下図は A7105(SMD)の受信側
2.4GHzラジコンデモボード回路図(A7105SMD)受信側
16F1503 は 16F1705 に差し替えられるが、ファームウェアはそれぞれのプロジェクトのものを使うこと。

下図は CC2500(SMD)の送信側
2.4GHzラジコンデモボード回路図(CC2500SMD)送信側

下図は CC2500(SMD)の受信側
2.4GHzラジコンデモボード回路図(CC2500SMD)受信側
16F1503 は 16F1705 に差し替えられるが、ファームウェアはそれぞれのプロジェクトのものを使うこと。


【ダウンロード】
デモボードとファームウェアの設計資料と開発プロジェクトは ここから ダウンロードできる。

当初は SE8R01 と nRF24L01+ とはインタフェースを共通化して同じファームウェアを適用していたが、トランシーバのバージョンによっては非互換があることが判ったので、その後は SE8R01 と nRF24L01 のそれぞれに専用のプロジェクトを作っている。

プロジェクト名に トランシーバ名、TX/RXの別、PIC型番 を織り込んでいる。
  1. 2018/07/02(月) 19:35:14|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェア(A7105)

【前振り】
2.4GHzのラジコンを修理するときに代替部品として使える送信機・受信機のひな型を作っている。 nRF24L01+ と SE8R01 を使ったものは既に公開している。

今回はその延長戦で A7105 を使ったものを作った。


【構成】
2.4GHzトランシーバモジュールは A7105 で、送信側と受信側とも同じ。
2.4GHzラジコン用ファームウェア製作(A7105)表

2.4GHzラジコン用ファームウェア製作(A7105)裏
上記の画像ではGIO1の配線がしてあるが、4-wireでのインタフェースを実験した名残りであり、3-wireで使用する場合は不要である。

トランシーバ基板のピン接
2.4GHzラジコン用ファームウェア(A7105)ピン接

A7107のトランシーバは2018年5月29日の購入実績で3個509円だった。@170円とかなり高価なのでホビー向けだ。おもちゃ修理には今のところ SE8R01(@40円) しか選択肢が無い。

マイコンは 16F1503 または 16F1705 を使う。

【実験ボード】
nRF24L01+とSE8R01の統合版のデモボード を流用している。

以下に掲げる回路図はあくまでファームウェアの動作を確認するためのものであり、実際のラジコンおもちゃに応用する場合は実用環境を考慮した設計を加える必要がある。

送信側
2.4GHzラジコン用ファームウェア製作(A7105)送信側
2.4GHzラジコン用ファームウェア製作(A7105)デモボード(回路図)送信側

受信側
2.4GHzラジコン用ファームウェア製作(A7105)受信側
2.4GHzラジコン用ファームウェア(A7105)デモボード製作(回路図)受信側


【ファームウェアの機能】
フルアクション動作とプロポ動作の2種類のデモができるファームウェアを開発した。

・フルアクション動作では、送信機側の5個のタクトSWのオン/オフ状態を送信し、受信機側では5個のLEDに表示する。

・プロポ動作では、送信機側の2個のボリュームの操作角を送信し、受信機側では2個のサーボ信号を出力する。

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


【トランシーバとのインタフェース】
A7105はMCUとSPIでインタフェースするのだが、3-wireと4-wireの2種類があり、初期値は3-wireになっている。

3-wireではMOSIとMISOが1本のSDIOピンに集約されていて、I2Cに似ている。MCU側のピン数が節約できて、転送速度等のデメリットはないのでこちらを採用した。


【トランシーバの設定内容】
主な設定条件は以下のとおり。

・パケット(データ)長:9バイト
 送信時間(=エアー占有時間)を少なくするため、データ長は必要最小限とする。

・データレート:500kbps
 送信時間(=エアー占有時間)を少なくするため、最高速を選択する。

・CRC・FEC:有効
 通信の信頼性確保はチップの機能に任せる。

・RF出力:1dBm
 10m以上の飛距離を確保するため、最大出力を選択する。


【評価】
・飛距離は基板アンテナだけで、屋内で14mを楽々クリアした。流石にホビー向けであると感じた。

・送信側のSleep時の消費電流は全体で13uAであり、フルアクション動作では電源SWは不要である。通常動作時の平均電流は1.8mAで、かなりの省電力だ。

・SE8R01のときはデータシートに載っていないおまじないのようなキャリブレーション手順を実行しないと動作しなかったのだが、A7105はデータシートの通りに設定すれば素直に動いてくれた。このことは、僕のような素人にとっては大変有難いことだ。


【ダウンロード】
ファームウェアの設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2018/06/25(月) 11:02:23|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェアのデモボード

【前振り】
廉価な2.4GHzトランシーバモジュールを使ったラジコン用ファームウェア は、おもちゃ病院新津(新潟) 様によってフルアクションのラジコンカーの換装を行い、評価結果が公開 されている。しかし、僕自身はデバグ環境でしか動作検証をしていないのと、このファームウェアを紹介するのにデモボードの必要性を感じていた。また、ファームウェアはデジタルプロポ仕様になっているので、それも実演したい。


【デモボード】
2.4GHzトランシーバは nRF24L01+の出力強化版と非強化版、SE8R01 が使える。DIPタイプとSMDタイプのどちらも使えるが、VccとGNDのピン接が逆なので要注意だ。

ファームウェアは nRF24L01+用とSE8R01用)の統合版 を使っている。

以下に掲げる回路図はあくまでファームウェアの動作を観せるためのものであり、実際のラジコンおもちゃに応用する場合は実用環境を考慮した設計を加える必要がある。

送信側
2.4GHzラジコン用ファームウェアのデモボード送信側
2.4GHzラジコン用ファームウェアのデモボード(回路図)送信側

受信側
2.4GHzラジコン用ファームウェアのデモボード受信側
2.4GHzラジコン用ファームウェアのデモボード(回路図)受信側


デモボードはフルアクション制御とプロポ制御の両方の動作モードに対応している。電源投入後に最初にターボボタンを押すとフルアクション動作、後進ボタンを押すとプロポ動作に設定される。動作モードを変更するときは送信側と受信側の両方の電源を切ってから設定をやり直すこと。

フルアクション制御は、ターボ、前進/後進、左折/右折のデコード結果をLEDに表示する。モーター制御回路は含まない。

プロポ制御は、サーボパルスを出力し市販のサーボを動作させる。

ボリュームの操作角とサーボパルスの巾の対応はファームウェア内の定数宣言で、chごとに設定ができる。

上記の回路では制御用マイコンは16F1503を使っているが、16F1705用のファームウェアも用意してあり、ピン割り当ても同じにしているのでそのまま差し替えられる。


【実演】
フルアクション動作


プロポ動作


到達距離は屋内で10m程度だった。トランシーバにアンテナを付けると屋外見通しで30m程度まで届いたとの報告がある。

【ファームウェア】
ファームウェアの設計資料と開発プロジェクトは ここから ダウンロードできる。

ファームウェアの説明は ここに ある。
  1. 2018/06/17(日) 19:18:45|
  2. 2.4GHzラジコン
  3. | コメント:0

2.4GHzラジコン用ファームウェア(nRF24L01+用とSE8R01用)の統合

【前振り】
廉価な2.4GHzトランシーバモジュールを使ったラジコン用ファームウェアを作っていて、従来は nRF24L01+用 と SE8R01用 の2種類となっていたが、それらを統合して1種類にした。


【開発の経緯】
最初にポピュラーなnRF24L01+用を開発して、その後により廉価なSE8R01用を開発した。SE8R01はnRF24L01+の類似品との触れ込みなのだがキャリブレーションというおまじないをしないと動作しないのと、nRF24L01+より多くのレジスタが定義されているので別個のファームウェアとして開発した。しかし、その後の改善の結果、SE8R01用のファームウェアでnRF24L01+も正常に動作するようにできた。


【対応した内容】
ファームウェアではトランシーバの識別は行わず、SE8R01用のコードを実行している。

SE8R01は電源をオンしてから通信が開始するまで数秒掛かるため、ダミーデータを送信することで速やかに通信が開始するようにしている。しかし、nRF24L01+は受信FIFOがフルになると受信が詰まってしまうので、受信チェックの前に受信FIFOフルをチェックしてフラッシュするようにした。

SE8R01用に特化した設定はnRF24L01+に対しては無効果である。


【注意事項】
トランシーバは同じ種類のもの同士でないと動作しない。但し、nRF24L01+の出力強化版と非強化版の組み合わせは動作する。


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

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


(重要)後日談】
当初は SE8R01 と nRF24L01+ とはインタフェースを共通化して同じファームウェアを適用していたが、トランシーバのバージョンによっては非互換があることが判ったので、その後は SE8R01 と nRF24L01 のそれぞれに専用のプロジェクトを作っている。詳細は 「2.4GHzラジコン用ファームウェアのnRF24L01+とSE8R01の統合版は失敗だった」 を参照。

  1. 2018/06/13(水) 17:45:15|
  2. 2.4GHzラジコン
  3. | コメント:0

RF+IRチェッカーの製作

このブログで RFチェッカーの製作 を紹介しているのだが、僕自身は音が出るだけのプアなものを使っている。
しかも、2.4GHz対応で作った RFパワーデテクタ は外付けでミノムシで繋いでいる。これでは紺屋の白袴だ。
それで、今回は(比較的)スマートな機能を搭載したものに一新したので、ブログネタにはなるかなと。。。

1.概観
①できたものはこれ。百均のタッパーに入れた。このケースは廉くて丈夫なので重宝している。
RF+IRチェッカーの製作概観1

②コンパクト、且つ廉価にするため以下のようにした。
・操作SWはタクトSWが1個だけで、短押し長押しを使い分けてすべての操作(電源入切、評価モード切替、オートパワーオフ延長)を行う。
・外部との信号端子として2mmΦビスを利用している。ターゲットへの接続はテストクリップやミノムシコードで繋ぐので、チェッカー側もビスで十分だ。
・AUX-INは、レベル調整のボリュームを割愛し、入力信号レベル(Hi・Mid・Low)の別に端子を出した。

③マイコンはOPA、コンパレータを内蔵している16F1705、オーディオアンプは廉価なTDA2822を使用。
RF+IRチェッカーの製作概観2

④電源は単3を2本、これがケースにピッタリ収まる。

⑤スピーカは16Ωを採用。8Ωだと音が大き過ぎて、16Ωにすると丁度良く、電池の持ちも良くなる。
RF+IRチェッカーの製作概観3

⑥RFパワーデテクタはAD8314を採用。これも廉くて、十分な感度を持っている。
RF+IRチェッカーの製作概観4

⑦赤外線受光素子はVBPW34FASを採用。動作速度が速くて、キャリアが観測できる。これをコンパレータに入れて波形整形した後、ソフト処理でデコードする。
RF+IRチェッカーの製作概観5

2.機能設計と実際の動作解説

【RFキャリアの評価】
2.4GHzISMバンドは送信時間が短いので、送信している瞬間のピークレベルを観測することが重要だ。
ピーク値と平均値の信号レベルをバーLEDに表示している。

①「バトロボーグ」のペアリング時の信号
RF+IRチェッカーの製作表示1
・2.4GHzの電波の包絡線を音で聞くとかなり小さく聞こえるのだが、ピーク値を見ると並みの出力で送信されていることが判る。
・ピーク値の平均値に比べてかなり暗く表示されていて、送信時間の率が極めて小さいことが判る。
・平均値は最低レベルに寄っていて、これも送信時間の率が極めて小さいことを示している。

2.4GHzISMバンドでもドローンなどでは送信時間が長いものもある。

②「EACHINE E010」(ミニドローン)の信号
RF+IRチェッカーの製作表示2
・ピーク値はかなり明るく表示されていて、送信時間の率が大きいことが判る。
・平均値は少しレベルが出ていて、これも、送信時間の率が大きいことを示している。

信号観測端子の出力波形
RF+IRチェッカーの製作RF評価EACHINEE010波形

レガシーバンドでは包絡線のイメージが掴める。

③27MHz「TX2」の信号
RF+IRチェッカーの製作表示3
・変調波のデューティサイクルの分だけキャリアが出るので、平均値は比較的高くなっている。
・アクションによってピーク値は変わらないが、平均値は増減する。TX2のプロトコルではデューティサイクルでアクションコードを表現しているからだ。

信号観測端子の出力波形
RF+IRチェッカーの製作RF評価TX2波形

④27MHzトーン方式の信号
RF+IRチェッカーの製作表示4
・変調波は矩形波なのだが、AM変調のため谷の部分でもキャリアが出るので、平均値のレベルは高い。
・「2トーン*デューティ方式」ではアクションによってピーク値は変わらないが、平均値は増減する。
・「4トーン方式」ではアクションによってピーク値が変化し、平均値はあまり変化しない。

【RFコードの評価】
レガシーバンドでは変調波の周期を観測すれば、プロトコルの信号の良否がある程度判断できる。
変調波の周期をバーLEDに表示している。

①27MHz「TX2」の信号
RF+IRチェッカーの製作表示5
・TX2のプロトコルは、(標準値では)周期1が2ms、周期2が1ms。この2値でアクション番号を表している。
・変調信号の周期が2値に一定していれば、プロトコル信号は正常と判断できる。
・アクションによって周期1と周期2の出現頻度が変わるので、その様子も表示の瞬きから覗える。

②27MHz「2トーン*デューティ方式」の信号
RF+IRチェッカーの製作表示6
・前進は低いトーンなので、周期は長い方に表示されて、ステア操作に依らず一定している。

RF+IRチェッカーの製作表示7
・後進は高いトーンなので、周期は短い方に表示されて、ステア操作に依らず一定している。

③「4トーン方式」の信号
・「4トーン方式」の観測は、「2トーン*デューティ方式」と似ている。
・但し、周期が一定して見えるのは単独のアクションだけの場合で、前進左折のように複数のアクションを同時に行った場合は定まりのない表示となる。


【IRキャリアの評価】
キャリア周波数は日本国内では38kHzが標準だが、海外では57kHzが主流のようだ。
海外仕様の製品がそのまま国内に持ち込まれることが多くなったので、キャリア周波数を確認することは重要だ。
国内品のおもちゃでも、送信機側のマイコンのクロック不良により赤外線キャリアが38kHzからずれていることもある。

①おもちゃや家電を問わず、すべての赤外線リモコンの信号
RF+IRチェッカーの製作表示8
・中央位置が標準の38KHzを示している。1目盛りは約1KHz。

信号観測端子の出力波形
RF+IRチェッカーの製作IRキャリア評価のキャリア波形

RF+IRチェッカーの製作IRキャリア評価のコード波形

【IRコードの評価】
IR信号はパルス幅でビット値を表しているので、そのパルス幅を表示して、それが2値に一定していれば正常動作していると判断できる。
リーダーとトレイラについても、そのパルス幅を表示することでその存在を確認できる。

①「レールでGOGO!」の信号
RF+IRチェッカーの製作表示9
・リーダー部の存在が確認できる。
・ビット値1とビット値0の周期が一定であることが確認できる。

②家電リモコンの信号
RF+IRチェッカーの製作表示10
・リーダー部の存在が確認できる。
・ビット値1とビット値0の周期が一定であることが確認できる。

信号観測端子の出力波形
RF+IRチェッカーの製作IRコード評価のコード波形

3.回路図と配線図
①RFパワーデテクタ部
RF+IRチェッカーの製作回路図RFデテクタ

②処理部
評価モードによって信号経路をファームウェアで電子的に切り替えているので、ソースコードを合わせ読むと理解し易いと思う。
RF+IRチェッカーの製作回路図処理部1
RF+IRチェッカーの製作回路図処理部1説明
RF+IRチェッカーの製作回路図処理部2
RF+IRチェッカーの製作配線図処理部1
RF+IRチェッカーの製作配線図処理部2

③表示部
RF+IRチェッカーの製作回路図表示部1
RF+IRチェッカーの製作回路図表示部2

外部への電源供給は、「3V」のラインを端子に出す。

外部から電源共有するときも「3V」のラインに繋ぐ。内蔵電池との切り替えSWは省略しているので、タクトSWをオンすると内蔵電池が外部電源に繋がるので、そのような条件でも大丈夫な電源器 を使うこと。

RF+IRチェッカーの製作配線図表示部

4.ダウンロード
RF+IRチェッカーの設計資料とファームウェアの開発プロジェクトは ここから ダウンロードできる。

5.後記
オシロで波形観測すれば済むことを、わざわざバーLEDに表示してうんちくを語るのは全くナンセンスな話だ。
  1. 2018/03/28(水) 21:50:07|
  2. 2.4GHzラジコン
  3. | コメント:0

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

2.4GHzラジコンの修理を目的に、市販の nRF24L01+ トランシーバモジュールを使ったラジコン用のファームウェア を開発したのだが、飛びが悪いという問題を抱えていた。

このファームウェアを実際のラジコンに搭載して50mの飛距離を確認した、との報告を長崎大村おおもちゃ病院様からいただいた。僕の実験結果を遥かに超える飛距離であり、実施環境をお訊きしたところ、ファームウェアは僕が公開しているものをそのまま使用し、トランシーバモジュールは(パワー)強化版とのことだった。あらためてAliExpressを見ると、多くの商品が強化版であることを謳っている。僕がファームウェア開発に取り組んだ半年前にはそのような商品は無かった(気付かなかった)。

それで、僕も強化版で試してみようと注文しておいたのが、今日届いた。早速評価したところ、出力レベルがかなり大きくなっていた。絶対的なRF電力を測る機器を持っていないので、RFチェッカーで従来版のトランシーバモジュールとの比較を行った。

従来版から10cmの信号強度が強化版からは100cmくらいのときと同等だった。アンテナの指向性を考慮しても100倍以上の出力パワーの差がある。

対向試験では基板アンテナだけで10mの飛距離が確認できた。これは SE8R01 トランシーバモジュール のときと同じ距離だ。強化版を使えばトイラジコンの修理に問題無いことが確認できた。

また、各種の無線設定やパワーダウンモードなどのファームウェアの互換性にも問題は無かった。

従来版と強化版の相互間の互換性も確認した。送信側を強化版・受信側を従来版での動作、その逆の送信側を従来版・受信側を強化版での動作も可能だったが、ともに飛距離は伸びないのでラジコン修理には適用できない。

従来版と強化版は外観上は全く同じに見えて区別が付かない。

【従来版】
従来版外観

【強化版】
強化版外観

商品ページも掲げておく。

【従来版】
従来版amazon1
従来版amazon2

【強化版】
強化版Ali1
強化版Ali2
強化版Ali3

強化版の価格はSMDタイプでは2018年2月時点で70円くらいで、従来版とあまり変わらない。この半年間で安くはなってきたが、50円を超えるとおもちゃ修理には採用し辛い。当面は SE8R01 の方を使って行くことになる。
  1. 2018/02/09(金) 18:46:21|
  2. 2.4GHzラジコン
  3. | コメント:0

RFチェッカー表示部のファームウェアのバグ改修

RFチェッカー表示部のファームウェアにバグが有り、改修しました。

該当するブログ記事は下記の4件です。

27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)表示部の省電力化(第3弾)

27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)表示部の省電力化(第2弾)

27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)表示部の省電力化

27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)表示部の製作

公開ファイルは既に入れ替えてありますので、ダウンロードして下さい。

なお、回路には変更はありませんので、ファームウェアの入れ替えのみの対応です。

【バグ内容】
LEDマトリクスを駆動するポートが、中間電位にさらされるにも関わらずデジタルI/Oに設定していた。

【改修内容】
RA0・RA1・RA2はアナログポート設定にしてデジタル入力バッファを切り離すようにした。
RA4・RA5はアナログポート設定ができないので、常にデジタル出力とした。
上記の変更に整合するようにLAT変換表・TRIS変換表を変更した。
  1. 2018/01/28(日) 19:24:50|
  2. 2.4GHzラジコン
  3. | コメント:0

RFチェッカー表示部の製作(ATtiny13A版)

RFチェッカー表示部の製作(ATtiny13A版)実装

【前振り】
以前に RFチェッカーの表示部(16F1705版) を作ったが、今回は制御マイコンをATtiny13A(2018年秋月@50円)にして、若干のコスト削減を図った。ポート数が少ないのでRFパワーデテクタのイネーブル制御ができなくて、省電力機能は実装できない。そうすると、単なるレベルメーターになってしまい、レベルメーターICでよいではないか、と言われそうだがそうではない。マイコンを使うメリットは十分ある。

・平均値とピーク値の取得をソフト処理で行うので外付けの回路が一切不要である。

・平均値とピーク値を同時に表示できるので、単に電波の有無だけでなく送信の特性が掴める。

・表示のスケーリングはテーブル変換式で変換曲線を自由に設定できるので、おもちゃの診断に適したスケーリングにできる。

【猿真似】
実は、この製作は HRHさん の猿真似だ。僕はおもちゃ修理でPICをよく使っているのだが、8ピンPICはポートの機能に制約(MCLRピンはデジタル入力にしか使えない)があり、単純なレベルメータとしても実現ができなかった。ところが HRHさん はATtiny13Aを採用することで8ピンマイコンで実現した。目から鱗だった。しかし、そのファームウェアは公開されていないので、当方で独自に開発して公開することにした。ここで公開している設計資料とファームウェアは複製・改変・二次公開を自由にやってよい。おもちゃ修理に有益で価値ある情報がおもちゃ病院業界に広く浸透し、おもちゃドクター諸氏の手で改善され進化していくことを願っている。

【設計】
①処理の流れ

・RFデテクタの出力信号を受け入れてAD変換する。高精度は必要ないので、変換結果の上位8ビットを取得する。

・平均値とピーク値を求める。平均値の算出期間とピークホールド時間は視認性と応答性の観点から数msとする。

・平均値とピーク値をバーLEDに表示する。

②性能設計

・メインループの周期に支配的なのはAD変換時間である。つまり、AD変換処理が最高速になる動作環境とする。

・ADCの最高クロックは1MHzである。一方内部オシレータは9.6MHzなので適切なクロック分周比を設定できない。このため、OSCCALのチューニングによって内部オシレータを8MHzにして8分周する。

・ATtiny13Aの実行速度限界をチェックしておく。Vcc=1.8Vでは4MHz、Vcc=4.5Vでは20MHz、その間は直線的であるので、Vcc=2.475V以上で8MHz動作が可能となる。

・8ビットAVRはクロック精度が悪い(誤差10%)のだが、これを逆手に取る。事前の実験では、工場出荷時のOSCCAL値が0x5dであったところ、0x53の設定で8MHzになった。手持ちの10個で試してみると、すべて余裕を以ってチューニングができた。チューニングに便利なツールも作ったので ここ を参照されたい。

③バーLEDの制御

・10セグメントのバーLEDを5本のポートで制御する。

・2個のLEDを1組にして、1本のポートに繋ぐ。ポート出力の極性によって1方のLEDのみを点灯させる。(次項の回路図を参照)

・ポートを入力モードに設定することで2個とも消灯する。入力モードにするとポートが中間電位にさらされるので、DIDR0レジスタの設定でデジタル入力を禁止しておく。

・この制御方法では電源電圧は3Vが基準で、最大でも3.6Vとなる。

④RFデテクタ
ADCの内部リファレンス電圧が1.1Vなので、AD8314が都合がよい。LT5534を使うときは、OUTを抵抗分圧で1/2にしてADCへ入力するとよい。

⑤ヒューズ設定

・クロックは内部オシレータ9.6MHzとし、8分周無しを設定する。

・6ポートをフルに使うので、RESETピン機能は無効化する。これを行うと以降は一般のISPライターでは書き換えができなくなるので留意されたい。

・BOD検出レベルは1.8V(TYP)を選択する。BODLEBEL1,0=10とする。

⑥OSCCAL設定

・内部オシレータを8MHzにチューニングすること。

・チューニングされたOSCCAL値をソースコード中の OSCCAL_VALUE で宣言すること。

設定例

#define OSCCAL_VALUE 0x53 //ターゲットのOSCCAL値(@8MHz)

【回路図】
RFチェッカー表示部の製作(ATtiny13A版)回路図1
RFチェッカー表示部の製作(ATtiny13A版)回路図2

【表示例】
バーLEDの左側ほどレベルが高く、右側ほどレベルが低いことを示す。
ピーク値は左側に、平均値は右側に現れる。

無信号時
RFチェッカー表示部の製作(ATtiny13A版)表示例無信号時
無信号、と言ってもノイズ電波を拾っているので、低い値で平均値が現れている。

バトロボーグのペアリング信号
RFチェッカー表示部の製作(ATtiny13A版)表示例バトロボーグ
送信パケット長が短く送信間隔も長いので、平均値は小さく、ピーク値は比較的高く表示されている。ピーク値が暗いことから送信頻度が低いことが判る。

一般の2.4GHzラジコン
RFチェッカー表示部の製作(ATtiny13A版)表示例2400MHzラジコン1
RFチェッカー表示部の製作(ATtiny13A版)表示例2400MHzラジコン2
ピーク値はほぼ一定で明るく表示されている。

27MHzTX2
RFチェッカー表示部の製作(ATtiny13A版)表示例27MHzTX2
ピーク値はほぼ一定していることがデジタル式の特徴だ。平均値は測定期間のタイミングで変動する。

27MHzアナログ2トーン式
RFチェッカー表示部の製作(ATtiny13A版)表示例27MHzアナログ式
AM変調されているのでピーク値が変動している。変調信号が遅いのでピーク値と平均値がほぼ等しくなっている。

27MHz無変調時
RFチェッカー表示部の製作(ATtiny13A版)表示例27MHz無変調時
ピーク値と平均値が同じで一定している。

【評価】

①上記の表示例の如く、送信の特性がよく判る。

②メインループは実測29usとなり、十分な性能が得られた。

③平均値の算出期間とピークホールド時間は約7msとなり、適正な値だ。

【ダウンロード】

設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2018/01/22(月) 18:29:29|
  2. 2.4GHzラジコン
  3. | コメント:0

27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)表示部の省電力化(第3弾)

27MHz~2.4GHz対応RFチェッカー(ラジコン電波検知器)省電力化 第2弾 に続いて、今回は第3弾を紹介する。

【前回改善の振り返り】
前回は間欠動作の周期をWDTの1msに替えて、外部に時定数回路を設けて120usにした。その結果、バーLEDの表示がカクカクした感じから滑らかにリアルに表示されるようになった。

しかし、RFデテクタの出力は間欠出力されるので、それをそのまま音で聴くことはできない。今回の改善は、間欠動作しているRFデテクタの出力を音で聴けるようにする改善だ。

【改善策】
・RFデテクタの出力をADCした後、DACに入れて、間欠動作周期の間は出力値を保持させる。

・DACの出力をボルテージフォロワで外部ピンに出す。

【改善結果】
RFデテクタ(LT5534使用)とCPUの消費電流は 2.2mA になった。 第2弾 では 2.0mA だった。

スピーカーを鳴らすと数10mAは喰うので1mA単位で省電力化を図ってもあまり意味は無いが、こんなやり方もあるということで話のネタになればと思う。

耳で聞いた感じでは元々のRFデテクタの出力音と殆ど変わらなかった。

レガシーラジコン(トーン式)の観測波形を以下に示す。

RFチェッカー表示部の省電力化(第3弾)観測波形
プロトコルの分析には今一な感じなので、常時稼働させるモードも必要だ。

【回路図】
RFデテクタ部(LT5534)
RFチェッカー表示部の省電力化(第3弾)LT5534回路図

RFデテクタ部(AD8314)
RFチェッカー表示部の省電力化(第3弾)AD8314回路図

表示部
RFチェッカー表示部の省電力化(第3弾)表示部回路図
IR(赤外線)関連の信号が記載されているが、次回の改善予定の内容が先行して記載されたもので無視してよい。

【ファームウェア】
ファームウェアのプロジェクトは ここから ダウンロードできる。

プロジェクト名は以下のとおり。
LT5534用(FVR=2.048V) は RFchecker4_FVR2_1705
AD8314用(FVR=1.024V) は RFchecker4_FVR1_1705

  1. 2017/11/25(土) 19:45:15|
  2. 2.4GHzラジコン
  3. | コメント:0
次のページ

プロフィール

大泉茂幸

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

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

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

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

カテゴリ

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

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

QRコード

QR