2 Thermistors for One Heater
-
I've got 2 chamber heaters, each with its own thermistor. Both chamber heaters are controlled by the same SSR, so it's just one heater in the config file. I'd like to connect both thermistors to the Duet 3 6HC. Is it possible to configure the firmware to run the heater based on feedback from 2 sensors? I currently have this:
M308 S3 P"temp3" Y"thermistor" T100000 B4138 A"CHAMBER 1" ; configure sensor 3 as thermistor on pin temp3 M308 S4 P"temp0" Y"thermistor" T100000 B4138 A"CHAMBER 2" ; configure sensor 4 as thermistor on pin temp0 M950 H3 C"out3" T3 ; create chamber heater output on out3 and map it to sensor 3 M307 H3 B1 D5 ; enable bang-bang mode for the chamber heater M141 H3 ; map chamber to heater 3
I tried changing the M950 command to T3:4, but that didn't work. It just complains that there's no "sensor 0" when I boot it up.
-
The other idea I had was connecting the 2 thermistors in parallel and change the T parameter to half the current value to read their average.
-
@GoremanX said in 2 Thermistors for One Heater:
Is it possible to configure the firmware to run the heater based on feedback from 2 sensors?
To what end? What would you use the two temperatures for?
-
@Phaedrux To know the temperature of each heater and have them controlled based on the one that reads highest. Not terribly different from running a fan based on 2 sensors, which is possible.
-
There are three ways of using two thermistors to control one heater:
-
Connect them in series. The temperature readings will be averaged with a bias in favor of the colder one. If any wire breaks, you will get the usual -273C reading and the heater will fault.
-
Connect them in parallel. The temperature readings will be averaged with a bias in favor of the hotter one. If one of the thermistor wires breaks, the temperature will under-read, so you will end up heating too much.
-
Use one to control the temperature, and the other as an over-temperature cutout, configured using M143.
@Phaedrux, please can you add this to the wiki.
HTH David
-
-
@dc42 Thank you! That's exactly what I needed to know
-
@dc42 Will do.
-
Also added to the chamber heater and bed heater pages as that's likely where they would be used most often I think. Plus there isn't really the same type of page for extruder heaters.
-
That's super helpful. For clarification, I'm pretty sure that, if connecting 2 in series, the resistance of the thermistors needs to be combined in config.g. So if each thermistor is 100k at room temperature, they need to be set as 200k when declaring the sensor with M308. And if connecting in parallel, the resistances need to be half their combined average (or just half of one if both are the same). Someone correct me if I'm wrong.
-
@GoremanX said in 2 Thermistors for One Heater:
That's super helpful. For clarification, I'm pretty sure that, if connecting 2 in series, the resistance of the thermistors needs to be combined in config.g. So if each thermistor is 100k at room temperature, they need to be set as 200k when declaring the sensor with M308. And if connecting in parallel, the resistances need to be half their combined average (or just half of one if both are the same). Someone correct me if I'm wrong.
That's correct. However, when connecting thermistors in series or in parallel, although the B value remains the same, the effective C value changes. So it's easier to adjust the R parameter instead. For example, on a Duet 3 the normal R value is 2200. If you connect two identical thermistors in parallel, you can specify the usual T, B and C parameters for the thermistors, but double R to 4400. Likewise, if connecting two thermistors in series, halve the R value.
-
Notes added.