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

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

CoCoPadの修理(タッチペン製作)

1.患者
CoCoPad(SEGA)
CoCoPadタッチペン修理外観

2.症状
①オープニングのメッセージは流れるが、タッチペンが反応しない。

3.診察
①テスト用タッチペンでは正常に動作する。タッチペンの故障と判断した。

 注)テスト用タッチペンとはメーカー提供部品ではなく、ここで作ったような構造のものを予め製作しているものである。

②タッチペンを分解して導通をチェックしたが、コードの両端間の導通はOK、内部導体と外部導体間の絶縁もOKだった。

【ペンの内部】
CoCoPadタッチペン修理故障ペン
ハトメ様の部品は内部導体と外部導体のどちらにも絶縁している。

4.治療
①タッチペンを製作する。以下にタッチペンの製作状況を報告する。

②材料は同軸コード(1.5C-2VS)、RCAピンプラグ、ハトメである。ペンの握り部分は元々のものを使う。

 注)1.5C-2VSは内部導体が撚り線になっているため曲げに強く、タッチペンに適している。

③同軸コードの内部絶縁体にハトメを被せて、滑り止めに潰して、先端は半田で嵩上げしておく。
ハトメは内部導体と外部導体から絶縁している。外部導体は握り部分内部の導電ラバーに接触させる。
CoCoPadタッチペン修理ペン製作1

CoCoPadタッチペン修理ペン製作2

CoCoPadタッチペン修理ペン製作3

④もう一方の先端にはRCAピンプラグを付けて本体に接続する。内部導体が露出しないようにシールドに留意する。
CoCoPadタッチペン修理ペン製作4

⑤動作確認の結果は、認識する位置のズレも無く良好であった。

【センス信号の観察】
タッチペンで拾っているセンス信号を観察した結果は「CoCoPadセンス信号波形.pdf」を参照。
スポンサーサイト
  1. 2014/07/31(木) 18:37:10|
  2. 修理事例
  3. | コメント:0

キャタピラーの修理(デコーダ出力をプルダウン)

1.患者
CATERPILLAR
キャタピラー修理外観

2.症状
始動して暫らくすると焦げ臭い臭いがする。電池が熱くなる。

3.診察
①電源の電流を測ると、症状のとおり過電流(2A以上)が流れ始めた。

②モーターが以下の3個搭載されている。
・荷台の上げ下げ
・振動モーター
・後輪駆動
これらのモーターへの配線を外しても過電流は解消しない。

③基板の発熱箇所を探ると、荷台の上げ下げ用のモータードライバIC(EDM812)が熱くなっていた。
キャタピラー修理HブリッジIC

④EDM812の入力ピン(1、8)は、始動直後は0Vであるが、数秒後に2V程度までフラついて中途半端なレベルになることが確認できた。両方の入力が同時にアクティブになり、貫通電流が流れていた。

⑤EDM812の入力信号はマイコンのポートから1kΩを介して繋がっていたが、マイコンのポートで電圧が不安定な状態であった。試しに、2.7kΩでプルダウンしてやると、インアクティブ時は0V、アクティブ時はVddまで振れて、信号は安定した。

4.治療
①診察時に行ったプルダウン(下図の矢印の抵抗)を実施して、動作は良好となった。
キャタピラー修理プルダウン
  1. 2014/07/31(木) 18:01:11|
  2. 修理事例
  3. | コメント:0

アンパンマンカラオケの修理(電子オルゴール換装)

1.患者
アンパンマンカラオケ(バンダイ 2006)15曲入り
アンパンマンカラオケ修理外観

2.症状
①うんともすんとも言わない。

②マイクも効かない。

3.診察
アンパンマンカラオケ修理分解

①基板のVccとGND間には6Vの電源が来ている。

②オーディオアンプIC(TDA2822M)のピン7に触れるとハム音が出るので、アンプ部分はOK。

③15個ある曲選択のSWを押すと該当の信号線はHからLに変わるので、SW回路はOK。

④外付けクロックは無く、マイコン不良と判断した。

⑤マイクが効かない原因は、マイクコードの断線であった。

4.治療
①PICで電子オルゴールを換装する。

②電池蓋に収容曲の一覧が貼り付けてあった。

・アンパンマンのマーチ
・勇気リンリン
・アンパンマンたいそう
・サンサンたいそう
・森のくまさん
・大きな栗の木下で
・ちょうちょう
・きらきらぼし
・ぶんぶんぶん
・大きな古時計
・むすんでひらいて
・げんこつやまのたぬきさん
・山の音楽家
・かえるの合唱
・幸せなら手をたたこう

カラオケであることから前奏や繰り返しなどの曲の構成を忠実に再現する必要があるが、このおもちゃには譜面が添付されていなかったので出回っている譜面で演奏データを作成する。また、上記の曲目のうち、「アンパンマンたいそう」と「サンサンたいそう」は譜面が入手できなかったので、「小さな世界」と「ミッキーマウスマーチ」で代替することにした。

③【設計要点】

