FC2ブログ

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

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

「PICプログラマー」と「USB-シリアル変換器」の64ビット対応

長年使って来たWinXPのPCが老朽化してきたため、今春Win8.1(64ビット)のPCを購入した。ようやくWin8.1にも慣れてきたので開発環境を移行した。ところが、PICプログラマーのUSBドライバーを組み込むときに「サードパーティのINFにデジタル署名情報が含まれていません」と組み込みを拒否されてしまった。グーグル先生に訊いたら、64ビットOSではドライバーの組み込み時にはデジタル署名が必須で、それには、VeriSignなどのroot証明機関からデジタル証明書を入手し、カタログファイルにデジタル署名するのだそうだ。

自作の PICプログラマー はMicrochip社のUSBフレームワークのCDCクラスを使っていて、それはWin標準のUSBドライバーを使っている。そのため、アプリの開発側はinfファイルを用意するだけでよい。しかし64ビットOSでは上記の理由で、デジタル署名情報を含んだcatファイルも用意しなければならなくなった。今までソフト開発はすべてタダでやってきたのに、これからは莫大な費用が掛かるということだ。アマチュアとしては技術的課題よりもコストの方がより大きい問題だ。

解決策として、infファイルとcatファイルのカスタマイズは諦めて、Microchip社のアプリケーションライブラリに同梱されているものをそのまま使うことにした。そうすることのデメリットは、ドライバーの組み込み時やデバイスマネージャで表示されるデバイスの名前が自分のオリジナルなものでなく、Microchip社の内容になってしまうということだ。それと、PICプログラマー以外に同じフレームワークを使ったアプリケーション(例えば USB-シリアル変換器) を同時に使うと同じ名前で表示されるので区別がし難くなることだ。まぁ、タダで済ませるには仕方がない。

改修が完了したので、このブログの記事 「PICプログラマーの製作(後編)」 と 「USB-シリアル変換器の製作」 を更新しておいた。改修後の開発資材一式もストレージサービスにアップしたので、ご自由に持って行って下さい。
スポンサーサイト
  1. 2014/08/25(月) 10:53:36|
  2. プログラマー
  3. | コメント:0

Toy赤外線リモコンの信号フォーマット

おもちゃの赤外線リモコンの信号フォーマットについてだが、おもちゃ毎にいろんなタイプのものがあり統一性が無い。そのため、おもちゃの病院での調査事例を羅列する。

収録内容

(1)タカラトミー社Q-STEER

(2)CCP社REAL DRIVE nano

(3)Silverlit社赤外線リモコンカー

(4)Protocol社TurboHawk3チャンネルIRCヘリ



(1)タカラトミー社Q-STEER
Toy赤外線リモコンの信号フォーマットQ-STEER外観

【実測波形】
送信機からの赤外線を赤外線受信モジュールで受信し、その出力信号を観察しているので、信号波形は負論理で表示されている。

フレーム(バンドA)
Toy赤外線リモコンの信号フォーマットQ-STEER波形1

フレーム(バンドB)
Toy赤外線リモコンの信号フォーマットQ-STEER波形1-2

その他のバンドについても実測した結果は以下の通り。

バンド フレーム長 第1データから第2データまでの間隔
A   122ms   18ms
B   128ms   32ms
C   128ms   48ms
D   136ms   68ms

複数台の送信機が同じタイミングで送信すると赤外線信号がぶつかりあって伝送化けしてしまうが、各バンドでデータの送信タイミングをずらせることで、ぶつかりあっても次の伝送タイミングではぶつからないようにしている。

バンドA・前進の信号
Toy赤外線リモコンの信号フォーマットQ-STEER波形2
第1データと第2データは同じデータを送信している。
送信機の同じボタンを押したままにすると、同じフレームが繰り返し送信される。

上記の拡大
Toy赤外線リモコンの信号フォーマットQ-STEER波形3
送信機を操作してみて信号波形の変化を観察した結果、先頭のバルスから順に、リーダー、バンド、ファンクションを表していることが判った。Hの期間は0.45msで一定。Lの期間が変化し、以下の値である。
リーダー部は 1.7ms
ビット値0は 0.45ms
ビット値1は 0.9ms

【コード値の分析】
送信機を操作してみてビット値の変化を観察して、コード値を割り出した。最左パルスがMSBに対応する。
バンドのコード値は
バンドA 00
バンドB 01
バンドC 10
バンドD 11

ファンクションのコード値は
↑   0001
↓   0010
←   0011
→   0100
↑T  0101
↑←  0110
↑→  0111
↑←T 1000
↑→T 1001
↓←  1010
↓→  1011
↓T  1100
↓←T 1101
↓→T 1110
T   1111

0000のコードは未割り当てである。

【フレーム(ストップ)】
Toy赤外線リモコンの信号フォーマットQ-STEER波形4
通常コードのフレームから約40ms後にストップコードのフレームが出る。ストップコードはターボのコードと同じだが、何故そのような設計なのかは判らない。
ストップコードのフレーム周期は約140msで、2個のフレーム(4個のデータ)が出る。

赤外線リモコンでは、他のバンドとぶつかったり、物陰に入ったりして、データ受信が途切れることがある。その都度、停止していると動きがギクシャクしてしまう。そのため、データ受信が途切れても、ある程度の時間(数100ms)は前の動作を継続させるようにしている。しかし、送信機のボタンを離して明示的に停止させる場合は速やかに停止しなければならない。そこで、送信機のボタンを離したときはストップコードを送信するようになっている。

