[time-nuts] Digital temperature compensation

Bob Camp kb8tq at n1k.org
Sat Nov 1 19:01:29 EDT 2014


Hi

> On Nov 1, 2014, at 5:09 PM, Dan Drown <dan-timenuts at drown.org> wrote:
> 
> Ok, I hadn't considered rate of change.  

It’s one of the limits on this sort of thing in general. It’s even more of an issue with a coupled mode like the one you show. Since there are an enormous number of possible variables, it’s always tough to know exactly how much of an issue you will have.

One common answer - run your profile runs at the temperature change rate you are most likely to see in practice. 

Another very common answer - don’t use that crystal, get one that does not have the problem. You can get parts with slopes  <0.1 ppm / C  over 10 to 50 C. You might have to spend some quality time sorting them out ….

Bob

> This data is currently 3 day's worth and seems to repeat itself on both days at the same temperature point.  Attached is a time based graph to show that.  The ppm axis (on the right) is inverted to make it easier to see the relationship between the two.
> 
> 
> Quoting Bob Camp <kb8tq at n1k.org>:
>> Hi
>> 
>> This sort of thing is normally done with a precisely controlled temperature chamber and multi day temperature ramp runs. Even then there is a bit of “wonder what that was, let’s try it again”.
>> 
>> If you are looking at a crystal oscillator, what you have is a perturbation in the frequency / temperature curve. The response you get will be temperature rate of change dependent.
>> 
>> Bob
>> 
>>> On Nov 1, 2014, at 4:40 PM, Dan Drown <dan-timenuts at drown.org> wrote:
>>> 
>>> I'm experimenting with using a temperature sensor to estimate local oscillator frequency changes.  My goal is to have a decent holdover clock for a NTP server with not so great GPS antenna placement.
>>> 
>>> I've been sampling temperature every minute, measured by a DS18B20.  I've been measuring local clock frequency differences, using chronyd's logs from the GPS's PPS.  At 28C through 21C, I get a pretty good result that fits a quadratic polynomial decently (0.117 ppm stddev).  I've attached the graph of that as "temp-clock-warmer.png".
>>> 
>>> With the colder temperatures, there's a sudden drop off in frequency that I'm having a hard time finding a equation that fits as nicely.  All the examples I can find on the web look like third degree polynomials, while my data doesn't seem to fit that exactly.  The best result I've had so far (0.198 ppm stddev) is attached as "temp-clock.png" and uses the function:
>>> 
>>> f(x) = -abs(a * (x - 20.88)) + b * ((x - 20.88)**2) + c * ((x - 20.88)**3)
>>> a = 0.888582
>>> b = 0.113806
>>> c = -0.00445763
>>> 
>>> Does anyone have any advice on how to better model this?  Has anyone seen this behavior?
>>> 
>>> I can provide the raw data if that would help any.
>>> <temp-clock-warmer.png><temp-clock.png>_______________________________________________
>>> time-nuts mailing list -- time-nuts at febo.com
>>> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>>> and follow the instructions there.
>> 
>> _______________________________________________
>> time-nuts mailing list -- time-nuts at febo.com
>> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>> and follow the instructions there.
>> 
> 
> <temp-vs-clock.png>_______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.



More information about the time-nuts mailing list