• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

How to account for thermistor resistance offset

Scheduled Pinned Locked Moved Solved
Duet Hardware and wiring
thermistor resistance offset
2
7
1.1k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    Schild0r
    last edited by 26 Apr 2021, 13:03

    Hey there,
    First a bit of context (skip this if you like):
    On my printer I have a keenovo bed heater with a 100k B:3950 thermistor that heats a 8mm aluminium plate. I now want to add another thermistor that actually sits in a bore of the bedplate to get some temp readings that are more accurate for the actual surface temp. I want to use the same type of thermistor as the one in the heater so that I can compare them better and they behave more similarly.
    (End of context)

    On my printer I don’t connect the thermistors directly to the board but have the original thermistor wires cut short and terminated into a molex micro fit 3.0 plug as many of us do for easier replacement and cable management. The "signal" then runs trough a a shielded cable, a terminal, another shielded cable and then to the board. Thus the resistance is increased in comparison to if I just plugged the thermistor wires into the duet due to everything in between the thermistor and the board. I imagine this is approximately a constant (positive) resistance offset, that will (for ntc thermistors) result in a lower temperature reading. But since this is a constant offset and thermistors usually don’t have a linear correlation between resistance and temperature where you could just apply the offset to the T value of M308, the inacuraccy or temperature offset will be greater to either the high or the low end of the temperature range depending on the thermistor. Actually the constant resistance offset would have to be subtracted from the overall resistance the duet is seeing on the temp connector before calculating the temperature from that resistance...

    Now would the semi-automatic adc calibration procedure mentioned here do just that and improve the accuracy if you in step 4. jumper the connector closest to the thermistor instead of jumpering the connector on the duet board itself, or would that mess things up even more.

    I also posted this question under the linked documentation page (a bit more generalized tho) since I think this would be a helpful addition for everyone looking into this problem.

    1 Reply Last reply Reply Quote 0
    • undefined
      Schild0r
      last edited by 27 Apr 2021, 12:28

      Maybe someone can explain to me what the adc calibration actually does. I know it has something to do with offset and gain errors, but I am not sure whether this is the offset I want to account for.

      undefined 1 Reply Last reply 27 Apr 2021, 12:35 Reply Quote 0
      • undefined
        dc42 administrators @Schild0r
        last edited by 27 Apr 2021, 12:35

        @schild0r, the ADC calibration accounts for offset and gain errors in the ADC itself. It is not intended to compensate for additional resistance. However, the resistance of any reasonable wiring scheme should be very much less than the resistance of a 100K thermistor even at typical hot end temperatures; so you don't need to worry about the wiring introducing a significant offset.

        Wiring resistance does introduce errors when using a 2-wire connection to a PT100 sensor. That's why we recommend a 4-wire connection if the wires are long.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        undefined 1 Reply Last reply 27 Apr 2021, 12:42 Reply Quote 0
        • undefined
          Schild0r @dc42
          last edited by 27 Apr 2021, 12:42

          @dc42 thanks for the answer. So doing the adc calibration should get my thermistors to report better values? Because right now both of them are reading about 15°C very consistently at 20°C room temp.

          Would it even make a difference then if I jumper the temp input on the board for the low end adc calibration or the terminals or the molex plug the temp input is connected to?

          undefined 1 Reply Last reply 27 Apr 2021, 12:45 Reply Quote 0
          • undefined
            dc42 administrators @Schild0r
            last edited by 27 Apr 2021, 12:45

            @schild0r, it depends on which Duet you have; but running ADC calibration will likely make them more accurate, especially at low temperatures.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            undefined 1 Reply Last reply 27 Apr 2021, 12:52 Reply Quote 0
            • undefined
              Schild0r @dc42
              last edited by 27 Apr 2021, 12:52

              @dc42 thanks I will try that, I completely forgot to mention, I am running the Duet 3.

              undefined 1 Reply Last reply 27 Apr 2021, 13:23 Reply Quote 0
              • undefined
                dc42 administrators @Schild0r
                last edited by dc42 27 Apr 2021, 13:23

                @schild0r, on Duet 3 MB6HC the un-calibrated errors can be quite large. Typically, TEMP0, TEMP1 and TEMP2 have significant error at low temperatures only, and different TEMP3 has significant error at high temperatures only.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                1 out of 7
                • First post
                  1/7
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA