회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
95 중고장터 HOTDEMO9RS08KASP FREESCALE EVALUATE BOARD 아크마 6263 2011.05.22
94 중고장터 HOT산켄 SLA7044M 및 PG001M 구합니다 밝은전기구슬 5026 2011.03.21
93 중고장터 HOT이노룩스 10.2인치 lcd 팝니다...1 스포츠광 6639 2011.03.18
92 중고장터 HOTATMEGA128 2개 팝니다 btnim 6878 2011.03.17
91 중고장터 HOTAT89S8253 24JC 수량24개 있습니다. 필요하신분께 드립니다1 초록 5098 2011.03.10
90 중고장터 HOTSTM32F103ZET 판매 아크마 5241 2011.02.27
89 중고장터 HOT8086 / 8088 어셈블러 관련 책 구해요 상혁짱 5752 2011.01.22
88 중고장터 HOT빵판 구해봅니다.6 상혁짱 4326 2011.01.22
87 중고장터 HOTencoder knob 구하고 있습니다.1 blackpearl 5724 2011.01.20
86 중고장터 HOTAVR, DSP 테스트 보드 제팔 6627 2011.01.18
85 중고장터 HOTKUT-128 KIT와 교재 비닐도 뜯지 않은 새 것입니다.1 짬짜미 6836 2010.12.31
84 중고장터 HOTAVR 테스트키트와 책을 같이 구매하고 싶습니다 orcad 4194 2010.12.02
83 중고장터 HOTavr 카운터 시계 파실분없나여?4 땡가드 4532 2010.11.27
82 중고장터 HOTavr128 교육용키트 싸게파시는분있으신가여?5 seohwan16 3905 2010.11.21
81 중고장터 HOT[서적] [마이크로칩 마이크로컨트롤러 응용] 모터콘트롤, 마이크로 컨트롤러 이해와 응용(마이크로칩 16비트) 삽니다.. 꾼뭉 4866 2010.11.18
80 중고장터 HOTPROVSM 6 정품 시디 구해 봅니다.1 열이 4660 2010.11.10
79 중고장터 HOT3d tv 구동칩 구합니다 Optimist_영 3834 2010.11.10
78 중고장터 HOT불루투스 송수신 모줄 저렴하게 구해봅니다 .1 산수유 3398 2010.11.02
77 중고장터 HOTICD-U40 팝니다. bluewing 4455 2010.10.06
76 중고장터 HOT마이크로 로봇 ATMEGA128 트레이닝킷 판매합니다.6 bluewing 5064 2010.10.06
  • 인생을 해롭게 하는 비애를 버리고 명랑한 기질을 간직하라.
    - 세익스피어
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.