Quemé un alfiler. ¿Ahora que hago?


16

Accidentalmente acorté los pines 10 y 11 con 10 configurados para la salida ALTA y 11 configurados para la entrada. El pin 11 no funciona. ¿Cómo averiguo qué componente quemé?

¿Se puede solucionar el problema?


3
Especificar qué placa Arduino es ayudaría a identificar componentes posiblemente comprometidos, desde el esquema.
Anindo Ghosh

@AnindoGhosh Lo etiqueté como uno ^
asheeshr

Respuestas:


21

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

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


Arduino Uno pin-out


  • Como puede verse, los pines 10 y 11 son pines GPIO estándar.
  • Cualquier GPIO no puede emitir un voltaje más alto que el voltaje de suministro del microcontrolador (V CC ) , en el Arduino. Para el Uno V CC es de 5 voltios.
  • Cualquier pin GPIO puede soportar un voltaje de entrada de hasta V CC y un poco más alto (se toleran 5.5 voltios como estándar)
  • Además, cuando cualquier Arduino GPIO está configurado como entrada, está en un estado de alta impedancia, lo que hace que sea imposible pasar suficiente corriente a él para los voltajes involucrados, para que ocurra cualquier daño.
  • Por lo tanto, el cortocircuito de los pines 10 y 11 no puede causar ningún daño a ninguno de los pines , en las circunstancias indicadas en la pregunta.

Ahora examinemos las posibilidades alternativas:

  • Si el Uno se alimenta desde el conector de barril de CC en lugar de 5 voltios desde la conexión USB u otra fuente de alimentación regulada, el pin Vin produce 1 caída de diodo menor que este voltaje de entrada: esto sería alrededor de 8.3 voltios si el suministro es de 9 voltios batería unida al jack de barril.
  • Cortocircuito este pin VIN a cualquiera de los pines analógicos o digitales del Arduino (que no sean pines específicos que están protegidos por resistencias ) es muy probable que destruya el circuito de protección / diodo ESD interno para ese pin dentro del microcontrolador, o destruya el microcontrolador sí mismo. Esta podría ser la causa del problema.
  • Otra hipótesis es que el Pin 11 estuvo expuesto a alguna otra fuente de alto voltaje, más allá del Vcc de la placa. Esto podría deberse a un EMF inverso de un motor o al alto voltaje (puede ser de más de 10 voltios ) generado por un doblador piezoeléctrico (altavoz piezoeléctrico) si se golpea contra algo. Esto podría causar daños a los diodos ESD / circuitos de protección como se indicó anteriormente
  • A continuación, la descarga electrostática de la electricidad estática puede dañar cualquier pin GPIO dado incluso si el dispositivo no está encendido. ¿Por casualidad te peinaste y luego tocaste la tabla Arduino en algún momento, por ejemplo? El problema solo aparecerá más tarde, cuando intente usar ese pin en el tablero, por lo que la causalidad a menudo es difícil de precisar.
  • Finalmente, si dos pines están configurados para salir , uno alto y otro bajo, y estos están en corto, el pin "Alto" ve un corto a tierra a través del pin "Bajo". Esta fuente para reducir la contención puede hacer que el microcontrolador se caliente, y aunque los microcontroladores AVR generalmente tienen protección de salida en GPIO, esto puede hacer que uno u otro de los pines dejen de funcionar, aunque es más probable que falle todo el microcontrolador. .

Dicho todo esto, si por alguna razón el Pin 11 ya no realiza entradas o salidas, los circuitos de protección interna correspondientes de la MCU están irrevocablemente dañados. No hay forma de reparar esto. Esto ha sido bien cubierto en la respuesta de Manishearth .

Considérese afortunado de que no se haya destruido todo el microcontrolador, y vuelva a codificar sus aplicaciones para que ya no use el Pin 11.

Consejo personal: Hace mucho tiempo que bloqueé los enchufes VIN en mis placas Arduino al pegarles un aislamiento pelado, para evitar exponer accidentalmente cualquier cable de puente a ese voltaje. Si alguna vez necesito usar VIN algún día, pasaré una hora encantadora luchando por extraer ese trozo de aislamiento atrapado allí.


66
Bloqueo de los enchufes VIN. ¡Brillante!
Jeff Severns Guntzel

9

No debería ser posible destruir tu pin acortando 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. (Consulte la respuesta de Anindo sobre esta misma pregunta para obtener más detalles al respecto). En su caso específico, supongo que sucedió uno de los siguientes:

  • Ambos pines fueron configurados para salida
  • Cortaste algo y no te diste cuenta
  • (Como mencionaste en el chat que el pin comenzó a funcionar nuevamente), el polvo o la humedad acumulados se volcaron al pin

Sin embargo, se puede destruir pines con las siguientes conexiones (tomadas de este excelente post , hay muchas más formas generales de destruir un Arduino allí):

  • ALTO pin de salida a GND
  • Pin de salida ALTA a pin de salida BAJA
  • Aplique cualquier voltaje alto por encima de 5.5V a un pin (esto puede destruir más que solo el pin)

En cuanto a 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. Al reemplazar el microcontrolador, tendrá que grabar el cargador de arranque en el nuevo microcontrolador (a menos que lo haya adquirido con el cargador de arranque) si desea programar el Arduino a través de USB.


Echando un vistazo a los esquemas, las siguientes placas tienen pines directamente conectados al microcontrolador.

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

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

  • BT (pin 13, por una resistencia de 1k)
  • USB v2.0 (pin 13, por una resistencia de 1k)
  • Nano (pines Rx / Tx, por resistencias de 1k)
  • Serie (pin 13, por una resistencia de 1k)
  • Serie de una cara (pin 13, por una resistencia de 1k)
  • Mini 03 (pin 13, por una resistencia de 1k)

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

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


3

Otra cosa bastante barata para probar es comprar otro atmega328, descargar el chip presuntamente dañado, cargar el nuevo en el zócalo, quemar el gestor de arranque y ver si eso ayuda. Suponiendo que su placa tenga un DIP engarzado atmega328.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.