¿Cómo puedo determinar si un microcontrolador está dañado?

Tengo algunos microcontroladores en mi contenedor de "piezas basura". Creo que algunos de ellos llegaron allí cuando, después de programarlos, exhibieron un comportamiento extraño. Desde entonces he aprendido mucho, por ejemplo, cómo tener una optimización incorrecta en el compilador puede causar un comportamiento tan extraño. Por otro lado, algunos de los microcontroladores pueden haber sido dañados debido a la estática, voltajes fuera de tolerancia, etc. Por lo tanto, creo que algunos pueden estar en buen estado de funcionamiento.

Antes de tirarlo todo, me preguntaba: ¿existe una forma relativamente sencilla o fácil de probar un microcontrolador para determinar si todavía funciona bien?

Los micros en particular son Atmel ATTiny13, ATTiny26 y ATTiny2313, ambas versiones DIP y SOIC.

Dependiendo de su programador, creo que debería poder hablar con el chip antes de programar, para verificar su ID y demás. ¿Has probado tal cosa?
Utilizando USBTiny y AVRDude, eso sí, indicará si no puede establecer conexión con el chip; en esos casos los trato como muertos. A veces, la programación se completa, pero el chip se comporta de manera extraña. En esos casos, parece que la forma correcta de diagnosticar es como sugiere @Passerby.
@JYelton Consulte esta publicación para obtener información útil sobre cómo conectar Arduino para programar micros. Puede usar el comando avrdude -e para borrar el dispositivo y ver si avrdude puede comunicarse con su dispositivo. Aquí está la página del manual para la referencia del comando avrdude.
También puede usar Arduino para la programación de alto voltaje, que puede (o no) resolver otros problemas (de comunicación) con AVR. rickety.us/2010/03/arduino-avr-high-voltage-serial-programmer

Respuestas (2)

Si tuviera que probar completamente cada MCU para verificar su funcionalidad correcta, construiría una placa de prueba para cada una, con un adaptador o enchufe para facilitar el cambio del IC. Conecte cada pin IO a una salida visual como un LED y prográmelo con un firmware simple que probará cada pin a su vez. Un paso más sería probar la comunicación y otras características dependiendo de qué tan minucioso quiera ser.

Sin embargo, si simplemente desea verificar rápidamente que la MCU se comunica correctamente con el programador. Usaría un programador como Pocket AVR Programmer , con una placa de conexión o un adaptador para cada MCU. Luego, usando la línea de comando, pruebe rápidamente cada MCU para ver si responde.

Un ejemplo para el ATTiny2313 sería:

ingrese la descripción de la imagen aquí http://www.ladyada.net/make/usbtinyisp/avrdude.html

También se puede usar un Arduino (si tiene uno a mano o desea tener uno a mano) para probarlos junto con avrdude como mencionó @davivid. Puede conectarlos rápidamente en una placa de prueba.

Prográmelos con un código no optimizado, fácil de depurar/observar. Si no actúa como debería, pero lo hace en un chip en buen estado, puede suponer que los chips están dañados.