I upgraded to an Mk9 dual extruder, and it came with thermocouples installed instead of the thermistors I had before.
No matter what I did with the thermocouples, the indicated temperature jumped around by as much as 30C or more. In short, after several weeks of fiddling I never got the thermocouples to work well, and replaced them with thermistors, which have been fine.
So my question is: what is required to get thermocouples to give reliable, consistent, accurate readings? Are they just incredibly touchy?
Some things I tried include:
Of course, one must add circuitry (typically a thermocouple amplifier board such as http://wiki.ultimaker.com/Thermocouple_Sensor_Board_v1), to convert the tiny voltage differences to larger differences usable with Arduino or similar analog inputs.
Place those boards close to the thermocouples, but far enough that they are at pretty stable temperature themselves.
Have absolutely no wire extensions of splices, changes of wire types (material), etc.
Avoid doing repeated measurements too fast.
I replaced a thermocouple board with 5V through a potentiometer to the analog input pin, to rule out problems in the Arduino, pin configurations, or software, and got stable readings.
I checked for shorts-to-ground from the heater block, both sides of the thermocouples, the heater itself, etc. None found.
The thermocouple wires are surrounded by a braided shield (not common or shorted to either thermocouple wire); I tried grounding that at either end and at both ends, to the heat block, the printer frame, the power-supply ground, and the RAMPS board ground. These had various effects (sometimes large), but I couldn't find any configuration that made the readings stable (much less accurate!).
Anything I'm missing?
It sound like you just have a defective thermocouple. But, I just did a google search for "Why are thermocouples inaccurate" and found this article on identifying bad thermocouples and preventative maintenance. I never thought of a lot of the tips in the article, but I haven't had such drastic temperature errors either.