나는 핀을 태웠다. 이제 어떻게해야합니까?


16

10을 출력으로 설정하고 11을 입력으로 설정하여 실수로 핀 10 및 11을 단락 시켰습니다. 핀 11이 작동하지 않습니다. 어떤 구성품을 태웠는지 어떻게 알 수 있습니까?

문제를 해결할 수 있습니까?


3
어떤 Arduino 보드를 지정하면 회로도에서 손상 가능성이있는 구성 요소를 식별하는 데 도움이됩니다.
Anindo Ghosh

@AnindoGhosh 태그를 추가했습니다 uno ^
asheeshr

답변:


21

가정 : 특정 Arduino 모델이 지정되지 않았으므로 Arduino Uno를 사용하여이 답변을 설명하십시오. 이론적 근거는 다른 Arduino의 핀아웃 및 마이크로 컨트롤러 작동 전압에 동일하게 적용됩니다.

Arduino Uno에 대한핀아웃 다이어그램을 참조하십시오 : ( source )


Arduino Uno 핀아웃


  • 보다시피, 핀 10 및 11은 모두 표준 GPIO 핀입니다.
  • 모든 GPIO 수없는보다 높은 출력 전압을 마이크로 컨트롤러의 공급 전압 (V의 CC ) 아두 이노에. Uno V CC의 경우 5 볼트입니다.
  • 모든 GPIO 핀 은 최대 V CC의 입력 전압을 견딜 수 있습니다 과 약간 높은 비트 (5.5V는 표준으로 허용됨)
  • 또한 Arduino GPIO를 입력으로 설정하면 임피던스 상태가 높아 손상이 발생할 수있는 전압에 충분한 전류를 공급할 수 없습니다.
  • 따라서 단락 핀 10 및 11 문제에서보고 된 상황에서 어느 핀 에도 손상줄 수 없습니다 .

이제 다른 가능성을 살펴 보자.

  • Uno가 USB 연결 또는 기타 조정 된 전원 공급 장치에서 5V 대신 DC 배럴 잭에서 전원을 공급받는 경우 Vin 핀은이 입력 전압보다 1 방울 낮은 다이오드 출력을 출력합니다. 약 8.3V 합니다. 공급 장치가 이면 8.3V입니다. 배럴 잭에 연결된 배터리.
  • 이 VIN 핀 을 Arduino의 아날로그 또는 디지털 핀 중 하나로 단락 시키면 ( 저항으로 보호되는 특정 핀 제외 ) 마이크로 컨트롤러 내의 해당 핀에 대한 내부 ESD 다이오드 / 보호 회로가 손상되거나 마이크로 컨트롤러가 파손될 수 있습니다. 그 자체. 이것이 문제의 원인 일 수 있습니다.
  • 또 다른 가설은 핀 11이 보드의 Vcc를 넘어 다른 고전압 소스에 노출되었다는 것입니다. 이것은 모터의 역기전력 또는 압전 벤더 (피에조 스피커)에 의해 발생하는 고전압 ( 10V 이상일 수 있음)으로 인해 발생할 수 있습니다 . 위에 언급 된대로 ESD 다이오드 / 보호 회로가 손상 될 수 있습니다.
  • 다음으로, 정전기로 인한 정전기 방전 은 장치의 전원이 켜져 있지 않더라도 주어진 GPIO 핀을 손상시킬 수 있습니다. 예를 들어, 머리를 빗고 Arduino 보드를 만졌습니까? 보드에서 해당 핀을 사용하려고 할 때 나중에 문제가 표시되므로 인과 관계를 파악하기가 어려운 경우가 많습니다.
  • 마지막으로, 두 개의 핀이 모두 출력으로 설정되어 있고, 하나는 높고 다른 하나는 낮고, 단락 된 경우 "높음"핀은 "낮음"핀을 통해 접지가 짧아집니다. 경합을 싱크하는이 소스는 마이크로 컨트롤러를 가열시킬 수 있으며, AVR 마이크로 컨트롤러는 일반적으로 GPIO에서 출력 보호 기능을 갖지만, 이로 인해 전체 마이크로 컨트롤러가 실패 할 가능성이 높지만 한 핀 또는 다른 핀이 작동을 멈출 수 있습니다. .

