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

Hotend heater fine tuning

Scheduled Pinned Locked Moved
General Discussion
4
22
764
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
    kb58
    last edited by kb58 8 Feb 2021, 23:12 2 Aug 2021, 23:10

    Printer specs are in my signature.

    I used the M303 automated PID tuning, transferred the constants into config.g, ending up with:
    M307 H1 B0 R3.200 C160.8 D9.84 S1.00 V26.2

    It does pretty well, but consistently overshoots by roughly 8-9 deg C (using a test target temperature of 205C).

    Found this reference: Tuning heater temperature control

    In the above reference, it says, in part:
    a0a999d4-db8f-4fd4-8f78-e50750b4dcef-image.png

    The above R value is "3.2", and first I tried 2.5, then 1.5, and, well, it keeps overshooting by about 8 degrees C regardless of what I change it to. Is the tuning guide wrong? The Gcode Dictionary is of little use, other than saying about R: "Rnnn Heating rate, supported in RRF 3.2beta3.2 and later"

    Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

    undefined undefined undefined 3 Replies Last reply 3 Aug 2021, 20:21 Reply Quote 0
    • undefined
      kb58 @kb58
      last edited by 3 Aug 2021, 20:21

      @kb58 Though probably not related directly to the above, twice now I've attempted an M303 PID tuning, and it runs for a long time, then reports that it's seeing inconsistent readings. Meanwhile, the temperature graph looks perfect, with no spikes or irregularities, just a nice smooth and consistent saw tooth pattern during the calibration cycles. FWIW, the hotend heater and sensor are both on a v1.1 tool board. I haven't seen any issues like the above being reported, though.

      Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

      1 Reply Last reply Reply Quote 0
      • undefined
        Phaedrux Moderator @kb58
        last edited by 3 Aug 2021, 20:36

        @kb58 said in Hotend heater fine tuning:

        V26.2

        You appear to be a bit over the 24v target.

        What does M122 say your vin voltage is? Have you checked your PSU output voltage with a multimeter and dialed it in with the adjustment pot?

        Z-Bot CoreXY Build | Thingiverse Profile

        undefined 1 Reply Last reply 3 Aug 2021, 20:50 Reply Quote 0
        • undefined
          kb58 @Phaedrux
          last edited by 3 Aug 2021, 20:50

          @phaedrux That is what the supply is, 26V or so. I purposely adjusted it on the high side to lessen the current requirements. I think that voltage was "auto appended" to the calculated values and was accurate, so I let it be.

          Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator
            last edited by 3 Aug 2021, 20:57

            Well that over voltage on your 24v heater is probably making it heat up faster than predicted.

            I would try reducing your voltage to 24v and tuning again to see if the behaviour is different.

            What command did you use to tune? Are you tuning as a tool (M303 T), or plain heater (M303 H)? When tuning as a tool, the part cooling fan will be engaged to take it's cooling power into account.

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 3 Aug 2021, 21:32 Reply Quote 0
            • undefined
              dc42 administrators @kb58
              last edited by 3 Aug 2021, 21:11

              @kb58 I think that text is incorrect. If the temperature overshoots, increase the R parameter. Don't increase it too much, or you will get "temperature rising too slowly" heating faults. Try an increase of 20% above the value reported when you ran M303.

              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 3 Aug 2021, 21:19 Reply Quote 0
              • undefined
                kb58 @dc42
                last edited by 3 Aug 2021, 21:19

                @dc42 Thanks, guys, I'll try both.

                Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                1 Reply Last reply Reply Quote 0
                • undefined
                  kb58 @Phaedrux
                  last edited by kb58 8 Mar 2021, 21:53 3 Aug 2021, 21:32

                  @phaedrux I haven't been interpreting the voltage value in M307 the way you're describing it. I understood it to mean that I'm telling the system what voltage is normally being used, and if the voltage later drifts from that value, the PID routine will adjust for it. The description in the Gcode Dictionary appears to back that up:

                  Vnnn VIN supply voltage at which the A parameter was calibrated (RepRapFirmware 1.20 and later). This allows the PID controller to compensate for changes in supply voltage. A value of zero disables compensation for changes in supply voltage. Use V0 for AC mains powered heaters. (V0 is the default. Leaving off V is the same as V0)

                  To answer your other question, I was using M303 H and am now running an M303 T to see what happens.

                  Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                  undefined 1 Reply Last reply 3 Aug 2021, 21:49 Reply Quote 0
                  • undefined
                    kb58 @kb58
                    last edited by kb58 8 Mar 2021, 22:19 3 Aug 2021, 21:49

                    @kb58 Here's what I meant about the reported inconsistent heater warning during the M303 calibration, yet it sure looks consistent to me. FWIW, this never happened when the hot end heater and sensor were controlled by the 6HC board.

                    db0e37e0-6409-4429-9ce5-1fad25a11344-image.png

                    Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                    undefined 1 Reply Last reply 3 Aug 2021, 22:04 Reply Quote 0
                    • undefined
                      kb58 @kb58
                      last edited by 3 Aug 2021, 22:04

                      @kb58 Still failing for the same reasons:

                      25b27fd4-e56e-488a-b0b5-e777e0386ca5-image.png

                      Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                      undefined 1 Reply Last reply 3 Aug 2021, 22:11 Reply Quote 0
                      • undefined
                        kb58 @kb58
                        last edited by kb58 8 Mar 2021, 22:13 3 Aug 2021, 22:11

                        @kb58 Increasing the "R" parameter in the M307 heater PID config has no effect, much like decreasing it. It makes me wonder if somehow the entire PID control is disabled, yet when I command it to a temperature, it does go there. In this thread, it consistently peaks 8 deg C above the set point before falling back. How the PID terms are not affecting has me puzzled.

                        Here's the relevant part of config.g:

                        ; Nozzle heater and sensor
                        M308 S1 P"121.temp0" Y"pt1000" A"Hot end" L-25 ; define hot end temperature sensor on toolboard temp0
                        M950 H1 C"121.out0" T1 ; create nozzle heater output on toolboard out0
                        M307 H1 B0 R3.200 C160.8 D9.84 S1.00 V26.2 ; set PID constants (from autotune, M303)
                        M143 H1 S280 ; set temperature limit for heater 1 to 280C

                        Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                        undefined 1 Reply Last reply 5 Aug 2021, 00:29 Reply Quote 0
                        • undefined
                          Topher @kb58
                          last edited by 5 Aug 2021, 00:29

                          @kb58 I had the exact same overshoot problem. Im running the same hotend as you too and 27.00volts on our buss being distributed to the entire rack holding 36 printers. I was able to solve it by running my tuning with less power determined by the P in M303 and also running T0 and F255 accounting for the cooling fan. Set your temp for the highest you will go and start with a 20% reduction on your P value ie P0.80.

                          undefined 1 Reply Last reply 5 Aug 2021, 01:29 Reply Quote 0
                          • undefined
                            kb58 @Topher
                            last edited by 5 Aug 2021, 01:29

                            @leckietech Interesting. I will try that, and thank you!

                            Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              kb58
                              last edited by kb58 8 May 2021, 22:09 5 Aug 2021, 22:04

                              This is both amusing and annoying...

                              Tried the 0.8 trick above, which worked, and it successfully completed the M303 calibration. Loaded the new calibration values:

                               M307 H1 B0 R4.479 C161.3:92.0 D8.69 S0.80 V26.3
                              

                              The hotend was allowed to cool, then set it to 205C. Irritatingly, it again overshot by 8C, exactly as before. It's almost as if the tuning parameters are being ignored.
                              58cdb400-1691-45ea-a8bd-6c71e08cc9b3-image.png

                              It works well enough that I can get on with printing, but it's annoying that the tuning parameters seemingly have little or no effect.

                              Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                              undefined 1 Reply Last reply 5 Aug 2021, 23:01 Reply Quote 0
                              • undefined
                                kb58
                                last edited by kb58 8 May 2021, 22:27 5 Aug 2021, 22:21

                                Hmm, I wonder what's going on here. Aside from the hotend heater issue, the bed heater has always had a bit of the opposite problem: being a bit casual about achieving the target temperature (60C). It gets there eventually and maintains temperature well, but it's very slow to get there. I would expect a small amount of overshoot given that it's a PID-tuned 750W 115VAC heater.
                                The top line is what the parameters were, and the bottom line shows what the R factor was changed to. Again, just like the hotend heater, it made no difference. I'm wondering why no one else has experienced this, so it's probably something I've set wrong.

                                ;M307 H0 B0 R0.394 C847.1 D16.26 S1.00 ; set PID constants (from autotune, M303)
                                M307 H0 B0 R0.47 C847.1 D16.26 S1.00 ; set PID constants (from autotune, M303)

                                Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  Phaedrux Moderator @kb58
                                  last edited by 5 Aug 2021, 23:01

                                  @kb58 said in Hotend heater fine tuning:

                                  It's almost as if the tuning parameters are being ignored.

                                  How are you saving the tuned parameters? M500 after tuning and having M501 at the end of config.g? Or are you manually entering them in config.g? And if you're manually entering them, do you also have M501 at the end of config.g and a config-override.g file?

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  undefined 1 Reply Last reply 5 Aug 2021, 23:50 Reply Quote 0
                                  • undefined
                                    kb58 @Phaedrux
                                    last edited by kb58 8 May 2021, 23:52 5 Aug 2021, 23:50

                                    @phaedrux Thank you for the reply.

                                    I manually copy/pasted the results produced by the PID tuning process into config.g. I do not have an M501 at the end of config.g, and was expecting that the printer would use the values in config.g. Since it doesn't work though, I'm not understanding something.

                                    Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      Phaedrux Moderator
                                      last edited by 6 Aug 2021, 03:06

                                      As a test, could you send M500 after tuning so that a config-override.g file gets generated and then compare the resulting line to what you had manually entered?

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      undefined 1 Reply Last reply 6 Aug 2021, 21:25 Reply Quote 0
                                      • undefined
                                        kb58 @Phaedrux
                                        last edited by kb58 8 Jun 2021, 21:28 6 Aug 2021, 21:25

                                        @phaedrux Performed "M303 P0.8 S200 T0", and it failed with the same claim that the heater was inconsistent yet the plot appears okay:

                                        fa4b1f56-66c3-459b-90f0-b8c0f0d42620-image.png

                                        Regardless, an M500 was commanded and the printer reported:
                                        dfcd74d6-eaab-40aa-92ce-cc4c8b96b59a-image.png

                                        The contents of config-override.g:

                                        ; config-override.g file generated in response to M500 at 2021-08-06 14:03
                                        ; This is a system-generated file - do not edit
                                        ; Heater model parameters
                                        M307 H0 R0.470 C847.100:847.100 D16.26 S1.00 V0.0 B0 I0
                                        M307 H1 R4.613 C146.384:98.384 D8.03 S0.80 V26.3 B0 I0
                                        ; Workplace coordinates...

                                        Comparing the two:
                                        M307 H1 R4.613 C146.384:98.384 D8.03 S0.80 V26.3 B0 I0 ; recommended by the PID tuning routine to be stored in config.g
                                        M307 H1 B0 R4.613 C146.4:98.4 D8.03 S0.80 V26.3 ; created by M500

                                        Where do I go from here?

                                        Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

                                        undefined 1 Reply Last reply 7 Aug 2021, 03:20 Reply Quote 0
                                        • undefined
                                          Phaedrux Moderator @kb58
                                          last edited by 7 Aug 2021, 03:20

                                          @kb58 said in Hotend heater fine tuning:

                                          Where do I go from here?

                                          Well the results of functionally identical, so I'm not sure where to go from here.

                                          Can you post some photos of the hotend so we can get a sense of what the setup actually is? Getting some eyes on it might give some clues.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          undefined 1 Reply Last reply 7 Aug 2021, 21:59 Reply Quote 0
                                          5 out of 22
                                          • First post
                                            5/22
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA