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

トドお父さん通信

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

最近の電子工作の記録も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にまとめています。  

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

 

 

 

 

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

おもちゃ病院での修理記録 3です。
今回はバンダイのたまごっちユニのボタンの動作不良を修理しました。


概略:たまごっちユニのボタンの動作不良の修理
 左からA,B,Cボタンがあり、Aボタンが没入し動作不良
 交換部品を宅配おもちゃ病院に注文して入手
 結局、裏のリセットボタンにつかっているボタンと交換し無料対応

 

■ 宅配おもちゃ病院さんのホームページからシリコンボタンを注文する


このページからメールフォームを見つけて注文のメールを送ります 
新HPでは、画面上部の”お問合わせ”から注文するように変わったようです。
送ったメールアドレスに振り込み先の連絡があるので、振り込んで連絡します。


・送られてきたシリコンボタンを準備します。届くまで1週間ほどかかりました。


4か所の裏のねじ隠しフタの上に、はみ出ないように注意してホットボンドをつけます。

 
ホットボンドを小型のラジペンかピンセットでそっと抜き取ります。
外れたら、再度 ホットボンドをたらすところから始めます。(私ははずれませんでした)


かくしフタの下にあるネジ4個を外して、裏ぶたを外します。
小さいネジなので、適正ドライバーを使ってネジ山をつぶさないよう注意。 

 
これからの詳細な手順や写真付きの記録はNoteにまとめています。  
ぜひこちらからご覧ください。