【フレーム(ストップ)の拡大】
Toy赤外線リモコンの信号フォーマットQ-STEER波形5

Toy赤外線リモコンの信号フォーマットQ-STEER波形6

Toy赤外線リモコンの信号フォーマットQ-STEER波形7

【製作例】
Q-STERRと信号フォーマットの互換性のあるエンコーダ/デコーダを作って、赤外線リモコン送信機/受信機のセットを製作した。詳細は「 赤外線リモコン送信機・受信機の製作 」を参照。



(2)CCP社REAL DRIVE nano
Toy赤外線リモコンの信号フォーマットCCPnano外観

REAL DRIVE nanoの信号フォーマットは、操縦の方向が逆になっている以外は、Q-STEERと同じである。
操縦の方向とは、前後左右の方向のことで、例えば、REAL DRIVE nanoの送信機で前進の操作をすると、Q-STEERの後退に該当するコードが送信される。左右も逆になっている。バンドのコードとターボ・ストップコード、フレーム(ストップ)は同じである。つまり、プロトコルはマイコンのファームに依存するので、同じチップを使っている限り同じになるが、デコード出力(Hブリッジへの信号線)の配線が入れ違っているということだろう。送信機側のボタンの配線が入れ違っているのかも知れない。

【実測波形】
ここでは赤外線受信モジュールは使わず、フォトダイオードで赤外線信号を受信している。信号波形は正論理で表示されている。

キャリア
Toy赤外線リモコンの信号フォーマットCCPnano波形1
赤外線モニターの周波数特性が悪く、波形がかなり鈍っているが、キャリア周波数は38KHzであることが確認できる。

フレーム(バンドA)
Toy赤外線リモコンの信号フォーマットCCPnano波形2

バンドA・前進の信号
Toy赤外線リモコンの信号フォーマットCCPnano波形3
000010が出力されており、Q-STERRのバンドA・後退に該当する。

バンドA・後退・ターボ・左ステアの信号
Toy赤外線リモコンの信号フォーマットCCPnano波形4
001001が出力されており、Q-STEERのバンドA・前進・ターボ・右ステアに該当する。



(3)Silverlit社赤外線リモコンカー
Toy赤外線リモコンの信号フォーマットSilverlit外観

【実測波形】
送信機からの赤外線を赤外線受信モジュールで受信し、その出力信号を観察しているので、信号波形は負論理で表示されている。

フレーム
Toy赤外線リモコンの信号フォーマットSilverlit波形1
フレーム周期は約140ms

停止時の信号
Toy赤外線リモコンの信号フォーマットSilverlit波形2
フレーム長は22ビット(リーダー含む)

停止時の信号の先頭部分
Toy赤外線リモコンの信号フォーマットSilverlit波形3
各ビットはデューティはほぼ50%の矩形波

停止時の信号の後尾部分
Toy赤外線リモコンの信号フォーマットSilverlit波形4
ビット値0は周期約1.2ms
ビット値1は周期約2.5ms

【エンコードルールの分析】
フレーム長が長いので手作業で分析するのは困難なため、マイコンに分析をさせることにする。フレーム終了後のHの継続を検出をトリガとして、遡ってフレーム開始からのビット数とビット値を評価する。得られたデータを16進表示でPCのシリアルポートへ送る。これをPC側のTeraTermで受けて画面に表示する。データの羅列からエンコードルールを見出すのは人がやる。

[chを変化させたときのデータの変化]
(サンプル)
chA : 0x300000
chB : 0x340004
chC : 0x380008

(ルール)
          A  B  C
b19-18 : 00-01-10

[ドライブを変化させたときのデータの変化]
(サンプル)
前進 : 0x3B800C
     0x3B4000
停止 : 0x39C000
     0x38400C
後退 : 0x380008

(ルール)
          後退               停止                前進
b17-14 : 0000-0010-0100-0110-1000-1010-1100-1110
[ステアを変化させたときのデータの変化]
(サンプル)
右 : 0x380C04
    0x380800
中 : 0x380008
    0x380200
左 : 0x380604

(ルール)
         左           中           右
b11-9 : 011-010-001-000-100-101-110

【デコーダの製作例】
このプロトコルに準拠したデコーダを製作して、故障したデコーダに換装した事例がある。詳細は「 ラジコンの修理(送信機受信機ミスマッチの改造1) 」を参照。



(4)Protocol社TurboHawk3チャンネルIRCヘリ
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ外観

【実測波形】
送信機からの赤外線を赤外線受信モジュールで受信し、その出力信号を観察しているので、信号波形は負論理で表示されている。

フレーム
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ波形1
フレーム周期は150ms

データ
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ波形2
リーダーは1.6msのL
ビット値0は周期が0.8ms
ビット値1は周期が1.6ms

【プロトコルの分析】
フレーム長が長いので手作業で分析するのは困難なため、マイコンに分析をさせることにする。データ終了直後のHの継続を検出すると、遡ってフレーム開始からのビット数とビット値を評価する。得られたデータを16進表示でPCのシリアルポートへ送る。これをPC側のTeraTermで受けて画面に表示する。データの羅列からエンコードルールを見出すのは人がやる。

送信機の操作による赤外線信号の変化をMSBファーストで表示
[スロットルを変化]
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ分析1

