• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    Merlin246
    last edited by 19 Dec 2022, 23:33

    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
    • undefined Merlin246 marked this topic as a question 19 Dec 2022, 23:36
    • undefined
      Phaedrux Moderator
      last edited by 20 Dec 2022, 04:08

      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

      undefined 1 Reply Last reply 20 Dec 2022, 06:48 Reply Quote 0
      • undefined
        Merlin246 @Phaedrux
        last edited by 20 Dec 2022, 06:48

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

        undefined 1 Reply Last reply 20 Dec 2022, 14:56 Reply Quote 0
        • undefined
          dc42 administrators @Merlin246
          last edited by 20 Dec 2022, 14:56

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