・曲選択の15個のSWはそれぞれのポートで直に読込む回路構成になっていたので、換装後も同様に扱う。マトリクス構成にはしない。論理レベルはアクティブLで、既存マイコンの内部でプルアップされているが、これも既存回路をそのまま使う。

・既存マイコンはどのポートもHighZになっているので、切り離しはしない。

・必要ポート数は、PWM出力に1本、(ほっぺたの)LED制御に2本、曲選択SWに15本の合計18本になるが、LED制御と曲選択SWを兼用することで2本を節約し16本のポートを持つ16F1827(2014年秋月価格110円)を採用する。

・LED制御と曲選択SWを兼ねるポートは入力がLEDでクランプされるので、Hレベルが高々1.7Vぐらいにしかならない。そのため、この2ポートはコンパレータでレベルを判定し、VrefをFVRの1.024Vとする。

・TDA2822Mの電源は既存マイコンのポートで制御されており、オートパワーオフの機能があったものと思われる。これをサポートするにはポートが足りないので、オートパワーオフの機能は割愛する。代わりに、曲選択の入力待ちのときはLEDを点滅させて注意を喚起し、電源SWを切ってもらうことにする。

・PWM出力を既存のボリューム回路へ300kΩ(この値はE系列ではないが手元にあったものを使用)を介して入力すると丁度良いレベルになった。

・15曲の実装でプログラムメモリの使用率は98%とギリギリだった。

・電源は単三電池4本の6Vであったが、レギュレータ無しで16F1827に供給するために電池3本の仕様に変えた。

④【製作した回路】
アンパンマンカラオケ修理回路図

⑤マイコンに装着する部品は10uFの電源パスコンのみなので、空中配線して既存基板に接続する。
アンパンマンカラオケ修理PIC

アンパンマンカラオケ修理組付

⑥開発したファームウェアは ここから ダウンロードできる。
ディレクトリ 「Nagare20140205」 にMPLABプロジェクトが格納されている。

ややこしいところはLED点滅と曲選択SWの読み込みを共用しているポートの扱いで、入出力方向の設定ととデジタル/アナログの切り替えを頻繁に行って両機能を実装している。ポートの共有をしなければポート数の多い16F1828(2014年秋月価格130円)を使わざるを得なくなるので、ソフトの工夫で20円のコストダウンになったということである。

演奏音のサンプル「アンパンマンマーチ」はこちら

⑦断線していたマイクコードは別物のシールド線に交換した。
  1. 2014/07/31(木) 15:18:37|
  2. 修理事例
  3. | コメント:2

ラジコンの修理(HブリッジFETとドライバ換装)

1.患者
大型クロカンのラジコン
ラジコンHブリッジ修理外観

2.症状
①前進がのろい、ガクガクする。後退はスムーズに走る。スムーズに前進する場合もあり、時々発生する。

②ステアリングの動作に異常は無い。

3.診察
①事象が発生しているときは過電流が流れている。

②駆動のモーターを外しても事象が発生するので、Hブリッジで貫通電流が発生しているものと判断できる。

③デコーダICの駆動出力(前進と後退)の2ピンの半田を吸い取り、配線を浮かせてピンの出力を確認したら、前進操作のときは前進信号のみ、後退操作のときは後退信号のみが出ていて異常は無い。

④デコーダICの駆動出力ピンの半田を元に戻すと事象が再現する(当然)が、以下の事象も伴っていることに気が付いた。
・前進操作をすると貫通電流が流れ、ニュートラルに戻しても貫通電流は治まらない。
・後退操作すると貫通電流が治まる。

 FETがラッチアップを起こしているようである。

⑤FETが付いている部分の基板は少し焦げており、過熱していたことが判る。このHブリッジ回路はハーフブリッジのICを2個組み合わせてフルブリッジを構成しているが、2個とも過熱した形跡がある。

⑥ゲートドライバーの出力を確認したが、前進と後退の操作で正しく信号が出力されているようである。明確に切り分けられないのは、貫通電流が発生すると電源電圧が著しく低下し、正常動作が確認できなくなるためである。

⑦ラッチアップを起こしているとするとFETは交換した方がよいので、この際FETを取り外してゲートドライバーの動作確認をしてみた。結果、ゲート信号は正常だった。

⑧スタティックには正常動作するが、ダイナミックにはラッチアップがかなり高い頻度で発生するという事象が明らかになってきた。これが素子の劣化なのか、信号タイミングの不良なのか、原因の特定はできなかった。

4.治療
①貫通電流を起こす原因が特定できなかったこと、チップ部品で構成されていることと、基板全体がパラフィンで防水されていて部品交換がかなり面倒であることから、ドライバー部分も含めてHブリッジの全体を換装することにした。

