【電子工作】コンパクトな水晶発振子チェッカを作りました(その1) | トドお父さん通信

トドお父さん通信

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

最近の電子工作の記録はNoteにまとめることにしています。 
 完成写真(ネタバレ注意!)
 

今回は、おもちゃ病院などでの修理治具としてコンパクトで省電力な水晶発振子

チェッカー(兼周波数カウンタ)を作りましたので、そのレポートです。


今回のこのプロジェクトのベースとなっているのは、David Johnson-Davies 氏の 

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

 



まずは、手持ちの ATtiny1614(ATtiny414のフラッシュ16kB版)を用いて、

ブレッドボードでDavid氏の非同期TCD 1秒ゲート方式周波数カウンタを実際に作り、

これにタクトスイッチでON/OFF (スリープ) するロジックを追加することにしました。

また、32.768kHzの時計用の水晶もチェックしたいので、発振器は外付けにしました。

 



まずは元の周波数カウンタをブレッドボードに組んで動作させます。16MHzの水晶が発振し、15.9977...と表示しました。
ここからスイッチや外部発振器を加えて、プログラムを改造していきます。
 

スイッチを使って動作中とSleepを切り替える、また数十秒入力がないときは

Sleepするプログラム改造は、ChaNさんの回路内導通チェッカを参考に組み込みます。
このブログでは、この記事ですね。

 


この中のSleep制御を今回のプログラムに組み込んでいきました。

今回の完成したプログラムはgistにUPしています。
todopapa/100MHZ_FREQ_METER_260408c.ino

プログラムの変更内容は末尾に載せた note記事のリンクを参照ください。

省電力化の検討

今回はCR2032電池で駆動しますので、できるだけ省電力になるように回路とソフトを検討しました。

  • ATTINY1614のピン割り込みで、スイッチを押したときに起動して、Sleep時は極力電流が流れないようにする。

  • 発振回路は74LVC04や、74AHCU04より消費電流の少ない74HCU04で
    設計します。さらに電流消費を減らすためにVccに100Ωを挿入します。

  • LCDの待機電流は数10uAと小さくありませんでした。
    発振器と同様に、ポート制御でSleep時は電源をOFFし、起床時にON
    するようにしました。立ち上がりが少し遅く感じるのはそのせいです。

  • 空きポートは出力に設定し、”L"にします。

発振回路の検討
Davidさんの元プロジェクトでは、ATTINY内蔵のイベントシステムを利用して、

PA1とPA2間でインバータを作って外部回路なしで水晶チェッカを構成しています。

 2MHz~20MHzまでの水晶の発振確認ができます。

非常にいいアイデアで面白いのですが、今回の水晶チェッカではもう少し
周波数の適用範囲を広くしたいので、発振回路は外付けにしました。
京セラさんのこちらのPDF技術資料を参考にしました。
https://share.google/OjOgbdeYOrG7h31R4


この回路がよく見るCMOS TTLを用いた水晶の発振回路ですね。
TTLの入力と出力を1MΩの帰還抵抗でアンプにします。

 

 

この表が重要ですね。RfとRd(制限抵抗)の値が表になっているのはありがたいです。

Rf=1MΩ、Rd=0~1.5kΩです。
負性抵抗Rxは普通いれないですよね(0Ω)。異常発振とかの場合は入れるそうです。
 

C1, C2の値は、水晶のCLによって変わります。(MicroChip資料)

これもユニバーサルな定数を決めるのは難しいですが、想定するHC-49/U水晶のCL=15PFとすれば、浮遊容量を4PFとすると22PFになります。

画像
 

この内容で決めた下記の回路を基板に組んで、事前確認を行いました。

デバイスも最初は74VHC1GU04を使ったのですが、待機中に10何mAも流れるので困りました。発振させるだけですからね。

次に74AHC1GU04を試しました。こちらも7-8mA流れるので、最終的に74HC1GU04になりました。
これなら、5-6mAしか流れない上に、電源ラインに100Ω入れてさらに電流を抑えたので、4-5mAの消費で済むようになりました。

画像
 

32.768kHzの発振で問題発生!

ここで問題が発生しました。
通常のHC49/Uの水晶なら問題はなかったのですが、時計用の32.768kHzの水晶が発振してくれません。

画像
一般的なHC-49-U水晶と時計用の32.768kHz 円筒型水晶


32.768kHzの発振回路の検討
この件については、同業者(笑)の安孫子おもちゃ病院のHPに詳しく書かれていました。
水晶発振子の動作確認用発振回路の製作(その2)
32.768kHzの水晶って、MHzオーダーで使われるATカットの水晶と違って、音叉型なんですね。Xカットというらしいです。

AI君にお伺いを立てると、「時計用の水晶はESRが数十kΩと大きく、また大きな励磁電力を流すことができない。ESRが数百Ωと小さいATカットの水晶と違う」とのご回答でした。

ネット上で、前の会社で設計時にお世話になっていたアナログデバイスのTNJ-099という技術資料を見つけました。(石井先生、お世話様です)

 
記事によると、石井先生も駆け出し時代に32.768kHzの発振に苦労した経験があるとのことでした。

当時はCMOS ICも4069、帰還抵抗も1MΩあたりを使っていたからでは?ということでした。
時計用の水晶は励磁電力の許容量が小さいので、制限抵抗Rdを100~470kΩと大きくすることも大事で、小さいと壊してしまうこともあるとのこと。

さっそく、この定数に変更して時計用の水晶をつなぐと、こちらもあっさり発振しました。

ブレッドボードでは、この定数でもMHz用のHC49-Uが発振したのですが、
どうも不安定です。

基板に組むと、Rdが大きすぎて全く発振しません。
100kΩ、22kΩ、10kΩと下げていっても、ダメです。
100kΩ以下では、時計用の水晶が発振しなくなります。

原理的にこの両立はむつかしそうです。
発想を転換して、Rd=220kΩにして、ジャンパーピンでショートすれば
Rd=0Ωになります。
帰還抵抗Rf=10MΩでも、問題なく発振します。

こうしてできたファイナルアンサーの発振回路は下記です。

 



 

全体の回路図はこれです。この説明と部品リストとかは次回に持ち越しです。


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

ぜひこちらからご覧ください。
 
次の第2回は、タカチのSW53というケース加工と、ケースに合わせたユニバーサル基板の組み立て、最終調整を記事にしようと思います。

次回をこうご期待!