Another one of these threads… Searched the forum and Google and got this far, but not sure if the behavior I'm getting is to be expected.
I have done what dc42 suggests on RepRap forum for values 4500000 and 5120 for parameters T and B respectively for the M305 command to set the resistance and the Steinhart-Hart beta coefficient.
The problem is I'm getting a reading of 14°C at room temperature at which my heatbed sensor reports 25°C. I can correct this by setting the M305 H parameter to approx. 5.5, but then DWC reports the temperature to be 19.4°C if I disconnect the thermistor. I found that I had to set H-1 to ensure the board fault states the hotend, but this seems to vary a lot (sometimes H0 would suffice, sometimes not).
I tried heating the hotend while unscientifically measuring the hotend temperature with the sensor cable of my handheld multimeter, and found that the temperatures reported by DWC were consistently 10-20°C above those indicated by the multimeter. up to about 150°C, after which the temperature readings on DWC climbed up to 180°C while my multimeter seemed stuck at 150°C, which made me stop the experiment.
If the incorrect readings at room temperature are just something I have to live with having gone this route, then that I can do (if I can find configurations that give me accurate readings above 150°C), but if it poses potential hazards or inconsistent temperature control then I'll have to look into other options such as PT-100. I might do that regardless, but it means even more waiting and at this point I'm tired of doing things to my printer and want it to do its thing for change…
Kulitorum last edited by
The thermistors are designed to be precise at a given temperature range. The once used for heaters are best between 150 and 250 (300)c and not very precise at room temperature. THermocouples are reasonably precise over a larger range. Test your thermistor at around 210c and it will most likely be much more stable there.
Kulitorum last edited by
FYI - thermocouples are much more subjectable to electronically interference and may need special wiring.
Thanks for the input.
Dyze explains their choice of using a thermistor on their blog: https://dyzedesign.com/2016/09/comparison-between-temperature-sensors-used-in-3d-printers-part-3/
dc42 countered in another thread: https://www.duet3d.com/forum/thread.php?pid=1071#p1071
The resolution of a thermistor/ADC combination is greatest when the thermistor resistance is about the same as the series resistor. For a typical 100K thermistor and 4.7K series resistor, this is at around 103C. At 220C the resistance is about 300 ohms, so resolution is degraded. A 10-bit ADC such as found on most 8-bit electronics has a resolution of about 1C @ 220C. At 250C the resolution worsens to about 1.8C. So in a system with a 10-bit ADC, the Dyze thermistor does offer significantly improved resolution at these higher temperatures.
However, the Duet series uses a 12-bit ADC + 1-bit oversampling. Even if we ignore the oversampling, that means we have 0.25C resolution @ 220C, and 0.45C resolution @ 250C.
For comparison, the thermistor daughter board for the Duet WiFi provides a resolution of 0.25C over the entire temperature range. The PT100 daughter board provides a resolution of around 0.03125C at low temperatures, and only slightly less resolution at high temperatures.
I am using the 500°C Dyze thermistor. I really don't mind inaccurate readings at room temperature, but as it is I'm uncertain about accuracy in general. I also got a lot of fluctuations in readings which at least once caused the board (Duet Ethernet) to halt the hotend.
I was also thinking if it would be viable to divide the temperature curve (R:T) into ranges and have the software adjust the temperatures reported by DWC in the lower range to better reflect actual temperatures (while relying on actual readings in detecting faults). Not exactly necessary but there's something about those incorrect readings on my all-powerful control interface that rub me the wrong way.