②仕様条件は以下のようにした。
・電源:9V単電源(元々の電源仕様)
・モーター負荷電流:2A(モーターに9Vを印加してタイヤに負荷をかけた時の電流を実測)
・ピーク負荷電流:4A(モーターに9Vを印加したときの起動時電流を実測)
・入力信号レベル:TTL(デコーダICのピン電圧を実測、L時は0V、H時は2.9V)
・信号タイミングの問題を回避するため、前進信号と後退信号の排他制御と信号切り替え時のアイドル時間を確保する。
・ブレーキやランプスタートの要否は不明だが、後で容易に機能追加ができること。

③【回路図】

ラジコンHブリッジ修理回路図

④基板製作

部品面
ラジコンHブリッジ修理基板表 

半田面
ラジコンHブリッジ修理基板裏

掛かった部品代は192円。詳細はダウンロードファイル内の設計資料を参照。

⑤ファームウェア
開発したファームウェアと設計資料は ここから ダウンロードできる。「Me20131208」がMPLABのプロジェクトディレクトリになっている。

・65ms毎にデコーダからの前進/後退指示の確認とHブリッジのドライブを行う。
・前進と後退は排他制御する。
・前回のドライブ信号と今回のドライブ信号のANDでゲートをドライブする。これにより前進/後退の切り替えタイミングで65msのアイドリング時間を確保する。

⑥製作したHブリッジ回路を本体へ組み込み、配線する。基板とリード線はホッとボンドで固定する。
ラジコンHブリッジ修理組付

  1. 2014/07/31(木) 08:54:44|
  2. 修理事例
  3. | コメント:0

ラジコンの修理(送信機受信機ミスマッチの改造2)

1.患者
ラジコン自動車
ラジコン修理送信機受信機ミスマッチ2外観

2.症状
①動かない。

3.診察
①送信機は27MHzの表示であるが車は40MHzと表示されていて、送信機と受信機の周波数が合っていない。メーカーも異なるので方式も合っていないと思われる。

【送信機】Silverlit社製の27MHz
ラジコン修理送信機受信機ミスマッチ2診察1

ラジコン修理送信機受信機ミスマッチ2診察2

【車】NIKKO社製の40MHz
ラジコン修理送信機受信機ミスマッチ2診察3

ラジコン修理送信機受信機ミスマッチ2診察4

4.治療
①依頼者のご要望により改造することになった。

②送信機のエンコーダと受信機のデコーダはともにCOBが実装されていて型番等が不明のため、プロトコルは送信機の信号観測によって割り出す。ところが信号波形を観測したところパルス巾が100usと非常に短かく、手持ちの27MHz超再生検波器で検波してみたところ安定した検波信号が得られなかった。そのため、新規のプロトコルに変更し、送信側と受信側ともに改造することにした。

・送信機はエンコーダをPICで換装する。
・受信機は27MHz超再生検波、デコーダ(PIC)、Hブリッジのすべてを新規製作する。

③フルアクションラジコンとして最小限の機能を実現することとし、プロトコルは以下のように決めた。
;(フレーム間待ち時間)50ms
;(フレーム長)12ビット
;(フレームフォーマット)b'0000'+アクションコード8ビット+トレイラ
;(ビット巾):値0は0.5ms、値1は1.0ms
;(ビット間):0.5ms
;(トレイラ巾):2.0ms
;(アクションコードの意味)
; b7(MSB):前進(正論理)
; b6:後退(正論理)
; b5:右折(正論理)
; b4:左折(正論理)
; b3:前進のビット反転(チェック用)
; b2:後退のビット反転(チェック用)
; b1:右折のビット反転(チェック用)
; b0(LSB):左折のビット反転(チェック用)

④開発したファームウェアは 「Kasu20140121_2」(MPLABプロジェクト) を参照

⑤送信機はエンコーダを12F509で換装する。

・電源は9V電池であるが、基板上のレギュレータで5Vに落とした電圧が既存のマイコンに供給されていた。この5Vを新しいエンコーダのPICに供給する。

【エンコーダ回路図】

ラジコン修理送信機受信機ミスマッチ2治療1

費用は60円(2014年現在)
(内訳)
・12F509 50円
・10u6.3V 10円

SW1とSW2は基板のステアリング操作SWから信号を拾う。SW3とSW4は基板上のドライブ表示LEDから信号を拾う。各信号取得ポイントの信号レベルは、ソースコードを参照。

ラジコン修理送信機受信機ミスマッチ2治療2

ラジコン修理送信機受信機ミスマッチ2治療3

⑥受信機の製作

・デコーダには12F509を、Hブリッジには廉価なTA7257Pを使った。
・電源は単三電池4本の6Vであるが、3.3Vのレギュレータを入れて検波回路とデコーダのPICへ供給する。
・Hブリッジは、入力電圧Hレベルの最小値が3V、また入力ピンの開放電圧は2.2Vであるので、デコーダの電源電圧を3.3Vにしても整合する。

【検波・フィルター・波形整形回路の回路図】

ラジコン修理送信機受信機ミスマッチ2治療4

費用は133円(2014年現在)

【デコーダ回路図】

ラジコン修理送信機受信機ミスマッチ2治療5

