アフィリエイト広告
アフィリエイト広告

7セグメントLEDをダイナミック点灯させる (1) / デジット制御

先に製作したデジタル時計では、表示器として 7 セグメント LED を使用し、スタティック点灯させていました。それはそれでいいのですが、単純に技術的な興味から、ダイナミック点灯させるってのもやってみたいなと考えていました。もちろん、Arduino は使わず、ロジック IC で、です。

で、今回はまず、7 セグメント LED のデジット側回路を考えてみます。

デジット側の制御

7 セグメント LED をダイナミック点灯させるときのデジット側の制御について、過去にやってみたことがあります。これは、デコーダを使い、0~3 (0b00~0b11) のアドレスを入力することで、アドレスに応じた桁を点灯させる、というものでした。

デコーダに入力するアドレス 0b00~0b11 は、4 進カウンタの出力、ってことです。これをグルグルまわせば、1 桁目から順にオンオフできますね。デジット制御の基本は、これだけです。

4 進カウンタの出力は、デジタル時計でも利用した 32.768KHz を 74HC4060 で分周したパルスを使いましょう。たとえば、512Hz とその半分の 256Hz を使うと 0.98ms ごとにカウントし、デジットが切り換わります。
4 桁の点灯周期は 3.91ms。これが 20ms より長くなるとちらつきが発生するといわれますが、これなら問題ないでしょう。ちなみに、64Hz/32Hz まで下げると点灯周期は 31.3ms になるので、ちらつきます。128Hz/64Hz で 15.6ms ですので、このあたりが限界のようです。

図 1 デジット制御 タイミング図

図 1 は、デジット制御のタイミング図です。

Adr0 が 512Hz、Adr1 が 256Hz。この 2 つで 4 進カウンタになり、アドレスとして 0b00~0b11 を得ます。

2to4 ラインデコーダは、部品箱にあった 74HCT139 です。出力はアクティブローなので、アドレスに応じた出力 Dig0 ~ Dig3 が LOW になります。

回路図

図 2 は、7 セグメント LED まわりの回路図です。

図 2 7セグメント LED まわり回路図

7 セグメント LED は、カソードコモン 1 桁のものを 4 個、並列につないでいます。4 桁カソードコモンと同じです。セグメント側には、いつもの BCD to 7 セグメント LED デコーダ TC4511 を使っています。Blanking 信号は、あとでつくる予定です。とりあえず 5V につないでおいて下さい。

クロック発振回路は、32.768KHz 水晶振動子を 74HC4060 で発振させ、分周しています。512Hz と 256Hz を、2to4 ラインデコーダ 74HCT139 のアドレス入力とします。
1024Hz を引き出していますが、これもあとで、Blanking 信号に使うつもりです。

デコーダの出力は、ダーリントンドライバ TD62308 に入れています。
デジット側の電流は、この回路で最大 77mA になりますので、デコーダの出力側ではオンオフできません。いつもはトランジスタを使っていますが、今回は、部品箱にあったこのドライバを利用しました。こいつは入力がアクティブローなので、74HCT139 と相性がいいんです。
なお、TD62308 のコレクタ飽和電圧は、実測値で 0.72V でした。TC4511 の出力電圧が 4.25V、LED の電圧 1.88V、電流制限抵抗 150Ω に 1.65V (いずれも実測値) ですので、セグメント電流は 11mA となります。

これで、TC4511 の入力 Val0 ~ Val3 に BCD 信号を入れれば、7 セグメント LED の 4 桁に同じ数字が表示されます。
ちなみに、デコーダのアドレスのクロックを 4Hz/2Hz にしてやると、ダイナミック点灯の各桁の動きがよくわかります。仕組みの理解に役立つんじゃないでしょうか (^_^;)

次回は

各桁に任意の数値を表示する、考え方は簡単です。
デジットの切り換えに合わせて、入力する BCD 信号を切り換えてやる。つまり、1 桁目を点灯させているときは 1 桁目の値を、2 桁目を点灯させているときは 2 桁目の値を入力する。そのように切り換えてやる、ってことです。

次回は、マルチプレクサを使って、入力する BCD 信号を切り換える回路をつくりましょう。

タイトルとURLをコピーしました