Modelado térmico LED (Cómo resolver la ecuación de calor con una fuente de calor constante)

Tengo un diseño mecánico con LEDs que generan calor. Quiero estimar la temperatura en la unión LED frente al tiempo, pero especialmente en estado estable.

Conociendo la caída de voltaje y la corriente del LED, puedo estimar la potencia disipada a través del calor (parte de la potencia se va a la luz, pero para ser conservador, pensé en estimar la potencia térmica simplemente como I * V).

La temperatura de la unión LED debe mantenerse por debajo de cierta temperatura. El sistema térmico consistirá en la unión del LED a la almohadilla térmica, la placa de circuito y el diseño mecánico. La resistencia térmica se proporciona para la unión a la almohadilla térmica (alrededor de 10 K/W), y el fabricante proporciona un par de diseños de placa de circuito diferentes, cada uno con su propia resistencia térmica. El mejor diseño puede alcanzar 3-4 K/W, pero un diseño menos costoso puede ser una opción. Entonces necesito la resistencia térmica de la carcasa mecánica, que es preexistente y no se puede cambiar, excepto cómo conectar los LED a la carcasa.

La geometría es algo complicada, así que pensé en comenzar con un bloque de aluminio simple (la placa de circuito se monta directamente en el bloque), para asegurarme de que mi modelado sea correcto, y luego pasar a geometrías más complicadas. Los LED están dispuestos en una línea, por lo que supondré que la transferencia de calor es constante a lo largo de la línea LED (llámese eje z). Tampoco quiero considerar la convección o la radiación en este momento, a lo largo del bloque.

Entonces, digamos que adjunto un disipador de calor al extremo del bloque opuesto a los LED, con una resistencia térmica lo suficientemente baja al ambiente para que el extremo del disipador de calor del bloque esté en el ambiente. La resistencia térmica de un bloque de aluminio es L/(kA), donde L es la longitud, k es la conductividad térmica (0,25 W/(mm*K)) y A es el área de la sección transversal. Entonces, si la longitud es de 20 mm (a lo largo del eje x), el área de la sección transversal es de aproximadamente 300 mm ^ 2 (alrededor de 6 mm x 50 mm, con 6 mm a lo largo del eje y y 50 mm a lo largo del eje z), la resistencia térmica es de unos 0,27 K/W. La potencia del LED por unidad de área es de 0,0896 W/mm^2 (potencia total de 26,88 W, distribuida en 300 mm^2).

Nota: Me gusta trabajar en mm para este problema.

Este problema es 1-D y, según la ley de conducción de Fourier, la caída de temperatura en el bloque en estado estacionario debería ser:

Δ T = L PAGS / ( k A ) = 7.17 k .

Quiero poder modelar esto y obtener el mismo resultado.

Debido a que la geometría final es más compleja, creo que necesito usar el método de elementos finitos para la solución final, pero para empezar, sería bueno saber cómo comenzar con la ecuación del calor y terminar con el resultado obtenido de Fourier. ley (ya que la primera puede derivarse de la segunda).

