FC2ブログ

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

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

TOMYオムニボットの修理(デコーダ換装)

1.患者
TOMYのオムニボット
ロボット風のラジコンでかなり年代もの
TOMYオムニボットの修理(マイコン換装)外観1

送信機の操作パネル
TOMYオムニボットの修理(マイコン換装)外観2

2.症状
(1)ラジコンモードでリモート操作が全く効かない。

(2)その他のモードでも動かない。

3.診察
(1)送信機側の診察
①送信機の電源オン中は、キャリアは常時出ている。操作パネルを操作しないときはキャリアのみである。

②ジョイスティックを動かしたときに変調波が安定していない。これは、ジョイスティック内部の接点接触不良であり、接点復活剤で回復した。

③変調波はデューティ50%の矩形波で、AM変調である。操作パネルの操作によって変調波の周期が変わる。

④TAPEのボタンは、一瞬押しでも0.5秒ぐらい信号が継続する。操作パネルにはSTART/STOPと表示されていて、1回押す毎にオルタネートする仕様と思われる。

⑤PUSHのボタン操作時は特別な動作をする。

 ・押下時に0.5秒程度信号が出る。
 ・押下している間は操作パネルのMICROPHONEで拾った音でAM変調される。
 ・開放時に0.5秒程度信号が出る。

⑥以上のチェックで、送信機の動作は正しいであろうと判断した。

⑦ボタン操作と変調波の周期の対応は以下のとおりであった。

 操作:周期(単位はμS)
 ↑:620
 →:550
 ↓:490
 ←:450
 TAPE START/STOP:410
 OMNIBOT SOUNDS(上ボタン):380
 OMNIBOT SOUNDS(下ボタン):350
 PUSH(押下時):700
 PUSH(開放時):213

(2)本体側の診察
①本体基板の使用部品と配線パターンから全体の構成を推定する。
TOMYオムニボットの修理(マイコン換装)診察1

ブロックダイヤ(あくまで推定である)
TOMYオムニボットの修理(マイコン換装)診察2

②基板各部への電源は来ている。

③高周波受信部の検波出力は出ている。波形整形の出力もきれいに出ている。
送信機側の変調波はデューティ50%であったが、波形整形後はデューティ50%ではなくなっている。しかし、周期は変化していない。下図は送信機の操作パネルでジョイスティックを↑(上向き)に操作した時の波形である。
TOMYオムニボットの修理(マイコン換装)診察3
(この事例は2007年のもので、当時はこのようなオシロしか持っていなかったので、見辛いのはご容赦)

④デコードは沖マイコンM6411で行っている。モーター制御への出力(M6411の10、11、12、13ピン)が電源電圧5.7Vに対して2V程度になっている。この値はマイコンの出力ポートとしては有り得ない値である。このような場合はポート出力バッファの故障が考えられるが、4本とも同様の状況なのでM6411が初期化されていない、つまりソフトが走っていないのではないかと思われる。クロック(M6411の6、7ピン)の波形を観測するとクロック発振していないことが判明した。

⑤発振子には2MHzセラミックが使われている。これを交換してみたが発振せず、M6411の不良と断定した。なお、リセット(M6411の9ピン)にはパワーオンリセットの回路が繋がっているが、リセットは解除されている状態であった。

⑥M6411は既に絶版になっていて、市場に流通していない。別のマイコンで代替品を作るしかない。ソフトは現物の解析によって要求仕様を起こし、新規に開発することになる。

⑦M6411を換装することでロボットの機能が回復するのか、確認しておく必要がある。本体走行用のモーターに直に給電すると、モーターは回転する。モーター制御は三洋LB1645Nを使用していて、その入力(LB1645Nの5、6ピン)に信号を入れたところ、モーターの正逆転制御は良好であった。
なお、不明な回路に信号を入れる場合は数KΩの抵抗を介して注入する。信号線を直接VccやGNDに繋ぐと過電流により回路が破壊される恐れがある。

⑧走行すること以外の機能についても動作確認をしておく。それと同時に、M6411のピンと機能の対応付けを調べておく。周辺の配線パターンを追いかけることと、各ピンにH/Lの信号を入れてみて動作を観察する。その結果、ピン番号と機能は以下のように対応していることが判った。

 ピン番号:機能(*付きは負論理を示す)
 1:*OMNIBOT SOUNDS(A音)
 2:*OMNIBOT SOUNDS(B音)
 3:(NC)
 4:(NC)
 5:エンコード信号入力
 6:OSC1
 7:OSC2
 8:GND
 9:*RESET
 10:左モーター後退
 11:左モーター前進
 12:右モーター後退
 13:右モーター前進
 14:TALK(送信機からの音声をスピーカへ流す)
 15:*TAPE(カセットテープ動作)
 16:Vcc

 ここで、下記の機能の動作が確認できた。

 ・OMNIBOT SOUNDS(A音)
 ・OMNIBOT SOUNDS(B音)
 ・TALK(この信号がHのとき、送信機のマイクで拾った音声が本体のスピーカへ流れるようになる)
 ・*TAPE(この信号がLのとき、カセットテープのキャプスタンモーターが動作する)