[ラダーを変化]
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ分析2

[エレベータを変化]
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ分析3

[バンドを変化]
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ分析4

[分析結果]
Toy赤外線リモコンの信号フォーマットProtocol社IRCヘリ分析5

上記の(*3)については未解明である。デコーダの製作では無視すればよいが、エンコーダの場合は確たる値を設定しないとニセモノだと見抜かれてしまった。
  1. 2014/08/21(木) 20:30:49|
  2. 赤外線リモコン
  3. | コメント:0

Toyラジコンの信号フォーマット

デジタル化されたToyラジコンの信号フォーマットを明らかにしたいのだが、規格は統一されていないようで、チップ毎に異なるのが現状だ。また、殆どのチップがCOBで実装されていて、分類しようにも名無しの権兵衛ではやりようが無い。そのため、経験した中で主な事例を羅列するに留めておく。

収録内容

(1)TX2/RX2

(2)CCP社瞬足バギー

(3)CCP社REAL DRIVE



(1)TX2/RX2

「TX2/RX2」は、Toyラジコンの基板でよく見かける5アクションリモートコントロールICである。オリジナルソースはREALTEK社だが、ActionsSemiconductor社やHIGHLAND ELECTRONICS社などからセカンドソースが供給されている。このICの信号フォーマットはICのデータシートに記載されている。データシートを参照、ということで話は終わってしまうのだが、ここでは実測波形も掲げておく。

【REALTEK社TX2/RX2データシートから抜粋】

Toyラジコンの信号フォーマットTX2RX2CodeFormat

Toyラジコンの信号フォーマットTX2RX2DataFormat

Toyラジコンの信号フォーマットTX2RX2EncodeDecordeTiming

【実測波形】
Toyラジコンの信号フォーマットTX2RX2RadiCan外観

Toyラジコンの信号フォーマットTX2RX2RadiCan波形1

Toyラジコンの信号フォーマットTX2RX2RadiCan波形2

【補足】
送信機を操作している間は、絶え間なくコードが送出される。そのため、超再生検波回路で安定にコードを受信することができる。

【製作例】
TX2/RX2と信号フォーマットの互換性のあるエンコーダ/デコーダを作って、ラジコン送信機/受信機のセットを製作した。詳細は「 ラジコン送信機・受信機の製作 」を参照。



(2)CCP社瞬足バギー
Toyラジコンの信号フォーマットCCP1外観

【信号波形】
実測波形
Toyラジコンの信号フォーマットCCP1波形1

先頭部分の拡大
Toyラジコンの信号フォーマットCCP1波形2

後尾部分の拡大
Toyラジコンの信号フォーマットCCP1波形3

【信号フォーマット分析】
信号フォーマットを分析するため、デコードルールを仮に以下のようにしてに評価プログラムを作ってデコードをしてみる。
ⅰ.Hパルス巾が108us以下のとき、ビット値は0
ⅱ.Hパルス巾が208us以下のとき、ビット値は1
ⅲ.Lパルス巾が400us以上のときデコード終了
ⅳ.デコードしたビット数が23に満たない場合はフレームエラー

コード分析
仮のデコードルールでデコードしてみた結果は以下のとおり。表中の「T」はターボを意味する。

Toyラジコンの信号フォーマットCCP1分析1

プロトコル
コード分析の結果から、プロトコルを割り出した。
Toyラジコンの信号フォーマットCCP1分析2

デコーダは上記のプロトコルで実装すればよいが、エンコーダは先頭部分のパルス巾は実測波形に合わせて実装するのがよいと思う。(この記事はデコーダ故障の修理事例から拾っているので、エンコーダの試作はしていない)





(3)CCP社REAL DRIVE
Toyラジコンの信号フォーマットCCP2外観

【信号波形】
実測波形
Toyラジコンの信号フォーマットCCP2波形1
フレーム周期は約58ms

Toyラジコンの信号フォーマットCCP2波形2
パルスのLの巾でビット値を表す。
リーダーは380us
ビット値0は100us
ビット値1は200us

【信号フォーマット分析】
信号フォーマットを分析するため、デコードルールを仮に以下のようにしてに評価プログラムを作ってデコードをしてみる。
ⅰ.Lの巾が150us未満のとき、ビット値は0
ⅱ.Lの巾が150us以上のとき、ビット値は1
ⅲ.Hの巾が500us以上のときフレーム終了
ⅳ.フレーム終了から遡って24ビット分をデコード値とする。24ビットに満たない場合はフレームエラー

コード分析
仮のデコードルールでデコードしてみた結果は以下のとおり。

Toyラジコンの信号フォーマットCCP2分析1

プロトコル
コード分析の結果から、プロトコルを割り出した。
Toyラジコンの信号フォーマットCCP2分析2

【補足】
超再生検波波形
Toyラジコンの信号フォーマットCCP2波形3
上側の波形が送信機の変調信号、下側の波形が受信機の復調信号である。このラジコンでは、変調信号が無い期間はキャリアも出さない、間欠送信方式であった。超再生検波では、キャリアが無い期間は検波出力に大きなクエンチングノイズが現れる。そのため、受信側ではクエンチングノイズに惑わされて変調信号の開始(フレームの開始)位置が正しく掴めないこととなる。しかし、キャリアが途切れた直後はクエンチングノイズが抑えられるので、その無信号の期間をフレームの終了と認識して、そこから遡ってビット値を評価すると正しくデコードできる。
  1. 2014/08/21(木) 14:41:31|
  2. レガシーラジコン
  3. | コメント:0

