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

    Can't PID Tune or just tune 100w Heater

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    11
    596
    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.
    • PHaveyundefined
      PHavey
      last edited by

      Hi, I'm new to this forum. I like to research and learn myself so I don't post, and most of the time the question has already been asked. Thank you everyone who has unknowingly helped me in the past. Lets dive in.

      First of all, the system is 24v.
      RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode)
      Everything is running directly off the main board.

      I'm currently trying to replace my hot end (e3d Volcano) with a Nova Hotend with a 100 watt heater. There were no issues with the Volcano when I switched them.

      My first try was a standard Auto Tune (m303 t0 s240):

      It heated to 240 in about 15 seconds, overshot just barley under the the threshold and continued its journey to which it failed at the end.

      Warning: Auto tune of heater 1 failed due to bad curve fit (R=6.652, 1/C=0.0037:0.0108, D=6.6)
      I tried throwing those values in (at the time, i didn't know what they represented) and got this:
      Error: M307: bad model parameters

      I've read in multiple post about people mistakenly getting a 12v heater instead of a 24v. I checked the resistance on the heater and came out with 5.8 ohms. For reference, the company only offers a 60watt in 12V. Following this formula, I calculated:
      (P is power in Watt [W], U is voltage [V], R is the resistance in Ohm [Ω])
      R=Usqaured/P
      R(5.76) = U*U(576) / P(100)

      The difference of Actual 5.8 to Calculated 5.76 (in my opinion) is negligible.

      I then tried to tune the hot end my self by following the wiki guide

      Here are my calculations
      Gain:
      55 - 120 took 6.07 sec
      65 deg in 6.07 sec
      65/6.07 = 10.708

      Cooldown (Ttarget = Tstart * 0.37 + Tambient * 0.63):
      105.8 = (240 * .37) + (27.1 * .63)
      No Fan Cooldown 4:49.06 or 289 sec
      Fan Cooldown 1:36.5 or 96.5 sec
      (Yes, my fan duct is not what I hoped and needs redesigning)

      Dead Time:
      The best fluctuation i could reach was with D=5. That was with fan on and off and it wasn't that good +- 0.5 deg or 1 deg total. The fan dropped it a couple degrees before it started to rise.

      So I ended up with:
      M307 H1 R10.708 C289:96.5 D6.6 S1.00 V24.1
      To which gave me:
      Error: M307: bad model parameters

      I thought "well maybe it doesn't know how to control the high powered heater"
      I decided to try lowering the PWM to see if could get it to work. That was all a failure. Here are my results if interested.

      M303 T0 P0.6 A26.8 S240
      Warning: Auto tune of heater 1 failed due to bad curve fit (R=8.030, 1/C=0.0037:0.0102, D=5.8)

      M303 T0 P0.4 A23.5 S240
      Warning: Auto tune of heater 1 failed due to bad curve fit (R=8.800, 1/C=0.0036:0.0093, D=5.2)

      M303 T0 P0.3 A23.7 S240
      Warning: Auto tune of heater 1 failed due to bad curve fit (R=8.777, 1/C=0.0035:0.0082, D=4.3)

      M303 T0 P0.2 A23.7 S240
      Never Completed. Couldn't get to temperature with fan on

      At this point, I can't decide if I'm doing something wrong or are there other factors. I would have assumed that lowering the PWM to slow down the heating rate would have achieved something but to no avail. Normally my problems are caused by me doing something wrong. I know other people use this hot end (I've seen it in many videos) and get it to work.
      I was going to try using the old Volcano heater (I believe they are the same size) and see what the outcome is and/or buy the lowest wattage heater Nova makes (60w) and try that, but I want to reach out and see if someone has any input on the situation. Maybe I forgot something obvious. Changing out the cartridge is a pain and would rather not swap things in and out. If I have to change it, it'll be while I put on my pouty face and stomp my feet.

      I apologize the post is so long, I was trying to make sure you know my steps I tried to figure it out. I'm also sure I forgot to add obvious information that should have been included. Any information or trials will be greatly appreciated.

      Thank you in advance,
      Pat

      --Pat
      They say you learn from your mistakes.
      If that were true, I'd be a genius - Me

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by Phaedrux

        What kind of thermistor does it come with?

        Can you post your full config.g?

        I assume it's this one? https://3dpassion.com/nova

        Does the vendor have any tips for taming that beast?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • PHaveyundefined
          PHavey
          last edited by

          The thermistor is a PT1000.
          Yes, it is the 3d passion Nova, sorry I thought I posted a link.

          And, I knew I was forgetting something.

          ; Configuration file for Duet 3 (firmware version 3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Apr 24 2021 22:45:01 GMT-0400 (Eastern Daylight Time)
          
          ; General preferences
          G90                                                   ; send absolute coordinates...
          M83                                                   ; ...but relative extruder moves
          M550 P"MEGADuet3"                                        ; set printer name
          M669 K1                                               ; select CoreXY mode
          
          ; Drives
          M569 P0.0 S0 ;D3                                       ; physical drive 0.0 goes backwards
          M569 P0.1 S0 ;D3                                       ; physical drive 0.1 goes backwards
          M569 P0.2 S1 D3                                       ; extruder drive 0.2 goes forwards 
          M569 P0.3 S1                                          ; Z drive 0.3 goes forwards
          M569 P0.4 S1                                          ; Z drive 0.4 goes forwards
          M569 P0.5 S1                                          ; Z drive 0.5 goes forwards
          ; Added StealthChop2 Config
          M569 P2 H80 V 5                                       ; set stealthchop for extruder
          
          M915 P2 T1
          
          M584 X0.0 Y0.1 E0.2 Z0.5:0.4:0.3                      ; set drive mapping
          M350 X16 Y16 Z16 E16 I1                               ; configure microstepping with interpolation
          M92 X80.00 Y80.00 Z1600.00 E842.58                    ; set steps per mm
          
          M566 X960.00 Y960.00 Z60.00 E1200.00                   ; was 120 set maximum instantaneous speed changes (mm/min)
          M203 X30000.00 Y30000.00 Z1800.00 E3600.00               ; set maximum speeds (mm/min)
          
          M201 X1320.00 Y1320.00 Z100.00 E1260.00                   ; set accelerations (mm/s^2)
          
          
          M906 X1125 Y1125 Z800 E960 I30                        ; set motor currents (mA) and motor idle factor in per cent
          M84 S30                                               ; Set idle timeout
          
          ; Axis Limits
          M208 X0 Y0 Z0 S1                                      ; set axis minima
          M208 X460 Y490 Z550 S0                                ; set axis maxima
          
          ; Endstops
          M574 X1 S1 P"io1.in"                                  ; configure active-high endstop for low end on X via pin io1.in
          M574 Y1 S1 P"io2.in"                                  ; configure active-high endstop for low end on Y via pin io2.in
          
          ; Z-Probe
          M950 S0 C"io7.out"                                    ; create servo pin 0 for BLTouch
          M558 P9 C"^io7.in" H5 F600 T21000                      ; set Z probe type to bltouch and the dive height + speeds
          G31 P500 X28.265 Y0 Z1.44                                   ;org 1.52set Z probe trigger value, offset and trigger height
          M557 X29:460 Y20:480 S50                              ; define mesh grid
          
          ; Heaters
          M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; Original configure sensor 0 as thermistor on pin temp1
          M950 H0 C"out0" T0                                    ; create bed heater output on out0 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
          M307 H0 R0.291 C810.7 D3.58 S1.00 V24.1				  ; set autotune results
          
          M308 S1 P"temp1" Y"pt1000" A"HotEnd"         ; Nova configure sensor 1 as thermistor on pin temp0
          M950 H1 C"out1" T1                                    ; create nozzle heater output on out1 and map it to sensor 1
          M307 H1 R10.708 C289:96.5 D6.6 S1.00 V24.1 ; Nova Manual Doesnt Work
          M143 H1 S280                                          ; was 280 set temperature limit for heater 1 to 280C
          M308 S2 P"temp2" Y"thermistor" T93000 B4345 C0 H0 L0 A"Aluminium"      ; Railcore Test configure sensor 2 as thermistor on pin temp2
          M950 H2 C"out2" T2                                    ; create chamber heater output on out2 and map it to sensor 2
          M307 H2 B1 S1.00                                      ; enable bang-bang mode for the chamber heater and set PWM limit
          M141 H2                                               ; map chamber to heater 2
          M143 H2 S100                                          ; set temperature limit for heater 2 to 100C
          M308 S3 Y"mcu-temp" A"MCU"                            ; configure sensor 3 as thermistor on pin e1temp
          
          ; Fans
          M950 F0 C"out8" Q145                                  ; create fan 0 on pin out4 and set its frequency
          M106 P0 S0 H-1 C"Parts Fan"                                        ; set fan 0 value. Thermostatic control is turned off
          M950 F1 C"out7" Q500                                  ; create fan 1 on pin out7 and set its frequency
          M106 P1 S1 H1 T45 C"HotEnd Fan"                                    ; set fan 1 value. Thermostatic control is turned on
          M950 F2 C"out9" Q500                                  ; create fan 2 on pin out9 and set its frequency
          M106 P2 S1.0 H3 T32 C"Board Fan"                                  ; set fan 2 ON when h3:MCU temp hits 38
          
          ; Tools
          M563 P0 S"HotEnd" D0 H1 F0                            ; define tool 0
          G10 P0 X0 Y0 Z0                                       ; set tool 0 axis offsets
          G10 P0 R0 S0                                          ; set initial tool 0 active and standby temperatures to 0C
          
          ; Custom settings are not defined
          
          ; Miscellaneous
          M575 P1 B57600 S1                                    ; enable support for PanelDue
          M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"    ; set voltage thresholds and actions to run on power loss
          M671 X-39.763:497.655:228.946 Y4.316:4.316:517.526 S50 F1.1  ;Calc from fusion2
          
          ; Tuning
          ;M572 D0 S0.080 ; Set Pressure Advance PLA
          M572 D0 S0.065 ; Set Pressure Advance PETG
          

          I have not yet contacted the vendor as I figured it was something on my end. I have contacted him in the past but it's just one man and takes time for him to respond. I believe he has a facebook group and telegram but I don't have either.

          --Pat
          They say you learn from your mistakes.
          If that were true, I'd be a genius - Me

          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            Will have to wait and see what DC42 has to say about tuning such a powerful hotend heater.

            Z-Bot CoreXY Build | Thingiverse Profile

            PHaveyundefined 1 Reply Last reply Reply Quote 0
            • PHaveyundefined
              PHavey @Phaedrux
              last edited by

              @phaedrux Thank you for your time.

              --Pat
              They say you learn from your mistakes.
              If that were true, I'd be a genius - Me

              deckingmanundefined 1 Reply Last reply Reply Quote 0
              • deckingmanundefined
                deckingman @PHavey
                last edited by deckingman

                @phavey I'd say it's not so much the fact that its a 100 Watt heater, but more that it's very high wattage in relation to the thermal mass of the hot end. The fact that it reaches 240 deg C in 15 seconds means it's pretty insane. Let's see what DC has to say but I think you might struggle taming it. I'm currently running an E3D super volcano (80 Watt) on my experimental 6 input mixing hot end but my thermal mass is probably 10 to 20 times greater than the Nova. A 60 Watt heater or even less would be easier to control and intrinsically safer in the event of a Mosfet failure.

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

                1 Reply Last reply Reply Quote 0
                • PHaveyundefined
                  PHavey
                  last edited by

                  @deckingman I agree with you about the thermal mass and taming it. When it turns on to try to maintain temperature, it inadvertently rises 5-8 deg by the next temperature update onscreen.

                  I'll buy the 60w heater, but I don't want to drop this yet. I would like to learn the reasoning behind why limiting the PWM still didn't work. Obviously I don't have a clear understanding of what the "curve" is looking for.
                  It may not ever work, but I'm still trying different things to get it to work. I'd rather learn from screwing up then to just give up.

                  One thing that just came to mind while re-reading my post. Although Auto Tune could not find a curve at a given PWM, doesn't mean I can't manually set the curve at that PWM. My thoughts are, if I set the M307 with an S value then remeasure my heat rate, I might have something usable. The cooling rate stays the same, I never got a reliable dead time value but those were all at full power.
                  The fact still remains that heater is too powerful and as @deckingman said It could be catastrophic if the mosfet fails.

                  --Pat
                  They say you learn from your mistakes.
                  If that were true, I'd be a genius - Me

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

                    @phavey the reason for the bad model parameters message is that the product of R and C results in a predicted maximum temperature of over 1700C when the heater is left running at full power. The 60W heater would be a much better match for that hot end.

                    If you really want to use the 100W heater with RRF, you will need to do two things:

                    1. Set the M143 temperature limit for that heater very high when giving the M307 command, for example 1400C. You can reduce it again afterwards.

                    2. In the M307 parameters, ensure that the product of R and the first C value does not exceed 1500.

                    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
                    • PHaveyundefined
                      PHavey
                      last edited by

                      @dc42 Thank you for your reply and explanation.

                      I agree with you and @deckingman that 60w would be the way to go. Bigger is not always better. I'm trying to achieve high flow rate and figured "Hey 3 times more watts should do it." I never thought about thermal mass or the lack there of.

                      I will try the a 60w heater. Thank you all who helped.
                      Pat

                      --Pat
                      They say you learn from your mistakes.
                      If that were true, I'd be a genius - Me

                      deckingmanundefined DonStaufferundefined 2 Replies Last reply Reply Quote 0
                      • deckingmanundefined
                        deckingman @PHavey
                        last edited by

                        @phavey The 60 Watt would be a wise choice IMO. Be aware that the melting point of copper is around 1100 Deg C so if DCs calculations are right and it could potentially reach 1700 Deg C then ........

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

                        1 Reply Last reply Reply Quote 0
                        • DonStaufferundefined
                          DonStauffer @PHavey
                          last edited by

                          @PHavey Did you ever get a good PID tuning for the 100W heater? I'm in the same boat now, although the tuning doesn't exactly fail. I get "Warning: heater behaviour was not consistent during tuning". I don't know how much of a problem that is, but nothing has made it go away when I autotune.

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