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

    Very large heated bed - autotune cancelled error

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    6
    13
    819
    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.
    • grabercarsundefined
      grabercars
      last edited by

      Hi guys. Duet Wifi powered large deltabot. I am attempting to run PID autotune on a very large heated bed and need to set a much longer time before it times out during autotune.

      The bed heater is powered using a 120v AC resistance coil underneath tempered glass. Duet Wifi is switching an SSR (bang-bang) by the H0 bed output.
      I'm running this design on several other large printers and it works well.
      Everything works great except a bed of this size takes approximately 5 minutes to reach temperature so during the PID autotune sequence it's timing out.

      How can I increase the error checking timeouts for the M303 command? Or is there some other way to skin this cat?

      Currently running - M303 H0 B1 S50

      Standard 2Kg reel shown for size reference
      Bed Heater Resistance coil.jpg image url)

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

        You could try increasing the timeout with https://duet3d.dozuki.com/Wiki/Gcode#Section_M570_Configure_heater_fault_detection

        Z-Bot CoreXY Build | Thingiverse Profile

        grabercarsundefined 1 Reply Last reply Reply Quote 0
        • grabercarsundefined
          grabercars @Phaedrux
          last edited by

          @Phaedrux - Thanks for that suggestion.

          I tried this to no avail, same error:

          M307 H0 B1 ; enable bang-bang mode for the bed heater
          M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
          M143 H0 S60 ; set temperature limit for heater 0 to 60C
          M570 H0 P400 T15 S400

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

            Perhaps best not to use bang-bang mode. It's not required for controlling an SSR. Using PID should be just fine.

            If the autotune can't reliably finish, you could manually define the parameters.

            https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control#Section_Setting_the_model_parameters_manually

            Z-Bot CoreXY Build | Thingiverse Profile

            grabercarsundefined 1 Reply Last reply Reply Quote 0
            • grabercarsundefined
              grabercars @Phaedrux
              last edited by

              @Phaedrux - I'll give that a try tomorrow. Thanks for your help.

              1 Reply Last reply Reply Quote 0
              • Dougal1957undefined
                Dougal1957
                last edited by

                will PID tune even work if its in Bang-Bang mode?

                1 Reply Last reply Reply Quote 0
                • JamesMundefined
                  JamesM
                  last edited by

                  Phaedrux recommended not to use bang-bang mode and put it in PID mode.

                  1 Reply Last reply Reply Quote 0
                  • grabercarsundefined
                    grabercars
                    last edited by grabercars

                    Yes! Success.

                    (edit: I manually entered the tuning paramters, not using autotune)

                    The following parameters did the job with a +3C overshoot to the commanded 55C, which is pretty good considering the significant thermal mass involved.

                    ; Heater model parameters
                    M307 H0 A90.0 C7000.0 D70.0 S1.00 V12.4 B0
                    M570 H0 P400 T30 S400

                    M307 H0

                    Heater 0 model: gain 900.0, time constant 7000.0, dead time 70.0, max PWM 1.00, calibration voltage 12.4, mode PID, inverted no, frequency default
                    Computed PID parameters for setpoint change: P19.8, I0.028, D971.8

                    Those PID parameters are in the ballpark compared to when the printer was running on Smoothieware.

                    I notice the words 'frequency default'. What is the default pwm frequency and would it be beneficial to the SSR lifespan to lower that? If so, how do I do that?

                    Thanks again. I'm still getting up to speed but so far Duet3D ROCKS!

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

                      I'm glad you got it working. If tuning the bed heater times out during the initial heating phase, the fix is to increase the dead time before tuning using the M307 D parameter.

                      The default bed heater PWM frequency is 10Hz so as to be compatible with all types of SSR. This is why you will see the bed heater LED flickering.

                      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

                      grabercarsundefined 2 Replies Last reply Reply Quote 0
                      • grabercarsundefined
                        grabercars @dc42
                        last edited by

                        @dc42 - Thank you. I may attempt the autotune again at some point now that I've increased the dead-time significantly, but the bed appears to be quite stable now in any case. Good to know about the bed pwm frequency.

                        1 Reply Last reply Reply Quote 0
                        • grabercarsundefined
                          grabercars @dc42
                          last edited by

                          @dc42 Well unfortunately the joy has not lasted very long. Even though the bed heater will manually allow itself to be heated to its commanded temperature and will hold temp within a degree or so for hours, it will only do that if the heater is commanded manually. Any attempt to use the bed heater (H0) during a print job causes a temperature fault after a few minutes. This error occurs AFTER the bed has been manually brought up to temperature (in this case 55 or 60C) and then the print job gets started once it has stabilized. In some cases I have been able to issue M562 multiple times and the print will finally get underway, even though the temperature fault error message still appears on the screen!

                          To recap: The bed is preheated to 55C, the print job is started with the bed commanded to 55C. The bed is AT 55C (or 56, or 54) for ~15 minutes before the print job is then started, within the first couple of minutes a bed temperature fault error pauses the print and disables the heaters. Restarting via M562 multiple times seems to finally allow the print to continue, but the fault message still appears onscreen.

                          It's very likely I'm doing something wrong as I am still on a steep learning curve and in the deep end of the pool. 🙂

                          Relevant config entries:

                          config.g
                          Heaters;
                          M305 P0 T100000 B4138 R4700
                          M143 H0 S60
                          M570 H0 P400 T15 S400

                          config-override.g
                          ; Heater model parameters
                          M307 H0 A90.0 C7000.0 D70.0 S1.00 V12.4 B0

                          1 Reply Last reply Reply Quote 0
                          • T3P3Tonyundefined
                            T3P3Tony administrators
                            last edited by

                            @grabercars is the fault that the heater is heating too slowly, or that it is outside of the configured temperature window?

                            Also does the time to error coincide with the P parameter time in M570?

                            www.duet3d.com

                            grabercarsundefined 1 Reply Last reply Reply Quote 0
                            • grabercarsundefined
                              grabercars @T3P3Tony
                              last edited by

                              @T3P3Tony - The heater does heat quite slowly, but that is due to the fact that the maximum achievable temperature is fairly low, something like 90C at full power. For obvious safety reasons. This is a PLA/PETG printer so really no reason to go higher.

                              It takes approximately 8 minutes to reach 50C from ambient, with an initial overshoot of around 3C, but it never appears to go out of the configured temperature window. I haven't put a timer on the appearance of the error to check the P parameter time. It's printing a large job at the moment but as soon as we can I'll check on that.

                              The issue is that there is no error if we are not actively printing. The error occurs at the start of a print job, even if the bed has been preheated to 50C and is set to 50C in the gcode.

                              The printer then pauses on error and bed halts. The temp error can be cleared with M562 but as soon as the print is resumed it halts within a short period of time (I need to time this). Clearing the fault some number of times (I need to verify the exact number) then seems to allow the printer to continue printing EVEN THOUGH... the error message pops back up but then it's no longer pausing the print.

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