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

New heater tuning algorithm

Scheduled Pinned Locked Moved
Beta Firmware
33
131
15.2k
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.
  • ?
    A Former User
    last edited by A Former User 1 Jul 2021, 17:44 1 Jan 2021, 18:48

    Hi,

    fist thanks for all the work that is put into RRF!

    my setup: i3mega with new external 300W-24V supply, converted to a duet-ethernet-1.4 now with firmware RRF3.2-RC2 running (+ PanelDue i5)

    I successfully tuned the - in my opinion for higher temperature prints underpowered - "ultrabase mk3" heatplate of the i3mega of which has around 140-145W (glass plate swapped for a solid piece of flat alu with 240x240x5mm attached with heat-conductive-adhesive) for 110°C with M303 H0 P1.0 S110 (heater 0 is setup in config.g as PID via M307 H0 B0 S1.0 )

    After successfull tuning with the following console printout
    974924a3-8731-4c2a-80e3-9570d274aaae-grafik.png

    When manually heating afterwards, I am not able to reach any temperature above 100°C (after ca. 15-20minutes from ca. 35°C as start) before a heater0-fault is thrown

    currently in config.g I tried

    M143 H0 P0 S125 A2 ; switch off heater H_ temporarily if it exceeds S_°C
    M143 H0 P1 S130 A0 ; raise a heater fault if it exceeds S_°C
    M570 H0 P120 T30 S5

    to eventually have the error go away, but it seems I cannot get higher temperatures, because the higher the temperatures get, the slower the the heat-up-process is getting until it seems to saturate a little below 100°C. What I do not understand how it was able to reach 110°C while tuning?

    Are there any software tweaks I could do to reach around 105-110°C for which I am aiming (I am reluctant to buy a higher W(wattage)-heatplate if I can avoid - which would otherwise be the most obvious thing of course)? The error the tuning threw up leads me to try maybe tuning for 105°C first?

    EDIT:

    Looks better with 105°C
    1d889ecc-10ff-4b92-a9ee-fb28e30528dc-grafik.png
    At least does not throw a heater fault

    Sadly when manually trying afterwards to heat, it also does not go to the 105°C but saturates at ca. 100°C after tuning and throws a fault because it cannot climb any more.

    EDIT:
    Looks even better with 100°C:
    3fd165f5-22c9-4d9e-8278-b1e5a3e84bba-grafik.png
    Since it does not throw a warning this is most likely the limit I guess?

    But even here, I cannot reach the 100°C consistent when heating afterwards manually, it still throws a fault...

    But 95°C works fine -> no fault there, hm

    -> 95°C

    So it seems around 95°C is the inherent limit of this "i3 mega mk3" heatplate with its 140-145W on 220x220mm?
    Or would there be any gain by trying hard swithing via setting heater-0 in config.g to M307 H0 B1 S1.0?

    Next is feeding the 24V through the 12V (It has 2 inputs 1 for 12V 1 for 24V) to see what temperature I can reach there

    Stay tuned... 🤔

    Thanks for working on the console-output for the user: In my perception a big step up!
    Best regards
    Lucas

    Edit: After retryin 3.1.1, 3.2RC2 & final 3.2alpha it turns out I had in my filament-config.g another M143 with 100°C OUUUUUUUUUCH slap on the forhead at least the heatplate is now feeded with 10A instead of 5A because the waiting got me so nervous that we "tuned" the heating-time -> nice how you can change the behaviour of a resistance-heater by playing with parallel, series, or 1-of-2-circuits-only (no series, no parallel)
    WUZA 😑

    1 Reply Last reply Reply Quote 0
    • undefined
      MikeS @dc42
      last edited by MikeS 1 Feb 2021, 09:19 2 Jan 2021, 07:43

      @dc42 so i tried playing around with values but i can get a stable temperature during printing, but can't mitigate the overshoot at the first heat up. Also when starting from a cold nozzle i usually get error on bad curve:
      Warning: Auto tune of heater 1 failed due to bad curve fit (R=7.999, 1/C=0.0040:0.0097, D=10.3)
      The temperature readings seems reasonable to me and i got no "noise" on that, at least from what i can see on duet ui.

      Any suggestion?

      edit1: I managed to get the tune give me results by tuning the heater and not the tools, so i think the bad curve probelm is related to the layer fan but i'm not sure. Also with the given results i get a 8/10°C overshoot at first but at least it won't trigger the thermal runout safety. Still it has to be better than this.

      1 Reply Last reply Reply Quote 0
      • undefined
        TLAS
        last edited by 2 Jan 2021, 14:35

        Is there any chance to implement more of a plugin approach for the auto-tune algorithm? This algorithm change has been one of my biggest fears in upgrading, although I've been somewhat forced into it to use the web control plugins.

        I won't go into the details, but my printer is quite different than traditional printers (for example, I don't use any part cooling fans in my current design). The previous algorithm worked fairly well for me, and after seeing the comments in this post, I'm really afraid of upgrading and may end up manually defining the parameters for a few of my heaters.

        I'll report back with the results of using the new algorithm (hopefully this week), but there are so many different heater designs out there that using an option that lets users custom-develop their own versions may be a good opportunity for future growth.

        ? 1 Reply Last reply 3 Jan 2021, 12:36 Reply Quote 0
        • ?
          A Former User @TLAS
          last edited by A Former User 1 Mar 2021, 12:45 3 Jan 2021, 12:36

          @TLAS said in New heater tuning algorithm:

          Is there any chance to implement more of a plugin approach for the auto-tune algorithm? This algorithm change has been one of my biggest fears in upgrading, although I've been somewhat forced into it to use the web control plugins.

          I won't go into the details, but my printer is quite different than traditional printers (for example, I don't use any part cooling fans in my current design). The previous algorithm worked fairly well for me, and after seeing the comments in this post, I'm really afraid of upgrading and may end up manually defining the parameters for a few of my heaters.

          I'll report back with the results of using the new algorithm (hopefully this week), but there are so many different heater designs out there that using an option that lets users custom-develop their own versions may be a good opportunity for future growth.

          I would like it also if the new algorithem could be just a new Bx within M307, as was "bang-bang" in the past as B1, B0="simple" PID, and now e.g. B2 as "feed-forward" PID.

          Another option would be to put within M307 in the place of B0 the new "feed-forward"PID and "replace" the "old" PID to e.g. a new B2-option... (so that new users use by default B0 for heater1 and only the those who need really, swap back as an individual decision to B2 for whatever reason)?

          +1 from me

          But if I recall correctly dc42 (altough that was way before RC2 of RRF3.2) had some issue with code getting too much/too big and therfor would of course have liked to get rid of the "old" PID -> Please correct if it is wrong what I write here, these are only some vague memories from several weeks ago long before RC2...

          1 Reply Last reply Reply Quote 0
          • undefined
            Deltasquare
            last edited by 5 Jan 2021, 17:11

            What is the limit to the PID values that are available?
            I have a very fast heater and would like to use the integrated PID tuning, but unfortunately it heats too quickly (3 seconds to target temp), until now I have only gotten errors. "not heating at expected rate"...

            undefined 1 Reply Last reply 5 Jan 2021, 18:14 Reply Quote 0
            • undefined
              MikeS @Deltasquare
              last edited by 5 Jan 2021, 18:14

              @Deltasquare are you sure of your temperature readings? 20-200°C in 3 seconds is really fast. Is this a SpaceX motor at launch? 😃

              undefined 1 Reply Last reply 12 Jan 2021, 09:58 Reply Quote 0
              • undefined
                lui2004
                last edited by 7 Jan 2021, 05:06

                Hi

                i have updated my Duet wifi to newest RRF 3.2 what i must change to use the new heater tuning algorithm ?

                thats my actual settings for heater:

                ; Heaters
                M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
                M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
                M307 H0 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
                M140 H0                                        ; map heated bed to heater 0
                M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
                M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8; configure sensor 1 as thermistor on pin e0temp
                M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
                M143 H1 S280 								   ; set temperature limit for heater 1 to 300C
                M307 H1 B0 S1.00   
                

                and how i can tune the bed and thermistor ?

                thanks a lot

                Phaedruxundefined 1 Reply Last reply 7 Jan 2021, 05:19 Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator @lui2004
                  last edited by 7 Jan 2021, 05:19

                  @lui2004 You tune it as normal using M303

                  https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M303_Run_heater_tuning

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Deltasquare @MikeS
                    last edited by 12 Jan 2021, 09:58

                    @MikeS
                    I am 100% sure. 😄
                    However it's not quite up there with the Marlin engine in sophistication.... but close. 😉

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Alucardi
                      last edited by 19 Jan 2021, 20:54

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • undefined
                        lee7670
                        last edited by 3 Jun 2021, 05:34

                        @dc42 now that 3.2 has been out for some time, would it be possible to get a better description of what the new M307 parameters do? the documentation is very vague and (https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control#Section_Manual_adjustments_to_the_heater_model_parameters) still refers to the deprecated parameter A (gain). Specifically, heater rate has no units on it. Would it be possible to see a quick diagram of what the heater loop looks like and where all the parameters feed in? I'll need to have one of our controls engineers fix a particularly troublesome heater and it would be good if they had a diagram of what's going on so we can tune on the fly.

                        dc42undefined 1 Reply Last reply 4 Jun 2021, 13:02 Reply Quote 0
                        • dc42undefined
                          dc42 administrators @lee7670
                          last edited by 4 Jun 2021, 13:02

                          @lee7670 I have updated the wiki page on heater tuning.

                          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

                          undefined 1 Reply Last reply 4 Jun 2021, 17:45 Reply Quote 0
                          • undefined
                            lee7670 @dc42
                            last edited by 4 Jun 2021, 17:45

                            @dc42 Thank you, this is very useful!

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              gorf26
                              last edited by 4 Jun 2021, 19:32

                              Seeing the subject has been brought up again..

                              I have just change out my hotend and heater and tried auto tune, always finishes but seems to have errors and gives me the values for the 307 in config, after entering the new values and i turn on the heater to 210 i always get a heater fault not rising fast enough. but from watching the DWC the temp seems to be going up fast.
                              So returned and this time no error and a new pid value so i enter that and got the same heater fault

                              If i put just use the default m307 values with no pid values it heats up fine no errors..

                              also have a pt100 with the duet pt100 board and it a diet2 wifi

                              this is with firmware 3.2.2 release

                              Thanks gary

                              Phaedruxundefined dc42undefined 2 Replies Last reply 4 Jun 2021, 19:41 Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator @gorf26
                                last edited by 4 Jun 2021, 19:41

                                @gorf26 Instead of manually copying the values, can you try using M500 to save them to config-override.g and then compare what you had to what it saved. See if there is a difference. What values are they?

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @gorf26
                                  last edited by 5 Jun 2021, 10:14

                                  @gorf26 what M307 values does it tell you to use when you tune it?

                                  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

                                  undefined 1 Reply Last reply 5 Jun 2021, 19:49 Reply Quote 0
                                  • undefined
                                    gorf26 @dc42
                                    last edited by 5 Jun 2021, 19:49

                                    @dc42

                                    M307 H0 B0 A113.8 C611.3 D0.4 V23.0

                                    I have gone ahead and installed 3.3RC3 and that has seemed to fix it, I tuned the hotend again and it tuned with no errors, used the m307 it suggested and when cooled down i heated it to 240c and no fault error now.

                                    Still a little trouble with the bed tuning gives me a waring message every time and a suggested a m307 value
                                    i enter that in the config and it heats up fine.. so guess i won't worry about it to much..

                                    Thanks gary

                                    Phaedruxundefined 1 Reply Last reply 5 Jun 2021, 19:58 Reply Quote 0
                                    • Phaedruxundefined
                                      Phaedrux Moderator @gorf26
                                      last edited by 5 Jun 2021, 19:58

                                      @gorf26 said in New heater tuning algorithm:

                                      a waring message every time

                                      The warning is normal. It's telling you how hot it predicts the heater could get in a failure situation.

                                      Z-Bot CoreXY Build | Thingiverse Profile

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