レガシーToyラジコンの信号フォーマット

今は昔、昭和時代のToyラジコンで使われていた信号フォーマットについてのお話。おもちゃの病院には何10年も前の古~いラジコンが持ち込まれることがある。そんなとき、若い(年齢ではなく、なりたての)おもちゃドクターは診たことがない信号方式に戸惑ってしまう。フルアクションの操縦性は現代のデジタル式と同じだが、信号フォーマットはまったく違っている。

レガシーToyラジコンの信号フォーマットには、 「2トーン+デューティ式」 と 「4トーン式」 の2つのタイプがある。殆どはこれらのどちらかであり、経験上は 「2トーン+デューティ式」 の方が主流である。

デジタル式に移る過渡期にはアナログとデジタルの中間的な方式もあった。

収録内容

(1) 2トーン+デューティ式

(2) 4トーン式

(3)CCP社REAL DRIVE



(1) 2トーン+デューティ式
①前進、後退のアクションに個別のトーンを割り当てる。
トーン実測例 前進:408Hz 後退:952Hz
ステア操作によって±10%程度変動する。
トーンの波形は矩形波であり、矩形波には奇数次高調波が多く含まれるので、トーンの周波数は3倍に一致しないように設定されている。

②ステアリングはデューティで表す。ニュートラルは約50%デューティとなる。
デューティ実測例 左ステア:28% ニュートラル:54% 右ステア:78%

③送信機をステアのみ操作してもトーンが出ないので、ステアは動作しない。

④実測波形

【前進】
レガシーToyラジコンの信号フォーマット波形2トーン+デューティ前進

【前進+右ステア】
レガシーToyラジコンの信号フォーマット波形2トーン+デューティ前進+右ステア

【前進+左ステア】
レガシーToyラジコンの信号フォーマット波形2トーン+デューティ前進+左ステア

【後退】
レガシーToyラジコンの信号フォーマット波形2トーン+デューティ後退

【後退+右ステア】
レガシーToyラジコンの信号フォーマット波形2トーン+デューティ後退+右ステア

【後退+左ステア】
レガシーToyラジコンの信号フォーマット波形2トーン+デューティ後退+左ステア

⑤エンコーダ
ディスクリートで組まれたものが多い。
マルチバイブレータのベース抵抗を切り替えてデューティを変化させる。
フィードバックコンデンサの容量を切り替えてトーンを変化させる。

⑥デコーダ
TAIYOやNIKKOなどの専用ICで組まれている。
ディスクリートでは回路が嵩張ってしまうので小型化できないし、コスト的に不利になると思われる。



(2) 4トーン式

①前進、後退、右ステア、左ステアの4つのアクション毎に個別のトーンを割り当てる。
トーン実測例 前進:38Hz 後退:200Hz 右ステア:759Hz 左ステア:2590Hz

②各トーンはデューティ50%の矩形波である。
矩形波には奇数次高調波が多く含まれるので、周波数が3倍に一致しないように設定されている。

③前進/後退から1つのトーン、または、それに右ステア/左ステアから1つのトーンを重ねて出す。

④送信機を右ステア/左ステアのみを操作すると、対応する1つのトーンが出て、ステアのみが動作する。

⑤実測波形

【前進】
レガシーToyラジコンの信号フォーマット波形4トーン前進

【前進+右ステア】
レガシーToyラジコンの信号フォーマット波形4トーン前進+右ステア

【前進+左ステア】
レガシーToyラジコンの信号フォーマット波形4トーン前進+左ステア

【停止】
レガシーToyラジコンの信号フォーマット波形4トーン停止

【右ステアのみ】
レガシーToyラジコンの信号フォーマット波形4トーン右ステアのみ

【左ステアのみ】
レガシーToyラジコンの信号フォーマット波形4トーン左ステアのみ

【後退】
レガシーToyラジコンの信号フォーマット波形4トーン後退

【後退+右ステア】
レガシーToyラジコンの信号フォーマット波形4トーン後退+右ステア

【後退+左ステア】
レガシーToyラジコンの信号フォーマット波形4トーン後退+左ステア

⑥エンコーダ
標準ロジックICの4069を使って、インバータ2個を1組として、2つの矩形波発振器を構成し、前進/後退と右ステア/左ステアのトーンを発生させる。
時定数回路の抵抗を切り替えてトーンを変化させる。
標準ロジックICをアナログ的に使用するため、トーン周波数にバラつきが生じる。また、受信側のバラつきにも対応するため、時定数回路の抵抗は半固定抵抗が使われる。

⑦デコーダ
4回路入りOPアンプの324を使って、バンドパスフィルターを4個構成し、4つのトーンを弁別させる。



(3)CCP社REAL DRIVE

「REAL DRIVE」はおもちゃの名前であって、方式の呼び名ではない。このラジコンは現在はデジタル式になっているが、ここで示すのはデジタル化する前のREAL DRIVEである。

【信号フォーマット】

①信号波形は以下のようになっている。
ラジコン修理ミスマッチ診察5

②T1~T4の周期を持つ2つのパルスが一組となって、これらが繰り返して送られて来る。
③T1とT3は固定されている。T1>T3であり、ドライブ/ステアリングを区別している。
  T1は約0.8ms、T3は約0.4ms