費用は88円(2014年現在)
(内訳)
・12F509 50円
・S-812C33AY-B-G 13円
・10u6.3V 10円
・基板 15円

Hブリッジの費用は130円(2014年現在)
・TA7257P 2個 100円
・放熱器 30円

合計351円となり、おもちゃ修理についてのポリシー(おもちゃ修理には多額の費用を掛けるべきではなく高々200円での修理方法を工夫する)を逸脱してしまうが、依頼者の強い希望で実施することにした。

ラジコン修理送信機受信機ミスマッチ2治療6

ラジコン修理送信機受信機ミスマッチ2治療7

【受信波形】
超再生検波器出力
ラジコン修理送信機受信機ミスマッチ2波形1

上記の時間軸を拡大
ラジコン修理送信機受信機ミスマッチ2波形2

上記の時間軸を更に拡大してクエンチングの様子をコレクタ波形で見る
ラジコン修理送信機受信機ミスマッチ2波形3

上記の時間軸を拡大
ラジコン修理送信機受信機ミスマッチ2波形4

フィルターアンプ出力
ラジコン修理送信機受信機ミスマッチ2波形5

上記の時間軸を拡大
ラジコン修理送信機受信機ミスマッチ2波形6

波形整形後デコーダ入力(前進指示時)
ラジコン修理送信機受信機ミスマッチ2波形7
  1. 2014/07/31(木) 06:29:41|
  2. 修理事例
  3. | コメント:0

ラジコンの修理(送信機受信機ミスマッチの改造1)

1.患者
ラジコンカー(Silverlit、NIKKO)
ラジコン送信機受信機ミスマッチ外観

2.症状
①動かない。

3.診察
①送信機は赤外線リモコンであるが車の方には40MHzと表示されていて、送信機と受信機の方式がミスマッチである。

【送信機】Silverlit社製の赤外線
ラジコン送信機受信機ミスマッチ送信機1

ラジコン送信機受信機ミスマッチ送信機2

【車】NIKKO社製の40MHz
ラジコン送信機受信機ミスマッチ受信機1

ラジコン送信機受信機ミスマッチ受信機2

4.治療
①依頼者のご要望により、この送信機と受信機の組み合わせで操作できるように改造することになった。

②送信機のエンコーダと受信機のデコーダはともにCOBが実装されていて型番等が不明のため、プロトコルは送信機の信号観測によって割り出す。送信機のプロトコルに受信機を合わせることにする。

【信号波形】
フレーム
ラジコン送信機受信機ミスマッチフレーム
フレーム周期は約140ms

停止時
ラジコン送信機受信機ミスマッチ停止時
フレーム長は22ビット(リーダー含む)

先頭部分の時間軸拡大
ラジコン送信機受信機ミスマッチ停止時先頭
各ビットはデューティはほぼ50%の矩形波

後尾部分の時間軸拡大
ラジコン送信機受信機ミスマッチ停止時後尾
値0:周期約1.2ms 値1:周期約2.5ms

【プロトコル】
信号波形の観測結果からプロトコル分析用のプログラムを作る。プログラムの仕様は、フレーム終了後のHの継続を検出して、遡ってフレーム開始からのビット数とビット値を16進表示でシリアルへ送る。これを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
(ルール) 左     N     右
b11-9:011-010-001-000-100-101-110

分析完了後に、分析用プログラムにモーター制御や無通信監視、貫通電流抑止などの機能を付加してデコーダのプログラムに仕上げる。
開発したファームは 「Kasu20140121_1」(MPLABプロジェクト) を参照。

③元々の送信機は駆動とステアリングともに数段階のプロポーショナルになっているが、受信側はプロポーショナルではないので、トリミングしてオン/オフ制御のみにする。

④送信機は無改造で使う。

⑤受信機は赤外線リモコン化の改造を行う。赤外線受信モジュールとPIC(12F509)によるデコーダを新規に製作し、Hブリッジは既存のものを使う。既存のデコーダを取り外して、Hブリッジを既存回路から切り離す。受信機の電源は単三電池4本の6Vであり、3.3Vのレギュレータで落として赤外線受信モジュールとPICへ供給する。既存のHブリッジはローサイドのドライブのみになっていて、2VのHレベル入力で十分ドライブできている。

【デコーダ回路図】

ラジコン送信機受信機ミスマッチ回路図

費用は137円
(内訳)
・12F509 50円
・PL-IRM2161-XD1 50円
・S-812C33AY-B-G 12円
・10u6.3V 10円
・基板 15円
(2014年現在)

ラジコン送信機受信機ミスマッチ組付2

ラジコン送信機受信機ミスマッチ組付1
  1. 2014/07/30(水) 16:06:46|
  2. 修理事例
  3. | コメント:0

ラジコンの修理(デコーダ換装)

1.患者
ラジコンカー REAL DRIVE(CCP)
ラジコン(デコーダ)外観

2.症状
全く動かない。

3.診察
(1)先ずは送信機の診察

①送信電波をモニタするとデジタル式ラジコン特有のパルス音がして、スティックを操作すると微妙にパルス音が変化する。