Encontré freefem++ ( http://www.freefem.org/ff++/index.htm ), que puede aproximar una solución a la ecuación del calor usando el método de elementos finitos, pero la formulación variacional está más allá de mi comprensión, y ninguno de los ejemplos trata con una fuente de calor constante.

Quiero configurar la ecuación de calor y las condiciones de contorno. Especialmente quiero el resultado de estado estacionario, pero también estoy interesado en la evolución de la temperatura frente al tiempo. La ecuación de calor (3-D) es

tu t = α 2 tu + q C ρ ,
dónde

tu = tu ( X , y , z , t ) = temperatura ( k )

α = k C ρ = difusividad térmica ( metro metro 2 s )

C = calor específico ( j k gramo k )

ρ = densidad de masa ( k gramo metro metro 3 )

q = potencia por unidad de volumen ( W metro metro 3 )

Dado que el problema de bloque simple es 1-D, la ecuación de calor se convierte en:

tu t = α 2 tu X 2 + q C ρ

o

tu t = α tu X X + q C ρ

Tenga en cuenta que Q es una función de ( X , t ) . Este documento proporciona una solución analítica para este problema 1-D: http://people.math.gatech.edu/~xchen/teach/pde/heat/Heat-Duhamel.pdf

Para usar el Principio de Duhamel, primero reformulo el problema para que la fuente de calor esté en L / 2 la temperatura a X = 0 y X = L se mantiene en cero (ya sea cero o temperatura ambiente, la solución es la misma). Entonces la fuente de calor es la función Dirac-delta en X = L / 2 , y el problema se convierte en:

tu t = α tu X X + q i C ρ d ( X L 2 ) , 0 < X < L , t > 0

y las condiciones de contorno son:

tu ( 0 , t ) = 0 , tu ( L , t ) = 0 , t > 0
tu ( X , 0 ) = 0 , 0 X L

Aquí, q i = 0.896 W / metro metro 3 es la fuente de calor. Pude aproximar la solución dada en el documento usando Matlab (ver más abajo), y como d s 0 , la solución se acerca más a una función triangular centrada en X = L / 2 y aumentando asintóticamente con el tiempo hasta aproximadamente 7 K. Tenga en cuenta que debido a que la fuente de calor está en el centro, dupliqué la potencia y la longitud del bloque, y la solución para el problema anterior es la mitad del bloque ( X L / 2 ).

Entonces, ¿qué pasa cuando voy a 2-D? Como dije, la geometría real es compleja (pero se puede modelar como un problema en 2D, ya que la geometría a lo largo del eje z es esencialmente constante), por lo que no espero una solución analítica. Quizás mi simple ejemplo 1-D no sea suficiente para demostrar cómo resolver el problema con el método de elementos finitos.

¿Qué pasaría si la fuente de calor entrara por la izquierda y la parte inferior del bloque se mantuviera a temperatura constante?

¿El principio de Duhamel se extiende a 2-D? Si es así, y aproximo el problema homogéneo auxiliar con FEM, ¿cómo transformo esa aproximación en la solución no homogénea?

Alternativamente, ¿cómo formularía el problema no homogéneo usando la formulación variacional, para poder usar el análisis FEM directamente?

Aproximación de Matlab a la solución analítica 1-D

Aquí está mi código de Matlab que se aproxima a la solución usando el Principio de Duhamel. Hice la aproximación utilizando tanto la serie de Fourier como la función de Green.

% Approximate the analytical solution of the heat equation with a heat
% source in the center of a block.

% System parameters.
H = 6;               % the block height (mm)
L = 40;              % the block length (mm)
W = 50;              % the block width (mm)
kAl = 0.25;          % Aluminum thermal conductivity (W/(mm*K))
c = 897;             % Aluminum specific heat capacity (J/(kg * K)).
rho = 2.7E-6;        % Density (kg/mm^3).
alpha = kAl / (c * rho);   % Thermal diffusivity (mm^2/s).
Qi = 2 * 27 / 300;          % Input power per unit volume length (?).

dx = 0.2;
dt = .2;
x = 0:dx:L;
tmax = 10;
t = 0:dt:tmax;

% Approximate heat equation using Fourier series and Duhamel's Principle.
ds = 0.1;
N = 200;
n = 1:N;
b = 2*Qi*sin(n*pi/2)/(c*rho*L);
% As N goes to infinity, the solution
% approximates a triangle function centered on L/2.  Because we can't go to
% infinity, there will always be a sharp spike at x = L/2.
u = zeros(length(x), length(t));
for xi = 1:length(x)
   for ti = 1:length(t)
      tc = t(ti);
      for ni = 1:length(n)
         s = 0:ds:tc;
         sint = 0;
         for si = 1:length(s)
            sint = sint + b(ni)*exp(-alpha*(n(ni)*pi/L)^2*(tc-s(si)))*ds;
         end
         u(xi, ti) = u(xi, ti) + sin(n(ni)*pi*x(xi)/L) * sint;
      end
   end
end

figure;
mesh(t, x, u);
ylabel('x (mm)');
xlabel('t (s)');
zlabel('Temperature (deg C)');
title('Approximation to heat equation solution with constant heat source at L/2, using Fourier series');

% Approximate solution using Green's function.  Note that as ds -> zero,
% the solution approximates a triangle function centered at L/2, and
% increasing asymptotically over time.
u = zeros(length(x), length(t));
N = 40;
n = -N:N;
ds = 0.01;
for xi = 1:length(x)
   for ti = 1:length(t)
      tc = t(ti);
      if tc == 0
         continue;
      end
      s = 0:ds:(tc-ds);
      for si = 1:length(s)
         nint = 0;
         for ni = 1:length(n)
            nint = nint + exp(-(x(xi)-2*n(ni)*L-L/2)^2/(4*alpha*(tc-s(si)))) - ...
               exp(-(x(xi)-2*n(ni)*L+L/2)^2/(4*alpha*(tc-s(si))));
         end
         u(xi, ti) = u(xi, ti) + ...
            (Qi/(c*rho)) * nint * ds / sqrt(4*pi*alpha*(tc-s(si)));
      end
   end
end

figure;
mesh(t, x, u);
ylabel('x (mm)');
xlabel('t (s)');
zlabel('Temperature (deg C)');
title('Approximation to heat equation solution with constant heat source at L/2, using Green''s function');
Sé lo que haría Edison. Solo construye uno y mide. Tienes un conjunto que está caliente en un extremo y frío en el otro, transmitiendo una cierta cantidad de energía térmica por segundo, lineal en la diferencia de temperatura. Puedo pensar en varias formas de medir eso. Hay una historia de cómo preguntó a algunos futuros ingenieros el volumen de una bombilla. Algunos se pusieron muy matemáticos, pero uno simplemente vertió un poco de agua y la vertió en una taza medidora. ¿Quién crees que consiguió el trabajo?
Patrick, la próxima vez que estés cerca, ¿podrías verificar la última edición realizada en esta pregunta y verificar si es correcta o no?
@David Parece que alguien comentó la declaración de la función sin eliminar la declaración de devolución. Tiendo a poner todas mis secuencias de comandos de Matlab en funciones como un hábito, de esta manera no dependo de las variables que puedan existir en el espacio de trabajo, pero que olvidé después de eliminar su inicialización en mi secuencia de comandos. Si necesito depurar, simplemente estableceré un punto de interrupción en un lugar adecuado en el script. Pero es cierto, la línea de función no es necesaria y su solución debería hacer que se ejecute nuevamente.
Patrick: Sí, realicé la edición del archivo de secuencia de comandos, pero olvidé desplazarme hasta el final y comprobar que había un retorno para comentar. No vi en ninguna parte del script que se llamara a la función. Gracias por captar eso.
@night owl Todo el guión es la función. Lo "llamo" presionando F5 en Matlab, o lo llamo desde el símbolo del sistema. Como dije en mi otro mensaje, este es solo mi hábito para evitar mezclar las variables del espacio de trabajo con las que se usan en el script. Para los propósitos de esta publicación, una función no es necesaria.
De acuerdo, no estoy muy seguro de si eso está permitido (es posible) en matlab, pero no puedo decirlo porque no soy un gran usuario. Solo úsalo cuando sea necesario. Pero generalmente tengo un .marchivo de función específicamente solo para la función que creo y luego creo un .marchivo de script (programa principal) en el que llamo a la función. Pero parecía que querías hacer ambas cosas en un script y no estoy muy seguro de que puedas usar las funciones de esa manera. Si vuelve a ejecutar ese script en matlab con la función y regresa dentro de él, obtendrá el mensaje de error en el símbolo del sistema como estaba diciendo.

Respuestas (3)

@ user3533030 Tiene un muy buen punto, pero puede ser un eufemismo.

"Estos problemas no se resuelven fácilmente analíticamente".



Han pasado más de 5 años desde que se hizo esta pregunta. Y no ha mejorado demasiado. El cruce en T debería haber sido cosa del pasado a estas alturas. Las cosas están mejorando lentamente.


Los fabricantes ahora publican el delta de temperatura entre la unión en T y la almohadilla térmica en T, típicamente alrededor de 15°C. Algunos de sus valores de temperatura recomendados son relativos a la temperatura de la carcasa del LED en lugar de a la unión en T. Para mantener la coherencia, algunos fabricantes ahora incluyen un "Punto" de temperatura en la carcasa del LED donde se mide la temperatura con un termopar.

En la imagen de abajo, el punto de medición de temperatura está etiquetado como Tc

ingrese la descripción de la imagen aquí

El problema con el enfoque de modelado simulado es que los LED no tienen factor "k". No tienen una constante en ninguna de sus características y el delta mínimo/máximo es demasiado grande para producir resultados modelados con algo lo suficientemente preciso como para ser significativo. Los LED parecen ser simples componentes optoelectrónicos, pero no lo son.

Mientras escribo esto, estoy realizando un experimento con un nuevo disipador de calor en una PCB de 12"x 0,7" con 16 LED de 3 vatios (Cree XPE y Lumiled Rebel ES). Los resultados de este modelado serían de poco valor.

ingrese la descripción de la imagen aquí

Debe concentrar su esfuerzo en las características de gestión térmica del disipador térmico y la PCB en lugar de la unión del LED con la almohadilla térmica.

Otro problema son los diseños de placa de circuito recomendados por el fabricante. Todavía hoy, sus recomendaciones consisten principalmente en cuántos orificios, el diámetro de los orificios y la distancia entre los orificios para reducir la resistencia térmica del lado LED de la placa al lado opuesto. Esto se debe a que, en su modelo térmico, la resistencia térmica de la PCB es el factor más importante. Una reducción en la resistencia térmica de la PCB paga las mayores recompensas. Excepto...

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

El problema con ese enfoque es conectar el disipador de calor al lado opuesto de la PCB. ¿Por qué no aumentar el grosor del cobre en el lado del LED y conectar el disipador de calor al lado del LED de la placa y eliminar la resistencia térmica de la PCB de la ecuación?

ingrese la descripción de la imagen aquí

Esto ha funcionado tan bien para mí que he creado un nuevo problema. Condensación en el disipador de calor y PCB.

La PCB se calienta mucho sin gestión térmica. Después de ensamblar la primera placa de prueba, bombeé 1 amperio a través de los LED. No sé la temperatura porque la placa se calentó tanto que no obtuve una lectura de temperatura antes de que la placa se quemara.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

En un enfoque más sensato, solo pude medir hasta 350 mA antes de que la temperatura excediera la temperatura máxima del LED.

* PAR = radiación activa fotosintética

ingrese la descripción de la imagen aquí

Los resultados hasta ahora esta noche se ven muy bien con un nuevo disipador de calor, diseñado con piezas estándar, donde el costo total de las piezas es de $3.50 por pie.

En comparación con la ausencia de gestión térmica a 350 mA = 125 °C, creo que puedo estar en algo sin modelado de unión térmica.

Current=700mA
Thermal Pad °C
11:00 PM    28
11:05 PM    22
11:15 PM    23
11:25 PM    21.5
11:35 PM    21.3
11:55 PM    22.9
12:15 AM    22.4

Resolví este tipo de problema antes tanto experimental como numéricamente. Estos problemas no se resuelven fácilmente analíticamente. No recomiendo un enfoque analítico que no sea para proporcionar algo de intuición.

Para adoptar un enfoque numérico, considere http://www.amazon.com/Transfer-Mcgraw-Hill-Series-Mechanical-Engineering/dp/0073529362 . Este texto tiene metodologías para diferencias finitas que son bastante fáciles de entender. La idea es establecer las ecuaciones en diferencias finitas, resolverlas con una inversión de matriz. Para el problema de la evolución temporal, simplemente incrementas el tiempo y resuelves la matriz una y otra vez.

Con problemas especializados como estos, tiene algunas opciones. Una es construir un modelo simple de diferencias finitas y depurarlo con soluciones conocidas (nuevamente vaya a Hollman). La otra solución es una solución de elementos finitos más exótica. Tenga cuidado, es fácil equivocarse y perder mucho tiempo mallando geometría.

Avísame si necesitas ayuda específica. Puedes ver algunos de mis trabajos en:

http://spie.org/Publications/Proceedings/Paper/10.1117/12.842043

http://spie.org/Publications/Proceedings/Paper/10.1117/12.842881

¡La verdadera diversión está en los problemas transitorios! Estos modelos se realizaron en Nastran y coinciden extremadamente bien con los datos experimentales. Para obtener una buena coincidencia con el experimento, preste mucha atención a las condiciones de contorno (baños completamente aislantes y con temperatura perfecta).

Si su objetivo es práctico y está buscando una respuesta numérica, ¿por qué no usar algún método numérico para resolver la ecuación? Mathematica, Maple y Matlab (creo) tienen herramientas para hacer esto.

En cuanto a la solución de estado estacionario, puede simplificar mucho el problema ya que cuando t tiende a infinito, la derivada de u con respecto a t tiende a cero, lo que le da una ecuación de Poisson simple.

La última vez que tuve un problema térmico 2D, quería hacer coincidir las funciones de Green en los distintos límites, pero eso es complicado (algebra y programación), es decir, la posibilidad de un error de codificación era demasiado grande. Dado que las computadoras modernas son máquinas de fuerza bruta increíblemente rápidas, la relajación sucesiva en una cuadrícula es tan trivial de programar que casi no se puede estropear, y el tiempo de solución es mínimo.
Edité mi pregunta para (con suerte) aclarar lo que estoy preguntando. Espero necesitar resolver el problema numéricamente, pero no estoy seguro de cómo formular el problema para hacerlo. Me doy cuenta de que el término de tiempo se desvanece cuando t tiende al infinito, pero me gustaría incluirlo si es posible.
@Palmadita. Muchos problemas independientes del tiempo se resuelven ejecutando una simulación de tiempo hasta que se alcanza el equilibrio, por lo que es perfectamente aceptable formularlos/resolverlos como un problema dependiente del tiempo.