If you want to get the gist of my post without reading all of the detail, just read the bold text.
In the interest of fast response time, I ordered grounded thermocouples for my electric brew rig. However, I failed to realize that grounded thermocouples are even more susceptible to noise than the non-grounded variety. I really should have done another 5 minutes worth of homework before ordering some rather expensive sensor packages. As a result,
I get very jittery output with occasional extreme spikes.
After doing most of the soldering/wiring on my new Arduino shield,
I decided to run the thermocouple outputs through a software filter adapted from the one on this webpage.
It works very well. The sensor output jitter is now reduced to about 0.5°. The filter uses 12 samples at a rate of 2 Hz, effectively resulting in a 6 second response time. But that's not the interesting part.
*** Filtering the output actually resulted in a bit of unanticipated calibration in both accuracy and precision. ***
Of the two thermocouples that I have connected,
one of them always seemed to read a degree or two low, and the other was always a few degrees high.
The smoothed output now shows the sensors steady within 1° of one another at +/- 1° of the actual process temperature.
I'm quite amazed at this simple brute force filtering technique!
In the interest of fast response time, I ordered grounded thermocouples for my electric brew rig. However, I failed to realize that grounded thermocouples are even more susceptible to noise than the non-grounded variety. I really should have done another 5 minutes worth of homework before ordering some rather expensive sensor packages. As a result,
I get very jittery output with occasional extreme spikes.
After doing most of the soldering/wiring on my new Arduino shield,
I decided to run the thermocouple outputs through a software filter adapted from the one on this webpage.
It works very well. The sensor output jitter is now reduced to about 0.5°. The filter uses 12 samples at a rate of 2 Hz, effectively resulting in a 6 second response time. But that's not the interesting part.
*** Filtering the output actually resulted in a bit of unanticipated calibration in both accuracy and precision. ***
Of the two thermocouples that I have connected,
one of them always seemed to read a degree or two low, and the other was always a few degrees high.
The smoothed output now shows the sensors steady within 1° of one another at +/- 1° of the actual process temperature.
I'm quite amazed at this simple brute force filtering technique!