②送信機回路は動作しているようなので、ラジコンモニタで波形を観察してみる。

【波形1】スティックを操作しないときの波形
ラジコン(デコーダ)信号波形1

【波形2】前進を操作したときの波形
ラジコン(デコーダ)信号波形2

③スティックの操作でパルス巾が変化するのが判る。スティックの操作に関わらず、パルスの個数は25個固定である。変調方式はパルス巾変調で、パルスの1個はスタートパルスとすれば指令データは3バイトということになる。

④信号の開始部分でパルスが弱まっていて、均一な高さではないのが気にはなる。

⑤高周波出力は適切な強さで出ていて、送信機は正常と判断する。

(2)受信機の診察

①受信機基板への電源供給を確認する。結果、モータドライバ(Hブリッジ)には電池から6V、検波器とデコーダには内部のレギュレータで3.5Vが供給されていた。

ラジコン(デコーダ)分解1

②送信機を操作しても、ドライブ用モータ、ステアリング用モータともに回らない。デコーダからHブリッジへの信号が常にLであることを確認した。

③デコーダの入力信号を観察する。表面実装部品ばかりなので、配線コードを検波器からデコーダへの信号ラインに半田付けして信号を引き出しておく。
ラジコン(デコーダ)分解2

【波形3】検波器出力波形(デコーダの入力信号と同値)
ラジコン(デコーダ)信号波形3

④検波器出力信号は殆どの時間がクエンチングノイズで埋まっていて、時々エンコード信号が現れるような感じである。間欠的に送信される方式ではこのような状況になる。

⑤検波器のバッファアンプはオーソドックスなエミッタ接地の増幅回路となっていた。動作点は若干のバイアスが掛かっていて、変調信号の波形整形と同時にクエンチングノイズが大きく増幅されている。

⑥検波器が送信機の変調信号を忠実に復調しているのか調べる。送信機も表面実装なので、ここでも配線コードを半田付けして変調信号を引き出しておく。

ラジコン(デコーダ)分解3

【波形4】上段:送信機の変調信号、下段:ラジコンモニタの受信波形
ラジコン(デコーダ)信号波形4

⑦エンコーダのマイコンから、それらしきパルスが出力されているポートが複数本あったが、波形を見てRF信号と一致しているものを変調信号(エンコード信号)と特定した。

【波形5】送信機の変調信号(時間軸を長くして観測)
ラジコン(デコーダ)信号波形5

⑧変調信号の全体幅は約5ms、繰返し周期は約58msである。

【波形6】上段:送信機変調信号、下段:検波器出力波形
ラジコン(デコーダ)信号波形6

⑨送信機の変調信号に同期すると検波器の出力波形が明瞭に観測できた。変調信号波形と検波器出力波形は一致しており、検波器は正常である。【波形1】【波形2】に見られたエンコード信号の開始部分でパルスが弱まっている傾向は、バッファアンプで整形されてうまく隠されている。

⑩デコーダの入力としては、エンコード信号の他にID設定SWから2ビットの信号が来ている。この信号は、SWの操作によってH/Lが確実にデコーダのポートに入力されていたので問題なし。

⑪デコーダには外部のクロック回路は無く、リセット回路も見当たらない。また、デコーダサブボードとメインボード間の断線および短絡を確認したが異常はなかった。従って、デコーダそのものの故障であると断定した。

4.治療
(1)デコーダの製作

故障したデコーダは入手できない(とは断言できないが、品番の表示も無く同等品を探すことが困難)ので、代替部品を作ることとする。コスト的にも汎用の低価格マイコンの方が専用ICよりも格段に安い。

このようなデジタル信号の分析の用途にはPICマイコンが好適である。
①デジタル信号を対象とする用途である。
②安価であり、PICマイコン1個で事足りる。
③(当然)プログラマブルなので、分析をしながら開発していく(所謂試行錯誤する)作業形態に対応しやすい。

代替部品の製作手順は以下のようになる。
①送信機の変調信号を分析してエンコード方式を割り出す。
②PICでデコード機能を実現する。
③実機上で動作させてデコード結果を評価しブラシアップしていく。

上記①から③を繰返し実施し、デコードの精度を上げていく。最初は波形の観測から信号の規則性を見出して方式を推理するが、深堀りして行くには分析用のツールを組んでマイコンに処理させるのが効率的である。この分析用のツールが最終的なデコーダとして育って行くことになる。分析が完了した、ということはデコーダが完成したことになる訳だ。

④デコード以外の必要な制御機能を盛り込む。

デコード以外の機能としては、自IDの設定や無制御時の安全機能(送信機からの指令が止ったときに動作を停止させる)などがある。

(2)PICマイコンの選定

分析用のPICと実装用のPICを同じにすると、分析作業完了後にファームを移植する手間が省ける。

