2016年01月27日

教育分野

アップダウンカウンタの製作 設計編

◎クロック回路を変更する

★カウント操作の違和感

前回、MLCTB-BASEにて実験を行いました。
目的の動作を確認することができましたが、仕様的に少しおかしなところに気づきました。
図41のようにカウント操作時にスイッチを押して離すとカウントします。
チャタリング防止のNOTゲートは入力を反転して出力するだけですから、スイッチS3を押している間はHです。
これによりG1またはG2出力はH→L→Hへ変化し、L→Hへの立ち上がりでカウントします。
これはその通りのロジックですから当たり前の話なのですが、操作的に違和感を感じます。
早いスイッチ操作であれば気づかないのですが、ゆっくりとスイッチ操作を行うと違和感があります。
つまり、早い操作、ゆっくり操作によらず、スイッチを押した瞬間にカウント表示することが望ましいと思います。

160128-012-01

カウンター(74HC192)は立ち上がりクロックでカウントしますので、このロジックは変更できません。
そこで、解決策として図41の方法を思いつきました。
NOT出力はスイッチを押している間はHですから、これのL→Hの変化を検出し、押している間の時間によらず、短いパルスを1回出力させます。
これによりすぐにカウントしてくれて、違和感はなくなります。

160128-012-02

★短いパルスを発生

短いパルスを発生させる方法は色々あります。
L→Hの立ち上がり(エッジ)を検出する方法でも良いわけで、図42にゲートICを用いた方法を示します。

RCとシュミット・トリガ・NOTによる遅延回路出力とANDをとればエッジが検出できます。
B点ではRCにより波形が徐々に立ち上がり、シュミット・トリガ・NOTのスレッショルド電圧になるまではLと認識し、その間は出力であるC点はHです。
A点とC点はANDに接続されますから、ANDがとれる間がD点がHになります。
その時間はCRの定数とスレッショルド電圧で決まり、短いパルスを発生します。
R,Cおよびシュミット・トリガ・NOTは入力信号を遅延する回路です。

160128-012-03

図42はANDゲートを用いていますが、この部分をNANDゲートにしたものを図43に示します。
クロック選択回路はNANDで構成していますので、余ったNANDを用い、論理合わせのためにさらにNOTを追加する方法もあります。
なお、この部分のNOTはシュミット・トリガである必要はありません。
余ったシュミット・トリガ・NOTを利用しても良いわけです。

160128-012-04

★モノステーブル・マルチバイブレータを用いる

図42は遅延回路によりエッジを検出して短いパルスを発生する方式ですが、これとは別にモノステーブル・マルチバイブレータを用いる方式も考えられます。
モノステーブル・マルチバイブレータとは図44のように入力(これをトリガと言います)を与えると一定時間のパルスを発生するもので、パルス幅Tは外付けのC,Rで決まります。

160128-012-05

市販のモノステーブル・マルチバイブレータにはいくつかのICがあり、図45に74HC123Aを示します。
このICは2回路を内蔵し、トリガはL→HへのエッジまたはH→Lへのエッジを選択することができ、出力はQと/Qの2つです。
パルス幅はC3,R6で決めますが、トリガのH時間より短い設定をすれば、これにより短いパルスが得られます。
図45の定数でパルス幅は実測で約4.7msecです。
パルス幅の計算方法またはその他の動作モードについては74HC123Aのデータシートを参照願います。

160128-012-06

以上、遅延回路による方法、モノステーブル・マルチバイブレータによる方法を検討しました。
どちらも結果的に短いパルスを発生させることができます。
74HC123Aは2回路入りですから、1回路余ります。
使わなくても良いのですが、別な機能として用いることとし、結局、74HC123Aを用いる方式とします。
参考として、余った回路の空きピン処理を図45に示します。
図46に各制御回路を示します。
74HC00はNANDゲートが4個入り、74HC14はNOTゲートが6個入りで、それぞれ14ピンのICです。
余りゲートはNANDが1個、NOTが4個ですが、ICの数を減らすことを考えてみます。
NOTはNANDで代用することができますが、NANDはNOTで構成することはできません。
そこで、NANDを基本として考えてみます。
例えば、図46のG3とシュミット・トリガ・NOTはシュミット・トリガ・NANDの74HC132で構成すれば図47になります。
図46におけるG3のNOTがこのままでは不足しますので、この部分を2回路のスイッチで構成すればNOT機能になり、結局、74HC132と74HC123Aで構成することができます。

