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

    Multiple/Combined Thermistors for a single Tool (Heatbed)

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    22
    4.7k
    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.
    • Immutefundefined
      Immutef
      last edited by

      Hello,

      is it possible to actually make use of multiple thermistors for a single tool, especially the heatbed?

      I have a silicone heatmat with an integrated thermistor, which is bonded to an 8mm thick aluminium plate. I'd like to install thermistor on the aluminium plate, too, somewhere on an outermost corner, to actually read the temperature of the aluminium plate, and not only of the silicone mat. This way I can differentiate and tell how hot the mat and the plate are.

      Similar to that I may want to use two thermistors for my hotend, since I'm going to install a watercooling - on thermistor (PT100) for the heatblock and maybe one for the water temperature.

      At all the additional thermistors must not be usable in terms of gcode, but I'd like to be able to read them at least somewhere.

      Best regards,
      Pierre

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        You can do that with the 1.19beta firmware. Use M305 to create a virtual heater for each additional thermistor, starting at heater number 103. See https://duet3d.com/wiki/G-code#M305:_Set_temperature_sensor_parameters.

        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
        • vpundefined
          vp
          last edited by

          Hi,

          another question:
          Especially for larger print beds one temperature measurement is not "enough" to define the temperature of the bed.

          Using virtual sensors more than one sensor can be linked to a single heater.

          But is it somehow possible to control the average temperature of multiple sensors (thermistors) ?

          If the electric relation between e.g. "resistance" and temperature would be linear, it could be done with simple wiring. Unfortunately PTC thermistors are not linear at all.

          In case the bed has multiple heating zones, one could setup multiple heaters for multiple sensors. Unfortunately if these heating zones are controlled with single input single output PID-loops, this will/might not work well, because of the interaction.

          Maybe one cold use a NiCr heating wire put evenly spaced and well mounted under the bed as "average temp sensor" ?

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            If the bed has just a single heater and a good heat spreader then you could just connect your multiple thermistors in parallel. The heat spreader will ensure that the temperatures at the thermistors don't differ by more than a few degrees, in which case the effect of non-linearity won't be significant.

            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
            • vpundefined
              vp
              last edited by

              that is a good point, in the high temp region (100 °C) this will for sure work, and probably also in the "low temp" (e.g. 40 °C) region

              In case somebody tries it, one comment:
              If two thermistors are used, just connecting them in parallel is not enough.

              The total resistance of 2 resistors is
              Rges = R1*R2/(R1+R2)

              But what is wanted is
              Rges* = (R1+R2)/2

              so Rges* <> Rges

              To get approximately there, one has to connect 2 of the same thermistors in series and than connect these 2 "pairs" in parallel.
              This still gives slightly smaller values than wanted. In case more than 2 thermistors are used, it gets quickly unusable.

              The better approach is to connect them in series and to adjust the T-value accordingly (for two thermistors double T and so on). This will represent the real average better and easier.

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by

                Connecting them in parallel is OK but of course you need to reduce the T parameter in your M305 command to allow for the lower resistance. For example, with two thermistors in parallel, halve the T parameter.

                I suggested using a parallel connection instead of a series connection so that if the temperatures of the two thermistors are significantly different, the hotter one will have a more dominant effect. If you connect them in series then the cooler one will dominate.

                OTOH with the series connection, if the connection to either thermistor breaks, then the combination as a whole will be open circuit, which will be detected by the firmware and is safer.

                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
                • vpundefined
                  vp
                  last edited by

                  If we assume linear relations, why does in series connection the cooler dominate ?

                  When using 2 thermistors, we want Rges* = (R1+R2)/2. When T is adjusted to T/2 this is exactly what happens when connecting them in series.

                  Taking the nonlinear behavior into account, Rges would be higher and by that showing a smaller temperature than it has.

                  A parallel connection will also show a sightly too small value, even with linear relations.

                  e.g.
                  R1 = 105
                  R2 = 95

                  Rges in series = (105 + 95)/2 = 100 (T value adjusted to T/2)
                  Rges in parallel = 105*95/(105 + 95)2 = 99.75 (T value adjusted to T2)

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators
                    last edited by

                    If we assume linear relations then neither thermistor dominates in the series case. But the relationship is not linear: the resistance change per degC is smaller as the thermistors get hotter. That is why I said that the cooler thermistor will dominate. In an extreme case, if one of the thermistors fell out of the bed and was at room temperature instead, the bed could reach infinite temperature but the temperature calculated from the total resistance would only be about 40C

                    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
                    • vpundefined
                      vp
                      last edited by

                      now it is clear to me, that was what i meant with

                      Taking the nonlinear behavior into account, Rges would be higher and by that showing a smaller temperature than it has.

                      To sum it up, in case a thermistor breaks completely, connection in series is better, because it auto detects the problem, in case a thermistor is completely wrong (too cold) but still alive, connection in parallel would be better.

                      So it is a lose or lose situation;)

                      1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators
                        last edited by

                        Yes, that about sums it up.

                        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
                        • Synapsisundefined
                          Synapsis
                          last edited by

                          If I want to connect a second thermistor for a virtual heater do i connect to Pin 35 for thermistoR3 but the other wire goes to ground? I could not find a wiring diagram.

                          M305 P103 T100000 R1000 B4200 STEMP2 but how do i tell it is Thermistor3

                          Thanks

                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators
                            last edited by

                            The other wire should go to AGND.

                            Add parameter X3 to that M305 command to tell it to use thermistor 3 (the one labelled E2).

                            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
                            • Synapsisundefined
                              Synapsis
                              last edited by

                              Great thanks David

                              1 Reply Last reply Reply Quote 0
                              • Synapsisundefined
                                Synapsis
                                last edited by

                                Ok gots things hooked up and setup, my questione is wheere do i find the reading in the Web Control if you can see it that is?
                                Under Extra I have only a MCU which has always been there.

                                ok found out this:

                                M305 P103
                                Heater 103 uses Thermistor sensor channel 3, T:100000.0 B:4700.0 C:0.00e+00 R:1000.0 L:0 H:0

                                does this meah I have to create a tool Heater 103?

                                1 Reply Last reply Reply Quote 0
                                • Synapsisundefined
                                  Synapsis
                                  last edited by

                                  @dc42:

                                  …. (the one labelled E2).

                                  Sorry but I can,t find a E2 there are other two like E2_Step, E2_N amd more. (which you surly know 🙂 )I thought it was the Pin 35 Labeled Thermistor3-

                                  Before I burn something I would rather be sure. Thanks

                                  1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators
                                    last edited by

                                    Yes it's the pin labelled Thermistor 3 if you are connecting directly to the expansion connector.

                                    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
                                    • Synapsisundefined
                                      Synapsis
                                      last edited by

                                      Strange then, please what is the G code to read the temperature as I can not find it.
                                      Also I see nothing the the Web Control.

                                      Just a thought is there a specific GND to use I used Pin 42.

                                      1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators
                                        last edited by

                                        Connect it to the AGND pin (also called VSSA), not GND.

                                        You will find the additional temperature in DWC if you follow the Extra link above the heaters display, provided that you give the heater a name in the M305 command.

                                        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
                                        • Synapsisundefined
                                          Synapsis
                                          last edited by

                                          Thanks David did not know VSSA was also called AGND…

                                          I thought it was a typo error and you wanted to say a GND. 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • Synapsisundefined
                                            Synapsis
                                            last edited by

                                            Not so good I'm getting a reading of 1100,00 .
                                            Now if I connect to the main bedheater connector I get the same value as the one there is now.
                                            So I know its not the thermistor giving strange readings seeing when connected there it works.
                                            Gave it a name etc. I tried different B and R values but nothing it may go a low as 600C.
                                            Any ideas as to why itws not giveing correct readings. Connected to Pin 35 and 40 on the expansione bus.

                                            This is my setup I copied the first heater 0 settings
                                            ; Heaters
                                            M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0
                                            M143 H0 S120 ; Set temperature limit for heater 0 to 120C
                                            M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
                                            M143 H1 S280 ; Set temperature limit for heater 1 to 280C
                                            M305 P103 T100000 B3950 C0 R4700 S"TEMP2" X3

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