Problemas de calor para STM32F103C8T6 en gabinete

Para mi proyecto de pasatiempo, tengo la intención de agregar un STM32F103C8T6 (y luego STM32F407VET6 o ZET6) en un gabinete.

Para el peor de los casos, tomemos el 407, la hoja de datos se puede encontrar aquí .

En la página 80 se indican algunas disipaciones de potencia (entre 435 y 543 mW). También se muestran algunas temperaturas en la página.

Lo que quiero usar en ellos (tal vez repartidos en dos dispositivos, pero supongamos que pongo todo en un STM32):

  • Botón de reinicio
  • Máximo 10 LEDS pequeños (3mm, algunos bicolor). si estos causarán demasiada energía/calor, quiero usar unos más pequeños o menos. Además, los LED probablemente estarán muy escasos (al menos la mayoría de ellos). Son solo para notificación. Asumiría un consumo de energía total de 100 mA (suponiendo que algunos sean uno más que otros, suponiendo 20 mA por LED, en promedio 5 están encendidos).
  • Unas pocas docenas de perlas de ferrita
  • 4 o 5 optoacopladores 6N137 o similares
  • Controlador de bus CAN (placa de conexión MCP2551)
  • Uno o dos (transceptores de 2,4 GHz)

Periféricos usados:

  • 6-8 UART
  • PODER
  • algunos temporizadores
  • Uno o dos puertos SPI (para los nRF24L01s)
  • PODER

Entorno/Límites

  • Sin modo de bajo consumo
  • Frecuencia máxima de CPU (168 MHz para STM32F407)
  • recinto!

¿Tendría problemas para colocar estos STM32 en un gabinete? ¿Supongo que posiblemente necesito agregar algunos agujeros? ¿Qué otras medidas debo tomar para evitar que se fríen en su recinto?

(nota: sé que probablemente pueda calcular el consumo de energía exacto, pero quiero tener una idea general de lo que puedo esperar, ya que nunca construí un proyecto real, y la única vez que puse un Arduino en un recinto se puso frito, pero estaba conectado con un adaptador de 12V).

¿Está hablando de controlar los LED directamente desde los pines o con transistores/controladores? El primero sería el más probable que cause problemas. He diseñado muchos micros como este, incluidos varios F103 en gabinetes y nunca tuve ningún tipo de problema, no estoy seguro de que alguna vez se hayan calentado tanto. Si su Arduino se quemó con 12 V, supongo que debe haber sido debido a un registro de voltaje lineal, que es un asunto completamente diferente.
@DiBosco ... Estaba planeando conducirlos directamente desde los pines. Porque solo hay 10 (algunos bicolores), así que digamos 15 pines. Es solo para indicar, por lo que ni siquiera necesito la potencia total (de todos modos, puedo optar por 20 mA para estar seguro). Mi Arduino probablemente era el registro de voltaje, pero no he intentado verificar si el chip todavía se puede usar. ¿Supongo que hiciste agujeros en el recinto?
15 pines a 20 mA es un máximo de 300 mA que espera que el micro se hunda o se active. Fíjese en la Tabla 7. Características actuales. Luego piensa de nuevo en lo que vas a hacer. ;~) Al final siempre tienes que mirar estas cosas.
En cuanto a los agujeros en el gabinete, probablemente siempre ha habido agujeros para E/S, pero me cuesta pensar en una ocasión en la que necesitaba agujeros de aire específicos. Sin embargo, realmente depende del entorno en el que se encuentre y de qué tan bien sellada esté la caja. Si tiene quince LED, ¿hay agujeros para que el usuario los vea y vea dichos LED?
Look at Table 7.Las mesas son aburridas :D
@DiBosco... Sé que 15 veces 20 mA son 300 mA y eso es mucho... pero no estarán encendidos continuamente (aunque debo admitir que es posible). Entonces, tal vez debería hacer un algoritmo de turno rotativo para tener solo 1 uno a la vez (por lo tanto, menos brillante si los múltiplos están activados). Eso me daría un máximo de 20 mA (o 40 mA si mantengo dos al máximo al mismo tiempo).
@DiBosco ¿Quiere decir que a pesar de que los agujeros se 'llenarán' con LED y conectores, de todos modos saldrá algo de aire a través de ellos? Estaba planeando 'pegar' los LED, de modo que llenara los agujeros para los LED.
@MichelKeijzers ¿Qué sucede si su software falla con todos ellos encendidos? Por el pequeño costo de una carga de 2N7002, sé lo que haría.
@PeterJ Gracias... Supongo que te refieres específicamente al elemento 2 de la tabla 7: 2. PC13, PC14, PC15 y PI8 se alimentan a través del interruptor de encendido. Dado que el interruptor solo absorbe una cantidad limitada de corriente (3 mA), el uso de GPIO PC13 a PC15 y PI8 en modo de salida está limitado: - La velocidad no debe exceder los 2 MHz con una carga máxima de 30 pF. - Estas E/S no deben utilizarse como fuente de corriente (p. ej., para controlar un LED). ?
@DiBosco... nunca he oído hablar de eso (2N7002)... ¿son similares a los controladores Darlington como ULN2803? ... cada vez que hago una pregunta alguien propone algo que nunca escuché (lo cual es bueno, estoy aprendiendo mucho de esta manera).
@MichelKeijzers Son solo SOT23 FET. Felizmente podría usar BC847 y resistencias o los maravillosos controladores ULN28xx. Cualquier cosa como eso. ¡Su método de turno rotativo también funcionaría aunque suponiendo que no haya fallas! Sobre el tema de los agujeros LED, sí, eso es lo que quise decir. Finalmente, en la tabla, la corriente máxima generada/hundida a través de los pines Vdd/Vss es de 150 mA.
@DiBosco ... (y necesito encontrar un tipo DIP de 2N7002, ya que no confío en soldar más pequeño que DIP).
@DiBosco ... gracias ... También tengo BC847, pero como necesito muchos, los controladores ULN podrían ser más fáciles. Y tendría que pensar en accidentes. Soy ingeniero de software, pero completamente nuevo en AVR, por lo que necesito hacer cosas pequeñas a la vez. Para hacerte reír: ayer subí un programa como 100 veces en una tarde a mi STM. Puedo hacer esto 100 días antes de tener que usar otro ya que el Flash es 10K escrito.
Use LED de alta eficiencia y condúzcalos a un par de mA cada uno. Serán lo suficientemente brillantes como para verlos, y acaba de ahorrar 80 mA
@DirkBruere Lo usaré pero cuando sea necesario. Sin embargo, parece que son bastante caros (no puedo conseguirlos en Aliexpress)
@MichelKeijzers Los LED de montaje en superficie son muy baratos: espere pagar menos de $ 0.10 uno de descuento uk.farnell.com/kingbright/kph-1608sgc/led-green-12mcd-568nm-smd/…
@DirkBruere Tendría que verificar eso ... No puedo soldar SMD (apenas puedo soldar DIP).
@MichelKeijzers Si se apega a los componentes de tamaño 1206, son más fáciles de soldar que los agujeros pasantes