어떤 이유로 든 핀 11이 더 이상 입력 또는 출력을 수행하지 않으면 MCU의 해당 내부 보호 회로가 돌이킬 수 없을 정도로 손상되었습니다. 이를 복구 할 방법이 없습니다. 이것은 Manishearth 의 답변에서 잘 다루어 졌습니다 .

전체 마이크로 컨트롤러가 손상되지 않았으므로 더 이상 Pin 11을 사용하지 않도록 애플리케이션을 다시 코딩하십시오.

개인 팁 : 점퍼 와이어가 그 전압에 노출되는 것을 피하기 위해 오래 전에 Arduino 보드의 VIN 소켓을 벗겨 냈습니다. 실제로 언젠가 VIN을 사용해야한다면, 거기에 붙어있는 단열재를 추출하기 위해 고군분투하는 즐거운 시간을 보낼 것입니다.


6
VIN 소켓을 차단합니다. 훌륭한!
Jeff Severns Guntzel

9

입력을 출력으로 단락시켜 핀을 파괴 할 수 없습니다. 입력 핀은 Vcc 레벨 전압을 처리 할 수 ​​있으므로 다른 핀의 낮은 출력 전압을 처리 할 수 ​​있어야합니다. 또한 임피던스가 높기 때문에 대부분의 것들로부터 보호해야합니다. (자세한 내용은 동일한 질문에 대한 Anindo의 답변을 참조하십시오). 특정 경우에는 다음 중 하나가 발생한 것 같습니다.

  • 두 핀 모두 출력용으로 구성되었습니다
  • 당신은 무언가를 단락시키고 눈치 채지 못했습니다
  • ( 채팅 에서 핀이 다시 작동하기 시작했다고 언급 했으므로) 먼지 나 습기가 핀에 쌓여 있습니다.

그러나 다음과 같은 연결로 핀을 제거 할 수 있습니다 ( 이 우수한 게시물 에서 가져온 Arduino를 파괴하는 더 일반적인 방법이 많이 있습니다).

  • GND에 대한 높은 출력 핀
  • HIGH 출력 핀-LOW 출력 핀
  • 5.5V 이상의 고전압을 핀에 적용하십시오 (핀이 아닌 것 이상 파괴 될 수 있음 )

핀을 파괴 할 때 일반적으로해야 할 일 :

이러한 경우 마이크로 컨트롤러 핀이 타 버려 고정 될 수 없습니다. 이 문제를 해결하는 유일한 방법은 마이크로 컨트롤러를 교체하거나 (DIP 패키지 인 경우 비교적 저렴하고 쉽습니다) 새 보드를 구입하는 것입니다. 마이크로 컨트롤러를 교체 할 때 USB를 통해 Arduino를 프로그래밍하려면 부트 로더를 부트 로더와 함께 제공하지 않는 한 새 마이크로 컨트롤러에 구워야합니다.


회로도를 살펴보면 다음 보드에는 마이크로 컨트롤러에 직접 연결된 핀이 있습니다.

  • 우노
  • 메가
  • Duemilanove
  • 릴리 패드
  • 피오
  • 누 오바 제네 자리 오네
  • 디시 밀라

다음 보드에는 보호되고 타기 어려운 핀이 있습니다.

그러나 이것에 핀을 태우면 마이크로 컨트롤러를 교체하는 것보다 더 많은 것을 할 수 없습니다.

핀 굽기가 발생하기 쉬운 것 같으면 ruggedduino 를 사용해보십시오 .


3

시도해야 할 또 다른 저렴한 방법은 다른 atmega328을 구입하고, 의심되는 손상된 칩을 언로드하고, 새로운 칩을 소켓에로드하고, 부트 로더를 태우고, 그것이 도움이되는지 확인하는 것입니다. 보드에 소켓 DIP atmega328이 있다고 가정합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.