マルツ パーツまめ知識
デジタルタイマの製作
◎デジタルタイマ
タイマと言えば「555」を思い浮かべますが、
今回は汎用ロジックICを用いた「1〜9分の1分刻みのタイマ」を製作しましたので紹介します。
◎カウンタとは
★アップカウンタ
デジタル回路(マイコンも含む)は基本的には「クロック」を基準にして動作しています。
クロックとは図1のようなパルス信号です。(矩形波)
カウンタはこのクロックの数を数えることが出来、
原理図を図2に示します。
CLKは入力端子で、これにパルスを加えると、
QA、QB、QC、QDに出力が出てきます。
この出力は図3のように、
CLK無し → すべて「L」
CLKの立上がり → QAが変化
しています。
また、QB,QC,QDは
QAの立下り → QBが変化
QBの立下り → QCが変化
QCの立下り → QDが変化
のように動作しています。
表1にQA〜QDのパターンを示します。
これは、2進法で表現されていて、表1の「CLK欄」の数字は10進法で表現した数字です。
例えば、 表1 アップカウンタ
QD QC QB QA CLK
0000 → 10進で「0」 0 0 0 0 0
0001 → 10進で「1」 0 0 0 1 1
0010 → 10進で「2」 0 0 1 0 2
   ・・・ 0 0 1 1 3
