• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    Immutef
    last edited by 8 Feb 2017, 08:25 2 Aug 2017, 08:24

    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
    • undefined
      dc42 administrators
      last edited by 2 Aug 2017, 08:43

      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
      • undefined
        vp
        last edited by 8 Aug 2017, 04:08

        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
        • undefined
          dc42 administrators
          last edited by 8 Aug 2017, 06:58

          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
          • undefined
            vp
            last edited by 8 Aug 2017, 07:39

            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
            • undefined
              dc42 administrators
              last edited by 8 Aug 2017, 07:50

              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
              • undefined
                vp
                last edited by 8 Aug 2017, 10:18

                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
                • undefined
                  dc42 administrators
                  last edited by 8 Aug 2017, 12:12

                  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
                  • undefined
                    vp
                    last edited by 8 Aug 2017, 12:29

                    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
                    • undefined
                      dc42 administrators
                      last edited by 8 Aug 2017, 12:38

                      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 19 Jan 2018, 18:26

                        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
                        • undefined
                          dc42 administrators
                          last edited by 19 Jan 2018, 19:01

                          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 19 Jan 2018, 20:11

                            Great thanks David

                            1 Reply Last reply Reply Quote 0
                            • Synapsisundefined
                              Synapsis
                              last edited by 20 Jan 2018, 09:08

                              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 20 Jan 2018, 20:38

                                @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
                                • undefined
                                  dc42 administrators
                                  last edited by 20 Jan 2018, 21:01

                                  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 20 Jan 2018, 21:54

                                    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
                                    • undefined
                                      dc42 administrators
                                      last edited by 20 Jan 2018, 23:06

                                      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 21 Jan 2018, 12:45

                                        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 21 Jan 2018, 13:14

                                          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