④T2がドライブの量を表している。
  前進は約0.3ms、後退は約1.2ms、停止は約3.2ms
⑤T4がステアリングの量を表している。
  左折は約0.5ms、右折は約1.6ms、中立は約3.7ms
⑥送信機のドライブのみ、あるいはステアリングのみを操作した場合でも、T1~T4が送られて来る。
⑦送信機のドライブとステアリングの両方が操作されないとき(共にニュートラル位置のとき)は信号が中断し、電波が出なくなる。

【実測波形】
 下図がエンコード信号の実測波形である。波形を一定のレベル(赤線)でスライスし、整形したイメージを実測波形の下(青線)に示す。

ラジコン修理ミスマッチ診察4

⑧パルス巾を評価することでデコードするので、現在はマイコンで作るのが合理的である。製作例は「 ラジコンの修理(送信機受信機のミスマッチ) 」を参照。
  1. 2014/08/20(水) 08:40:44|
  2. レガシーラジコン
  3. | コメント:0

対面修理と預かり修理

おもちゃの病院での修理には2つのやり方がある。

「対面修理」 → ドクターが子どもと対面して、子どもの見ている前で治すやり方。
「預かり修理」 → おもちゃを一旦預かって修理し、後で引き取りに来て貰うやり方。
両者を併用することもある。
これ以外に、宅配で受け付けている病院などもあるが、ここでは論外とさせていただく。

「対面修理」では
ドクターが治している様子が見られる。
治るまで見ていないといけない。

「預かり修理」では
ドクターが治している様子が見られない。
預けたらすぐに帰れるが、引き取りにもう一度来なければならない。

どちらでもよいようだが、僕は「対面修理」に拘っている。

おもちゃの病院の目的の一つに「子どもの科学心を育む」ということがある。

①おもちゃドクターは技術を駆使しておもちゃを治して見せて、子どもを驚かせる。

②子どもは、「おもちゃドクターって凄い」と感動し、自分でおもちゃを弄ってみるようになる。

③おもちゃの仕掛けを見て、科学技術に興味を持ち、やがては技術街道を歩むようになる。

④将来は技術者になって、技術立国日本を背負って立ち、我々の年金生活を支えてくれる。

という展開を期待して、僕は絶対に「対面修理」派だ。

時間が掛かる場合や部品調達などでやむを得ず預かることもあるが、その場合はカルテ(内容はこのブログのカテゴリ「おもちゃの修理事例」に書いているようなこと)をおもちゃと一緒にお渡しして、修理の過程を十分に説明するようにしている。
  1. 2014/08/18(月) 20:51:37|
  2. おもちゃ病院
  3. | コメント:0

Irリモコンロボットカーの修理(配線コード断線、バネ欠落)

1.患者
Irリモコンの変身ロボットカー(商品名は不明)
Irリモコンロボットカー(配線コード断線、バネ欠落)外観1

変身後はこうなる
Irリモコンロボットカー(配線コード断線、バネ欠落)外観2

2.症状
①送信機を操作しても、動かない。

②送信機の右側ボタン(変身指令のボタンと思われる)が押せない。

3.診察
①送信機を開けると、基板の右側が、プラ基台から1mm程度浮いていた。そのため操作ボタンと干渉し押せなくなっていた。プラ基台から浮いていた原因は、基板とプラ基台の間に電源コードが挟まっていたため。
Irリモコンロボットカー(配線コード断線、バネ欠落)診察1

②送信機の赤外線をモニタすると、赤外線は飛んでいた。プロトコルは判らないが、ボタン操作によって規則的に変化するので、送信機は動いているようだ。

③車の電源電流は約2mA流れていて、電源は繋がっているようである。しかし、送信機を操作しても電流値に変化がなく、回路が働いていないようだ。

④車のハウジングを外して動作確認したら、動いたり動かなかったりした。ルーズコンタクトではないかと、基板周りの配線経路を点検したら、赤外線受信モジュールの配線が、変身動作時に屈曲する部分で断線しているのを発見した。別のコードで曲率半径を大きくとって配線した。

Irリモコンロボットカー(配線コード断線、バネ欠落)診察2

⑤送信機の操作でモーターが正逆転することを確認して、車のハウジングを戻してテスト走行したところ、右側のタイヤの動作がおかしい。機構を調べると、前進指令のときは左右とも前進回転する。変身指令するとモーターが逆転し、左側だけが後退回転し、右側はラチェット機構により動力伝達が遮断される仕組みである。動作がおかしいのは、前進指令のとき右側タイヤが回転しないことだ。右側を上にすると正しく動き、下にするとラチェットが外れてしまうようだ。

⑥チェット機構を診ると、ラチェットを押し付けるバネがあるべきなのに、それが無いことが判った。それで、右側を下にするとラチェットが外れてしまうのだ。手持ちのバネを取り付けて、ラチェット機構の問題は解消した。
Irリモコンロボットカー(配線コード断線、バネ欠落)診察3

4.治療

診察の過程で、下記3か所の不具合を修正して、動作は良好になった。

①送信機の基板取り付けのやり直し。

②受信機の赤外線受信モジュールの配線コード交換。

③車のラチェット機構で欠落していたバネは、代替品を装着。

5.おまけ

診察のついでに、赤外線信号のプロトコルを調査した。

