60進カウンタ、12進カウンタができたので、今回はこれらに入れる基準クロックパルスを作ろうと思います。
2Hz クロックパルスの生成
以前のデジタル時計では、水晶発振子で基準クロックを発振させていました (過去記事)。
そのままの回路でもいいのですが、今回は、異なる方法を試してみたいと思います。昔のデジタル時計にもあったと思うのですが、商用電源に同期させる方法です。俺地方は 60Hz 地域なので、こいつを 30分周して 2Hz パルスをつくりましょう。
え?おたくは 50Hz 地域? それなら 25分周でどうぞ。
ちなみに、通常は 1Hz で時計をすすめますが、時刻合わせ時に 2Hz を使います。1Hz をつくる 2分周回路は、このあとでつくる予定の時刻合わせ回路に含めようと思います。
商用電源から 60Hz 信号を取りだす
商用電源から 60Hz信号を取りだす回路が図1 です。電源トランスを使うので、いっしょに DC5V 電源回路もつくりました。
変なところがいろいろあるのですが、部品箱にあった部品でつくったので、まぁこんな感じです。
トランスはセンタータップ付 HP-515 ですが、AC5V では三端子レギュレータ NJM7805 の入力電圧がちょっと足りません。なので、AC10V にしてダイオードブリッジで全波整流しています。
トランスを新たに入手するなら AC6V 以上にするのが吉です。ダイオードも 1N4007 (1000V 1A) なんか使ってますが、ショットキーバリアダイオードにするとかね。
60Hz 信号は、ノイズの影響を減らすためにフォトカプラで取り出します。ダイオードブリッジがあるので、トランスと GND 間は半波になっていますから、フォトカプラは片方向タイプ FOD-817 でいいんです。部品箱に両方向タイプ FOD-814 しかなかったのですが、まぁ、どっちでも関係ないですね。
なお、センタータップをつかって整流回路をつくった場合は、フォトカプラにダイオードをつけないといけません。そのあたりの仕組みは、よーく考えて (^_^;)
ということで、60Hz 信号はオープンコレクタでの出力になります。
30分周回路で 2Hz クロックパルスをつくる
図2 が、60Hz から 2Hz をつくる 30分周回路です。時計のカウンタと同じ 74HC161A をつかいました。
60Hz 信号はオープンコレクタですので、プルアップして、シュミット回路で整形します。
74HC161A は 4bit カウンタなので 15分周させます。プリセットを 0x1 にして 0xF までカウントさせれば 15分周器になりますね。入力につかってあまっているシュミットトリガインバータ 74HC14 で、キャリー出力 CO を反転して LD に戻しています。
15分周器の出力を、Dフリップフロップ 74HC74A で 2分周し、2Hz の出力を得ます。
カウンタに使っている 74HC161A や、押しボタンのチャタリング防止回路で使う 74HC14 と、同じ IC でつくってますが、リプルカウンタでもリングカウンタでも、なんでもいいです。
あ、50Hz のときの 25分周ですか? 74HC161A だと、5分周 x 5分周ですかね? 74HC273 が秋月電子通商にあるので、こいつをつかってリングカウンタをつくるとか? まぁ、いろいろね。
後記
商用電源に同期させれば、時計は正確でしょ?
いやいや、そうは問屋が卸してくれないのです (;´Д`)
日本の商用電源の周波数は、けっこう変動するらしいです。他の機器からのノイズもかなりあります。じっさいこの回路で実験していると、日差で ±10秒ぐらい変動します。ただ、噂によると、周波数はある程度の期間ではつじつま合わせの修正がなされるらしいので、月差でみるとわりと正確になるのかもしれません。
ま、低機能をうたうデジタル時計ですから、ときどき時刻合わせしてね、ってことで。