[time-nuts] uC ADC resolution (was: Poor man's oven)

Poul-Henning Kamp phk at phk.freebsd.dk
Sat Jun 10 16:50:30 EDT 2017

In message <73A71EF4-EB76-4965-B3D5-53F9DD5BF0FA at n1k.org>, Bob kb8tq writes:

>If we want to hold the oven at some temperature +/- 0.1 C, the control loop 
>needs to go from full on to full off over that range.

...ehhh, what ?

>You will map (somehow) the full range of the output into a 0.2 C input range. 

Uhmm... no ?

The full DAC range maps to the heat you need for supply at the two
ambient temperature extremes.

For instance if you were building a -40...+70C OCXO, *ideally*
DAC code 0 should correspond to +70C and DAC code 65535 to -40C ambient

That means that one DAC step corresponds to a change in ambient temperature
of (+70 - -40) / 65536 = 1.7 milliKelvin.

A more realistic temperature range for a time-nut build would be +10...+40C.

	DAC bits	mK
	10		29.3
	12		 7.3
	14		 1.8
	16		 0.5

10 bits would cause I-hunting in your PI(D) but the measurement noise
would probably dither that for you.

12 bits would allos a trivial implementation.

If you go for a double or tripple oven/dewar design, you probably
need 14 bits.

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

More information about the time-nuts mailing list