これらの機能が動作するには、時計が設定途中でないことが必要条件であることも判明した。これは試行錯誤の結果得られた条件である。

⑨OMNIBOT SOUNDSの音源は時計モジュールの中にあるようだ。

4.治療
(1)マイコン換装の検討
①M6411のVccはバッテリ電圧からダイオードを介して供給されていて、実測値5.7Vが供給されていた。PICの最大定格は5.5Vなので、PICに換装するには5VのVccを用意する必要がある。

②本体の電源オフ時も周辺回路の一部には通電されていて、以下の信号には3V程度の電圧がかかっていた。このため、これらの信号はOCタイプでドライブするように設計する。

 ・OMNIBOT SOUNDS(A音)
 ・OMNIBOT SOUNDS(B音)
 ・TAPE(カセットテープ動作)

③ボタン操作と変調波の周期の対応の解析結果から、デコード処理は10μS以上の分解能が必要であることが判る。この精度を確保するためには命令実行時間は1μSであればよく、4MHzの内蔵RCオシレータが使用できる。

④インタフェースが必要な信号線数は9本である。

⑤上記の条件とコスト、入手性から16F648Aを選定した。

(2)ハード設計
①16F648Aの電源は、LDOレギュレータを使っても電圧ロスは0.2V必要なので、ダイオードに入る前から電源を取り込むことにする。そうすると、電池電圧の低下は5.2Vまで許容されることになる。

②無信号時にもアクティブ状態を保持する必要のある出力信号は以下の信号である。これらはPORTAに割り当てて、ビットセット/クリアで制御する。

 ・TALK(送信機からの音声をスピーカへ流す)
 ・*TAPE(カセットテープ動作)

信号受信時のみアクティブにする出力信号は以下の信号である。これらはPORTBに割り当てて、信号が切れたときにバイトクリアする。

 ・*OMNIBOT SOUNDS(上ボタン押下時)
 ・*OMNIBOT SOUNDS(下ボタン押下時)
 ・左モーター後退
 ・左モーター前進
 ・右モーター後退
 ・右モーター前進

③16F648AのRA4はOCタイプなので、これを*TAPEに割り当てる。
 下記の2つの信号はTrを外付けしてOC出力にする。

 ・*OMNIBOT SOUNDS(上ボタン押下時)
 ・*OMNIBOT SOUNDS(下ボタン押下時)

④回路図
TOMYオムニボットの修理(マイコン換装)治療1

(3)ソフト設計
①入力信号のレベルを判定して、その変化を把握する。LからHへ変化したときにTMR0をクリアしておき、次にLからHへ変化したときのTMR0の値を測定値とする。最大700μSを測定する必要があるので、1024μSを8ビットフルスケールとする。従って、命令実効時間は1μSなので、プリスケーラは1/4、LSBの重みは4μSとなる。

②測定した周期から動作コードへのデコードは、プログラムロジックを簡易にするためと、ダイナミックステップを少なくするためにテーブル変換方式とする。分解能は10μSでよいので、TMR0のLSBを落とし変換テーブルは128エントリとする。分解能は8μSとなる。

③安定動作を保証するため、デコード結果が規定回数以上同じ結果とならなければ有効としないようにする。

④安全性を保証するため、走行機能は信号が途絶えると停止するようにする。また、監視タイマーを有効にする。

⑤PUSHボタン押下の信号を受信したときは0.5秒待って、TALK機能をオンにする。これは、直ぐにオンにすると、変調波が本体のスピーカから大音量で流れてしまうためである。

⑥TAPEボタン押下の信号を受信したときはTAPE動作をトグルした後0.5秒待つ。TAPEボタン押下の信号が瞬断した場合、重ねて何度もトグルしないようにするためである。

(4)ソフト作成
①MPLAB(PICマイコン開発環境)を使って、プログラムの作成からシミュレーションデバグまでを実施する。

②本体基板のデコーダへの入力信号(M6411の5ピン位置)を取り出し、デバグ用ボードに入力して、プログラムの実機走行テストを行う。特に下記の事項を確認する。

 ・周期測定の精度とマージンの妥当性
 ・周辺回路への信号出力の安定性

デバグボードでのテスト
TOMYオムニボットの修理(マイコン換装)治療2

③開発したワームウェアは 「Me2007_245」(MPLABプロジェクト) を参照。

(5)代替マイコン基板の製作
①M6411を代替するためのマイコン基板を製作する。
TOMYオムニボットの修理(マイコン換装)治療3

(6)デコード回路の換装
①本体基板のM6411実装部分に、代替マイコン基板を繋ぐ。
TOMYオムニボットの修理(マイコン換装)治療4

(7)最終テスト
①本体を組み立て、最終的な動作テストを行う。

 ・本体の走行動作
 ・OMNIBOT SOUNDSの動作
 ・カセットテープ動作
 ・音声伝送動作

上記の正常動作を確認でき、治療完了した。
スポンサーサイト



  1. 2007/12/16(日) 11:46:08|
  2. マイコン換装
  3. | コメント:0

プロフィール

大泉茂幸

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

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

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

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

カテゴリ

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

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

QRコード

QR