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.
    • 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
                                          • infiniteloopundefined
                                            infiniteloop @axiom
                                            last edited by

                                            @axiom

                                            Warning: heater behavior was not consistent during tuning

                                            I'm not sure what this means. Did you note any anomalies in the temperature graph of DWC during tuning? Spikes or other abrupt changes? Maybe @droftarts or @Phaedrux have an explanation for this warning?

                                            Should i just be happy and ignore it?

                                            You can insert the tuning results into your config.g and see how it works. However, there is a probability of occasional heater warnings during print.

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