トドお父さん通信

トドお父さん通信

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

 
おもちゃ病院での修理記録をNoteに追加しました。  

今回はクリスマス用?のダンシング スノーマンを修理しました。
前回の踊る雪だるま人形と似ていて、スイッチが入るとクリスマスソングを演奏して踊ります。
スイッチは内部にある圧電センサで、手を叩いたり本体に触ると動きます。
 
概略:クリスマスグッズのダンシング スノーマンの修理
電池ボックス清掃と各部樹脂部品の劣化・損傷をプラ板追加と
大量のプラリペア充填で復活させた
 
■ 修理の実施

・まず、電池端子を磨きました。モータが動作するようになりました。

 しかしモータが回っても、頭を動かす部分の樹脂版が割れているので、
 ダンスしましせん。

 

 

・次にダイソーで買ったプラ板を電工ナイフで切って、もとの円盤の大きさに

 合わせて切断します。(10cmφくらい)

・央のネジが錆びてドライバで回りません。固着しているのでしょうか?

 → 仕方がないので、樹脂版の真ん中に8φくらいの穴を開けて、両側に

  φ2.6mmx8mmのタッピングネジ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にまとめています。  
ぜひこちらからご覧ください。

 

 

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

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


今回のこのプロジェクトのきっかけを作ってくれたのは、David Johnson-Davies 氏の 

ATtiny414 を用いた 100MHz 周波数カウンタの記事です。
“Frequency meter based on an ATtiny414 measuring an input of 100MHz.”
http://www.technoblogy.com/show?20B4)。

 


この記事では、

  • TCD0 を用いた非同期カウンタ(システムクロックとは独立して外部入力でカウント可能)

  • 1秒ゲート式

  • イベントシステムでRTC信号を直接TCD0に伝達し、ソフトの介在なしに正確に1秒のゲートをかける

  • イベントシステムを使ってインバータを構成し、2-20MHzまでの水晶を発振させその周波数を測定する

という非常にマニアックな構成が採用されています。
 

まず、手持ちの ATtiny1614(ATtiny414のフラッシュ16kB版)を用いて、David氏の非同期TCD 1秒ゲート方式周波数カウンタを実際に作ってみました。
 

たった1個のマイコンチップによるこの構成で、内蔵のイベントシステムを使ってインバータを作り
水晶を発振させ、水晶の周波数16MHzを15.997997と表示できたときは正直かなり感動しました。

 

しかし、動作が確認できると次第に欲が出てきます。「低周波の表示桁数を上げて、誤差を減らすためには、波形の周期を測定して逆数を表示するレシプロカル方式を併用したらいんじゃね?」
そう考え、実装の検討を始めました。


ここから先の検討の記録は備忘録としてNoteにまとめています。  

ぜひこちらからご覧ください。