Hot-End Thermistor Temperature calibration
-
@jay_s_uk So which thermistor would you recommend for temperatures up to 350ºC. I got an HT-NTC100K-B3950 in the belief I was getting something decent
-
I don't think it would be fully automatic but more macro-guided.
The macro would ask the user to adjust 3 or 4 temperatures and then do the calculations to determine values for R25 and Beta. I'm still thinking on how to handle the LowOffset and HighOffset settings, my board doesn't automatically calculate these.
Regarding the quality of the B3950 vs B4267 and other higher Beta thermistors, it might not be so much an issue of resolution but of noise and stability (and robustness). Lower resolution but less noise might be a better combination.
-
@ignacmc said in Hot-End Thermistor Temperature calibration:
@jay_s_uk So which thermistor would you recommend for temperatures up to 350ºC. I got an HT-NTC100K-B3950 in the belief I was getting something decent
I'd recommend a PT100 but you need a daughterboard. PT1000 would be my choice if the daughterboard was a deal breaker.
https://duet3d.dozuki.com/Wiki/Connecting_thermistors_or_PT1000_temperature_sensors
-
-
@wombat37 I think the issue with B3950s is more that they vary from thermistor to thermistor (so you can't trust the manufacturers B values) rather than that they're fundamentally less accurate.
In your case with the 20deg difference between two boards, it might be that you need to calibrate the ADC rather than the thermistor. There's a guide for doing it with Duet boards, but not sure how it compares for one of the ports for the E3...
https://duet3d.dozuki.com/Wiki/Calibrating_thermistor_and_PT1000_readings -
I seem to be on a roll, now
I've started reviewing the data sheets for expensive "high quality thermistors". Whereas the resistance seems to be stable (<1%) at a given temperature, the absolute resistance can be very variable. The specs seem be all over the place for Selco thermistors as shown in the table below. The Beta values change significantly between 0-50°C and 25-85°C ranges and the R25 value varies by almost 5% in some instances. The R25 variance doesn't affect things too much but the change in Beta certainly does and measurements are going to be way-off once the high temperatures are reached if we use Beta values for low temperatures in the M308 entry. So, in my mind, unless anybody can convince me otherwise, buying an expensive, high quality thermistor does not mitigate the need for proper temperature calibration. If the thermistor Beta and R25 varies between devices, then all the more need for calibration. QED.
-
How expensive is expensive for a high quality thermistor? Is it comparable to the price of a PT100 with daughterboard or a simple PT1000? I would say that the thermistor simply isn't the right tool for the job if you need accuracy across a wide range of temps.
Not to dissuade you from the calibration angle. Being able to take something cheap and calibrate it into better functioning is definitely worthwhile.
-
I seem to be losing this argument
My understanding is that a thermistor can match the performance of a platinum RTD - if it's properly calibrated!
It is the calibration that is the challenge because it's very non-linear and variable.
If we can make this easy then anyone's system currently using a thermistor (which I assume is the vast majority of us) could, without making any hardware modifications, get better temperature control of the hot-end (even with cheap thermistors). This would lead to consistent performance over long periods and and more reliable portage of methods between different systems.
Why wouldn't we want to do this?
-
@wombat37 said in Hot-End Thermistor Temperature calibration:
calibration that is the challenge because it's very non-linear and variable.
its not that we don't want to do this, but this is the issue. three options as far as i can see:
- Use a accurate meter and temperature bath/oven to get good coefficients at the temps you are interested in printing at (difficult).
- Print temperature towers for the filament/thermistor/controller combination. use that temperature.
- Use a more repeatable temperature sensor like a PT100 or PT1000
I favour 3, which still needs some of 2 to be done anyway because every filament is different.
-
Your point for an accurate thermometer is well taken but I'm not sure why you would need an oven/bath to do this. Air baths are notorious for thermal gradients (I used to help design and evaluate gas chromatographs). Pushing a well calibrated 1-mm (or smaller) diameter thermocouple probe through the heat-break and into the inside of the nozzle would be my approach.
I have a fourth suggestion:
- Publish thermistor Beta values for the 180-260°C range. I will try to put together some suggestions for these based on manufacturers' published R vs T tables.
This must be much better than using the Beta values published for a 0-25°C range.
Maybe this will be enough to eliminate the need for calibration.
-
@phaedrux Then a PT1000 could be adequate for any temp below 350ºC? I intend to be able to print in PLA, PETG, ABS....
-
@ignacmc yes, PT100 is great for lower temps too
-
@jay_s_uk Think I will be getting one and ditching the NTC100K....I suppose it does not have any disadvantage over a thermistor even at low temps
-
Just to throw another spanner in the works, temperature sensors will only the measure the temperature at the point where they are fitted and not necessarily at the point we are interested in. One can have a temperature gradient between the cold filament entering the hot end and the nozzle tip, with the heater and sensor fitted somewhere along that gradient. Furthermore, nozzles are often made from hardened materials which have different thermal characteristics to the block into which they are screwed. Also, the nozzle temperature can be affected by deflected part cooling air. Some time ago I attempted to measure this phenomenon https://somei3deas.wordpress.com/2020/05/21/the-effect-of-deflected-part-cooling-air-on-brass-and-steel-nozzle-temperatures/
My conclusion from all of this is that a temperature sensor will only give an approximate indication of the temperature that we are really interested in due to a number of factors in addition to the accuracy of the sensor itself. So calibrating a sensor to make it as accurate as possible is largely irrelevant as one will still need to print temperature towers in order to determine the optimum temperature to use, regardless of the absolute value reported by the sensor itself.
-
@ignacmc Yes, a PT1000 sensor will have far better absolute temperature accuracy than a thermistor, if you don't have a precise way to calibrate the thermistors.
Thermistors have very high resolution, and can be easily calibrated over a narrow temperature range. I make much of my scientific living working with system controlled to absolute temperatures within 0.01C. Thermistors are great for this, if you only need a 10 degree span and have access to a calibration lab. However, without calibration, tiny errors in the Hart-Steinhart coefficients add up to very large temperature errors when used over a wide span.
Starting with something very close to linear in the first place, and with a temperature coefficient which is set by the properties of a (nearly) pure element, such as platinum, results in a a sensor which can be used over a very wide range with no calibration. A PT100 or PT1000 sensor has lower resolution than a thermistor (it's very hard to read to 0.01C), but a much wider reliable span of readout. It should be within 1C over the entire temperature range from room temp to 300C or higher.
You should get a decent quality calibration resistor (0.1% accuracy) of about 2000 ohms, to check that the duet readback is working right in PT1000 mode. If it works out right, you will be in great shape. The reason I bring this up is that, for example, my duet2 board (1.02 revision) seems to have a significant charge injection problem on the scanning ADC. Putting the PT1000 on channel zero shows a significant (5C) offset at room temp, but putting it on channel 1 is fine. This is likely due to residual charge on the sample/hold capacitor left over from whatever port the ADC scanned before reading channel 0. I haven't looked into the software to see in detail, but it is a classical scanning A/D problem.
-
OK, everyone, thanks for the input - it was an interesting discussion.
I still feel strongly that to enter thermistor performance specifications based on 25°C operation is a bad idea when you want to control temperatures at 200°C and above. This was not meant to be a discussion about thermistors versus RTDs but how to get better performance when using thermistors.
My control board doesn't support the direct connection of an RTD so I would need to spend ~$20 on an amplifier/SPI interface, another ~$20 on the PT100 or PT1000 and then I would have to make modifications to my control board (like remove serial resistor). It's just not worth the cost or effort (or risk)! Even then, I would still need to calibrate it. If it was easy to connect an RTD, I wouldn't have started this posting.
The point on the nozzle temperature being different from the thermistor temperature is well taken which is why I'm calibrating temperature based on measurements from inside the nozzle itself.
Guess, I'll make my own arrangements to calibrate my system and it looks like there's no interest in me sharing these results or solutions.
Good to know.
Thanks again.
-
@wombat37 said in Hot-End Thermistor Temperature calibration:
Guess, I'll make my own arrangements to calibrate my system and it looks like there's no interest in me sharing these results or solutions.
I, for one, would very much like to hear about what you find.
Frederick
-
@wombat37 said in Hot-End Thermistor Temperature calibration:
it looks like there's no interest in me sharing these results or solutions.
Not at all. Please consider the initial reactions here as simply a part of peer review. You've been given the alternatives to compare with in price performance. Making a thermistor better is a great idea since they are so widely used. If you can come up with a way to calibrate them that is easy, repeatable, and cheap, that's very worthwhile.
-
@wombat37 I do have a suggestion for thermistor calibration, near the 200C working temperature. If you build a little offline metal block, with a heater, your thermistor, and a little extra well in it, and insulate it thoroughly so that the only exposed bit is the well, so you can see into it, you could use 63/37 eutectic solder as a melting point standard. You would just slowly step the temperature up a bit at a time, with a piece of the solder sitting in the bottom of the well. The solder will melt at 183C, so you can calibrate your thermistor to get that right.
Basically, you would set alpha, the base resistance of the thermistor, to get room temperature right, and then adjust beta to get the 183C point right. Then, move the thermistor back to you printer, and it should be pretty close to right over the entire usage range. This method will make it best at room temp, and near 183C, with somewhat larger errors in between those two points, and at higher temps, but it's probably a lot better than just using the book value of beta.
-
I used pure metallic tin last time - which worked well (m.p 231.9°C). I can also look at the boiling points of silicone oil or something like dodecane. Solder probably won't be very pure and as an alloy, its composition may vary. Also, it may not have a sharp melting point like pure substance. However, we're not during purity analysis (melting points can be used as a measure of purity) here so a few degrees error probably won't hurt.
Looks like there is some interest in this topic, so I will keep looking into this. I'll post up an algorithm over the next few days and see what people think of that and get some more ideas.