160128-012-07

◎スイッチ操作音を作る

カウントスイッチが正しく押されたか不安になるときがあります。
7SEG-LEDの数字がアップまたはダウンすることにより分かるわけですが、常に表示を見ているわけではありません。
そこで、確実にスイッチが押されたことが分かるように操作音を作ることにします。
図48のように余っている74HC123Aの回路を利用し、押された瞬間、一定時間ブザーを鳴らそうというものです。
用いるブザーは自励式です。
電源を接続すれば「ピー」などの連続音が発生しますが、操作音となるように短い時間だけ鳴らそうというものです。
自励式ブザーはトランジスタで駆動し、好みの音となるようにC4,R7の定数を調整します。
図48の定数では約10msecです。
これにより「ピッ」というような音になり、100msecなど長い時間では「ピー」という感じで少しうるさい気がします。
最終的にケースに収納した場合、聞こえ具合が変わってくると思いますので、定数については仮としておきます。

160128-012-08

◎プリセット回路

★プリセット動作

プリセットはカウント開始値を設定できる機能で、図49に概略の接続図を示します。
リセットRSTを「L」レベルにしておいて、/LD端子を「L」レベルにするとプリセットされます。
プリセットデータはP0~P3で、P0が最下位です。
なお、プリセット動作はクロック(UP/DOWN)とは無関係です。

160128-012-09

160128-012-10

プリセットデータは写真3のロータリーコードスイッチを用いることにしました。
0~Fまたは0~9の表示位置につまみをセットするとそれに応じたコードが出力されるスイッチです。
出力コードはリアル・コードとコンプリメンタリ・コードがあり、リアル・コードはポジション0でスイッチはすべてOFFになります。
コンプリメンタリ・コードはこれとは逆になり、ポジション0でスイッチはすべてONです。

160128-012-11

例えばコンプリメンタリ・コードを用いる場合、図52のようにプルアップ抵抗を接続すれば、正論理出力となって74HC192に入力されます。
図52はポジション6の場合です。

160128-012-12

◎最終回路と仕様

★仕様

①電源 単3乾電池×4本または単3形ニッケル水素電池×4本

②桁数 3桁

③アップダウン切り替えスイッチ

④プリセット機能

⑤マニュアルリセットスイッチ

★最終回路

図53~図56に最終的な回路図を示します。

(図53)主な制御部

S1にてアップ/ダウンを選択し、S3を押す毎にカウントされます。
電源ON直後はG4にてパワーONリセットがかかり、カウント初期値はゼロです。
カウント途中ではS2を押すことによりリセットされます。

(図54)カウンター部

74HC192はIC3が下位です。
上の桁への接続はCA→UP、BO→DOWNになり、各リセット端子およびロード端子は共通とし、制御部へ接続します。

(図55)表示部

7SEG-LEDはカソード・コモンのKW1391(Linkman)です。
電流制限抵抗は用いる7SEG-LEDによりますが、この例では1kΩです。

(図56)プリセット部と電源部

プルアップ抵抗は配線が楽な抵抗アレイ(集積抵抗)です。
単純なスイッチのプルアップ用途ですし、消費電流および抵抗値の種類を増やさない意味で47kにしています。
S5は内蔵電池と外部DC電源選択を兼ねた電源スイッチです。
手持ち部品の関係で用いたものはショーティングタイプのロータリースイッチです。
このままですと切り替え時に内蔵電池と外部DC電源がショートしますので、これを回避する目的でOFFポジションを途中に設けています。

160128-012-13

160128-012-14

160128-012-15

160128-012-16

第四回へ続きます

ページトップへ