BRIO 赤外線リモコン 電動機関車の修理
Infrared remote control Electric locomotive repair.
1.BRIO 赤外線リモコン 電動機関車の修理
緑色のBR101型の赤外線リモコンが動作しない。またマニュアルでも動かないことがあるという依頼です。
<総評>
このおもちゃはしっかり組付けられていて高級感があります。機関車の分解は、車体に嵌めこみがありちょっと前にずらして起こします。
なお、このおもちゃの機関車は、基盤にスイッチが直付であるにもかかわらず、基盤の押さえがビス1本止めしかなく、スイッチの押下の圧力で基盤が撓むことで、回路部品が損傷すると思われます。赤外線リモコンの動作もよく不調になるようです。
また、電子部品は外観にくらべ品質はあまりいいとは言えないものです。そのためか操作感が不安定になり、スイッチ操作でさらに故障に繋がるようです。
2.リモコン送信機の確認
まず、リモコンから赤外線が発光されているかどうかLCRメータで測定します。リモコンコードは一般的なフォーマットではありませんが、発光はしているようです。
なお、リモコンのレバースイッチがプリント基盤の接点のため、スイッチの摺動部分にグリースで固められてはいますが、プリント基盤の剥がれにより接触不良を起こします。一応、分解確認が必要になります。
3.リモコンコードの解析と原因分析
どうもCOB(ICチップ)の不良のようです。モータドライバーは、トランジスタ式のHドライブですが、感度が悪そうで、マニュアルのスイッチも接触不良のようです。モータとLED以外は、ほとんどの部品が故障しているおもちゃです。スイッチは特殊部品なので分解清掃です。
まず、マイコンチップを交換するしかなさそうです。
赤外線コードを解析するために、Arduino IDEを使って赤外線リモコンのコード(32bit)を解析します。
レバーを少し動かすだけで、どんどんコードが変わっていき安定していません。部品品質によるものでしょうか。
切り替えレバー A側で前進:90D811C9、バック:69D595CE、高速:90D811C8 をコード分析の基準とします。
まず壊れているところから修理するため、この不安定なコードを解析してドライブモードを維持するプログラムを検討することにします。
とりあえずリモコンの送信機は問題なさそうなので、受信側の機関車を分解して部品チェックをします。
電源スイッチ等の電源系統は問題ありませんが、赤外線受信センサー、スピーカー等不良がありそうです。部品を交換しオシロスコープでリモコン信号が確認できましたが、機関車はうんともすんとも動きません。
4.ATtiny13A マイコンICでリモコン受信機を作成
この受信機の機関車は、IC基盤を追加するスペースが見当たりません。
スピーカがもともと壊れていたこともあり、スピーカの位置に1円玉ほどの大きさのスペースがあり、そこにIC基盤を追加するため、ATtiny13Aを使うことにしました。
解析コードをArduino UNOで、動作確認をしたら問題なく使えそうですが、通常のArduino IDEのライブラリーでは、メモリーサイズが大きすぎるので、シリアル232c解析で使うMicroCoreのライブラリ-を使うことにしました。
<解析方法>
ATtiny13Aは、1.2MHZで動作(ブートローダを書き込み時間タイミングを合わせる。)させます。
Arduino UNOで測定したタイミング(時間軸μS)に合わせて、赤外線パルス幅の解析をするため受信コードのビット列を作ります。リーダビット後の1バイトが、+方向パルス幅(負電位 長:1 短:0)だけを読み取り、Aモード:16進で、高速AE、前進AC,バックAD、ヘッドライトA7、警笛A5 Bモード:5E、5C、5D、57、55で何とか識別出来そうです。(おもちゃ毎に多少異なるかも)
早速、ATtiny13Aに解析プログラムを作り、ブレッドボードに組み込み動作確認をしました。
5. 実機での動作確認
実機の基盤やモータ部を接続して動作確認を行います。リモコンからの動作は問題がありませんでしたが、これにマニュアルモードを組み込む必要があります。また、前進とバックにはLEDを点灯させる必要も有り、これからはメモリーサイズとPIN端子数の格闘になります。
ところが、MicroCoreのライブラリ-入力にパルス解析させると1PIN以上の入力が無視されていることがわかりました。Arduino IDEは何らエラーは吐きませんが、プログラムがコンパイルされていません。
従って、ATtiny13Aを2個使いリモコン用、マニュアル用のそれぞれ専用のマイコンICになってしまいました。
また、モータドライブ回路のトランジスタが感度が悪く、3.1V以上の電圧を掛けないとモータが回ってくれません。これでは、乾電池を十分使えなくなるので、入力段のトランジスタJ6(N9014)を702(2SK702)のFETに変更しました。これで何とか2.6V程度まで使えるようになりました。
6. 実機に組み込み
スピーカと前部カバーの隙間にIC基盤を入れて、実機の動作確認をします。
おもちゃを修理するなら新規にドライバ-基盤を含めてすべて作った方が早かったかも知れません。送信機が不良の場合も、送信機と受信機をセットに組み込んだ方が修理する側としては簡単かも知れませんが、このおもちゃはその基盤を入れるスペースもないというおもちゃでした。
<暫定対処>
(修理するとなると最悪で、リモコン送信機、受信機の機関車まで改造することとなり、簡易な方法でも機関車にICチップ(ATtiny13A)を2個、組み込みが必要で費用も重むため、ちなみに一か八かで、基盤のCOB(ICチップ)を半田ゴテ先で無理やり温めて見ました。
音出しはできなく、リモコン受信が不安定ですが何となく動くようなので、とりあえずお客様には暫定対処として返却し、使ってみてだめなら、このICチップを組み込むことを考えます。)