10 단위 7 세그먼트 계수기(2 digit up counter)를 만들어 봅시다
7 세그먼트를 사용하여 0~99 까지 숫자를 표시하는 계수기 회로랍니다.
기본 동작은 1 digit up counter 와 동일한데, 1 digit up counter를 하나 더 추가하여 10 단위를 표시하게 한답니다.
푸쉬 스위치를 누르게 되면 스위치를 누른 횟수 만큼 7 세그먼트에 해당하는 숫자가 표시되는 회로로 세그먼트 표시는 10 단위이기 때문에 0~99까지의 숫자가 표시된답니다.
회로도
회로 동작을 살펴보면 푸쉬 스위치를 눌렀다 놓으면 하나의 클럭 신호가 발생하게 되는데, 이 신호가 MC14518의 클럭 입력단자에 입력되게 된답니다.
IC MC14518은 1개의 클럭 입력을 4개의 특수한 클럭으로 변환하여 출력하게 되고, 이 출력이 다시 MC4543b의 입력단에 입력되어 IC MC14543의 내부회로에 변환되어 7개의 출력을 발생시켜 7 세그먼트를 구동시키게 된답니다.
이렇게 하나의 클럭을 4개의 특수한 클럭으로 변환하는 IC를 BCD(binary coded decimal(2진화 10진법)) counter라고 하고, 7 세그먼트를 구동시키는 IC를 통상 BCD to Seven Segment Latch/Decoder 라고 하지요...
또 푸쉬 스위치의 경우 디스플레이를 초기화, 즉 “0”으로 되돌리기 위한 리셋 스위치와 숫자를 세기 위한 카운터 스위치로 구성되어 있고요..
카운터 스위치는 스위치 접점에 의한 채터링을 방지하기 위해 1uF의 콘덴서를 스위치와 병렬로 연결하였답니다.
본 회로는 C-mos IC를 사용하여 5~12Vdc로 구동되도록 설계되어 있는데, 만약 7 세그먼트 디스플레이의 밝기가 너무 밝거나 또는 흐린 경우 드라이브 저항값을 바꾸어야 한답니다....(저항값은 “LED/발광다이오드를 켜봅시다”를 참조하세요...)
자세한 회로도, 부품 목록, 부품 배치도, 패턴도는 여기를 클릭하세요
https://cafe.daum.net/funny-circuit/M2lg/28
부품을 준비해 봅시다.
품명 | 형명 | 적용 | 수량 | 비고 |
콘덴서 | 1uf | C1,C2 | 2 | 전해 |
콘덴서 | 0.1uF | C3,C4,C5,C6 | 4 | 모노리틱 |
FND | WCN1-0080SR-C51R | FND1,FND2 | 2 | |
콘넥터 | 5268-3 | J1 | 1 | |
저항 | 2.2k | R2~R17 | 14 | |
저항 | 10k | R9,R11 | 2 | |
스위치 | Tack | SW1,SW2 | 2 | |
스위치 | SW SLIDE-DPDT | SW3 | 1 | |
IC | MC14518B | U1 | 1 | |
IC | MC14543B | U2,U3 | 2 | |
패턴 와이어 | 단선 | 패턴용 | 필요량 | 0.3mm, 주석도금, |
전선 | 연선 | 배선용 | 필요량 | AWG24~26 |
PCB | 만능 PCB | | | |
부품이 준비되었으면 만들어 봅시다.
참고 : 청색 패턴은 점퍼(부품을 삽입하기 전에 먼저 부품 밑으로 패턴을 만들어도 됩니다.)
완성품
동작을 시켜 봅시다.
첫댓글 안녕하세요
좋은 자료 고맙습니다
회로도 보여줄수 업는지요
찾을수가업습니다
수고하세요
전자공작실 자료실에 있답니다...
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.04.14 01:44
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.04.15 10:06
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.05.01 16:49
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.05.02 12:15
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.05.02 14:34
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.05.03 12:26
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.05.14 15:00
비밀글 해당 댓글은 작성자와 운영자만 볼 수 있습니다.20.05.15 13:18
안녕하세요!! 학교 프로젝트 팀플과제로 이 회로도를 쓸려고 합니다. 궁금한 것이 있는데 10단위도 카운트하는 스위치 구현하려면 어떻게 해야하나요? 카운트 스위치처럼 똑같이 만들면 되는건가요? 답변해주시면 감사하겠습니다!!
단단위와 같은 스위치회로를 추가하시면 됩니다.^^
안녕하세요 한가지 질문이 더 있어서 찾아왔습니다! 제가 저 회로를 다 구현했는데 디코더를 논리 게이트로 구현하고 싶어서 디코더에 대한 논리게이트 회로를 찾다가 이 회로를 발견했는데요. 디코더를 제거하고 저 자리에 이 회로를 넣으면 작동이 잘 되는지 의문점이 드네요.. 잘 될까요..?
회로와 같이 디코더를 집적 꾸며보시는 것도 좋답니다.
디코더의 입력과 출력 진리표(Truth Table)를 잘 확인하셔서 적용하시기 바랍니다.
결론은 저 회로로 디코더 대신 적용하면 작동이 된다는 얘기신가용..?
결론은 안됀다는 야그입니다....IC mc14543b의 입출력 진리표와 같은 논리회로로 디코더를 구성해야 IC mc14543를 대신해서 사용할 수 있답니다..^^
ㅠㅠ 이게 mc14543b 진리표입니다.! 여기서 인풋 부분에 ld bi ph는 어떻게 구성해야 하나요..? 이걸 제외하고 진리표대로 인풋 a b c d만 주면 작동을 안하나요?
그리고 디코더에 콘덴서를 연결한 이유가 무엇인지 알려주시면 감사하겠습니다!
LD, BI, Ph는 없으니 구성하지 않아도 되고요.. 만약 output 출력 Truth Table이 맞으면 그대로 적용해 보시기 바랍니다.
디코더에 연결된 콘덴서는 바이패스용입니다.
감사합니다 저 진리표대로 카르노맵을 사용해서 간략화 하고 진행 해보겠습니다!
안녕하세요 지금 디코더를 진리표대로 구현했는데 세그먼트 숫자가 0이랑 8일때 세그먼트의 c부분에 불이 안들어오고, 카운트가 되다가 안되거나 계속 같은 수를 반복하네요.. 혹시 이유가 무엇인지 아시나요..? 계속 귀찮게 해서 죄송합니다ㅠㅠ
혹시 잘못 연결했나 해서 몇번을 반복해도 세그먼트 불이 이렇게 들어오네요..
구성한 디코더의 진리표를 확인해 보세요.. 구성한 디코더의 진리표와 mc14543의 진리표가 같아야 동작합니다. 구성한 디코더가 인터넷에서 구한 회로를 그대로 만들었다면 정상적으로 동작하지 않습니다.
그런데 mc14543b를 보면 ph=0 일때 cathode segment를 동작시키고 ph=1 일때 cathode segment를 동작시키는 IC칩이라서 mc14543b의 진리표대로 논리회로를 구성하면 ph가 없으므로 cathode인지 anode인지 구별을 못해서 동작을 못하지 않나요? 처음에 mc14543b 진리표대로 구성 했을땐 아예 카운트가 안됐고, 다른 cathode segment 전용 디코더의 진리표를 보고 구성했을땐 카운트는 됐으나 몇개 불이 잘 안들어오는 상황이 발생했습니다.
이 회로에서 사용된 세그먼트는 common cathode 입니다. 또한 mc14543 출력 역시 common cathode를 드라이브하기 위한 디코더입니다.
귀하께서 구성하신 디코더와 mc14543의 출력 진리표가 같다면 mc14543의 ph는 아무러 상관이 없고 정상적으로 동작을 해야 합니다.
다만 부품을 사용할때 cmos로 구성된 회로에 ttl ic가 혼용되어 사용되어지면 오동작을 하게 되어 있답니다.
귀하께서 구성하신 디코더의 회로와 출력 진리표, 회로도, 부품목록을 보내주시면 검토해 보겠습니다.
그리고 한가지 당부하고 싶은 것은, 회로를 구성하시거나 제작하실때 부품에 대해 먼저 데이터 시트를 확인하고 접근하시는 습관을 기르시는 것이 좋겠네요..^^
아 저희가 디코더를 구성할때 74ttl and게이트나 or게이트들을 사용해서 그렇군요... 감사합니다 더 공부하겠습니다!
안녕하세요! 혹시 이 회로도에서 저항값을 설정하실때 저항값을왜 10k 또는 12k 등으로 설정하셨는지 뭔가 기준점 같은게 있나요??? 저희가 회로도를 구성할때 세그먼트 쪽 저항을 1k옴으로 해봤는데 작동은 잘 되서 이런 저항들이 어떠한 차이가 있는지 궁금합니다. 스위치쪽 저항도 마찬가지구요 감사합니다!!
세그먼트 드라이브 저항값 2.2kohm은 공급전원이 12V인 것으로 가정하여 계산된것으로.. 세그먼트 드라이브 전류가 5mA 정도이므로 계산해 보시면 될듯합니다.
또한 스위치에 연결된 저항은 풀다운 저항 역할과 채터링 방지 및 전원을 인가시켰을때 리셋 신호를 만들기 위한 회로랍니다.
전원 인가시 리셋 신호 역시 리셋 타임을 생각해서 계산하시면 10K~100Kohm정도를 사용할수 있답니다. 계산해 보시기 바랍니다...^^
안녕하세요 덤보님. 덤보님께서 작성하신 회로를 직접구현중인 대학생들입니다. 회로를 직접 구현하던도중 문제가 발생하여서 질문을드립니다. 저희가 10의자리까지는 아직 구현하지 않고, 1의자리까지 구현을 해서 중간 테스트겸 스위치를 눌러서 7 segment의 숫자가 올라가는지 확인을 하였습니다. 결과는 숫자의 변화는 없고 계속 0만출력되고 있습니다....
또한 저희가 처음 만든 회로는 스위치에 연결되는 12k옴 저항을 연결하지 않았을때는 스위치를 눌렀을때 7 segment의 불이 0에서 불이 꺼진다음에 다시 0이켜지고 있습니다... 글로만 상황을 설명하니 덤보님께서도 뭐가 문제인지 알아내시는데 큰어려움이 들거라고 생각이 드시겠지만 지푸라기라도 잡는 심정으로 질문을 드립니다.. 도대체 무엇이 문제일까요??
안녕하세요..^^
회로를 구성하는데 동작을 하지 않으면 참 속상하지요..
일단, 모든 부품과 회로가 정상적으로 연결되어있는지 확인하십시요.
스위치는 푸쉬 버튼(스위치가 누름상태가 유지되면 안됨), ic는 c-mos(74hc 타입 C-mos는 공급전원이 5Vdc로 제한됨)를 사용했는지?
그리고, mc14518b와 mc14543B의 datasheet를 확보하셔서 핀맵과 동작특성을 이해하시기 바랍니다.
저항 12kohm은 mc14518의 클럭 입력단의 플로팅을 제거하기 위한 풀다운 저항으로,
반드시 연결되야 하고, 스위치 on-off 동작시 low-->high-->low의 1개 클럭을 발생시키기 위한 것이랍니다.
회로도를 보면 IC에 공급되는 전원 VCC(VDD) 또는 VSS(VEE, GND)이 표시되지 않고, 연결되어 있지도 않는데, 이는 공급 전원을 공통으로 사용하기 때문에 회로도에서 연결을 생략하기 때문이랍니다.
그래서 ic 데이터 시트를 참고하라고 하는 것이고, mc14513b, 14543B의 경우 공급 전원 Vdd는 16핀, Vss(gnd)는 8핀을 사용하므로 회로를 구성할 때는 회로도에 표시가 없거나 연결이 안되어 있어도
반드시 연결하여 회로를 구성해 주어야 한답니다.
회로도를 보면 MC1453b, 14543B의 VDD와 VCC는 VCC로 모두 연결이 되어 있는데, GND를 표시하는 VSS, VEE, GND는 블록에 표시도 없고, 연결된 내용도 없답니다.
데이터 시트를 참고하셔서 GND가 서로 연결되어있는지 확인하시기 바랍니다.
아마도 이런 연유로 IC의 GND가 연결되지않아 회로가 동작하지 않을 수 도 있겠네요..
도움이 되셨으면 좋겠네요...^^
친절한 답변 감사합니다!! 덤보님이 조언해주신 방법으로 회로를 재구성해보니 문제가 해결되었습니다! 저희가 정확히 할려는 것은 덤보님의 회로도를 이용하여 25까지만 출력되는 segment를 만드는것입니다. 그래서 기본적으로 pspice를 통해 덤보님의 회로도를 조금 수정할려 하는데 문제가 발생하였습니다. 제 pcpice 기본 라이브러리에는 sw_push 소자라던지 mc14518소자라던지 라이브러리에 존재하지않는것을 발견했습니다. 혹시 이 라이브러리들을 어디서 구하셨는지 질문드려도 될까요??
또한 회로에서 커패시터들을 사용하신 이유는 무엇인지 궁금한데 이것또한 질문드리겟습니다 ㅠ
문제가 해결되었다니, 잘되었습니다.
우선 pspice 라이브러리에서 c-mos ic는, 제조사 이름과 다르게 CDxxxx로 형명 앞에 cd를 입력해야 한답니다.
예를 들어, MC14518B는 예전 모토로라(현 Onsemi)에서 생산된 형명으로 MC1xxxx로 표기되어있는데, 이는 CD4518B와 동일한 형명이랍니다.
따라서 pspice 라이브러리에서는 CD4518B를 입력해야 시물레이션 가능한 라이브러리가 나타나게 된답니다.
그리고 푸쉬 스위치는 "Sw_tClose"와 "Sw_tOpen" 을 사용하여 시간을 조정해 구성하면 시뮬레이션이 가능하답니다.
- 하단 스위치 연결 그림 추가(0,1초 동안 푸쉬 스위칭 모습)
회로에 사용된 각각의 커패시터는 용도는 다음과 같답니다.
ic 전원 선과 연결된 커패시터는 전원 바이패스용이고,
카운트 스위치와 연결된 커패시터는 채터링 억제를 위한 것이고,
리셋 스위치와 연결된 커패시터는 전원 투입시 자동으로 리셋 신호를 발생하기 위함입니다.
물론 두 스위치 모두 같은 회로로, 전원을 투입하면 모두 리셋 신호가 만들어지지만 저항값에 의해 리셋 시간이 달라지게 되므로 카운트 스위치에서 만들어진 리셋 신호는 ic에 입력되어도 ic가 리셋 상태를 유지하고 있으므로 무시되어 카운트 신호로 사용되지 못합니다.