회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
86 개발용역 HOTRF PCB 설계 및 제작 의뢰 받습니다. 아침해 12293 2011.05.24
85 개발용역 HOT프로그램 알르바이트 해 주실분... 개여울 6248 2011.05.11
84 개발용역 HOT평생파트너가 되겠습니다. 수내아트원 6317 2011.05.03
83 개발용역 HOT부품 무료 분양 powers 5813 2011.04.24
82 개발용역 HOT로드셀 이용한 전자저울 개발의뢰합니다. 이지스윈 8656 2011.04.21
81 개발용역 HOTpcb설계및 제작 의뢰 받습니다.2 artwork 6889 2011.04.01
80 개발용역 HOT타임콘트롤판의뢰3 웃는사람 6447 2011.03.16
79 개발용역 HOTLED 간판2 미늘인 6282 2011.02.18
78 개발용역 HOT개발의뢰입니다.( 매트랩을 이용한 최적화 구현) 깐돌이01 6605 2011.02.07
77 개발용역 HOT아트웍, 프로그램 의뢰 받습니다. 꼭꺼안고서 6412 2011.02.05
76 개발용역 HOTH/W & 펌웨어 개발 및 PCB 설계 경력자 모집 용가리3 10333 2011.01.22
75 개발용역 HOTAlmighty Solution [센서공급 및 ODM 개발]1 꽁이 6344 2011.01.17
74 개발용역 HOT내 컴퓨터 바이러스 내가 치료하자 !! - 백신만들기 중앙인 6320 2011.01.17
73 개발용역 HOT전동치솔 개발 빅루프다 6527 2010.12.13
72 개발용역 HOT동아전기부품을 소개합니다. 홈런볼 6841 2010.12.08
71 개발용역 HOT초음파 센서.. 아나아나나 6267 2010.11.29
70 개발용역 HOT하드웨어 개발 및 Artwork 해 드립니다.2 야웅이 5639 2010.11.15
69 개발용역 HOT라인트레이서4 조의련 5633 2010.11.07
68 개발용역 HOTIR 리모컨과 블루투스 가 포함된 회로 설계 의뢰합니다. hyun 11949 2010.11.03
67 개발용역 HOT테스팅하우스코리아(주)를 소개합니다. davidjang 6323 2010.11.03
Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
  • 좋은 활은 당기기가 어렵고 좋은 말은 타기가 어렵다.
    - 묵자
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.