1111 → 10進で「15」 0 1 0 0 4
0 1 0 1 5
と対応し、CLKの数を 0 1 1 0 6
カウントしています。 0 1 1 1 7
1 0 0 0 8
表1のカウントパターンを 1 0 0 1 9
「バイナリ(2進)カウンタ」 1 0 1 0 10
言います。 1 0 1 1 11
1 1 0 0 12
また、この場合クロックが 1 1 0 1 13
入力される毎にカウント 1 1 1 0 14
アップしていきますので、 1 1 1 1 15
このようなカウンタを
「アップカウンタ」と言います。
★ダウンカウンタ
表2 ダウンカウンタ
図4はクロック(立ち上がり) QD QC QB QA CLK
が入る毎にQA〜QD出力 1 1 1 1 15
がダウンしていき、このよ 1 1 1 0 14
うなカウンタを「ダウンカウン 1 1 0 1 13
タ」と言います。 1 1 0 0 12
1 0 1 1 11
表2にカウントパターンを 1 0 1 0 10
示します。 1 0 0 1 9
1 0 0 0 8
0 1 1 1 7
0 1 1 0 6
0 1 0 1 5
0 1 0 0 4
0 0 1 1 3
0 0 1 0 2
0 0 0 1 1
0 0 0 0 0
◎デジタルタイマの構想
図5に1〜9分の間で1分刻みに設定できるタイマのブロックを示します。
1分(60秒)の周期をもつ信号をクロック入力とし、これをダウンカウントします。
カウンタ値が0になったら信号を発生し、この信号により圧電ブザーを鳴らしてタイマ時間
終了を知らせようというわけです。
タイマ時間が長い場合、残時間が分かれば便利ですので、7SEG-LEDによる残時間表示
を設けます。
図6に「5」をセットした場合の
タイミングチャートを示します。
「LD」信号を「L」にすることに
よりタイマ値の「5」をセットし
ます。
これによりQA〜QD出力は
H,L,H,Lとなり5が出力され
ています。
クロックCLKはLDのL→Hへの
変化点から入力され、CLKの
立ち上がり毎にダウンカウント
します。
カウント値が0になった時点で、
MAX/MIN信号がHになり、
これによりCLKを5回カウント
したことが分かります。
この例ではセット値5ですが、
この値は1〜9の間自由に
設定(セット)することができ
ます。
◎基準クロック(1分)
繰り返し周期が1分のクロックを作る方法としては色々あると思います。
「タイマICの555」を用いても良いのですが、正確な1分とするための調整作業が大変です。
そこで今回はカウンタを用いることにしています。
図7のカウンタは見方によっては、QA〜QD出力が入力されるCLKに対して周波数が低く
なっています。
QA〜QD出力はCLKに対して以下の関係です。
QA → 1/2
QB → 1/4
QC → 1/8
QD → 1/16
このように周波数を1/2,1/4,1/8・・・のようにすることを「分周」(ぶんしゅう)と言い、このような
装置(回路)を分周器と言います。
図7はバイナリカウンタでQA〜QDですから出力が「4段」です。
段数をnとすれば分周数は「1/2n」の関係があり、4段の場合は 1 / 24 = 1 / 16 となります。
4段では最大1/16ですから、「多段カウンタ」を用いることにします。
図8に「74HC4060」のブロック図を示します。
このカウンタは「発振器」を内蔵していて、カウンタはQ4〜Q14までの出力があります。
Q4は 1 / 24 = 1/16、Q14は 1 / 214 = 1 / 16384 の分周です。
例えば、Q14で60秒の周期となるためには発振器(クロック)の周波数を
(1 / 60 ) × 16384 = 273.0666667Hz
となるようにすれば良いわけです。
この周波数は半端な数字なため調整が必要で、Q4出力に周波数カウンタを接続して
調整(チェック)することにします。
この場合のQ4での周波数は、
273.0666667Hz / 16 = 17.06666667Hz
17.06666667Hzの調整は用いる周波数カウンタの精度によります。
最近は安価なデジタルテスタでも周波数カウンタ機能を搭載している機種もありますので、
このようなデジタルテスタで調整した場合の誤差について考えてみます。
デジタルテスタの周波数カウンタモードでの分解能を「0.01Hz」として検討してみます。
(17.00Hzの場合)
1 / { (17.00Hz×16) / 16384 } = 60.23秒
(17.05Hzの場合)
1 / { (17.05Hz×16) / 16384 } = 60.05秒
(17.06Hzの場合)
1 / { (17.06Hz×16) / 16384 } = 60.023秒
(17.07Hzの場合)
1 / { (17.07Hz×16) / 16384 } = 59.98秒 
(17.08Hzの場合)
1 / { (17.08Hz×16) / 16384 } = 59.95秒 
(17.10Hzの場合)
1 / { (17.10Hz×16) / 16384 } = 59.88秒 
以上のような計算結果になり、17.00Hz〜17.10Hzの間であれば、1分で最大0.2秒の誤差。
したがって、特別性能の良い周波数カウンタを用いる必要も無く、安価なデジタルテスタ
での周波数カウンタ機能で良いことになります。
◎回路
図9に回路図を示します。
★動作タイミング
タイマのスタートは電源スイッチをONすることにより行われ、各部の波形を図10に示します。
電源ON直後で74HC4060をクリア(リセット)し、同時に74HC191へタイマ値をロード(セット)
します。
両方のカウンタICは「CLR」がLになった時点でカウントを開始しますが、この場合、74HC
4060の出力変化は「立下り」で、74HC191はクロック入力の立ち上がりで出力が変化し
ます。
したがって、論理が合っていないので、トランジスタQ1によりQ14を反転させたものを74
HC191のクロック入力「CK」へ加えます。
74HC191はこのCKの立ち上がり毎にカウントダウンし、「0」になったタイミングでMAX
出力を「H」にします。
このMAX出力を利用し、NAND回路(74HC132)によるブザー回路を駆動します。
★基準クロック(1分)
74HC4060はCR発振、水晶発振が可能で今回はCR発振を用いています。
図11に発振部の定数を示します。
★分(データ)設定
図12のように「ロータリーコードスイッチ」を用いて設定します。
用いたスイッチは「リアル・コード」で表3の出力コードになり、COM端子をVccに接続して
いますから、表3の○部で「H」です。
○以外はスイッチ接点がOFF(オープン)となり、この場合、ロジック的にH/Lが確定して
いません。
そこで、74HC191のA〜Dの信号ラインにプルダウン抵抗を接続し、スイッチ設定OFFの
場合、「L」となるようにします。
表3 出力コード
ポジション 8 4 2 1
0        
1      
2      
3    
4      
5    
6    
7  
8      
9    
○はCOM端子とONになることを示す
★圧電ブザー制御
図13のようにNANDのG1部で繰り返し周期が100mSの信号を発生させ、後段のG2の発振
(約4KHz)を制御します。
これにより「ピッ、ピッ、ピッ、ピッ・・・・」のような音を発生させています。
なお、Q2は論理合わせのインバータです。
★残時間表示
74HC191のQA,QB,QC,QD出力はその時のカウント値を出力しています。
この信号を利用し、図14のように「BCD-to-7 segment デコーダ」の74HC4511を用いて
7-SEG LEDを表示させます。
この場合、用いるLEDは「カソードコモン」です。
R15〜R21は今回用いた7SEG-LED(KW1391CSB)以外では定数変更の必要があるかも
しれません。
◎部品表
表4 部品表
部品番号 部品名   型番   メーカー 数量 備考
BZ1 圧電ブザー   PKM13EPYH4002-B0 村田 1  
C1,C5,C9 セキセラ 0.1μF/50V 0.1μF/50V     3 104
C2 ポリプロピレンコンデンサ CBB21-250-223J   1  
C3,C4 ケミコン1μF/50V 50YK1   ルビコン 2  
C6 フィルムコン 0.01μF/50V       1 103
C7 ケミコン47μF/25V       1  
C8 セキセラ 0.1μF/50V 0.1μF/50V     1 104
D1 ダイオード   1N4148     1  
IC1 ロジックIC   TC74HC4060AP 東芝 1  
IC2 ロジックIC   TC74HC191AP 東芝 1  
IC3 ロジックIC   TC74HC132AP 東芝 1  
IC4 ロジックIC   TC74HC4511AP 東芝 1  
LED1 7-SEG LED 赤 KW1391CSB   Linkman 1 カソードコモン
Q1,Q2 トランジスタ   2SC1815-Y   東芝 2  
R1,R3 カーボン抵抗 1/4W 10K     2  
R2,R9 カーボン抵抗 1/4W 47K     2  
R4,R5,R6 カーボン抵抗 1/4W 10K     3  
R7 金属皮膜抵抗 1/4W 1MΩ     1  
R8 金属皮膜抵抗 1/4W 51K     1  
R10 カーボン抵抗 1/4W 100K     1  
R11 カーボン抵抗 1/4W 10K     1  
R12 カーボン抵抗 1/4W 47K     1  
R13 カーボン抵抗 1/4W 22K     1  
R14 カーボン抵抗 1/4W 3.3K     1  
R15〜R21 カーボン抵抗 1/4W 470Ω     7  
S1 スライドスイッチ SS-12E01G3   Linkman 1  
S2 ロータリーコードスイッチ       1  
VR1 半固定抵抗50K GF063P1B503 東京コスモス 1  
XIC1,XIC2 ICソケット 16P 212016NE   Linkman 2  
XIC3 ICソケット 14P 212014NE   Linkman 1  
XIC4 ICソケット 16P 212016NE   Linkman 1  
  ユニバーサル基板 ICB88   サンハヤト 2  
  単4×2用電池ケース SN4-2PC   TAKACHI 1 基板用
  単4アルカリ電池       2  
  エンビ板         適量  
  金属スペーサ メスーメス 15mm   4  