【フレーム(バンド1)】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル1
フレーム長は160ms
第1データから第2データまでは20ms

【フレーム(バンド2)】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル2
第1データから第2データまでは40ms

【フレーム(バンド3)】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル3
第1データから第2データまでは60ms

【データ】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル4
リーダーは4ms
データ長は4ビット
値0は0.5ms
値1は1ms

【バンド1前進】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル5

【バンド2前進】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル6

【バンド3前進】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル7

【バンド1変身】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル8

【バンド2変身】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル9

【バンド3変身】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル10

【バンド1ストップ】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル11

【バンド2ストップ】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル12

【バンド3ストップ】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル13

コード分析結果
b’ABCD’
    AB:機能コード
       前進=01
       変身=10
       ストップ=11
    CD:バンド番号
       バンド1=00
       バンド2=01
       バンド3=10

【ストップフレーム(バンド1)】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル14
通常コードからストップコードまでの間隔は110ms
ストップコードのフレーム長は通常コードのときと同じ
ストップコードの第1データから第2データまでは通常コードのときと同じ
ストップコードは2フレーム(4データ)送出される

通常コード部の拡大
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル15

ストップコード部の拡大
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル16

Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル17

【ストップフレーム(バンド2)】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル18
通常コードからストップコードまでの間隔は120ms
ストップコードのフレーム長は通常コードのときと同じ
ストップコードの第1データから第2データまでは通常コードのときと同じ
ストップコードは2フレーム(4データ)送出される

【ストップフレーム(バンド3)】
Irリモコンロボットカー(配線コード断線、バネ欠落)プロトコル19
通常コードからストップコードまでの間隔は80ms
ストップコードのフレーム長は通常コードのときと同じ
ストップコードの第1データから第2データまでは通常コードのときと同じ
ストップコードは2フレーム(4データ)送出される
  1. 2014/08/17(日) 06:44:15|
  2. メカ修理
  3. | コメント:0

デジタルプロポの信号フォーマット

Hobbyラジコンではプロポーショナルな制御が可能なプロポ方式が使われているが、Toyラジコンではあまり使われていない。そのため、今まではプロポについての資料を公開していなかった。しかし、最近、プロポを使ったおもちゃ(モリタニRCカー「童夢・零」、World Of Wonderマザーグース「お話しガチョウ」)について問い合わせが続いたので、この際、資料を公開することにした。
信号規約の話なので、「プロポ信号仕様書」なんていうのがどこかにあるはずだ、と探したのだがどうにも見付からない。仕方なく自分でドキュメントを起こした訳だ。だから、絶対に正しいかと言われると「経験値だ」と答えるしかない。現にメーカー間でタイミング値に違いがあるので、実装時には接続先への合わせ込みが必要な場合がある。
ラジコン送信機/受信機用IC(沖MSL9362RS/MSL9363RSなど)、また、サーボアンプ(NEC社uPC1035C、TI社SN76604Nなど)のデータシートにプロポ信号のタイミングの記述があり、これらも参考になる。

ところで、世間では 「デジタルプロポ」 と呼ばれているが、全くデジタルではない。隣り合うパルス間の時間というアナログ量で操作角を伝えている。 「名が体を表していない」 のだ。技術者ならこんな名付けはしないと思う。

【プロポ信号】
デジタルプロポ信号説明図1

①フレーム周期は20msで固定である。
②1フレームは (実装ch数+1) 個のパルスで構成される。
③パルス巾は約250usで固定である。
④4ms以上のブランク期間がフレームの区切りとなる。
 デコーダの実装上は3msを閾値とする。
⑤1番目のパルスから2番目のパルスまでの間隔がch1の値を表す。端的に言えばPPMということ。
⑥2番目のパルスから3番目のパルスまでの間隔がch2の値を表す。
⑦以降、同様に実装ch数の分だけ繰り返す。
⑧各chの巾は1ms~2msの範囲で送信機のスティック操作角に比例して変化する。
 1.5msが中央値を表す。
⑨フレーム周期の20msの中に収容可能なch数は8までとなる。
 8ch実装時に、すべてのchの巾が最大値の2msになった場合、ブランク期間は最小値の4msになる。
⑩送信機と受信機の実装ch数が異なる場合でも、上記の規約に従っていれば、少ない方のch数で操縦が可能である。
 例えば、4ch送信機で2ch受信機の操縦は全く問題ない。

【送信出力】
デジタルプロポ信号説明図2

①送信電力を稼ぐため負変調している。


以下に実測波形を掲げる。

【2ch実装時の信号波形】
デジタルプロポ信号波形1

【8ch実相時の信号波形】
デジタルプロポ信号波形2

【2ch実装時の時間軸を拡大】
デジタルプロポ信号波形3

【ch1を最小値】
デジタルプロポ信号波形4

【ch1を最大値】
デジタルプロポ信号波形5

【ch2を最小値】
デジタルプロポ信号波形6

【ch2を最大値】
デジタルプロポ信号波形7

【8ch実装ですべてのchを最小値】
デジタルプロポ信号波形8

【8ch実装ですべてのchを最大値】
デジタルプロポ信号波形9

【2ch実装の場合の送信出力】
デジタルプロポ信号波形10

【8ch実装の場合の送信出力】
デジタルプロポ信号波形11

