今回は、おもちゃ病院などでの修理治具としてコンパクトで省電力な水晶発振子
チェッカー(兼周波数カウンタ)を作りましたので、そのレポートです。
今回のこのプロジェクトのベースとなっているのは、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の水晶が発振してくれません。
32.768kHzの発振回路の検討
この件については、同業者(笑)の安孫子おもちゃ病院のHPに詳しく書かれていました。
水晶発振子の動作確認用発振回路の製作(その2)
32.768kHzの水晶って、MHzオーダーで使われるATカットの水晶と違って、音叉型なんですね。Xカットというらしいです。
AI君にお伺いを立てると、「時計用の水晶はESRが数十kΩと大きく、また大きな励磁電力を流すことができない。ESRが数百Ωと小さいATカットの水晶と違う」とのご回答でした。
ネット上で、前の会社で設計時にお世話になっていたアナログデバイスのTNJ-099という技術資料を見つけました。(石井先生、お世話様です)
当時はCMOS ICも4069、帰還抵抗も1MΩあたりを使っていたからでは?ということでした。
時計用の水晶は励磁電力の許容量が小さいので、制限抵抗Rdを100~470kΩと大きくすることも大事で、小さいと壊してしまうこともあるとのこと。
さっそく、この定数に変更して時計用の水晶をつなぐと、こちらもあっさり発振しました。
ブレッドボードでは、この定数でもMHz用のHC49-Uが発振したのですが、
どうも不安定です。
基板に組むと、Rdが大きすぎて全く発振しません。
100kΩ、22kΩ、10kΩと下げていっても、ダメです。
100kΩ以下では、時計用の水晶が発振しなくなります。
原理的にこの両立はむつかしそうです。
発想を転換して、Rd=220kΩにして、ジャンパーピンでショートすれば
Rd=0Ωになります。帰還抵抗Rf=10MΩでも、問題なく発振します。
こうしてできたファイナルアンサーの発振回路は下記です。
全体の回路図はこれです。この説明と部品リストとかは次回に持ち越しです。

ここから先の検討の記録とソフトの説明は備忘録としてNoteにまとめています。
次の第2回は、タカチのSW53というケース加工と、ケースに合わせたユニバーサル基板の組み立て、最終調整を記事にしようと思います。
次回をこうご期待!
完成写真(ネタバレ注意!)