PIC選定の条件は以下のとおり。
①入力ポートは、エンコード信号1本とID設定信号2本の合計3本。
②出力ポートは、Hブリッジ用信号がドライブ用とステアリング用のそれぞれ2本の合計4本。
③扱うパルス信号が数10usのスピードなので、クロックは4MHzあれば十分。
④Vddは3.5V(MAX5Vまで許容できればよい)

安価な8ピンのPICで済ませたいが、8ピンのPICはポートが6本しかないので足りない。そこでID設定信号の入力をアナログ入力にして、1本のポートで複数の設定値を読み取るように工夫した。ID設定SWの回路は2本のデジタル信号を出力しているが、下記のように細工をすれば1本のアナログ信号にできる。

ラジコン(デコーダ)回路図

ポートを1本節約できたので、8ピンPICを採用することとし、秋月価格で最安のものを探したところ、12F615、@60円(2012年現在)があり、これに決定した。12F509、@50円もあるが、ADCが無いのと、スタックが2レベルしかなく使い辛いので敬遠した。

(3)PC側モニタ

分析用のPICから分析の結果をPCのシリアルポートへ送り、PC側で画面表示して分析結果を評価する。そのためのPC側の画面表示ツールを作った。バイナリコードを受信して16進表示する機能を持っている。このツールは送受信の機能を持っているが、今回は受信機能のみを使っている。
ラジコン(デコーダ)モニタ画面

(4)エンコード方式の分析

【波形7】送信機変調信号
ラジコン(デコーダ)信号波形7

①パルス巾変調のようなので、パルスの周期を評価して短周期パルスを0、長周期パルスを1と解釈する。短周期と長周期の閾値を200usとして24ビット分をデコードしてみた。検波器出力信号はかなり波形が乱れているので、先ずはきれいな送信機の変調信号を入力して分析を進める。

②周期の下限値を50us、上限値を600usとして、それに外れる場合はデコード結果を破棄して、初めからやり直すロジックとした。
結果として以下のコード値が得られた。

ラジコン(デコーダ)分析表1

エンコード方式は下記のように推測できる。
ラジコン(デコーダ)エンコード1

③送信機の変調信号ではうまく行ったので、次に検波器出力信号でやってみた。ところが、デコード結果が安定せず、全くでたらめなデコード結果となり、上記のロジックではデコードできないことが判った。

【波形6(再掲)】上段:送信機変調信号、下段:検波器出力波形
ラジコン(デコーダ)信号波形8

パルス周期の上限値と下限値でクエンチングノイズを除外する考えでいたが、エンコード信号の手前のクエンチングノイズ部分は除外されずエンコード信号として評価してしまって、ビットずれを起こしているようである。

④エンコード信号部分を特定する条件を他に見出す必要がある。発想を変えて信号を時系列の逆方向に見ると、エンコード信号の後には安定なHが800us程度存在していて、他の期間には無い特徴である。これを条件にすることを考える。パルス巾の評価でビット値を判別するのは変わらないが、判別した結果をメモリに溜めておき、800us以上のHを検出したときに、遡って24ビット分のデータをエンコード信号とする。

⑤パルス巾ではなくパルス周期でビット値を判定していたのは、他のラジコンへの流用を考えて信号の極性が正論理であっても負論理であってもファームを共用できることを意図していたからだ。しかしエンコード信号の部分を特定するのに信号の極性を意識せざるを得なくなった。パルス巾の変調はL期間で行っているようなので、ビット値の評価はLのパルス幅で評価することにする。

⑥エンコード信号は24ビットあるが、送信機の変調信号の分析結果から下位8ビットは無くてもコード値の意味は判別できることが判ったので、上位16ビットのみをデコードすることにする。

⑦新しいデコードのロジックは以下のとおり。
ⅰ.Lパルス巾26~100usはビット値0とする。
ⅱ.Lパルス巾101us以上はビット値1とする。
ⅲ.Lパルス巾400us以上は異常データと看做して、それまでのデコード結果を破棄する。
ⅳ.Hパルス巾800us以上を検出したら、過去分24ビットのうち下位16ビットをデコード結果とする。
ⅴ.過去分が24ビットに満たない場合はノイズと見做し、デコード結果を破棄する。

結果として下記のコード値が得られた。クエンチングノイズの嵐の中にも拘らず、安定した結果が得られている。

ラジコン(デコーダ)分析表2

⑧エンコード方式は下記のように確定した。
ラジコン(デコーダ)エンコード2

(5)デコード以外の制御機能の実装

以下の機能を盛り込む。

①ID設定SWを読込み、自分のIDを確定させる。
②伝送のエラーによる誤動作を防止するため、同じデータを2回続けて受信したときに受信データを有効とする。但し、このラジコンでは停止の信号は1回しか送られて来ないため、例外とする。
③無制御検出時(エンコード信号が130ms以上途絶えたとき)に動作を停止させる。

ポートの割り当ては下記のとおりである。
GP0:ドライブ(前進)出力
GP1:ID番号入力(ADC入力)
GP2:ドライブ(後退)出力
GP3:エンコード信号入力
GP4:ステアリング(左)出力
GP5:ステアリング(右)出力

