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.
    • dc42undefined
      dc42 administrators @kb58
      last edited by

      @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

      kb58undefined 1 Reply Last reply Reply Quote 0
      • kb58undefined
        kb58 @dc42
        last edited by

        @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
        • kb58undefined
          kb58 @Phaedrux
          last edited by kb58

          @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

          kb58undefined 1 Reply Last reply Reply Quote 0
          • kb58undefined
            kb58 @kb58
            last edited by kb58

            @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

            kb58undefined 1 Reply Last reply Reply Quote 0
            • kb58undefined
              kb58 @kb58
              last edited by

              @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

              kb58undefined 1 Reply Last reply Reply Quote 0
              • kb58undefined
                kb58 @kb58
                last edited by kb58

                @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

                Topherundefined 1 Reply Last reply Reply Quote 0
                • Topherundefined
                  Topher @kb58
                  last edited by

                  @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.

                  kb58undefined 1 Reply Last reply Reply Quote 0
                  • kb58undefined
                    kb58 @Topher
                    last edited by

                    @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
                    • kb58undefined
                      kb58
                      last edited by kb58

                      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

                      Phaedruxundefined 1 Reply Last reply Reply Quote 0
                      • kb58undefined
                        kb58
                        last edited by kb58

                        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
                        • Phaedruxundefined
                          Phaedrux Moderator @kb58
                          last edited by

                          @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

                          kb58undefined 1 Reply Last reply Reply Quote 0
                          • kb58undefined
                            kb58 @Phaedrux
                            last edited by kb58

                            @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
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              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

                              kb58undefined 1 Reply Last reply Reply Quote 0
                              • kb58undefined
                                kb58 @Phaedrux
                                last edited by kb58

                                @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

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

                                  @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

                                  kb58undefined 1 Reply Last reply Reply Quote 0
                                  • kb58undefined
                                    kb58 @Phaedrux
                                    last edited by kb58

                                    @phaedrux Before I post pictures, what does this actually mean:
                                    8a30a6af-84e8-4164-b146-87a020f3dc64-image.png

                                    What makes the firmware post this? I'd assume it's that it's seeing different temperature changes even though the heater is enabled for the same period of time, but my M303 temperature plots look good, so what is it looking at that makes it unable to succeed?

                                    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
                                    • Phaedruxundefined
                                      Phaedrux Moderator
                                      last edited by

                                      It means that the heating and cooling rates didn't settle down to consistent values after several cycles. One possible reason is noise in the temperature sensor readings, which would be apparent in temperature graph. However, your graph appears to be stable, at least in the time scale it can display.

                                      Z-Bot CoreXY Build | Thingiverse Profile

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