@ cellularmitosis:
I'm a little bit skeptical of your graphs there... they look too stair-steppy, and it's really easy to think that your oversampling is working when it's simply an artifact of averaging the signal itself changing over the sampling period. When your dither noise is working, the part of the curve to look at is the place where things are not changing very quickly (the flat sections of your curves). If you are still resolving very small changes (far better than your raw ADC could deliver) in the "quiet" parts of your sensor input, then you know the dithering noise is doing its job. Those flat sections should look beautifully smooth - not gritty..
Hmm, I'm not sure I understand. Let me make sure we are on the same page.
The blue lines are the set-point values, and the red lines are the 64x oversampled ADC readings (of a 10k thermistor in series with a 10k resistor).
The first graph (which has the stair-steppy fall-off) is using a low-noise reference signal, and the second graph (which has the smoother fall-off) is using the noisier reference signal.
The flat sections are spikey because the heater output is constantly being changed (see the attached chart of what the PWM output looks like -- the control signal gets really noisy during the flat parts). So, thermally, the flat parts are very "noisy" (the heater is bobbling around, trying to nail the last few millikelvin, but never succeeding). It is the fall-off part of the graph (where the heater circuit is silent) where the temperature change is the smoothest and most predictable -- that's the part of the graph which should look like a perfectly smooth curve.
Does that make sense?
(csv ouput, in case you are really curious:
https://github.com/cellularmitosis/logs/tree/master/20180114-pid-oven-tuning )