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

    How can I calibrate the temperature of my bed

    Scheduled Pinned Locked Moved Solved
    Firmware installation
    8
    66
    3.0k
    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.
    • dc42undefined
      dc42 administrators @axiom
      last edited by

      @axiom when you measured the resistance of the sensor at 20C using a multimeter, are you sure it read 106 ohms, not 106 kohms? If it's 106 ohms, it's a PT100. If it's 106 kohms, it's a 100K thermistor.

      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

      axiomundefined 2 Replies Last reply Reply Quote 0
      • axiomundefined
        axiom @dc42
        last edited by

        @dc42 You are right, it is 106 kilo ohms and not ohms... sorry for the wrong statement..

        Phaedruxundefined infiniteloopundefined 2 Replies Last reply Reply Quote 0
        • axiomundefined
          axiom @dc42
          last edited by

          @dc42 wenn i am starting the bed heater it shows "hardware error no sensor" without starting it shows 2000 degrees

          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator @axiom
            last edited by

            @axiom said in How can I calibrate the temperature of my bed:

            @dc42 You are right, it is 106 kilo ohms and not ohms... sorry for the wrong statement..

            So if it's 106 kilo ohms it is a thermistor and should not be connected to the PT100 daughterboard. Connect it to the mainboard instead and change your config.g to use values for a thermistor.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • infiniteloopundefined
              infiniteloop @axiom
              last edited by infiniteloop

              @axiom

              it is 106 kilo ohms and not ohms

              Ok, thermistor. So, for a single heater with thermistor, this is what works:

              M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
              

              Now, you have to decide what to do with four thermistors and four heaters. Let's assume you want to control the bed as a single unit - I've understood that you wired all heaters to "Bed Heat", i.e. this connector:
              aa9d2e70-406e-4d33-93b1-89cfa4ec1e8e-image.png
              As you have four 24V PSUs, one for each heater, how do you control these? The proper way to do this is to put a SSR (type DC/DC) between the outcome (-) of each PSU and its heater - if you use a single SSR to switch mains power of all PSUs, you risk their early demise: as the signal from "Bed Heat" is pulsed, it switches rapidly between on and off. You can however use the SSR on mains to power the PSUs. How to do this is described in the last paragraph of this link.

              Now, the thermistors: You should use all of them for a combined reading. How this works is outlined in the documentation under Using multiple temperature sensors for a single heater.
              I tend to recommend solution 1 (connect them in series), but never tried that with 4 thermistors… at 400 kOhm, risk of interference with power signals is high. Maybe a serial/parallel combination is better in this case: two thermistors each in parallel, i.e. connected as pairs in series.

              axiomundefined 3 Replies Last reply Reply Quote 0
              • axiomundefined
                axiom @infiniteloop
                last edited by

                @infiniteloop said in How can I calibrate the temperature of my bed:
                Unfortunately I'm not at the output yet. I have now connected the PT100 daughterboard (see photo above) and entered the following value:

                ; Heaters
                M308 S0 P"spi.cs1" Y"rtd-max31865" R4700 T100000 B3950 ; configure sensor 0 as PT100 on pin spi.cs1
                M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
                M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
                M140 H0 ; map heated bed to heater 0
                M143 H0 S120 ; set temperature limit for heater 0 to 120C
                M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
                M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
                M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                M143 H1 S280 ; Set temperature limit for heater 1 to 280C
                M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
                M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
                M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                M143 H2 S280 ; Set temperature limit for heater 2 to 280C

                2000 degrees and the error message: failed to read seonsor: sensor hardware error are displayed in the console

                1 Reply Last reply Reply Quote 0
                • axiomundefined
                  axiom @infiniteloop
                  last edited by

                  @infiniteloop said in How can I calibrate the temperature of my bed:
                  or do I have to send back the 2 daughter boards because they are not suitable for these thermistors?

                  axiomundefined 1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    The PT100 daughterboards are of limited value unless you have PT100 sensors to go with them. You can't just configure them into being something else.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • axiomundefined
                      axiom @axiom
                      last edited by

                      @axiom Then I omit the daughterboardas.
                      Then the safest thing is to connect the thermistors in series?
                      However, I didn't quite understand the description of how to declare all 4 pieces in the code

                      1 Reply Last reply Reply Quote 0
                      • axiomundefined
                        axiom @infiniteloop
                        last edited by

                        @infiniteloop said in How can I calibrate the temperature of my bed:

                        The proper way to do this is to put a SSR (type DC/DC) between the outcome (-) of each PSU and its heater

                        The same should also work with mosfets for each part?

                        infiniteloopundefined 2 Replies Last reply Reply Quote 0
                        • infiniteloopundefined
                          infiniteloop @axiom
                          last edited by

                          @axiom said in How can I calibrate the temperature of my bed:

                          mosfets for each part?

                          Moin. Yes, absolutely.

                          Daughterboards: as @Phaedrux told you, these are of "limited value" with thermistors. That's an understatement - you can't attach thermistors to them. Instead, attach the thermistors to "bedtemp".

                          I'll post how to wire the four thermistors - give me a minute …

                          1 Reply Last reply Reply Quote 1
                          • infiniteloopundefined
                            infiniteloop @axiom
                            last edited by

                            @axiom Here are two of the "better" options how to wire the thermistors:

                            Thermistor-Arrangement.png

                            Left, it's a serial arrangement, resulting in a high impedance of 400 kOhm. As I wrote earlier, risk of interference with power signals may be high.

                            To the right, you see a serial/parallel combination: to the Duet, that arrangement looks exactly like a single thermistor.

                            In either case, the "open ends" at the bottom of my artwork are meant to be connected with "bedtemp".

                            axiomundefined 2 Replies Last reply Reply Quote 2
                            • axiomundefined
                              axiom @infiniteloop
                              last edited by

                              @infiniteloop II opted for the serial/parallel combination, but where exactly do I have to specify half the resistance in the code (that's what it says in the description)?
                              Here my code:
                              Heaters
                              M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
                              M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
                              M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
                              M140 H0 ; map heated bed to heater 0
                              M143 H0 S120 ; set temperature limit for heater 0 to 120C
                              M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
                              M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
                              M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                              M143 H1 S280 ; set temperature limit for heater 1 to 280C
                              M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
                              M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
                              M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                              M143 H2 S280 ; set temperature limit for heater 2 to 280C

                              I stopped the autotuning because the cables got so hot!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                              infiniteloopundefined 1 Reply Last reply Reply Quote 0
                              • axiomundefined
                                axiom @infiniteloop
                                last edited by

                                @infiniteloop My mistake, I did the math again...I have to solder on a thicker cable extension...

                                1 Reply Last reply Reply Quote 0
                                • infiniteloopundefined
                                  infiniteloop @axiom
                                  last edited by infiniteloop

                                  @axiom said in How can I calibrate the temperature of my bed:

                                  I opted for the serial/parallel combination, but where exactly do I have to specify half the resistance in the code (that's what it says in the description)?

                                  The description talkes of two thermistors, not four. Two thermistors in series double their resistance (2 x 100k = 200k), wired in parallel it's half of the resistance (100k / 2 = 50k). In your case, you have two times two thermistors in series (TH_Heater_1 + TH_Heater_2 = 200k, TH_Heater_3 + TH_Heater_4 = 200k). These pairs (of 200k each) are wired in parallel, et voilà: you get 100k (200k / 2). That's why I wrote:

                                  To the right, you see a serial/parallel combination: to the Duet, that arrangement looks exactly like a single thermistor.

                                  As I see from your config snippet above, you've entered the proper values for this thermistor array:

                                  M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
                                  

                                  Now to the heaters:

                                  I stopped the autotuning because the cables got so hot!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                                  OK, you've then used a thicker cable extension, but I wonder: how did this work initially when you tuned just one single heater? Don't you connect each heater individually to its dedicated PSU? If so, the currents should only add up on the mains side… have I missed something?

                                  One last thing: please post the tuning report. If the bed heats up as fast as last time, maybe we should reduce power a bit by limiting the PWM to less than 1.0 (that's the S parameter in M307). Finally, you build a 3D printer, not a pizza oven 😊

                                  axiomundefined 1 Reply Last reply Reply Quote 0
                                  • axiomundefined
                                    axiom @infiniteloop
                                    last edited by

                                    @infiniteloop Hello, pizza oven was a separate project :-). When I first tested the single mat, I just didn't pay attention to the heat from the cable. I have now ordered a thicker cable for the extension...will probably not arrive until Saturday....I would rather not do the tuning until then.
                                    My nozzles are still an open construction site...I have the Volcano Tunig set (2 heads) https://www.3djake.com/e3d/supervolcano-upgrade-kit-300-mm?sai=7419 . I also started the autotuning...at 180 degrees the heating process breaks off...can you help me there too or should I open a new topic?

                                    infiniteloopundefined 1 Reply Last reply Reply Quote 0
                                    • infiniteloopundefined
                                      infiniteloop @axiom
                                      last edited by

                                      @axiom Better keep this thread focussed on your array of bed heaters, so that other readers with similar questions can reference it. And in case you want to limit PWM a bit, feel free to return to this thread.

                                      Tuning your volcanos is a different topic. BTW, did you have a look at other threads dealing with hotend tuning under RRF 3.2 ff? With a quick forum search, you’ll find several discussions of 'tuning a heater' vs. 'tuning a tool'. For an in-depth treatment of the topic, you might also want to look at this here: Tuning the Heater Temperature Control.

                                      axiomundefined 1 Reply Last reply Reply Quote 0
                                      • axiomundefined
                                        axiom @infiniteloop
                                        last edited by

                                        @infiniteloop Ok I understand, I can only continue with the bed when the new cable extensions are hopefully there on Saturday, then I will report back

                                        infiniteloopundefined 1 Reply Last reply Reply Quote 0
                                        • infiniteloopundefined
                                          infiniteloop @axiom
                                          last edited by

                                          @axiom

                                          The new cable extensions are hopefully there on Saturday, then I will report back

                                          That's fine. CU

                                          axiomundefined 1 Reply Last reply Reply Quote 0
                                          • axiomundefined
                                            axiom @infiniteloop
                                            last edited by

                                            @infiniteloop Now I soldered the cable extensions and did an autotuning on the bed:
                                            Everything was done, but the following message came up:
                                            Warning: heater behavior was not consistent during tuning
                                            Auto tuning heater 0 completed after 3 idle and 25 tuning cycles in 2290 seconds. This heater needs the following M307 command:
                                            M307 H0 R0.397 K0.309:0.000 D2.40 E1.35 S1.00 B0
                                            Edit the M307 H0 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.

                                            Should i just be happy and ignore it?

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