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

    New Edge firmware 1.18beta1

    Scheduled Pinned Locked Moved
    Firmware installation
    8
    22
    3.9k
    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.
    • sLpFhaWKundefined
      sLpFhaWK
      last edited by

      So is baby stepping similar to the first layer adjustment on the Prusa I3 MK2? Like you print the first layer and you can adjust it with the knob on the LCD, but instead use Macro's? If so this is a fantastic feature.. I really hope it is 😃

      -sLpFhaWK
      Ultibots K250v
      Rostock Max v2 Soon to be Full MetalMax
      Mini Kossel

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

        Yes it provides similar functionality.

        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
        • hairy_kiwiundefined
          hairy_kiwi
          last edited by

          A few graphs comparing my auto tune settings for:

          • RRF1.18beta1 vs
          • RRF1.17e vs
          • Marlin (2014-10) auto tune PID settings - utilised on DuetWiFi using the M301 (Custom PID override) command in config.g

          Timing/Temperature schedule used to produce the charts in the following images:

          INTERVAL	| G-CODE	| ELEAPSED TIME
          -----------------------------------------------------------------------------
          +0m00s		| G10 P0 S200	| 0m00s
          +1m55s		| M106 S1	| 1m55s
          +0m40s		| M106 S0	| 2m35s
          +0m56s		| G10 P0 S0	| 3m31s
          +0m03s 		| M106 S1	| 3m34s (only to increase rate of hotend cooling)
          
          ```Timing for each run was performed manually with accuracy in the order of ± 2 sec per interval. A few test-runs were made to gauge the worst case settling time before deciding on the timing schedule above; not perfect, but good enough to highlight the differences within one temperature chart frame. If the images are downloaded and viewed sequentially in an image browser the differences are even more apparent.
          I did make a macro to automate the process, but gave up on it due to lack of any G-Code echo in DWC. Is there any way around this?
          
          The larger than normal Temp Chart in the images is the result of modding the DuetWebController v1.14a:
          [DuetWebControl-1.14a_hk0.01.bin](https://www.dropbox.com/s/uns5b7howmabala/DuetWebControl-1.14a_hk0.01.bin?dl=1)
          [DuetWebControl-1.14a_hk0.01.zip](https://www.dropbox.com/s/mioqg6atcr0usdf/DuetWebControl-1.14a_hk0.01.zip?dl=1)
          
          **Test setup:**
          ![](https://www.dropbox.com/s/r7hswy9ppafaoxr/DuetWiFi-autotune-E3Dv6-40W-test%20setup.png?dl=1)
          
          It's worth mentioning that the heater cartridge is the very same cartridge used for all three auto-tuning runs. When I first began commissioning my new machine in Dec, I ran into problems with cold extrusion protection kicking in, due to the part cooling fan blowing air on the E3Dv6 block after layer one (but no more air than the very same fan was blowing on the E3Dv6 block of my previous machine). Extending the permissible hotend temp envelope from 10 to 15°C stopped the cold extrusion protection kicking in, but I found the RRF auto-tune PID settings were only enough to return the temperature to the original setpoint, minus 5°C. Knowing that my previous machine's PID settings enabled it to function quite adequately despite the brutal treatment regarding fan air impinging on the heater block, I transferred my old machine's E3Dv6 40W cartridge to the DuetWiFi controlled machine's E3Dv6 heater block to eliminate the (newer machine's original 30W) cartridge as the cause of the cold extrusion protection problem. The power increase provided no immediate improvement, however reverting to the old PID values has noticeable improved performance.
          
          About now I can hear people shouting, "put a silicon boot on the hotend block and a duct on the fan!" - I will, however I have noticed that placing any duct on the typical 40mm fans used does result in a noticeable reduction in airflow compared to that from an un-ducted fan. A duct also creates more fan noise, which is another indicator of decreasing efficiency.
          
          Conclusion:
          - I found the 1.18beta1 auto tune function much friendlier to use in so far as it no longer requires the PWM fraction (P value) to be estimated for the M303 auto tune command. Thank you - this will be a real time saver!
          - 1.18beta1 auto tune generated even less aggressive PID parameters - particularly the P value.
          - My interpretation of the results below are:
          1\. the 1.17 auto tune 'setpoint change' PID parameters are better than those generated by 1.18beta1, though even they (1.17) could possibly be made a little more aggressive without causing any initial settling oscillations, and
          2\. if technically possible, consideration be given to using the auto tune algorithm used by Marlin to generate 'load change' type PID parameters. Compared to 1.17 and 1.18beta1, the Marlin values result in much faster settling after either positive or negative load change.
          
          **1.18beta1**
          M307 H1
          Heater 1 model: gain 723.0, time constant 232.2, dead time 6.0, max PWM 1.00, mode: PID
          Computed PID parameters for setpoint change: P9.6, I0.041, D40.1
          Computed PID parameters for load change: P9.6, I0.560, D40.1
          ![](https://www.dropbox.com/s/i3u1f564n1nj45t/DuetWiFi-autotune-2017-03-04-E3Dv6-40W-RRF1.18beta1-M307-H1-A723.0-C232.2-D6.0-S1.00-B0.png?dl=1)
          
          **1.17e**
          M307 H1
          Heater 1 model: gain 693.0, time constant 218.0, dead time 4.5, max PWM 1.00, mode: PID
          Computed PID parameters for setpoint change: P12.5, I0.057, D39.3
          Computed PID parameters for load change: P12.5, I0.922, D39.3
          ![](https://www.dropbox.com/s/zhhjqqbvokdbadk/DuetWiFi-autotune-2017-03-04-E3Dv6-40W-RRF1.17e-M307-H1-A693.0-C218.0-D4.5-B0.png?dl=1)
          
          **Previous Machine's Marlin PID settings**
          M307 H1
          Heater 1 model: gain 693.0, time constant 218.0, dead time 4.5, max PWM 1.00, mode: custom PID
          Computed PID parameters for setpoint change: P26.0, I2.910, D57.8
          Computed PID parameters for load change: P26.0, I2.910, D57.8
          ![](https://www.dropbox.com/s/cogu1lctqxxyoyz/DuetWiFi-autotune-2017-03-04-E3Dv6-40W-RRF1.17e-with-Marlin-custom-PID-M301-H1-P25.95-I2.91-D57.82.png?dl=1)
          
          EDIT 2017-03-05:
          - Renamed/re-linked images to include heater model parameters in filename rather than PID values - for consistency with image names from more recent tests.
          - Added image showing test setup.
          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            Thanks for doing the comparison. However, I think you have made a mistake, because the M307 model parameters you list for 1.17e and 1.18beta1 are identical, which is too much of a coincidence.

            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
            • hairy_kiwiundefined
              hairy_kiwi
              last edited by

              @dc42:

              Thanks for doing the comparison. However, I think you have made a mistake, because the M307 model parameters you list for 1.17e and 1.18beta1 are identical, which is too much of a coincidence.

              Apologies for the elementary copy-paste schoolboy error; thanks for spotting it. I actually made an even bigger mistake in putting the 1.17 and 1.18 chart images in the wrong location due to mis-renaming the screen captures while trying to post just before dinner. Less haste, better work. Next time.

              The errors in my earlier post have been rectified and I expanded a little on what I first wrote, adding some background and a conclusion.

              Regarding "identical parameters", a question: Are the 'Heater 1 model' parameters reported by the Marlin run actually being used in any way, or are the subsequently specified M301 PID settings completely overriding the M307 model parameters, effectively rendering them superfluous? If so, why the need for the M307 command prior to a M301 command (in config.g)?

              i.e. these lines echoed in DWC (the "mode: custom PID" is the only give-away that the Heater 1 model is being over-ridden):

              M307 H1
              Heater 1 model: gain 693.0, time constant 218.0, dead time 4.5, max PWM 1.00, mode: custom PID
              Computed PID parameters for setpoint change: P26.0, I2.910, D57.8
              
              

              And the actual config.g snippet:

              M307 H1 A693.0 C218.0 D4.5 B0		; (E3Dv6 40W cartridge tuned using M303 H1 P0.3 S240) Heater 1 model: gain 693.0, time constant 218.0, dead time 4.5, max PWM 1.00, mode: PID
              M301 H1 P25.95 I2.91 D57.82		; Over-ride Auto-tune derived Kp Ki Kd values with old Marlin derived (Prusa Mendel) PID values.
              
              
              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by

                Thanks, that makes more sense now.

                When you use your own PID parameters by putting an M301 command later than the M307 command, the M307 parameters are still used to predict heating rates and thereby detect heating faults.

                The temperature graph from Marlin looks to me to be only marginally stable.

                Can you try reverting to the M307 parameters found by 1.18beta1 except reduce the D parameter to about 3 and see how that performs?

                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
                • hairy_kiwiundefined
                  hairy_kiwi
                  last edited by

                  Thanks for the clarification. I do now vaguely recall reading something similar on the forum. After re-reading the wiki documentation I didn't find the explanation(s) to be quite as clear or concise. Perhaps you might consider editing the following pages mentioning M301, to reflect your very clear explanation above.
                  https://duet3d.com/wiki/Tuning_the_heater_temperature_control
                  https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer
                  https://duet3d.com/wiki/G-code#M301:_Set_PID_parameters

                  The temperature graph from Marlin looks to me to be only marginally stable.
                  True, but I believe it's convergent instability rather than divergent instability - which AFAIU, (and interpret from the images) results in a slightly more responsive system. i.e. the Marlin PID settings do provide convergence with set point temp, albeit in a marginally unstable manner, under increasing or decreasing load. Compared to RRF auto tune, the settling times (to ±0.1°C) that Marlin PID settings provided were almost identical during initial heat-up, somewhat faster after load increase (fan ON) and about the same after unload (fan OFF).

                  Below are three further runs made today using the RRF1.18beta1 auto tune settings, adjusting only the D parameter:

                  • D3.0
                  • D2.8
                  • D2.5

                  1.18beta1 M307 auto tune parameters, with adjusted D=3.0
                  M307 H1 with
                  Heater 1 model: gain 723.0, time constant 232.2, dead time 3.0, max PWM 1.00, mode: PID
                  Computed PID parameters for setpoint change: P19.1, I0.082, D40.1
                  Computed PID parameters for load change: P19.1, I1.884, D40.1

                  1.18beta1 M307 auto tune parameters, with adjusted D=2.8
                  M307 H1
                  Heater 1 model: gain 723.0, time constant 232.2, dead time 2.8, max PWM 1.00, mode: PID
                  Computed PID parameters for setpoint change: P20.5, I0.088, D40.1
                  Computed PID parameters for load change: P20.5, I2.126, D40.1

                  1.18beta1 M307 auto tune parameters, with adjusted D=2.5
                  M307 H1
                  Heater 1 model: gain 723.0, time constant 232.2, dead time 2.5, max PWM 1.00, mode: PID
                  Computed PID parameters for setpoint change: P22.9, I0.099, D40.1
                  Computed PID parameters for load change: P22.9, I2.592, D40.1

                  GIF animation comparison
                  six image gif animation of all runs to date, with RRF 1.18beta1 at start and Marlin custom PID at end:

                  Many thanks for your suggestion to adjust the D parameter. I think you'll agree from the images above there's now increasing similarity in responsiveness provided by the PID values derived from RRF auto tune model parameters, and Marlin's auto tune PID paramters. I'll try the D2.5 and/or D2.8 setting while printing next weekend and report back.

                  1 Reply Last reply Reply Quote 0
                  • DjDemonDundefined
                    DjDemonD
                    last edited by

                    So here are my numbers:

                    Pre 1.18beta

                    M307 H0 A311.7 C649.8 D3.1 S1.00 B0
                    M307 H1 A423.4 C203.6 D5.1 S1.00 B0

                    Post 1.18beta
                    M307 H0 A259.0 C444.7 D1.5 S1.00 B0
                    M307 H1 A425.3 C217.6 D7.0 S1.00 B0

                    To be fair I had zero issues with heaters previously, it worked great before and works great now. a max of 0.8 deg C overshoot on either heater which in my books is no great shakes.

                    Interestingly the "overpowered heater" dire warning reckons my bed is only going to get to 278 deg C now before it reckoned 700! Luckily my thermal fuse will go long before that.

                    Simon. Precision Piezo Z-Probe Technology
                    www.precisionpiezo.co.uk
                    PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

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

                      Interesting, the bed heater dead time has reduced but the hot end heater dead time has increased.

                      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
                      • hairy_kiwiundefined
                        hairy_kiwi
                        last edited by

                        @dc42:

                        If you want to test baby stepping, then for now I suggest you create a "Baby step up" macro file containing command M290 S0.05 and a "Baby step down" macro containing M290 S-0.05. Change the value 0.05 to be a suitable value for the first layer height you normally use.

                        Many thanks for implementing Baby steps dc42 - a really wonderful feature to have easy access to!

                        Baby step macro naming tip:
                        After implementing I realised User-Defined Macros are sorted alphabetically, so initially the top of my macro list looked like this:

                        Baby step down
                        Baby step up
                        .
                        .
                        .

                        No big deal "down" appears before "up", but â–² â–¼ icons are faster to interpret and when sorted alphabetically, they display in a more intuitive order.

                        Now my macro list looks like this:

                        Baby step â–²
                        Baby step â–¼
                        .
                        .
                        .

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

                          PanelDue firmware 1.16beta1 and DWC 1.15beta2 have baby stepping buttons.

                          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
                          • hairy_kiwiundefined
                            hairy_kiwi
                            last edited by

                            @dc42:

                            PanelDue firmware 1.16beta1 and DWC 1.15beta2 have baby stepping buttons.

                            Thanks. I'll take a look.

                            1 Reply Last reply Reply Quote 0
                            • DjDemonDundefined
                              DjDemonD
                              last edited by

                              Just minor feedback regarding my heater tuning (as above) it does oscillate both the bed and hotend more now than it did before. Its only a +/- 1 degree for the bed, which is absolutely fine. Its around 2-3 degrees on the hotend. With the previous settings it was more stable. Not a gripe, as both settings are acceptable to me.

                              Simon. Precision Piezo Z-Probe Technology
                              www.precisionpiezo.co.uk
                              PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                              1 Reply Last reply Reply Quote 0
                              • Jackalundefined
                                Jackal
                                last edited by

                                @dc42:

                                PanelDue firmware 1.16beta1 and DWC 1.15beta2 have baby stepping buttons.

                                Where can we find the DWC beta? Doesn't seem to be on github

                                1 Reply Last reply Reply Quote 0
                                • DjDemonDundefined
                                  DjDemonD
                                  last edited by

                                  Its in Chrishamm's repository https://github.com/chrishamm/DuetWebControl

                                  Simon. Precision Piezo Z-Probe Technology
                                  www.precisionpiezo.co.uk
                                  PT1000 cartridge sensors NOW IN, just attach to your Duet board directly!

                                  1 Reply Last reply Reply Quote 0
                                  • hairy_kiwiundefined
                                    hairy_kiwi
                                    last edited by

                                    @DjDemonD:

                                    Its in Chrishamm's repository https://github.com/chrishamm/DuetWebControl

                                    I couldn't find DWC 1.15beta2 in either dc42's or Chrishamm's github repositories, including dev branches. Any ideas appreciated.

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

                                      I'll add them to my repo when I publish firmware 1.18beta3 later today.

                                      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