(6)受信基板への実装
①故障したデコーダを受信機基板から取り外す。
ラジコン(デコーダ)故障マイコン

②PICマイコンをホットボンドで受信機基板に貼り付ける。電源ラインと信号ラインを受信機基板に配線する。

ラジコン(デコーダ)組み付け

(7)動作確認

下記の機能の正常動作を確認した。

①フルアクションの制御(停止・前進・後退×直進・右折・左折)
②伝送エラー時の誤動作防止(送信機の電源電圧を低下)
③無制御時の停止(操作中に送信機電源断)
④電源電圧低下時の動作(4.5V)

5.ダウンロード

開発したファームは ここから ダウンロードできる。
ディレクトリ 「Me20120401」 にMPLABプロジェクトが格納されている。

  1. 2014/07/29(火) 19:49:53|
  2. 修理事例
  3. | コメント:0

アンパンマンことばずかんDXの修理(クリスタル交換)

1.患者
アンパンマンことばずかんDX (SEGA)
アンパンマンことばずかんDX外観1

アンパンマンことばずかんDX外観2

2.症状
①タッチペンの電源をオンするとオープニングメッセージは出る。

②その後、絵本をタッチしてもまったく反応しない。

3.診察
①症状からメインCPUではなく、センサー周りの故障と思われる。
アンパンマンことばずかんDX分解1

②センサーの各ピンの信号を観測すると、どのピンにも信号が載っていない。

③基板中央にあるクリスタルの信号を観測すると両端ともGNDを基準にして1.5Vで一定しており、発振していない。クリスタルには10.000の表示があり、10MHzと思われる。

⇒その後、同じ種類のおもちゃを何件か診る機会があり、すべて16MHzだったので、この個体も16MHzであったと推測する。(2015.5.16追記)

【クリスタルのピン】
アンパンマンことばずかんDX発振波形

【発振しないクリスタル】
アンパンマンことばずかんDXクリスタル

④別の10MHzのクリスタルに交換してみたところ、10.002MHzで発振した。
アンパンマンことばずかんDX修理後基板1

【クリスタルのピン(上画像の下側のピン)】
アンパンマンことばずかんDX修理後発振波形

⑤センサーの1番ピンに信号が出るようになった。
アンパンマンことばずかんDX修理後基板2

【センサーの1番ピン】
アンパンマンことばずかんDX修理後センサー波形1

アンパンマンことばずかんDX修理後センサー波形2

⑥絵本をタッチすると正しく反応した。

4.治療
①診察の過程で10MHzのクリスタルを交換して復旧した。

⇒正規には16MHzのクリスタルに交換すべきであるが、センサー側のCPUクロックはセンサー動作、メインCPUとの通信には影響しないようだ。(2015.5.16追記)

②クリスタルをホットボンドで基板に固定して修理完了。
  1. 2014/07/29(火) 14:54:19|
  2. 修理事例
  3. | コメント:1

LEDランタンの修理(マイコン換装)

1.患者
LEDランタン
LEDランタン外観

2.症状
口の下にある押しボタン(上画像のピンク色のところ)を押すと点灯するばずが、点灯しない。

3.診察
①基板への電源供給はOKである。
LEDランタン分解

②押しボタンのところには基板にタクトSWが付いていて、この両端電圧が0Vである。タクトSWはマイコンへ配線されていて、それ以外の配線は無い。

③マイコンの際でタクトSWの導通チェックをしたところ、正常にオン/オフしている。

④タクトSWの両端をプルアップ/プルダウンしてみたが、変化はない。マイコンの不具合と判断した。

4.治療
①既存のマイコンをPICマイコンで換装する。

②【設計】
・依頼者に確認したところ、ボタンを押すと点灯し、もう一度押すと消灯する単純な機能とのこと。

・今回マイコンを換装するので機能アップを図り、明るさを3段階に切り替えられるようにする。ボタンを押す毎に、「全点灯」⇒「中点灯」⇒「弱点灯」⇒「消灯」を繰り返す。

・元々はシャント抵抗だけでLEDの電流制限を行っていたようだが、電力効率を良くするためPWM制御に変える。

・消灯時はsleepしておき、ピン変化で再起動させる。

・周辺とのインタフェースはタクトSWとLEDのみなので、最も廉価なPIC10F200(2013年秋月価格@35円)を採用する。

・このランタンの電池ボックスは単三4本になっているので、3本目にタップをとって4.5VをPICのVccとし、全体の6VをLEDの電源にする。

③【回路図】
LEDランタン回路図

④【基板実装】
部品面
LEDランタン基板1

半田面
LEDランタン基板2

⑤【ファームウェア】
開発したファームウェアは 「Koto20131121」(MPLABプロジェクト) を参照。

⑥ランタンへ取り付ける。
LEDランタン組立1

LEDランタン組立2

LEDランタン組立3

⑦消費電流の実測値は以下のとおり。
・全点当時 138mA
・中点灯時 65mA
・弱点灯時 4mA
・消灯(sleep)時 24uA(1AHの電池では1736日間もつ)
  1. 2014/07/29(火) 14:03:51|
  2. 修理事例
  3. | コメント:0

