Remix.run Logo
tw1984 3 days ago

interesting teardown, thanks.

for homelab application where extra space & power consumption is not a real concern, "temperature resistance" (tempco) is no longer relevant. you can get a constant temperature controller with +/- 0.01 degree range kind of spec for $65. verified using a reputable digital temperature sensor (outside the control loop) and the performance is pretty solid.

tverbeure 2 days ago | parent | next [-]

I believe it.

This DIY GPSDO has a self-heating PCB to keep the temperature constant: https://www.paulvdiyblogs.net/2023/06/gpsdo-version-4.html?m....

It’s a long blog post, but in the August 24, 2023 update, he mentions that the PCB temperature stays rock solid at 52.9C.

RossBencina 2 days ago | parent | prev [-]

out of interest, what would the physical setup look like? Hard to imagine you could achieve isotropic temperature approaching +/- 0.01 degree over the size of a typical PCB.

tverbeure 2 days ago | parent [-]

Does it have to be isotopic though? The temperature must be constant over time, but a spatial gradient shouldn’t influence the stability of the crystal.

BTW, checkout my other comment in this thread about a GPSDO PCB with a resistor grid on the backside to evenly heat it.

rcxdude 2 days ago | parent [-]

A spatial gradient between the crystal and the temperature sensor, if it varies, can cause an error.

tverbeure 2 days ago | parent [-]

But is the error constant or does it vary over time? If it's the former, it can be calibrated away. If it's the latter, what is the mechanism behind it?

rcxdude a day ago | parent [-]

It'll vary over time with the ambient temperature. When you set up a temperature control loop, you have a heater which creates a temperature gradient between it and the ambient temperature. This temperature gradient depends on the power that the heater is putting out, the thermal resistances of the box and any insulation around it. You then have a temperature sensor, which you will presumably put somewhere in the box, hopefully near the crystal, but it won't exactly be the crystal. Then, as the ambient temperature sensor varies, the power output of the heater will vary to try to keep the temperature that the sensor is seeing constant. But because that power also changes the thermal gradient, the thermal gradient in the system will also change, and so the temperature of the crystal is never completely insensitive to the ambient temperature, even if the temperature sensor reading doesn't change at all.

How big and/or meaningful this effect is depends on what the thermal resistances in the system are, and where the temperature sensor is relative to what you want to temperature control. Generally you want a very conductive box that's then insulated very well, since this means the temperature won't vary much across the box (all of the temperature gradient between the heater and ambient is 'taken up' by the insulation). But if you're talking sufficiently high precision this can be quite difficult to achieve.

tverbeure a day ago | parent [-]

Thanks for the explanation. Having thermal element (say, resistors) spread as a regular grid all over the backside of the PCB would help with reducing the gradient.

It makes me wonder if it would make sense to have a slow rotating fan inside the box. Not to get rid of excess heat but to compress the gradient against the well-insulated wall of the box. It's probably overkill for most cases, since there are other factor that influence frequency stability...