No, I don't have any idea about the origin of my hot end thermistor. All I know is that it is extremely small. It looks like a tiny glass bead, less than 1mm in diameter. It came with a Diamond nozzle I bought from BiQu.
Guess what. I was unable to achieve a 2-degree accuracy with this thermistor using the Steinhart-Hart model over the entire range of temperatures. Disappointingly, its worst error (-4℃) peaks in the most common range of printing temperatures. I am not sure if I overfit the model or it is just a weird thermistor.
But the good news is that heater faults have completely ceased after I applied the calibration settings and re-tuned. Prior to that, I had to reset the heater a dozen times before it was able to reach the target temperature.
[[language]]
M305 P1 T97000 B4800 C1.0705E-7
M303 H1 S240
M307 H1
Heater 1 model: gain 358.7, time constant 266.1, dead time 3.3, max PWM 1.00, calibration voltage 13.5, mode PID, inverted no, frequency default
Computed PID parameters for setpoint change: P39.9, I1.341, D92.7
Computed PID parameters for load change: P39
I suspected it all along but couldn't articulate it properly. I am still not sure I understand it, but something makes me think that if you calibrate your physical model in weird temperature units, you can't expect the resulting time constant to be commensurate with a time interval defined in seconds.
I don't trust myself to do even the most trivial calculations, so I went for the dumbest and most direct method of calibration. I took a thermistor that I received with the original RepRap kit (also of unknown type, but it didn't matter) and stuck it between the hot end block and the insulation blanket. I connected it to the Duet instead of the hot end-mounted one that I was calibrating, just so I had a thermostat. That allowed me to use a high-impedance meter to measure that thermistor's resistance directly. The reference thermocouple fit very nicely in a set screw hole in the heater block. I believe it is the set screw that holds the heater cartridge, so it was close enough to the heater to be an accurate reporter. The only little problem with that method was that the thermocouple had a higher thermal mass than the thermistor (about 20x), so I had to wait half-a-minute for their readings to equilibrate. Also, I took an equal number of measurements while heating up and cooling down, to reduce the residual delay bias.
So it feels like progress, but there are a few questions I am wondering about:
-
How bad is the deviation of 4℃ over 220℃?
-
Is the shape of the error curve I observed typical for the SH model?
-
If not, is it symptomatic of any known measurement error?
-
Is there a way to use the data I collected to build some sort of interpolated lookup table instead of a functional model?