Respuestas (1)

Bueno, su objetivo principal es mantener la MCU (generalmente todas las partes) dentro de su región operativa.

Para eso, debe estimar la corriente necesaria para la operación, la resistencia térmica (que es difícil) y la temperatura ambiente en la que operará el dispositivo.

Las cifras de disipación de energía que encuentra en la hoja de datos son números que evitarán que la temperatura de la unión se salga de las especificaciones a la temperatura ambiente dada.


Entonces, en el peor de los casos, todo encendido, 3.6 V funcionando a toda velocidad, dan 109 mA. Esto es 392 mW.

Está limitado a 240 mA máx. a través de Vdd o Vss. 109 mA terminan en el núcleo, deja 131 mA para el resto.

Con los LED modernos, no los manejaría con más de 5 mA como indicadores, excepto que se usen afuera a la luz del sol.

La conducción de 10 LED con 5 mA y caída interna de 0,4 V (tabla 49) agrega otros 20 mW a la disipación interna.

No estoy seguro acerca de los otros puertos de E/S. Pero supongamos una disipación de potencia de 450 mW.

La Tabla 98 tiene la resistencia térmica para los paquetes enumerados. Con el peor tienes 46 K/W.

Con 450 mW, obtiene un aumento de 20 K de la temperatura de unión sobre el ambiente (ambiente de la MCU, no del gabinete). Eso significa que básicamente puede tener 85 °C dentro de su gabinete y la MCU estaría bien. (84,3 °C para ser exactos)


Modelar qué temperatura resultará en su recinto es mucho más difícil. Necesita saber cómo se transferirá el calor del aire al recinto y luego del recinto al ambiente nuevamente; tal vez su recinto proporcione un número, pero la mayoría no.

Lo que suelo hacer es estimar la disipación de energía total (agregar algo más), colocar una placa de circuito impreso dentro del gabinete y soldar una parte que pueda manejar la disipación.

Luego mida la temperatura ambiente, la temperatura del gabinete y la temperatura dentro del gabinete mientras enciende el dispositivo. Después de algunas horas, las temperaturas se habrán estabilizado y podrá ver qué aumento tiene por encima de la temperatura ambiente. Si la temperatura interior aumenta alrededor de 40 K, no puede usar su dispositivo en temperaturas superiores a 45 °C. Porque entonces, la temperatura ambiente de la MCU estaría por encima de los 85 °C.


Si desea tener algunas medidas de seguridad, puede usar el sensor de temperatura interno de la MCU para apagar en caso de sobrecalentamiento.

Hay algunos circuitos integrados que harán lo mismo y probablemente sean más precisos si no confía en el sensor interno.

Gracias por esta respuesta detallada... Creo que será un buen ejercicio para mí ver si también puedo encontrar esos números en la especificación. Muy buena idea para verificar la temperatura del IC. Aunque en una situación de ar/l no me gustaría que se apagara, puedo usarlo durante las pruebas y tener una idea si tengo problemas.
Si no desea apagar y la temperatura es un problema, debe mejorar la refrigeración. No necesita agujeros para eso (si los agujeros son un problema), puede usar un buen conductor térmico y conectar el gabinete a los circuitos integrados de calefacción, por lo que el gabinete se convierte en un mejor enfriador.
Todavía no sé si la temperatura será un problema (no tengo experiencia con la temperatura con respecto a los microcontroladores, ni con los gabinetes). Comprobaré cómo se ve un conductor térmico. No creo que pueda conectar el IC de calefacción al gabinete, porque es un STM y el IC está un poco 'adentro' si sabes a lo que me refiero.
Bueno, básicamente solo necesitas una tira de aluminio o cobre y un pegamento térmico en ambos extremos y tu conductor térmico está listo: D
Eso suena más fácil de lo que parece :-)... gracias por la aclaración