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

    Dynamic temperature tolerance or defineable heat-soak time

    Scheduled Pinned Locked Moved Unsolved
    Firmware wishlist
    3
    4
    163
    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.
    • Merlin246undefined
      Merlin246
      last edited by

      Hello,

      I recently changed my heatbed from bang-bang to PID and it's awesome. Now in steady-state, the temperature only fluctuates ±0.1C max. However on the initial heatup (from cold) the temperature overshoots by ~2C, the bed has been PID tuned using the on-board tuning commands. I think that this occurs because the actual surface of the bed hasn't reached temperature and as such less power is lost to atmosphere (lower temperature delta between ambient and bed).

      Is there a way to force waiting for a tighter temperature tolerance over a time period (say 0.5C instead of 1C [I think 1C is default, might be wrong] for 10s) or specify a maximum temperature graph derivative value so overshoots are not considered "at-temperature"?

      1 Reply Last reply Reply Quote 0
      • Merlin246undefined Merlin246 marked this topic as a question
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        It may be easiest to simply add a G4 S60 dwell command to your heat up commands to give the bed a minute to equalize.

        Z-Bot CoreXY Build | Thingiverse Profile

        Merlin246undefined 1 Reply Last reply Reply Quote 0
        • Merlin246undefined
          Merlin246 @Phaedrux
          last edited by

          @Phaedrux I already kind of do this by heating my bed when I open my slicer. By the time I finish slicing the bed is already beginning to equalize. I thought it would be an interesting idea to add some machine-brains to the problem so it would be independent of me remembering to pre-heat the bed and not waste time should the bed already be in steady-state.

          Not sure how exactly this would be implemented (and as such the complexity associated with it), although a simple idea could be an integral monitoring term. Just a thought for your consideration, but probably fairly low-priority.

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

            @Merlin246 here are some possible workarounds:

            1. Reduce the overshoot by increasing the M307 R parameter. This will only help if the bed surface temperature overshoots. If the temperature sensor is close to the heater and the surface temperature lags the sensor temperature then it may actually make things worse.

            2. Many slicers have the option to wait until the bed is at temperature before they heat the hot end. The hot end heating time may be enough for the bed temperature to stabilise.

            3. Typically, if the slicer sees a heating command in your start GCode, it won't generate the heating command itself. So you should be able to put the bed heating command followed by a G4 delay in your slicer start GCode.

            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