10進カウンタICとシフトレジスタIC
この記事は主に、アナログで直流低電圧のもので電子工作を楽しむための記事を紹介していますが、デジタルICと呼ばれるものでも、アナログ感覚で使えるものがあるはずです。
例えば、LEDを流れるように次々と点滅させる使い方をする、10進カウンタICやシフトレジスタICは、デジタルICに分類されますが、動作を手動でさせると、アナログ用途でも使えるICといえます。
これらは安価で、ICですので、付帯部品も少なくて使えることも利点です。
例えば、「10進カウンタIC」は、スイッチを押すごとに並んだLEDを順番に点灯させる用途に使えそうですし、「シフトレジスタIC」は、スイッチを押すと、自動的にLEDを順番に点灯させる・・・というものに使えそうなので、別に扱った、オペアンプやタイマーICで、発振によるパルスを与えれば、アナログ・デジタルという枠にこだわる必要もありません。
最近の乗用車の方向指示器で、順に光が流れるような動作は、このようなICを使っています。
ここでは、ともかく、デジタルICをつかってみよう・・・という内容です。
(注)ここでは、ブレッドボードに組んだテスト的な回路で動作させているために、動かしてみると、機械的なスイッチをON-OFFさせる時の「チャタリング」(接触不良などで何回もスイッチが押された状態になる)による誤動作や、手を近づけるだけで、容量変化で点滅動作が開始する・・・などの、デジタルであれば起きないような不具合が起こっています。 これについては、対策をすればある程度は除去できますが、その対策などは割愛してあり、ともかく、「使ってみた」というチャレンジとして紹介していますのでご了承下さい。なお、この記事は専門的で正確なものではなく、気軽にICを使うためのヒントにしていただくものですので、そのつもりでお読みください。
PR10進カウンタIC: TC4017BP
「10進カウンタIC」でWEB検索すると、このTC4017の記事が多く出てきます。
ここで使用しているのは、東芝製の16ピンのICで、3-18Vの電源で使用できるICで、安価なので、気軽に使えるICです。
同様のICには、「10進ジョンソンカウンタ」と呼ばれるものや、その他の型番のものもありますが、型番内に「4017」という数字があれば、同様の使い方ができそうです。 まず、データシートをみて、この記事のような電子工作に使えるかどうかを確認して、使えそうなら購入するようにするといいでしょう。
PRここでは、TC4017BPを使ってみた例を紹介します。
このICのNo.16ピン(VDD)は+電源で、ここではいつもこのHPで使う、5Vの電源を使って、16番ピンには+5V、No.8ピンのVssには、-側のGND(0V)にして動かします。
動作は、No.14ピンの「CLOCK」にパルス電圧を加えると、Q0からQ9まで、順次にVDDが出力される・・・というICです。
「パルス」は、短いON-OFF入力ですので、まず最初に、手動でスイッチを使って、どのような動作をするのかをみた上で、その後に、タイマーICを使って連続的なパルス電圧を入力して動作させてみることにします。
TC4017BPを使った回路の一例
下の図はLEDを点灯させてみよう・・・という回路の例です。
パルス入力ピン(No.14)につながる「順送りスイッチ(CLOCKへの電圧入力)」を押すとLED1→LED2→ ・・・ と順次にLEDが点灯するようにしています。
リセットスイッチ(ブレーク接点=B接点)を押すと、LED1に戻って動作を繰り返します。
No.14ピンへは、電流制限抵抗に1kΩの抵抗を入れています。 この1kΩがなくても、ICの内部抵抗が高いので、問題ないはずですが、安全対策のために入れています。
また、No.12ピンはLEDの数を増やす場合に使用するピンのようで、同じICを後につなげて、その16番ピンにつないで、1~7と9から11にLEDをつなぐと、20個のLEDが順に点灯するのでしょう。
これについては、ICがなかったので、これは確認していませんが、方向指示用の車のサイドランプが順次に点灯する仕組みなどは、このような考え方で設計されていると思うのですが、今回は10個の点灯なので、このピンは使いません。
ブレッドボードに回路を組みました。
ここではLEDを1個ずつ点灯させているだけですので、高輝度のLEDでも、電流制限抵抗220Ωを変えれば、この回路で問題ではないでしょう。
ここで考える回路は最も単純になるように、順送りスイッチを押すとLEDが順番に光るという回路にしています。
点灯が10番目のLEDまで進むと、はじめのLEDに戻ります。 リセットスイッチが押されると、1番目のLEDに戻ります。
ただ、機械的なスイッチを使っているので、どうしてもスイッチ内で目に見えないチャタリングが起こっているようで、LEDの順番が飛んでしまうことが起こります。
チャタリングは根本的な対策は難しいのですが、スイッチに0.1μFなどのコンデンサを並列につなぐか、スイッチの種類を変える・・・などを試してみるといいのですが、ここでは無視して、何も対策はしていません。
完全なチャタリング対策としては、機械的なスイッチを使わないようにすることが有効ですので、デジタル的な使い方になりますが、タイマーICを使った発振で、パルスを出して、一定時間ごとに次々に点灯することを試してみます。
本来は、このような方法が、このICの標準的な使い方です。
つまり、No.14ピンのCLOCKに「タイマーIC」から一定の間隔でパルスを送る方法にすれば、きっちりと順送りに点灯してくれるようになるはずですので、この仕組みを、タイマーIC「NE555P」を使って試してみましょう。
PRタイマーIC NE555P を使う
このICについてはこちらの記事でも取り上げています。
8ピンのICで、NE555Pのデータシートには下のように、ON-OFF時間、周波数、ディーティー比などが計算できることが示されており、価格も安くて、いろいろなタイプが製造されています。
型番に「555」とあれば、同じようなものとして使えます。 私は、TTL(バイポーラ仕様)で、安価ですし、ラフに使えるので、このNE555P を多用しています。
以下のように、データシートには、発振周期などが示されています。
今回は次のような回路にして、そのCとRを各2種類にして、オシロスコープを使って周期を実測してみると、下表のようになりました。
Vppは出力電圧で、Fは発振周波数です。
このAの組み合わせに対して上のデータシートの計算式から周波数fを計算すると、21.8と計算されて実測値と合っていますので、タイマー時間は、計算式で計算るれば、希望の時間で銃に点灯することができます。
部品の値を大きく変えると方形波の波形が崩れますが、スイッチのために利用するなら特に問題ありませんでした。
数十Hzでは速すぎる感じがしますので、R1・R2の値を大きくして周波数が1Hz前後にすれば手動でスイッチを押した場合と同様の感じになります。
例えば、1秒間隔にしたいのであれば、計算式の 1=0.693x3Rx10μ から、R1=48kΩ、R2=24kΩにすればいいということになります。
手元にある R1=20kΩ、R2=48kΩ、C1=10μF を使って、その発振周期を実測すると、約0.6秒 の周期でしたので、この出力(No.3ピン)を上のTC4016BPの回路のNo.14ピンに入力します。
PR写真の順送りスイッチは使っていませんが、タイマーをスイッチ代わりにすると、10個のLEDが順次点灯していきます。
写真の状態では、0.6秒間隔でLEDが左から右に流れていくのを繰り返します。 途中で左のリセットスイッチを押すと、一番左側に移ってから、再び、順に右側に移って点灯します。
手動スイッチではチャタリングの影響を受けましたが、このように、タイマーICを用いると定期的な周期でLEDが点滅移動します。
次に同様に、順次にLEDを点滅させることに使えそうな、シフトレジスターと呼ばれるIC「74164」について見てみましょう。
シフトレジスターIC: TC74HC164AP
シフトレジスターもデジタル回路でよく使われる東芝製のICです。
データシートの内容は、私が慣れていないデジタル表現が多いのでわかりにくく、手探りで使ってみたのですが、やはり、思った動作ができないで、不完全な状態になってしまいました。
ここでは、ICの紹介だけでもやっておきたいので、やったところまでの記事を残しています。
*****
このICは、8-Bit Shift Register (S-IN, P-OUT) と書いてあります。
ピン接続図の「シリアル入力 1番と2番ピン(AとB)」に電圧が入力されているときに、8番ピンの CK に「立ち上がり」の電圧が加わると、「準備完了信号」が内部レジスタに登録されて、クロックCK が立ち上がり、その度ごとに QA-QH の各ピンに出力されるという動作をする(これをパラレル出力と表現されています)・・・ とデータシートには説明されています。
つまり、これはどうも、上の10進カウンタICと違って、手動で動作させるのは難しいようで、タイマーICを使った「クロック用のパルス」は必須のようです。
手動スイッチでは、個別に順送りしたり、手動でリセットすることはできても、LEDが移動点滅している状態で一時停止させること・・・などはいろいろな工夫がいりそうな感じです。
タイマーICなどによって、入力するクロックのスピード(周期)を変えれば、LEDが移り変わる速さが変えられますし、スイッチをONするタイミングでICの動作が始まります。
これを用いると、LEDの光が、順送りに流れていくような動作をさせることができるようです。
例えば、ドアを開けるとウエルカムボードのLEDの光が流れる・・・とか、手をたたくとスイッチが入って、光が順に点滅して、同時にハッピーバースデーの曲が流れる・・・といったようなことができそうだ・・・というようなことをイメージできます。
PR「シフトレジスタIC」をWEB検索すると、いろいろな型番の製品があります。
「***164や***595」という型番が多く使われているようですので、ここでは東芝のTC74HC164APをつかって、アナログ的に、上で考えたような点滅順送りの動作が使えそうかどうか・・・を見てみることにします。
これは14ピンのICです。
一般的な使い方は、CK(クロック)端子に、上のタイマーIC「555」などを使って方形波を入力すると、たとえば、出力QA-QH にLEDをつないでいれば、QA→QB→QC・・・とLEDの光が流れていくような動作になるはずです。
ここでは動作をわかりやすくするために、タイマークロックを使わないで、スイッチを使って入力をすることでどのような動作をするのかを見て、その後に、上で用いたNE555Pを用いたタイマー出力を8番のCKピンに入れる回路で点灯の様子をみて見ようと思います。
(注)しかし、これをやってみた結果は、スイッチ操作では、スイッチのノイズの影響で、思ったように動作しませんでしたが、やった記事として、以下を残しています。
TC74HC164APの動作確認用回路例
この図で、SW_Aを押しながらSW_CKを押すとNo.3~No.13ピンのLEDが順番に光ってくれるだろう ・・・ という見通しで進めました。
しかし、ブレッドボードに回路を組んでみたのですが、どうも動作が不安定です。
スイッチのチャタリングも手伝うのか、一定の決まった動作をしません。
また、ブレッドボードに部品を足の長いまま挿しているだけですので、浮遊容量(寄生容量)か何かのために、手を近づけるだけで、次の動作をしたりすることがあります。
一応の基本的な動作はしているのですが、安定した動作をしません。
この状態の回路ですので、対策も一時的なものしかできませんので、この手動スイッチで動作させるのはいったん中止して、上で使った、NE555Pを使ったタイマーを用いて動作させてみることにします。
PRこれが、タイマーを付けた回路です。
右側がタイマー回路で、それを連結して動かしてみました。 しかし、この回路も、何か変な動作になってしまいます。
例えば、作動をさせると、連続的に8つのLEDが順次点灯する動作を続けますし、リセットボタンを押すと全部が点灯状態になり、そして、通常動作に戻して動かせると、また、連続的に順次点灯する・・・というように、一応は正常な動作をします。
しかし、困ったことに、作動スイッチ押さなくても、手をスイッチに近づけるだけで「ON状態」になってしまいます。 これも浮遊容量の問題でしょうか? つまり、ブレッドボードで、足の長い状態で配線すること自体に、無理があるのかもしれません。
ともかく、一応の動作ができることを確認したので、これで、実験は終了にしました。
**********
以上のように、このTC74HC164APについては、「こんな参考回路で使うことができそうだ・・・」というだけのものですが、このようなデジタルICでも、「アナログ的に使えそうだ・・・」ということだけは確認できました。
安価なICですので、みなさんもいろいろなことに挑戦していただきたいと思って、この記事を残していますが、いったん記事を終了します。
ここに書いた内容は、実際に回路を作って動かしたものですので、内容自体は事実ですが、それが理論上正しいかどうか・・・などは専門家でないのでわかりませんので、もしも問題があっても、ご容赦ください。
PR
Page Top▲