ドライブハンドルの修理(音声再生、電子オルゴール換装)

1.患者
ドライブハンドル
ドライブハンドル修理外観

2.症状
まったく動かない。

3.診察
ドライブハンドル修理分解1

①基板には4.5Vが来ている。

②ラバー接点になっているSWのパターンには電圧が掛かっていない。マトリクスSWになっているので信号波形を観測したが、セレクト信号が出ていない。

③外部クロック発振と思われるCR部品があり、半田付けを確認したが異常なし。

④プリント基板を点検すると、電解コンデンサの半田浮きが2箇所有った。半田付け直ししたが回復せず。
ドライブハンドル修理分解2

⑤マイコン不良と判断し、マイコンを加熱してみた。加熱後数秒間は動作した(エンジン音が出た)が、すぐにノイズ音になり、無反応になった。何回か加熱を繰り返したらまったく起動しなくなり、ついに死亡した。

4.治療
①マイコンをPICで換装する。

②機能要件をまとめる。元々の動作が不明なので、常識的に動作を推測して考える。

・押しボタンが6個あり、ボタンの絵面から動物の泣き声や物音が出るようだが、音声再生は大量のメモリが必要であり実現が難しい。そのため、6種のメロディを演奏することにした。
・救急車の絵のボタンは「ピーポー音」を演奏する。
・ホーンボタンはホーン音を演奏する。ホーン音は、ボタンを押している間だけ演奏し、ボタンを放すと演奏を止める。
・STARTキーをひねるとエンジン始動音を出す。その後、バックグラウンド的にエンジン音を出すのが理想であるが、ソフト処理が面倒なので、メロディ演奏とは排他的に処理し、操作時のみにエンジン始動音を出すことにする。また、スピードの切換えで発声音の変化も行わない。
・一定時間操作が無い場合はsleepする自動パワーオフ機能を持つ。この一定時間は、ファームを作成した結果、処理が簡単にできる約1000秒とした。
・ハンドルを切ったときに方向指示器を点滅させる。走っているときのみ点滅させる。

③エンジン音はPCM再生となるので、4kHz7ビットで1秒当たり2kワード(14ビット)のメモリが必要になる。廉価なPICでは高々1秒以内しか再生できない。そのため前半をセルモータ動作音、後半をエンジン音として、後半部分を何回か繰り返し再生することで見かけの再生時間を長く見せることとする。

④必要ポート数は10個、PWMあり、フラッシュ4kワード搭載の条件と秋月コストから16F1827(2013年7月25日現在@110円)を選定した。PWMはオルゴール演奏とPCM再生のD/A変換に使う。
ドライブハンドル修理PIC1

⑤PICのチップを中心に空中配線で、代替部品を作る。
ドライブハンドル修理PIC2

⑥ファームを開発する。

開発したファームウェアは ここから ダウンロードできる。
ディレクトリ 「Yatuka20130725」 にMPLABプロジェクトが格納されている。このフォルダにはPCMデータ変換ツール(VS2008プロジェクト)も含まれている。

再生音はこれ

⑦ファームはPICプログラマーからICSPで入れる。
ドライブハンドル修理PIC3

⑧元のマイコンはパターンをカットして、周辺の回路と縁を切っておく。
ドライブハンドル修理基板1

 代替部品を配線する。
ドライブハンドル修理基板2

⑨動作確認後にホットボンドで代替部品を基板に固定する。
ドライブハンドル修理基板3


5.(付録)PCMデータの作り方
【サウンドレコーダでの処理】
XPはサウンドレコーダで編集が可能だが、それ以降のWindowsのサウンドレコーダには編集機能がないので、適当なフリーウェアを使う。
①音源を録音する。
②必要な部分をトリミングする。
③プロパティを8kHz、8ビット、モノラルに変換する。

【バイナリエディタ(Stirling.exe等)での処理】
④wavファイルの先頭64バイトを削除してPCMデータのみにする。

【専用ツールでの処理】
⑤PCMデータをdw擬似命令へ変換する。このために下記機能の専用ツールを作成した。
・再生を4kHzとするため1バイト置きにPCMデータを取り込む。
・8ビットPCMデータの上位7ビットを取り込み、1ワード(14ビット)の前7ビットと後7ビットに詰める。
・dw擬似命令の形式でソースファイルを生成する。
   例)   dw  0x1234
  1. 2014/07/28(月) 21:46:29|
  2. 修理事例
  3. | コメント:0
次のページ

プロフィール

大泉茂幸

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

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

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

本ブログで公開している技術情報や成果物のご利用および再配布はフリーです。読者様の技術活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。

最新記事

最新コメント

月別アーカイブ

カテゴリ

おもちゃ病院 (7)
技術情報 (9)
修理事例 (143)
製作記事 (77)
ドクター研修会 (2)
PIC開発 (9)
未分類 (9)

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR