AD9850 Module: Oscillator Thermal Time Constant

With an LM75 atop the 125 MHz oscillator and the whole thing wrapped in foam:

LM75A Temperature Sensor - installed
LM75A Temperature Sensor – installed

Let it cool overnight in the Basement Laboratory, fire it up, record the temperature every 30 seconds, and get the slightly chunky blue curve:

125 MHz Oscillator - Heating Time Constant
125 MHz Oscillator – Heating Time Constant

Because we know this is one of those exponential-approach problems, the equation looks like:

Temp(t) = Tfinal + (Tinit - Tfinal) × e-t/τ

We can find the time constant by either going through the hassle of an RMS curve fit or just winging it by assuming:

  • The initial temperature, which is 22.5 °C = close to 22.7 °C ambient
  • The final temperature (call it 42 °C)
  • Any good data point will suffice

The point at 480 s is a nice, round 40 °C, so plug ’em in:

40.0 = 42.0 + (22.7 - 42.0) × e-480/τ

Turning the crank produces τ = 212 s, which looks about right.

Trying it again with the 36.125 °C point at 240 s pops out 200.0 °C.

Time for a third opinion!

Because we live in the future, the ever-so-smooth red curve comes from unleashing LibreOffice Calc’s Goal Seek to find a time constant that minimizes the RMS Error. After a moment, it suggests 199.4 s, which I’ll accept as definitive.

The spreadsheet looks like this:

T_init 22.5
T_final 42.0
Tau 199.4
Time s Temp °C Exp App Error²
0 22.250 22.500 0.063
30 25.500 25.224 0.076
60 28.000 27.567 0.187
90 30.125 29.583 0.294
120 31.750 31.317 0.187
150 33.250 32.810 0.194
180 34.375 34.093 0.079
210 35.375 35.198 0.031
240 36.125 36.148 0.001
270 36.813 36.965 0.023
300 37.500 37.668 0.028
330 38.125 38.273 0.022
360 38.500 38.794 0.086
390 39.000 39.242 0.058
420 39.500 39.627 0.016
450 39.750 39.959 0.043
480 40.000 40.244 0.059
510 40.250 40.489 0.057
540 40.500 40.700 0.040
570 40.750 40.882 0.017
600 41.000 41.038 0.001
RMS Error 0.273

The Exp App column is the exponential equation, assuming the three variables at the top, the Error² column is the squared error between the measurement and the equation, and the RMS Error cell contains the square root of the average of those squared errors.

The Goal Seeker couldn’t push RMS Error to zero and gave up with Tau = 199.4. That’s sensitive to the initial and final temperatures, but close enough to my back of the envelope to remind me not to screw around with extensive calculations when “two minutes” will suffice.

Basically, after five time constants = 1000 s = 15 minutes, the oscillator is stable enough to not worry about.

2 thoughts on “AD9850 Module: Oscillator Thermal Time Constant

  1. The time constant(s) close to T=0 can get nasty. You have the chip-leadframe, chip-package, and package & leadframe to ambient to deal with. I’ve seen this done with a dedicated tester, but even a general purpose test system can show some of the multiple time constants. The moral, such as it is, if you need to use the chip within milliseconds of powerup, your temperature will be indefinite. Not quite as bad as Heisenberg, but not far from it…

    1. In this case, the sensor definitely reports something other than the oscillator’s actual temperature while it’s warming up: I’m certain the time constant has a lot to do with the “heatsink PCB” behind the LM75A chip. Fortunately, I’m in no hurry!

Comments are closed.