4 votos

¿Muertes aleatorias de microcontroladores?

Estoy deseando que me ayuden a averiguar por qué todos los microcontroladores que estoy utilizando se mueren aleatoriamente. Al principio, estaba usando LPC810Ms y LPC1114FN28s (ambos paquetes DIP en una protoboard), así que pasé por alto el problema ya que conectar uno nuevo no era gran cosa. Pero ahora, estoy usando STM32F437s (paquete 100 QFP soldado en una placa de prototipos), que a 17 dólares la pieza, y que requiere una buena cantidad de soldadura, hace que el reemplazo sea bastante caro.

Mi fuente de alimentación es bastante poco convencional. Es una fuente de alimentación para ordenador Antec HCG-850M con la protección contra subvoltaje y sobrecorriente eliminada, para que pueda hacer funcionar los motores de los coches RC sin que se disparen. Como resultado de la eliminación de UVP y OCP, me di cuenta de que al apagar el interruptor se produce una caída de voltaje muy gradual (el voltaje tarda más de 10 segundos en llegar a 0). ¿Podría esto estar rompiendo los MCUs?

En general, los únicos periféricos que tengo conectados son un Segger JLink para depuración de ARM y una UART.

Los síntomas:

  1. LPC810, LPC1114FN28:

    El chip se calienta mucho y acaba quemándose. Sorprendentemente, todavía puedo programar y ejecutar cosas.

  2. STM32F437:

    La interfaz SWD de ARM queda inutilizada. Ya no puedo programar ni ejecutar. No hay signos de sobrecalentamiento. Recuerdo exactamente que se rompió justo después de cortar la alimentación, lo que sucede muy lentamente como se ha mencionado anteriormente.

No espero una respuesta demasiado específica, así que por favor comparta cualquier experiencia relevante.


Actualización

Corrección: el voltaje no tarda 10s en apagarse (eso fue una suposición basada en el tiempo que tardaron las luces y el ventilador en apagarse). En cambio, cae instantáneamente después de 5 segundos.

He medido varias veces el comportamiento transitorio de encendido y apagado de la fuente de alimentación y no veo ningún pico. Aquí está la forma de onda al encender:

Está dentro del rango permitido (1,7V <= Vdd <= 3,6V).

Fotos/Diagramas:

(sólo se conectan los pines de color)

enter image description here

enter image description here

Actualización2

Por fin he encontrado el problema, pero no la verdadera causa. Gracias a clive1 en el Hilo del foro de ST, STM32F4 - Discovery fail El chip resucitó cambiando el pin BOOT a 1, para que arranque desde la RAM, en lugar de la Flash. Así que no estaba muerto - sólo bricked (no entiendo por qué la interfaz de depuración depende de Flash de trabajo)

Así que ahora haré mi pregunta más específica: ¿Por qué la memoria flash de la MCU se corrompe al encender, apagar o reiniciar? Además, olvídate de los MCUs LPC.

5voto

derstrom8 Puntos 1708

Hay varias razones por las que los microcontroladores actúan como se ha descrito anteriormente. Las tres causas más comunes son:

  1. Está tratando de suministrar demasiada energía. Poner 12 voltios en un chip de 5 voltios lo matará instantáneamente, por ejemplo.
  2. Tus cargas están consumiendo demasiada corriente. Los microcontroladores sólo pueden fuente de una cierta cantidad de corriente, y tratando de dibujar más que eso (por ejemplo, tratando de ejecutar un motor directamente de la salida del chip) probablemente hará que se queme.
  3. Pines en cortocircuito

Para solucionar estos problemas, intente lo siguiente:

  • La mayoría de los microcontroladores necesitan 3,3V o 5V para funcionar. Consulte la hoja de datos de su chip para asegurarse de que no está suministrando demasiada energía.
  • Si está manejando cargas grandes, como motores o bobinas, utilice un transistor conectado (a través de una resistencia de base) al microcontrolador. Entonces puedes transistor con el microcontrolador, pero la carga se alimentará de la la carga obtendrá su energía de la fuente de alimentación principal en lugar de la chip.
  • Compruebe que su cableado es correcto. Asegúrate de que no se tocan los pines, de que no hay puentes de soldadura (si tu chip está soldado en un circuito), etc. Asegúrate de que el esquema se sigue exactamente.

Lo más probable es que el problema al que te enfrentas tenga su origen en uno de los problemas anteriores, así que revísalos para ver si te ayudan.

2voto

Spehro Pefhany Puntos 90994

Suena como si estuvieras enganchando las fichas. Esto es el resultado de altas corrientes momentáneas en las entradas o salidas, que podrían ser causadas (fácilmente en un circuito de alta corriente) por corrientes de tierra mal enrutadas que causan transitorios en exceso de unos pocos cientos de mV. También podría ser causado por transitorios en la línea de alimentación.

La forma más segura de solucionar esto es aislar galvánicamente las entradas y salidas del microcontrolador de todos los circuitos de alimentación. También hay que utilizar cables trenzados y mantenerlos físicamente separados para que la carga no pueda inducir demasiada corriente en los lugares equivocados. Por supuesto, debes utilizar una alimentación separada para el micro.

1voto

Nate Puntos 3229

Descarga electrostática o ESD podrían ser la causa de estos fallos aleatorios. Después de mirar la hoja de datos, la clasificación máxima de ESD para el modelo humano es sólo 2000V y voltajes cada vez más bajos para el modelo de dispositivo cargado dependiendo de las condiciones, lo que hace que matar el procesador debido a un evento de ESD sea un escenario muy probable. Yo recomendaría evitar la manipulación de la unidad tanto como sea posible, el uso de una correa de muñeca debidamente conectado a tierra, así como una alfombra antiestática en su área de trabajo.

0voto

Whistle1560 Puntos 196

Posiblemente tu alimentación no tenga una resistencia de purga. Experimente con una resistencia de derivación en el rango de 10k a 1M y vea cómo mejora esa seguridad lenta después de la desconexión. Presta atención a la secuencia de alimentación en la hoja de datos, si existe. Como un cartel anterior mencionó, usted podría latchup el dispositivo con un mal encendido o apagado.

¿Tienes alguna red de protección de entrada en los pines de alimentación del uC? Debería ser estándar poner un fusible, un shunt zener o tvs, y suficiente capacitancia bulk y bypass.

La fuente de alimentación que estás usando podría estar lanzando picos transitorios que no estás viendo, aunque no está claro si tienes un osciloscopio o algo así.

Además, ¿tiene alguna entrada flotante en alguna parte? Un esquema ayudaría.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X