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

    Ideal behaviour of PID auto tuned system?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    12
    1.3k
    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.
    • DocTruckerundefined
      DocTrucker
      last edited by DocTrucker

      Hi All,

      I've auto tuned my bed and hot end and used M500 to save these results to the config-override. I generally see a overshoot on the hot end of ~5C before dropping back to target. Is this normal?

      Is the overshoot in the control loop a result of needing to allow adequate control with the significant external influences on the thermal behaviour of the system - such as as part cooling and material throughput? I had read bits on the temperature control potentially being adapted to be aware and compensate for changes in material flow rate, part fan, etc.? Any links to read up on that?

      Before commencing auto tuning, the heater to be tuned must be at or near room temperature and its temperature reading should be stable.
      https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control

      This is vague. 40 is near room temperature compared to a tuning temp of 230, but certainly not near if we are talking about my house thermostat where a 4C swing can change the house from nipply to sweat box.

      If the initial temperature of the auto tune determines the level to which the heater should cool before ending the autotune can there be an option to override this behaviour and directly specify the stable temperature of the heater rather and allow a warmer start so long as it is not already too close to the final cool down temperature?

      Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        Overshoot isn't normal with a correctly tuned heater. Suggestions:

        • Check that you have saved the results of heater tuning. You should either have copied the tuning results into a M307 command for that heater in config,g, or used M500 to save them in config-override.g and have a M501 command at/near the end of config.g. You can send M307 H1 to check what parameters the hot end is using.
        • If you saved the results in config,g, check that you don't have M307 commands in config-override.g to override them.
        • Check that you don't have any M301 commands in config.g or config-override.g. A M301 command will override any earlier M307 commands for the same heater.

        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
        • DocTruckerundefined
          DocTrucker
          last edited by

          I ran auto tune at 200C which was around the working temperature I expected for PLA. Saved the results using M500. Last command in my config file is M501. In order to investigate the overshoot more thoroughly I will repeat the above process once the current and queued build complete.

          Still interested to hear if there is any chance of what 'near room temperature' is and if autotune can be improved to start warm, perhaps with the addition of passing a parameter to let the system know the stable cold/room temperature equilibrium value.

          I'd like to do three repeats of the auto tune process to see how consistent the results are, but this will take a few days!

          Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            If you ran auto tuning with the print cooling fan on, that could cause overshoot when you heat up the hot end with the print cooling fan off.

            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
            • DocTruckerundefined
              DocTrucker
              last edited by

              I normally tune without, but will repeat anyway.

              Which is the by-the-book method; with or without part cooling fan? If on what fan set point?

              Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

              dc42undefined 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @DocTrucker
                last edited by

                @doctrucker, I tune with the print cooling fan off. But I use silicone socks on my heater blocks, so the fan doesn't have so much effect anyway.

                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
                • DocTruckerundefined
                  DocTrucker
                  last edited by DocTrucker

                  This is a screen shot of an autotune on an Stock Ormerod 2 followed by setting the temperature at 170. Overshoot was in the order of 7C.

                  0_1545311730975_181220_screenshot.png

                  Edit:
                  Duet: 0.6
                  Firmware: 1.22
                  DWC: 1.22.4

                  Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                  1 Reply Last reply Reply Quote 0
                  • DocTruckerundefined
                    DocTrucker
                    last edited by

                    From other issues like the odd extruder ramming and confusion around T0 it appears I'm in a minority that warm things up manually before kicking a print off. Perhaps this overshoot is far more common but normally covered by the extruder purging material through as soon as the temp is within 1C of set point. Its likely to be a non issue where fixing it will leave the system unable to cope with the part fan coming on.

                    Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • DocTruckerundefined
                      DocTrucker
                      last edited by DocTrucker

                      I'd appreciate some feedback on the other questions.

                      I had read bits on the temperature control potentially being adapted to be aware and compensate for changes in material flow rate, part fan, etc.? Any links to read up on that?

                      Before commencing auto tuning, the heater to be tuned must be at or near room temperature and its temperature reading should be stable.
                      https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control

                      What is near? 5C, 10C? What is the critical values for a successful autotune? Exact ambient is obviously a variable.

                      If the initial temperature of the auto tune determines the level to which the heater should cool before ending the autotune can there be an option to override this behaviour and directly specify the stable temperature of the heater rather and allow a warmer start so long as it is not already too close to the final cool down temperature?

                      Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                      1 Reply Last reply Reply Quote 0
                      • DeltaConundefined
                        DeltaCon
                        last edited by

                        I use the same 0.6 Duet controller, but I do not have any overshoot whatsoever (okay, probably I do, but it is within 1 degree). I have the same habit of preheating everything manually. I see only one big difference to my setup: You get a warning in DWC that your heater could reach 495 C. In my case I believe I saw that warning with a number of around 1200 C if memory serves. So I assume I have a more powerful heatercartridge. I am not sure how that relates to the overshoot though. But I know the Duet version and Firmware combination is capable of heating the hotend without overshoot. The same goes for the bed, on which I have a rather big thermal mass.

                        If you think trial and error is dangerous, try routine. That's even more so!

                        1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @DocTrucker
                          last edited by

                          @doctrucker said in Ideal behaviour of PID auto tuned system?:

                          From other issues like the odd extruder ramming and confusion around T0 it appears I'm in a minority that warm things up manually before kicking a print off. Perhaps this overshoot is far more common but normally covered by the extruder purging material through as soon as the temp is within 1C of set point. Its likely to be a non issue where fixing it will leave the system unable to cope with the part fan coming on.

                          As you are getting overshoot, it looks as though the tuning process has under-estimated the either gain of the heater (M307 A parameter) or it dead time (D parameter). If the temperature appears to be oscillating slightly in the steady state, try increasing D by about 30%. Otherwise, try increasing A by 10%.

                          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
                          • DocTruckerundefined
                            DocTrucker
                            last edited by DocTrucker

                            Continuing problem with this machines tuning. I've recently got back to comissioning this machine after setting up a P3Steel Marlin based machine. Interestinglingly they use a number of heating loops (user definable) rather than one.

                            I think I have an issue with my part cooling fan shroud where by the part cooling air gets sucked into the hotend cooling vent and exhausted out the top when close to the part bed and over cooling the hotend even with a sock on. End result is the PID controller is too tame to bring it upto temp after the fan drops the temp by a couple of degrees.

                            I'll probably go ahead with tuning with the hotend close to the bed and fan on and see how different the PID values are. I'll let it cool to 40 and repeat to see how close twp consecutive runs are.

                            Edit: Will restart a new thread as I think I've found a bug...

                            Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

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