- 締切済み
ICカウンタについて
74HC163の同期式16進カウンタを2つ使用して99進カウンタを作ろうとしています。 16進カウンタである74HC163をまずは10進カウンタにしてそれを多段に繋げれば出来ると考えているのですが、74HC163を10進カウンタにすることが出来ません。 通常なら0~15まで数えてしまうわけですから、それを0~9まで数えてリセットを行うために、入力端子のA,B,C,DはGNDに接続(最初のカウントを0からスタートするため)し、出力端子のQAとQDをNANDゲートに入力し、NANDからの出力をLOAD端子に繋げる。そのほかの端子については、Clear,イネーブルP,イネーブルTはまとめてVccと連結して接続をする。 という方法でやってみましたが、カウントが9でリセットされずに15までカウントしてリセットをしてしまいました。 また、今回は入力端子のA,B,C,DはGNDに接続しているために「出力端子のQAとQDをNANDゲートに入力し、NANDからの出力をLOAD端子に繋げる。」というところを、NANDからの出力をClear端子に接続しても同じであると考えて、こちらの場合でもやってみましたが同様な結果となってうまくいきませんでした。 将来的にはカウント数はデコーダを通じて7セグメントLED表示器で表示しようと考えていますが、今は試作の段階でカウント9(10進カウンタ)でリセット出来ているかを目的としているため、動作確認はLEDの電球を4個使って確認を行っています。 74HC163の端子間の接続が間違っているのでしょうか? 10進カウンタになっているかを動作確認する方法が間違っているのでしょうか? もしくはICが壊れてしまったのでしょうか? 色々調べてみましたが原因がわかりませんでしたので、質問をさせていただきました。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- precog
- ベストアンサー率22% (966/4314)
ほぼ解決したようですが、念のため。 カウンターなどのICは、内部で出力を入力に回してたりしますので、出力が不安定になると動作も不安定になります。 なので、例えCMOSでもLEDをドライブするときは、一旦インバーターを通すことをお勧めします。多分シンクの方が強いはずだし、習慣的にはHiで点灯にはしないと思うのですけどね。 よっぽどパーツを節約したいなら致し方のないところはありますが、少なくても試作なら時間が無駄になるだけなのでやめたほうが良いと思います。 それと、LEDには必ずシリーズ抵抗を入れることを検討してください。バッファICを噛ますにしても、負荷が減るし、LEDを壊さなくて済みます。(LEDは規定以上に電流を流して焼けると照度が落ち、回復しません) ましてや電源電圧が不安定ならなおさらです。
ANo.2,3 です。 ひとつ見落としてました。 もしやLED に電流制限抵抗を入れてませんね? > そうです。インバータなど、何でもいいですから1段入れて、 >「測定の為に横取りする電流を減らす」ことで解決します。 > 現状はLED を点灯させるために10mA くらい横取りされていて > 回路が正常に動いてないのですが、これを と書きながら、74HC...は 10mA くらい取れるよな、と思ってました。 1段入れなくてもとりあえず、電流制限抵抗を直列に入れる方法でも 解決しそうです。 LED の抵抗の決め方 http://bake-san.com/led012.htm
ANo.2 です。 > LEDはカウンタICの出力QA,QB,QC,QDに直接つなげてしまっています・・・。 なるほど。IC出力が High の時にLED を点灯させるのですね。 その場合、LED を点灯させるために結構大きな電流を横取りされ、 そのために High 出力なのに電圧が高くならない、 のです。 「LED が点いてるからHigh だ」とお思いでしょうが、 NAND 入力が High と判断する電圧より下回っているのでしょう。 テスタや電圧計があれば、その時の電圧値を測定すれば はっきりします。 これが原因らしいので、他の電源装置やパルス云々もあんまり関係ないです。 >チャタリング は、ここでは原因でなかったようですが、もののついでなので説明しますと... プッシュボタンスイッチのように、メカスイッチでON/OFF する場合、 ON する際に物理的にバウンドして、短時間ながらON/OFF が バタバタする期間が存在します。 ロジックのカウントに使ってる場合は如実に表れます。 これがチャタリング、別名バウンス です。 > 2Vくらいだとカウントを正常に行いますが、3V以上あげるとカウントがうまく行いません。 多分... LED を点灯する際の High レベルの閾値が変わるからでしょうね... 電源電圧2V付近だと 閾値は 1/2 Vccの約1Vです、この電圧だと High レベルでも LED がまともに点灯 せず、 横取りされる電流量もごく少なく、 回路を誤動作させるに至らないのです。 > やはり直接LEDにつなげてしまっているのが原因でしょうか・・・。 まちがいないと思います。 > LEDとカウンタICの間に何かを挟めば解決するということでしょうか? そうです。インバータなど、何でもいいですから1段入れて、 「測定の為に横取りする電流を減らす」ことで解決します。 現状はLED を点灯させるために10mA くらい横取りされていて 回路が正常に動いてないのですが、これを ロジック回路1段いれれば横取りされる電流量が激減し 誤動作に繋がらなくなりますので。
ロジックは合ってるようですけどね... ロジック以外に原因がありそうですね... ・電源は何?電圧は何V? 乾電池でもよいですが、安定した電源でしょうか? ・NAND の型番は? ・IC にパスコンは入れてますか? あまり高速でなければまぁ大丈夫だとは思いますが、念のため。 (普通の設計では入れます) ・カウントパルスは手操作で与えたのですか? チャタリングは...除去してますよね。9までは期待通りカウントしてるのですから 多分大丈夫でしょう。 ・出力を確認するためのLED はどうやって接続していますか? ANo.1 さんが言われるように、直接駆動したりすると 横取りされる電流値にもよりますが出力電圧が正しくならないことがあります。 ↑値"9"を認識してないということは、これがクサいです...
お礼
回答ありがとうございます。 ANo.1 さんの指摘にもありましたが、今回、出力を確認するためのLEDはカウンタICの出力QA,QB,QC,QDに直接つなげてしまっています・・・。 電源はHIOKI製の直流電源で、電圧は2~5Vの間でテストを行い、またカウントパルスもパルスジェネレータで発生させた1~10Hzの周波数を使用していて共に安定しているものと考えています。 チャタリングというのは自分自身よくわからないのですが、現状では、電圧2Vくらいだとカウントを正常に行いますが、3V以上あげるとカウントがうまく行いません。 やはり直接LEDにつなげてしまっているのが原因でしょうか・・・。 LEDとカウンタICの間に何かを挟めば解決するということでしょうか?
- precog
- ベストアンサー率22% (966/4314)
昔取った杵柄ですが、、、 合ってるような気がしますけどね。 NANDゲートの他の入力が浮いてたりはしませんか? CMOSは入力を浮かせると動作不安定になりますけど。 後は、ロジックをテスターで追ってみるとか。(9になったとき本当にロードやクリアがLowになっているか) または電気的におかしいところがないかチェックですね。電源電圧とか、LEDのドライバー周りとか。(まさかカウンターにLED直結してませんよね) ちなみにこういうのは99進とはいいません。10進2桁です。 99進にするならバイナリで98 (01100010)のときにリセットをかけます。
お礼
回答ありがとうございます。 出力を確認するためのLEDはカウンタICの出力QA,QB,QC,QDに直接つなげてしまっています・・・。 電源はHIOKI製の直流電源で、電圧は2~5Vの間でテストを行い、またカウントパルスもパルスジェネレータで発生させた1~10Hzの周波数を使用していて共に安定しているものと考えています。 現状の回路では、電圧2Vくらいだとカウントを正常に行いますが、3V以上あげるとカウントがうまく行いません。 やはり直接LEDにつなげてしまっているのが原因でしょうか・・・。 LEDとカウンタICの間に何かを挟めば解決するということでしょうか?
お礼
ありがとうございます。 LED に電流制限抵抗は入れていませんのでやってみます。