トドお父さん通信 -5ページ目

トドお父さん通信

北部九州在住 高BMI中高年のオタク趣味の活動記録

おもちゃ修理情報のまとめ・備忘録にNoteを使うことを始めました。  
これからは修理記録や電子工作メモをNoteに写真付きで整理していきます。

おもちゃ病院での修理記録をまとめました。  
今回はバンダイの妖怪ウォッチのスイッチ不良を修理しました
 
電源スイッチを入れて、メダルを入れるとメダルを検知して特定の音がなる設定なん
ですが、メダルを入れても、「ソウジャナイヨ~」としか返事しません。
 
妖怪ウォッチは  2014年くらいにブレークして、このおもちゃを仕入れるのが大変
だったようですが、当時から故障が続発していたようです。
持ってこられたのは、2021年の復刻版のようです。

メダルが色々あるようですが、メダルの種別を検知するためのマイクロスイッチが
4個あって、これが不調の原因らしいです。
摺動抵抗が高くて、検知しないスイッチがでると「ソウジャナイヨ~」と応答する
そうです。
 
対策は分解して、スイッチ内に接点復活剤を吹きかけるとあります。
先人の知恵、そのまま拝借します!
 
まず、ネジを4個外して分解しました。
電池BOXの中にも2個ネジがあるので注意してください。


接点復活剤(サンハヤトの復活王)を少なめに吹きかけます。
 

吹きかけたら、回りをふき取ってスイッチを手でカシャカシャします。
10~20回程度でしょうか?
1回で直らなかったら、2回目で同じようにチャレンジします。
テスターで摺動抵抗を測定し、1Ω以下になったらOKです。
 
これで、動作するようになりました!(写真はないので、ご容赦ください)
 
 
おもちゃ病院での修理記録をNoteにまとめました。  

今回は昔のアニメ、「ひみつのアッコちゃん」のキャラクターグッズ
テクマクマヤコンのコンパクトを修理しました。

 

概略:ひみつのアッコちゃん テクマクマヤコン コンパクトの修理
COBの故障をつつじが丘おもちゃ病院 大泉さんの tinyAVR電子オルゴール
Ver1_2 のプログラムを使って、TINY402でマイコン換装を行って修理を行った。
 
■ 修理方針の決定

・数日にわたるカットアンドトライと、上のYoutubeの動画を見つけ、結果
 はCOBの故障と判定しました。
・お客さんに「マイコン換装しかないが、いいですか?」と確認後に
 マイコン換装で修理を進めることにしました。

ファームはいつものつつじが丘おもちゃ病院の大泉さんの作品をベースに今回の
仕様を織り込んで変更しました。

 

 

変更仕様:
 ・タッチスイッチが短押し(100mS~1秒以内):「テクマクマヤコン…」
 ・タッチスイッチが長押し(2秒以上~)   :「ツルルルン…」が鳴る
 ・音が鳴っている間は0.1秒 ON/0.1秒 OFFでLEDを点滅
 実装方針:LEDやスピーカの駆動回路は現状のまま流用
  COBのI/O線/抵抗を外し、マイコン基板で制御を乗っ取り
  COBの待機電流を測定すると0.1uA程度 (電源検知の1.2MΩを外す)
  タッチスイッチは中華のTTP223モジュールを使用


短押しで「テクマクマヤコン…」、長押しで「トルルルルン…」音が出るように切り替えるのに
以外に苦戦しました。
原因はsleep_timerが1000mSに設定されていたためでした。
長押しは2000mSで判定しますので、途中でSleepに入り長押しが判定できなかったためです。


apl_SW.c内の#define SLEEP_TMR 1000 → 5000に変更で問題なく動作するようになりました。
さすが大泉さんの作品です。いろんな定義で変更に対応できるようになっています。

コメントを事前に読んでいたら、こんなに苦労しなかったんですが。
AIにデバッグを支援して貰っていたら、2日が溶けていきました。

最近の電子工作の記録もNoteにまとめることにしました。 

今回はマイコンを使って周波数カウンタを作ろうとしています。

前回の記事はこちらです。
【電子工作】AVR128DA28で100MHz周波数カウンタに挑戦#1 ― 構想と方式選定 ―

前回は100MHz周波数カウンタの構想と方式選定について書きました。
このプロジェクトの基本になるのは、
technoblogy(David Johnson-Davies氏)のATtiny414周波数計の記事です。
100MHz Frequency Meter

まずは、ATtiny1614でDavid Johnson-Davies氏の非同期TCD方式の再現に成功しました。

15.997997 MHzの高精度表示が出て感動したんですが…
・低周波帯でTCBにOVF割り込みがない → レシプロカル方式併用が厳しい
・フラッシュ16KB・ピン数14ピンではギリギリすぎて拡張がほぼ不可能


というわけで、tinyAVR 1シリーズから、よりリソース豊富で高性能なAVR Dxシリーズの

AVR128DA28(Flash128kB・28ピン)に移植を開始します!
今回はまず、Davidさんの100MHz周波数計「非同期TCD 1秒ゲート方式」をAVR128DA28

でおなじレベルまで動かすところまで持っていきます。

 

 

今回の到達目標:

・測定方式:ダイレクトカウント方式
・ゲート時間:1.000秒(RTC基準)
・使用マイコン:AVR128DA28
・クロック:内部24MHz
・カウンタ:TCD0(非同期)
・結果出力:LCD (128x32表示)


回路構成
ブロック図
 

┌────────────────────────────────┐
│ 100MHz周波数カウンタ(ゲート方式)      │
├────────────────────────────────┤
│ ↓ 外部信号                   │
│ EXTCLK (PA0) → TCD0(12bit非同期カウンタ)   │
│ ↓ OVF                     │
│ OVF_CNT(16bit拡張ソフトカウンタ)       │
│ ↑ キャプチャ                  │
│ RTC(1秒ゲート)                 │
│ ↑                       │
│ 32.768kHz水晶                  │
│                         │
│ 結果 = (OVF_CNT << 12) | TCD0 = 28bit = 周波数 │
│                         │
└───────────────────────────────-─┘

 

回路図

画像
 

測定原理

TCD0が外部信号(PA0)を非同期カウント(12bit: 0~4095)

ソフトウェアカウンタでTCD0のOVFを加算し28bit化する

RTC OVF(1秒)→ EVSYSでTCD0をキャプチャ

すべてハードウェア完結 → CPU負荷ほぼゼロ(制御・表示のみ)


ここから先の検討の記録は備忘録としてNoteにまとめています。  
ぜひこちらからご覧ください。