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

    Autotune heater values not storing (calibration voltage)

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    8
    846
    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.
    • NitroFreakundefined
      NitroFreak
      last edited by

      Hi Guys,
      I hope that you can help me.
      I am having some difficulties with my duet.

      First, shortly, my setup:
      I am trying to print PPSU @ 405°C.
      E3D copper vocano block, PT100, Titanium heatbreak etc.

      Now, when i autotune the heater, it is all fine and the nozzle gets up to 400 degrees within 4 minutes.
      But when autotune is done, even when i put the A/C/D values in the config.cfg file, it remembers those but spits out different PID values when i want him to heat up inside a print.

      Here is what it spits out when i ask it M307 H1:

      M307 H1
      Heater 1 model: gain 735.3, time constant 375.3, dead time 63.8, max PWM 1.00, calibration voltage 0.0, mode PID, inverted no, frequency default
      Computed PID parameters for setpoint change: P1.4, I0.009, D63.8
      Computed PID parameters for load change: P1.4,

      I suspect that this has to do with the calibration voltage being stored as 0.0, while at the end of autotune it states it correctly as 12.1 volts. With this it calculates different PID values.
      I have searched high and low how to change the stored calibration voltage with no luck.

      Any help would be greatly appreciated.
      Thanks
      Max

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

        @nitrofreak said in Autotune heater values not storing (calibration voltage):

        max PWM 1.00, calibration voltage 0.0

        I forgot to upate the instructions at https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control to include the calibration voltage in the example M307 command. I have corrected that now. You should add the calibration voltage that tuning reported as the V parameter in your M307 command. However, it should make very little difference unless you have large voltage fluctuations.

        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
        • NitroFreakundefined
          NitroFreak
          last edited by NitroFreak

          Hi David,

          Thank you for elaborating.
          I did put in the calibration voltage and you are right, it did not change much.

          However, now i am getting faults because the heater overshoots by 15 degrees.
          I wonder where they come from as i have not changed anything, from when i started.

          Here is a shot from an autotune i did, and notice the M307 H1 before giving out very similar A/C/D numbers, but vastly different PID values.

          alt text
          Any idea as to where the duet might be getting these new PID values from?

          Thank you
          Max

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

            Have you checked your config-override.g file for M307 commands?

            The parameters form auto turing look sensible. The older M307 parameters don't, the dead time is much too high.

            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
            • NitroFreakundefined
              NitroFreak
              last edited by

              Ok so i have deleted all the values in the config-override.g file, and it did work for one print.
              But as soon as i reset the board, the old values are back. But the config-override file is still empty (of those values).

              Is there a way where i can just type in those PID values manually?
              I have read that in the Legacy version this somehow works

              Thank you
              Max

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

                If the old values keep coming back, there must be another M307 H1 command somewhere, probably in another part of the config.g file.

                Note that every time you run M500, all the current M307 values get written to config-override.g.

                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
                • NitroFreakundefined
                  NitroFreak
                  last edited by

                  Thank you, it seems to be solved now.
                  I went over the config.g file, but did not find another M307 H1.
                  What i did is to make sure to not use the M500 and delete the config.override.
                  I don´t know why, but it seems to work now.

                  Thank you very much!

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

                    @nitrofreak said in Autotune heater values not storing (calibration voltage):

                    Thank you, it seems to be solved now.
                    I went over the config.g file, but did not find another M307 H1.
                    What i did is to make sure to not use the M500 and delete the config.override.
                    I don´t know why, but it seems to work now.

                    Thank you very much!

                    I'm glad it's working. If you send M500 now then it should store the current M307 values in config-override.g, unless there is a bug that I'm not aware of.

                    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
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA