Electronic – Predicting thermal equilibrium: what’s wrong with the time constant


I understand that this is arguably a peripheral electronics problem, but it seemed to fit here better than in physics.

I've been doing some power electronics design work with large IGBTs mounted on forced-air aluminum heat sinks. To run thermal tests, we use USB thermocouple boxes and a spreadsheet to aggregate data. It takes 30-60 minutes for most of our heat sinks to reach thermal equilibrium. Given how often we run this kind of test, I decided it would be nice to add a feature to the spreadsheet which would predict the thermal equilibrium temperature early in the procedure. If we could know where a system will level out, without having to actually wait for it to do so, it could save us days of testing.

I presume that if we could take two points along the temperature curve, we should be able to extrapolate its asymptote. Note that all temperatures are assumed to be temperatures above ambient, as we are also measuring the temperature of the air intake into the fan. My derivation is as follows:

t \text{: time}\\
T(t) \text{: temperature of sink above ambient at time t}\\
Q(t) \text{: energy stored in sink}\\
P_{in}\text{: power dissipated into sink (assumed constant)}\\
T(\infty) \text{: equilibrium temperature of sink for the given power input}\\
P_{out}(t)\text{: power dissipated from sink to ambient}\\
C_{\Theta} \text{: thermal capacity of sink}\\
\tau_{\Theta} \text{: thermal time constant of sink}\\
\text{From definition: }C_{\Theta} = \frac{\Delta Q}{\Delta T}
\text{From definition: }R_{\Theta} = \frac{T}{P_{out}}
\text{At equilibrium, input power is equal to output power, so this gives:}\\
T(\infty) = R_{\Theta}P_{in}
\text{Energy stored is power-in minus power-out integrated over time:}\\
\Delta Q = \int_{t_1}^{t_2}(P_{in}-P_{out})dt
\text{Input power is constant over time, so this gives:}\\
\Delta Q = P_{in}\Delta t – \int_{t_1}^{t_2}P_{out}dt
\text{Substitute for output power:}\\
\Delta Q = P_{in}\Delta t – \frac{1}{R_{\Theta}}\int_{t_1}^{t_2}Tdt
\text{Substitute for sink energy:}\\
C_{\Theta}\Delta T = P_{in}\Delta t – \frac{1}{R_{\Theta}}\int_{t_1}^{t_2}Tdt
\text{Multiply by thermal resistance:}\\
R_{\Theta}C_{\Theta}\Delta T = R_{\Theta}P_{in}\Delta t – \int_{t_1}^{t_2}Tdt
\text{Substitute for equilibrium temperature:}\\
R_{\Theta}C_{\Theta}\Delta T = T(\infty)\Delta t – \int_{t_1}^{t_2}Tdt
\text{Solve for equilibrium temperature:}\\
T(\infty)=\frac{C_{\Theta}R_{\Theta}\Delta T – \int_{t_1}^{t_2}Tdt}{\Delta t}

So if I know the thermal resistance and capacity of the sink, I should be able to compute equilibrium temperature from two arbitrarily-chosen points on the observed temperature curve, and the integral of the data between those points. However, I've run into a problem. My equations seem to be correct, but the numbers I'm getting are totally screwy.

This particular sink weighs 10 lbs. Several websites list the specific heat capacity of aluminum as being ~.9 J/(K*g), leading to a thermal capacity of approximately 4100 J/K. We ran a test to determine the thermal resistance of the sink to ambient, by putting a fixed DC current through the IGBT packs integrated diodes and allowing the sink to come to thermal equilibrium. That gave a thermal resistance of approximately .025 K/W, for our particular combination of air flow and device layout on the sink. This gives a time constant of about 100 seconds.

Again, observations show that this sink takes nearly an hour to reach equilibrium (or at least to get so close I can't measure the difference). I'm an order of magnitude off! I have a few guesses:

  1. This heat sink is not aluminum. Unlikely.
  2. The thermal capacity of the sink changes with temperature. Unlikely.
  3. The thermal resistance of the sink changes with temperature or some other unidentified factor, possibly the fan slowing down for some reason. More likely than the previous two, but changing by an order of magnitude still seems unlikely.
  4. Input power is not constant. Vce changes with temperature, but again, not by an order of magnitude.
  5. I've misplaced a decimal point. Always possible, but I can't find it.
  6. I'm totally misunderstanding the entire problem.

Does anyone have an experience in this area? Any suggestions as to what I'm doing wrong?

Edit: I've uploaded two example temperature curves here, for a different sink than the one I was discussing earlier. Same problems seem to occur, though.

Best Answer

Here's an alternative way to resolve your problem or figure out if your problem is physical or mathematical. Lets look at the problem from another angle and see if your measurements give the same result or a different one.

Your physical model is, you have a single heat source and a fixed path from that source to the environment, with a fixed thermal mass. Throw away all the details of the properties of aluminum, your preliminary measurement of the heat sink thermal resistance etc. With your simple (e.g. lumped-element) model, the response to turning on the heat source will be a curve like

\$T(t) = T_\infty - (T_\infty-T_0) \exp(-t/\tau)\$.

First, this shows you will need three measurements to work out the curve because you have three unknowns: \$\tau\$, \$T_\infty\$, and \$T_0\$. Of course one of these measurements can be done before the experiment starts to give you \$T_0\$ directly.

If you know \$T_0\$ and you take two measurements, you'll have

\$T_1 = T_\infty - (T_\infty-T_0) \exp(-t_1/\tau)\$

\$T_2 = T_\infty - (T_\infty-T_0) \exp(-t_2/\tau)\$

and in principle you can solve for your two remaining unknowns. Unfortunately I don't believe these equations can be solved algebraicly, so you'll have to plug them in to a nonlinear solver of some kind. Probably there's a way to do that directly in Excel, although for me it would be easier to do in SciLab, Matlab, Mathematica, or something like that.

So my point is, if you solve the problem this way, and you still get the same answer as you've already gotten, you know there is something wrong with your physical model --- an alternate thermal path, a nonlinear behavior, etc.

If you solve it this way and you get an answer that matches the physical behavior, then you know you made some algebraic or calculation error in your previous analysis. You can either track it down or just use this simplified model and move on.

Additional comment: If you do decide to just use this phenomenological model to solve your problem, consider taking more than two measurements before trying to predict the equilibrium temperature. If you have just two measurements, measurement noise is likely to cause some noticeable prediction errors. With additional measurements, you can find a least-squares solution that'll be less affected by measurement noise.

Edit Using your data, I tried two different fits:


The red curve was for a single exponential response, fitted as

\$T(t) = 33.4 - 38.6\exp(-t/81.96)\$

The green curve was for a sum of two exponentials, fitted as

\$T(t) = 36.86 - 35.82\exp(-t/81.83) - 5.42\exp(-t/383.6)\$.

You can see that both forms fit the data nearly equally for the first 100 s or so, but after about 200 s the green curve is clearly a better fit. The red curve is very nearly flattened out at the end, whereas the green curve still shows a slight upward slope, which is also apparent in the data.

I think this implies

  1. You need a slightly more complex model to get a good match for your data, particularly in the tail, which is exactly what you're trying to characterize. The extra term in the model probably comes from a second thermal path out of your device.

  2. It will be very difficult for a fitter to distinguish the part of the response due to the main path from the part due to the secondary path, using only, say, the first 100 s of data.