Quemé un alfiler. ¿Ahora que hago?

16

Accidentalmente corté los pines 10 y 11 con 10 configurados en salida ALTO y 11 configurados en entrada. El pin 11 no está funcionando. ¿Cómo puedo saber qué componente quemé?

¿Se puede solucionar el problema?

    
pregunta asheeshr

3 respuestas

21

Supuesto: Como no se ha especificado el modelo específico de Arduino, utilice Arduino Uno para ilustrar esta respuesta. La razón se aplica de manera idéntica a los otros Arduinos, por sus respectivos pines y voltajes de operación del microcontrolador.

Consulte este diagrama de pin-out para el Arduino Uno : ( fuente )

  • Comopuedeverse,lospines10y11sonpinesGPIOestándar.
  • CualquierGPIOnopuedegenerarunatensiónsuperioralatensióndealimentacióndelmicrocontrolador(VCC),enelArduino.ParaelUnoVCCesde5voltios.
  • CualquierpinGPIOpuedesoportarelvoltajedeentradahastaVCCyunpocomásalto(seaceptan5.5voltioscomoestándar)
  • Además,cuandoArduinoGPIOseconfiguraparalaentrada,seencuentraenunestadodealtaimpedancia,loquehaceimposiblepasarsuficientecorrienteparalosvoltajesinvolucrados,paraqueocurracualquierdaño.
  • Porlotanto,cortocircuitalospines10y11nopuedecausarningúndañoaningunodelospines,enlascircunstanciasinformadasenlapregunta.

Ahoraexaminemoslasposibilidadesalternativas:

  • SielUnosealimentadesdeelconectordebarrildeCCenlugardea5voltiosdelaconexiónUSBuotrafuentedealimentaciónregulada,elpindeVinhacequelacaídade1diodoseainferioraestatensióndeentrada:estoseríaaproximadamente8.3Voltssielsuministroesunabateríade9voltiosconectadaalgatodebarril.
  • EsmuyprobablequeelcortocircuitodeestepinVINencualquieradelospinesanalógicosodigitalesdelArduino(quenoseanpinesespecíficosqueestánprotegidosporresistencias)destruyaeldiodoESDinterno/circuitosdeprotecciónparaesepindentrodelmicrocontrolador,odestruirelmicrocontroladorensí.Estapodríaserlacausadelproblema.
  • OtrahipótesisesqueelPin11estuvoexpuestoaalgunaotrafuentedealtovoltaje,másalládelVccdelaplaca.Estopodríadeberseaback-EMFdeunmotor,oalaltovoltaje(puedeser10+voltios)generadoporundobladorpiezoeléctrico(altavozpiezoeléctrico)siesgolpeadocontraalgoEstopodríacausardañosalosdiodosdeESD/circuitosdeproteccióncomoseindicóanteriormente
  • Acontinuación,ladescargaelectrostáticadelaelectricidadestáticapuededañarcualquierpinGPIOdado,inclusocuandoeldispositivonoestáencendido.¿PorcasualidadtepeinasteelcabelloyluegotocasteeltableroArduino,porejemplo?Elproblemasolosemostrarámásadelante,cuandoseintenteusaresepineneltablero,porloquelacausalidadsueleserdifícildeidentificar.
  • Finalmente,sidospinesestánambosconfiguradosparasalir,unoaltoyotrobajo,yestosestáncortocircuitados,elpin"Alto" ve un corto a tierra a través del pin "Bajo" . Esta fuente para disipar la contención puede hacer que el microcontrolador se caliente, y aunque los microcontroladores AVR generalmente tienen protección de salida en los GPIO, esto puede hacer que uno u otro de los pines dejen de funcionar, aunque es más probable que el fallo del microcontrolador completo en este caso .

Habiendo dicho todo eso, si por alguna razón el Pin 11 ya no realiza la entrada o la salida, el circuito de protección interno correspondiente de la MCU está dañado irreversiblemente. No hay manera de reparar esto. Esto se ha cubierto bien en la respuesta de Manishearth .

Considérate afortunado de que el microcontrolador no se haya destruido, y vuelve a codificar tus aplicaciones para que ya no utilices el Pin 11.

Sugerencia personal: He bloqueado los enchufes VIN en mis tableros Arduino hace mucho tiempo pegándoles un aislante pelado, para evitar cualquier accidente accidental. exponiendo cualquier cable de puente a ese voltaje. Si alguna vez necesito usar VIN algún día, me pasaré una hora encantadora luchando para extraer ese poco de aislamiento que se haya quedado allí.

    
respondido por el Anindo Ghosh
9

No debería ser posible destruir su pin cortocircuitando la entrada a la salida. Los pines de entrada pueden manejar el voltaje de nivel Vcc, por lo que deberían poder manejar el voltaje de salida más bajo del otro pin. Además, tienen una alta impedancia, por lo que deberían protegerlos de la mayoría de las cosas. (Vea la respuesta de Anindo en esta misma pregunta para más detalles sobre esto). En su caso específico, supongo que sucedió uno de los siguientes:

  • Ambos pines se configuraron para salida
  • Acortaste algo y no te diste cuenta
  • (Desde mencionó en el chat que el pin comenzó a funcionar nuevamente) polvo o humedad acumulados ' d el pin

Sin embargo, puede destruir los pines con las siguientes conexiones (tomadas de esta excelente publicación , hay muchas más formas generales de destruir un Arduino allí:

  • pin de salida ALTO a GND
  • pin de salida HIGH a pin de salida LOW
  • Aplique cualquier alto voltaje por encima de 5.5V a un pin (este puede destruir más que solo el pin)

Sobre qué hacer en general cuando destruyes un pin:

En tales casos, el pin del microcontrolador está quemado y no se puede reparar. La única forma de solucionar esto es reemplazar el microcontrolador (si es un paquete DIP, esto es relativamente barato y fácil) o comprar una nueva placa. Cuando reemplace el microcontrolador, tendrá que quemar el cargador de arranque en el nuevo (a menos que lo tenga con el cargador de arranque) si desea programar el Arduino a través de USB.

Mirando los esquemas, las siguientes placas tienen pines conectados directamente al microcontrolador.

  • Uno
  • Mega
  • Duemilanove
  • LilyPad
  • Fio
  • Nuova Generazione
  • Diecimila

En las siguientes tablas, hay algunos pines que están protegidos y son difíciles de quemar:

Sin embargo, si quema un pin en estos, no puede hacer mucho más que reemplazar el microcontrolador.

Si parece propenso a la quema de pin, puede probar el ruggedduino .

    
respondido por el Manishearth
3

Otra cosa bastante barata es intentar comprar otro atmega328, descargar el chip dañado que se sospecha, cargar el nuevo en el zócalo, quemar el cargador de arranque y ver si eso ayuda. Suponiendo que su placa tiene un DIP atmega328 con zócalo.

    
respondido por el Steve Cooley

Lea otras preguntas en las etiquetas