★ロータリーコードスイッチ
手持ち部品を使用しましたが、「リアルコード出力」が条件です。
また、10ポジションが望ましいですが、16ポジションでも可。
★コンデンサ
C2,C6はフィルム系を用います。
★R7,R8
金属皮膜を用いましたが、カーボンでも良いと思います。
◎製作
写真1に外観を示します。
ユニバーサル基板を2枚用いています。
これは当初、残時間表示機能無しで製作したのですが、その後、残時間表示機能を追加
したために基板2枚の構造になっています。
製作される方は最初から基板サイズを大きくして1枚構造にしたほうが良いです。
ロータリーコードスイッチは、なるべくなら「操作軸」があるようなものを用いたほうが使い勝手
が良く、このようなタイプをお勧めします。
7SEG-LEDは写真のように薄い「エンビ板」を両面テープを利用して張り付けると視認性が
良くなります。
写真2に調整風景を示します。
VR1を調整するわけですが、発振周波数の可変範囲が、やや広く、R8 = 68K VR1 = 20K
としたほうが調整しやすいかもしれません。
◎使用感
図15に使い方を示します。
★残時間表示を付けて良かった
当初、残時間表示機能が無かったのですが、この場合、タイマ動作が心配になります。
タイマ時間が長い場合、自分で製作したものでも、はたして「終わりまで動作してくれる
のか?」気になります。
残時間表示のおかげで、途中経過も確認出来ますので、この機能を付けたことは大正解
でした。
★けっこう正確
最大9分の設定ですので、この場合がタイマ時間の最大誤差が現れます。
そこで、手持ちのストップウォッチを用いて誤差を測定しました。
結果、9分設定において「誤差0.3秒」と申し分ありません♪♪
なお、調整は写真2のとおり74HC4060のQ4出力にて「17.06Hz」です。