회원가입 ID/PW 찾기
AA

안녕하세요.

mega16 pd1 tx핀을 간단한 외부 풀업과 스위치를 달아서 입력핀으로 회로를 구성하였습니다.

핀에서 입력받아 led 키는 간단한 프로그램을 넣었는데 스위치 입력을 받지 못합니다.

테스터기로 핀을 찍어 보았더니, 외부 풀어을 달았음에도 전압은 10mV입니다. UART 기능 OFF 하였구요.

허허...결국 내부 풀업을 설정하여 해결을 하였지만, 누를때 마다 LED가 흐릿해 지네요.

왜 그럴까요?

 

  

꾼뭉

안녕하세요.  잘부탁드립니다.

댓글 13
  • No Profile

    구성한 전원상의 어떤 문제는 아닐까요?

  • 미니공님께
    No Profile
    글쓴이 꾼뭉 11.03.02 03:06 댓글 좋아요 0 싫어요 0

    전원상의 문제는 없습니다. 하지만 외부풀업저항을 달았음에도 입력핀 전압이 10mV는 이해가 가지 않습니다.

  • No Profile

    0 이라면, 핀 상태가 0으로 세팅된것으로 보고,

    TR을 꺼보죠. 즉, 먼저 초기화에서 TX에 1을 써보고 해보면 어떤지요?

  • 미니공님께
    No Profile
    글쓴이 꾼뭉 11.03.03 00:58 댓글 좋아요 0 싫어요 0

    답변 감사합니다.

    TX에서 1을 쓰라고 하셨는데. PORTD.1을 1을 설정하라는 말씀이신지요?

     

  • No Profile

    두 가지 경우를 생각해볼 수 있겠습니다. TX핀이라고 하여 그 역할이 TX만 하는것이 아니고 표현이 조금 잘못되었습니다. PA, PB, PC, PD... 시리즈 핀은 모두 IN/OUT이 가능한 Bidirectional 포트입니다. 거기에  UART 같은 특수한 기능을 선택적으로 사용하도록 되어있지요. 이런 포트를 GPIO 포트라 부르는데 말 그대로 제너럴한 목적을 갖는 IO 포트를 말합니다. 말씀하신 대로 Pull-up 하였는데 10mV 정도의 저전압이 발생한다면 다음 두 가지 경우를 살펴보시기 바랍니다. 첫 번째로 해당 포트의 해당 핀을 input 모드로 설정하였는지와 설정할 때 내부 pull-down 모드로 설정하지 않았는지 확인하셔야 합니다. 두번째로 전체 전원 구성상의 구조가 맞는지 확인하십시오. 보통 MCU로 LED를 제어 할 경우 MCU에서 내보낼 수 있는 최대 전류량이 제한적이므로 외부에 Pull-up을 달아 LED에 연결 후 MCU가 GND 역할을 하도록 하여 제어하는 것이 보편적입니다. 보통의 경우 LED는 20~30mA 정도 이므로 해당 값에 맞게 Pull-up 저항을 선택하셔야 합니다. 버튼을 누를 경우 LED가 흐릿해진다고 하심을 보니 회로 구성이 의심됩니다. 버튼이나 외부 조작에 LED 밝기가 변화하면 안됩니다. 이 경우 시스템 전체의 전압 강하게 의심되는 현상으로 어느 부분에서 쇼트를 의심해봐야 합니다. 또한 MCU의 Output 버퍼의 값은 Input에 전혀 영향을 미치지 않습니다. 내부적으로 회로 구성 자체가 분리되어 있기 때문입니다. 또한 MCU의 IO를 더 잘 이해하고 싶으시다면 CMOS 공정에서의 IN/OUT 포트 구성에 대해 찾아보세요~

  • flmusic님께
    No Profile
    글쓴이 꾼뭉 11.03.03 01:15 댓글 좋아요 0 싫어요 0

    답변 감사합니다.

    일단 코드비전을 사용하고요.

    말씀하신대로 LED는 MCU 핀에서 LED로 직접 출력을 내보내는것이 아니라, 외부에 Pull-up을 달아 LED에 연결 핀으로 통하도록 하였습니다. 

    PIND.0~3까지 같은 회로로  스위치가 4개가 달려 있습니다. 문제는 TX핀인 PIND.1에서 이런 현상이 일어난다는 것인데요.

    DDRD.1=0; 일때,

    PORTD.1=0; 일때는 스위치를 누르지 않은 상태로 PIND.1=LOW(10mV).

    PORTD.1=1;일때는 스위치를 눌렸을 때는 PIND.1=LOW이나, LED가 흐릿해지는 현상이 일어난다는 것입니다. 

    전원은 USB_ISP 전원을 쓰고 있으며, 다른 동작도 없이 심플한 회로입니다. 

    데이터시트에서 I/O 구조를 보고 있으나, 도통 감이 잡히지 않아서요.

  • 꾼뭉님께
    No Profile

    답변에 대한 답변입니다...^^;;

    글로만 봐서는 제가 지금 상황이 이해가 잘 안되는 부분이 있는데요...

    버튼을 입력받는 부분도 포트D LED 전원을 조정하기 위해 출력하는 부분도 포트D 를 사용하신다는 말씀이신가요?

    말씀하신 글로 봐서는 PIND.0~3까지 같은 회로로 스위치가 4개 달려있다고 하셨고,

    또한 LED 조정을 위해 LED의 캐소드 부분을 PIND.0~3 에 다셨다는 말씀 같은데 제가 맞게 이해 한건지요?

     

    만약 그렇게 구성을 하셨다면 설계 의도를 조금 다르게 가져가신 듯 합니다.

    보통 MCU를 이용한 LED 설계 시 스위치 입력을 위한 포트와 LED 온오프를 위한 포트를 따로 사용하는게 보편적입니다. 예를 들어 PINA.0~3의 스위치 입력을 받아 PIND.0~3에 그 값을 표현하여 온오프 하는 구조이지요. 그게 아니라면 구지 MCU를 이용할 필요가 없기 때문입니다. VCC->저항->스위치->LED->GND 이렇게만 해도 충분히 구현이 가능하기 때문이죠.

     

    회로도를 봐야 정확히 알 수 있겠지만 말씀하신 회로로는 말씀하신 기능을 구현하기에는 조금 동떨어져 보입니다.

  • flmusic님께
    No Profile
    글쓴이 꾼뭉 11.03.06 02:41 댓글 좋아요 0 싫어요 0

    답변 감사합니다.

    보충하겠습니다.

    스위치 입력은 PIND.0~4 이고요.

    LED는 PORTC.3, PORTC.4/ 녹/적 LED을 사용하였습니다.

    PORT_PIN(3,4)-->저항470옴-->LED-->5V 구성하였습니다.  스위치와 LED 출력은 다른 포트를 사용하였습니다.

    정말 제가 궁금한 것은 TX핀을 일반입력시에  외부 풀업과 스위치를 누르지  달았음에도 10mV가 뜬다는 것입니다.

  • No Profile

    회로도를 봐야 될 듯 합니다만..

     

    제 경험상으로는 분명 PortD쪽 TX 단자를 PIN OUT으로 설정한 경우 10mV가 뜨는 것을 보았습니다

     

     

  • No Profile

    외부 풀업 저항으로 일반 저항을 사용하였습니까? 아니면, 어레이 저항을 사용하였습니까?

  • 밝은전기구슬님께
    No Profile
    글쓴이 꾼뭉 11.04.07 11:42 댓글 좋아요 0 싫어요 0

    늦어 죄송합니다. 일반 저항을 사용하였습니다.

  • No Profile

    해당 포트가 죽었을 수도 있어요... 확인해보심이...

  • harry9004님께
    No Profile
    글쓴이 꾼뭉 11.04.07 11:43 댓글 좋아요 0 싫어요 0

    답글 감사합니다. 같은 것을 3개씩 만들었는데요, 3개 다 증상이 동일합니다. 3개가 다 죽은 걸까요?

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
912 마이크로프로세서 HOTTS601-01 초음파센서 모듈 질문1 흐기미 3796 2011.07.01
911 마이크로프로세서 HOT혹시 hex 파일를 역어셈 할수있는 어플이 있나요? 하얀나아비 1812 2011.06.28
910 마이크로프로세서 HOT바코드를 AVR에 입력에 관한 질문입니다.1 절연이45 2177 2011.06.27
909 마이크로프로세서 HOTADC 에 관한 질문2 고고고씽 1870 2011.06.22
908 마이크로프로세서 HOTATmega128 Board 에 연결한 Bluetooth 의 페어링 문제 nrwnqsr 3095 2011.06.22
907 펌웨어 & 코딩언어 HOTAtmega128에서 Reset 하는 방법 중 궁금한 점이 있습니다!!!4 공돌이의꿈 3147 2011.06.21
906 마이크로프로세서 HOT89c51, L293B 사용해서 라인트레이서 제작중인데 소스 좀 수정부탁드려요.. 짜룡e 2240 2011.06.19
905 마이크로프로세서 HOTAVR to MFC 시리얼통신 Gentlewolf 4464 2011.06.18
904 마이크로프로세서 HOT초음파 연동 uart led1 혼합쥬스 2003 2011.06.15
903 마이크로프로세서 HOT[Keil Uvision] 크랙버전이나 정품버전있으신분 보내주시면 감사하겟습니당1 developer 3769 2011.06.15
902 Software & IDEs HOT펌웨어 하다가 막히는 부분이 있어서 질문 드립니다. 마모루 1547 2011.06.13
901 마이크로프로세서 HOTsrf-04 초음파 질문 혼합쥬스 2116 2011.06.11
900 마이크로프로세서 HOTATMEGA64 전원 공급관련2 제갈군 2501 2011.06.11
899 마이크로프로세서 HOT타이머 인터럽트를 이용해 LED를 제어하는 소스인데요...1 rjmans 2183 2011.06.11
898 마이크로프로세서 HOTatmega128 pro 소스질문이요 ^^ 공학도임돠 2689 2011.06.10
897 마이크로프로세서 HOTAVR의 ADC Clock과 sample rate ?2 송골 2377 2011.06.07
896 마이크로프로세서 HOTAVR nested interrupt 송골 1910 2011.06.07
895 마이크로프로세서 HOT초음파센서 소스관련 질문드립니다1 동래감자 2985 2011.06.05
894 마이크로프로세서 HOT코딩을 2진법으로 하고있는데... 초싸이코 1519 2011.06.05
893 마이크로프로세서 HOT안녕하세요 AVR에서 펄스 질문입니다.1 초싸이코 1638 2011.06.03
Prev 1 ... 8 9 10 11 12 13 14 15 16 17 ... 58 Next
  • 인생은 우주의 영광이요, 또한 우주의 모욕이다.
    - 파스칼
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.