Hi At least in my experience, a properly functioning OCXO will rarely (if ever) be outside +/- 1 degree of the set point when in full PID (integrator enabled) mode. You may well use a custom set of control parameters for the warmup phase. You might even use a non-PID based control (shut off all power when these things happen. Then coast to the set point …). I suppose that like many of my posts, the term “fuzzy logic” could easily be used in more than one way :)
Bob > On Jun 10, 2017, at 3:10 PM, Magnus Danielson <mag...@rubidium.dyndns.org> > wrote: > > Hi, > > Very good point Poul-Henning, very good point. > The mux is there, we don't need the resolution far out, and with only a > little though code-wise and hardware wise we get the best of resolution and > range where we need it. > > Cheers, > Magnus > > On 06/10/2017 09:06 PM, Poul-Henning Kamp wrote: >> -------- >> In message <3897c09a-d76c-474c-8907-9ea25f8c3...@n1k.org>, Bob kb8tq writes: >> >>> The “limited range” part of it is why the op-amp makes so much >>> sense. If the ADC can “see” +/-10C that’s way more than will ever be useful. >> >> Most uC's have a pile of mux'ed ADC inputs, so do all of the above: >> >> AI0 = Full range >> >> AI1 = +/- 10C >> >> AI2 = +/- 2C >> >> A big upside to this is that you will not need to invent heuristics >> for clamped inputs in your PI(D) controller, something which is a bit >> harder than most people realize. >> >> Assuming a 10-bit ADC, the code will look something like this: >> >> double >> get_temp(void) >> { >> >> T = read_AI2(); >> if (T > 50 && T < 975) { >> T += T2_offset; >> T *= T2_scale; >> return (T); >> } >> T = read_AI1(); >> if (T > 50 && T < 975) { >> T += T1_offset; >> T *= T1_scale; >> return (T); >> } >> T = read_AI0(); >> if (T > 50 && T < 975) { >> T += T0_offset; >> T *= T0_scale; >> return (T); >> } >> abort("You have problems..."); >> } >> > _______________________________________________ > time-nuts mailing list -- time-nuts@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@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.