【エンコード回路の例】
今の時代ならマイコンで作るのがスマートだが、昔はディスクリートで組んでいた。信号規約の通りにブロックを並べた感じだ。

ブロック図
デジタルプロポの信号フォーマットエンコーダブロック図

回路図
デジタルプロポの信号フォーマットエンコーダ回路図

【デコード回路の例】
デコーダも今ではマイコンで作るだろうが、昔は標準ロジックを使って組んでいた。シリアルイン・パラレルアウトのシフトレジスタで、パルス間隔をパルスの順番に対応して取り出すことができる。

Dタイプフリップフロップを使った例(この構成が最も多い)

回路図
デジタルプロポの信号フォーマットデコーダ1回路図

タイミングチャート

デジタルプロポの信号フォーマットデコーダ1タイミング


4ビットシフトレジスタを使った例

回路図
デジタルプロポの信号フォーマットデコーダ2回路図

タイミングチャート

デジタルプロポの信号フォーマットデコーダ2タイミング

8ビットシフトレジスタを使った例

回路図
デジタルプロポの信号フォーマットデコーダ3回路図

タイミングチャート

デジタルプロポの信号フォーマットデコーダ3タイミング
  1. 2014/08/15(金) 12:10:10|
  2. レガシーラジコン
  3. | コメント:0

おもちゃの修理は保守サービスなのか

おもちゃの病院での活動を振り返って、思っていることを述べる。

おもちゃの修理は保守サービスなのか、ということだ。

製品の保守サービスの在り方はこうだ。
①メーカーが提示する手順に従って、故障切り分けを行い、不良部品を特定する。
②メーカーが支給する部品と交換することで、出荷時の機能・性能に回復させる。
ここで重要なことは、現場で修理方法を考えたり、部品を作ったりしてはならない。現場では、指定された手順を忠実に守り、交換作業のみを行う。これは工場出荷時の品質を担保するため、それと作業者による品質のバラ付きを排除するためだ。

では、おもちゃ病院の実態はというと、次のケースが殆どだ。
①メーカーからは故障切り分け手順や設計情報は開示されない。
②メーカーから交換部品の提供はない。
このため、現場のおもちゃドクターはメーカーには頼らず、一人ひとりが創意工夫を凝らして、代替部品を探して、なければ自作してできるだけ元の機能・性能を取り戻そうと努力する。

おもちゃの修理は保守サービスか

製品の保守サービスは製造・加工にはあたらずPL法の対象にはならない。一方おもちゃ病院でやっていることは諸に製造・加工でありPL法の対象になる。製造者責任を問われたときの唯一の抗弁事由として、「製造物をその製造業者等が引き渡した時における科学・技術の知見(解釈上、その時点における最高水準の知見と解されている)によっては、欠陥があることを認識できなかった場合」がある。逆に言えば、おもちゃドクターは科学・技術の最高水準の知見を以っておもちゃの修理(製造・加工)にあたらなければならない、ということだ。

PL法で要求されていることは至極当たり前のことだが、現実には、おもちゃ病院ではこのことがなおざりにされている。例えば、電子デバイスや電子回路の知識が乏しいにも拘わらず、おもちゃの電子回路を弄っている。「絶対最大定格ってなぁーに」 というレベルの人も、中には半田付けがおぼつかない人もいる。こんな人は自分自身のおもちゃか、孫のおもちゃの修理に留めておくべきだ。決してよそ様のおもちゃに手を出してはいけない。

スキルレベルの低い人に、おもちゃドクターを辞めなさいと言っているのではない。必要なスキルを身に付けてからやって欲しいのだ。また、例えば電子回路のスキルが無くても、電池受け金具の錆落としやギヤ交換、破損した構造体の修理など、やれることは多くある。身の丈以上のことをやって不適切な修理をするな、ということだ。スキルアップに応じて対象範囲を広げていけばよい。

最善の解決策は、最高水準の知見を持つべく自らスキルアップを図ることだ。おもちゃ病院は老人達の憩いの場ではない。年齢性別を問わず技術者の自己実現の場として、切磋琢磨し成長し続けるおもちゃドクターで在りたいと思っている。
  1. 2014/08/14(木) 14:02:05|
  2. おもちゃ病院
  3. | コメント:1

USB-シリアル変換器の製作

マイコンのデバグ情報を取り出したり、マイコンとPCを繋いだシステムを作るとき、昔ながらの非同期シリアルで簡易に繋ぎたい。しかし、最近のPCにはシリアルポートが装備されていないものが多い。そこで、USB-シリアル変換器を使うことになるのだが、市販のUSB-シリアル変換器はシリアル側の信号レベルがRS-232Cになっている。マイコンに繋ぐには更にRS-232Cからロジックレベルへの変換が必要になる。USB-シリアル変換器の中ではロジックレベルなのに、それをRS-232Cレベルに変換して外に出し、マイコン側で再びロジックレベルに戻す、ということをやる訳だ。1mもない距離では、わざわざRS-232Cレベルにする必要はない。コスト的なことよりも、そんな無駄なことをすることが許せない。
という訳で、ロジックレベルでインタフェースするUSB-シリアル変換器を作った。

USB-シリアル変換器の製作外観

【設計】
(1)USBフレームワーク
①Microchip社のUSBフレームワークのCDC-SerialEmulatorをベースにカスタマイズする。カスタマイズ箇所はソースコードにコメント「shige」で示している。

②通信パラメータ設定やハンドシェイク機能の設定はCDC-SerialEmulatorが提供する範囲で実現する。

③USB-Comエミュレーションしか行わないので、制御マイコンには必要最小限の機能・性能で小型・廉価な18F14K50(2013年秋月価格170円)を採用する。

④デバイスドライバはWindows標準のUSBドライバが使われる。64ビットOSではデジタル署名されたcatファイルが必須になるため、infファイルのカスタマイズは諦めて、Microchip社のUSBフレームワークのCDC-SerialEmulatorの添付ファイルをそのまま使うことにする。従って、デバイスドライバの組み込み時に表示される文字列はMicrochip社のUSBフレームワークのCDC-SerialEmulatorの内容になるが仕方がない。

(2)サポートする機能は以下のとおり。
①通信パラメータはボーレートのみ設定可能とし、ビット長:8・パリティ無し・ストップビット:1は固定とする。

②ハードウェアフロー制御を可能とし、制御無しも可能とする。

③制御信号(DTR、DTS、RTS、DCD、CTS、CI)をサポートする。 ⇒現在CIは未サポート

④エラー検出(FERR、OERR)をサポートする。 ⇒現在は未テスト

⑤ブレーク検出をサポートする。 ⇒現在は未テスト

(3)USBバスパワー
①この変換器自体はPCからのUSBバスパワーで動作する。

②この変換器からターゲットのマイコンシステムへ5Vまたは3.3Vの電源供給を可能とする。

(4)回路図

USB-シリアル変換器の製作回路図

①機能設定のためのショートピンを設けている。

②CTSは、ハンドシェイクをしない応用を考えて、無接続時にはLとなるようにプルダウンしている。

【製作】
基板部品面
USB-シリアル変換器の製作基板1

基板半田面
USB-シリアル変換器の製作基板2

【ダウンロード】
詳細な製作資料とファームウェアの開発プロジェクトは ここから ダウンロードできる。
  1. 2014/08/11(月) 18:19:32|
  2. USB-シリアル変換
  3. | コメント:0

おもちゃ病院での治癒率向上の取り組み

おもちゃの病院へ来てくれたおもちゃは100%治したい。そして、元気になって帰って行って欲しい。
しかし、中には治癒不能となってしまうおもちゃもある。では、どんなおもちゃが治癒不能になってしまうのか、現状分析から始めよう。

下の表は、カルテから治癒不能と診断されたおもちゃをピックアップしたものだ。それによると、18件が音声再生やマイコンなどのIC不良、10件がギア破損である。この2つを合わせると28件で、全体54件の過半数を占めている。

治癒率向上の取り組み治癒不能分析

ICもギアも代替品が入手できないのが治癒不能の理由である。それでは、代替品を作ればよいではないか、と考えた。

【ICを作る】
ICは、この頃流行りの1チップマイコンで換装する。このやり方は昔からあったもので、考え方に新規性は無い。お金さえ出せば実現し得たものだ。しかし、時代とともにマイコンが低価格化してきたことと機能・性能が格段に向上してきたことで、100円以下の1チップマイコンで電子オルゴールやラジコンデコーダなどが作れるようになった。おもちゃメーカー側も同じことで、原価を抑えながら高機能化できるマイコン制御のおもちゃを多く作るようになってきた訳だ。要は、おもちゃドクターは世の中の技術の進歩にキャッチアップして行かないといけないということだ。

【ギアを作る】
これにはアイデアも工夫も無い、フライス盤を導入して力尽くでやるしかない。アマチュア向けの工作機械も低価格化が進んで来て、今では家庭用の冷蔵庫と同じくらいの価格になり、一家に一台は置けるようになった。ギアカッターは買い揃えるとフライス盤本体よりも高くなってしまうが、POM材料が相手だと折れたドリル刃等を利用して削り出せば十分実用になる。
3Dプリンターで作る考えもあるが、当病院ではまだフライスに頼っている。今後の検討課題だ。

ということで、当おもちゃの病院では【ICを作る】と【ギアを作る】ことに取り組んできている。しかし、何でも作れるという訳ではない。やはりもの事には限界というものがある。上記のやり方で、代替品が作れるであろうと評価されるものには、表の2列目に○印を付けた。そうすると、ICで10件、ギアで4件が治癒可能になる(はずだ)。54件中の14件が治癒可能になる訳でその改善率は26%だ。

では、実際に取り組みの結果どうなったか知りたくなってきたと思う。それは、このブログのカテゴリ「おもちゃの修理事例」を見て欲しい。ICとギアは普通に作れるということがご理解いただけると思う。最も多いケースは「電子オルゴールをPICで換装する」ケースだ。【ICを作る】の大半はこれにあたる。これも改善を進めていて、音声再生の機能を追加し人の声や動物の鳴き声なども発声できるようになった。

【読んでくれたおもちゃドクターの方へ】
こういった治療のノウハウをすべてのおもちゃ病院で共有して行きたいと思っている。これに賛同していただけるおもちゃドクターの方は是非コメントを入れて欲しい。そして、技術志向のドクターの輪が広がっていけば、ドクターも患者も共にハッピーになっていくと思う。
  1. 2014/08/02(土) 21:07:10|
  2. おもちゃ病院
  3. | コメント:1
次のページ

プロフィール

大泉茂幸

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