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

    Heater fault despite tuning.

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    3
    13
    451
    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.
    • janjohundefined
      janjoh
      last edited by janjoh

      So, I have a delta with a 310mm buildplate, 10mm milled aluminum with a 400W AC heater. The SSR is a genuine brand name far as I know. (Purchased from reputable dealer in Sweden (ELFA))

      After PID tuning to 70C I end up with the following in config-override

      M307 H0 R0.631 K0.296:0.000 D7.54 E1.35 S1.00 B0
      

      I do have M501 in config.g

      The bed heats up as expected initially, but as it approaches the target temperature I do notice the rate of increase dropping, I assume this is expected as the PID would be backing of the power. (If I set the bed to BangBang it shoots past the target without looking back, so I say that the heater has enough power)

      Then I get the "Temp rising to low. Expected 0.4C/s, Observed 0.02C/s" message (Not word for word, as I am quoting from memory)

      I have redone the tune a few time, making sure that I go from ambient (yes, I have let the bed 'rest' overnight before each attempt)

      Looking in the forum, it seem the main advice is "Select a proper frequency for your SSR" and I believe that 10Hz should be reasonable. I have also tried both 2Hz, 50Hz and 1000Hz. Yes, I know how AC and SSR works, yes 1000Hz was a typo as I was aiming to try 100Hz 😉 )

      If I just reset the heater fault and resume, it operates as expected.

      What could I do to fix this issue?

      My heaters are defined like this.

      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4400 R4700              ;  Orignal was 3950, but curve did not match, actual temp was too low. configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0 Q10                                      ; 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" C7.060000e-8 B4725  ; configure sensor 1 as thermistor on pin e0temp (E6Extruder)
      M308 S1 P"e0temp" Y"thermistor" T100000 B4680 C6.455513e-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
      M307 H1 B0 S1.00                                                  ; disable bang-bang mode for heater  and set PWM limit
      M308 S2 Y"drivers" A"DRIVERS"                                     ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
      M308 S3 Y"mcu-temp" A"MCU"                                        ; configure sensor 3 MCU Temp
      
      
      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @janjoh
        last edited by droftarts

        @janjoh See https://docs.duet3d.com/en/User_manual/Connecting_hardware/Heaters_tuning#manual-adjustments-to-the-heater-model-parameters

        Most likely, the auto tune algorithm hasn't quite got the tuning correct, usually because the heating rate is a bit different between initial heat up and staying at temperature. So you may need to manually adjust the settings. Most likely:

        If during initial heating the temperature undershoots the target:

        • RRF 3.3 and later: reduce the R parameter by 5% or 10%

        You haven't posted the config-override.g, so I don't know the setting you are actually using. Open config-override.g, copy the M307 line for the heated bed, paste it into the console, adjust the R parameter, press return to send the Gcode, then send M500 to save this new setting to config-override.g, then test to see if there is an improvement.

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        janjohundefined 1 Reply Last reply Reply Quote 0
        • jay_s_ukundefined
          jay_s_uk @janjoh
          last edited by

          @janjoh what firmware version are you running?

          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

          janjohundefined 1 Reply Last reply Reply Quote 0
          • janjohundefined
            janjoh @jay_s_uk
            last edited by

            @jay_s_uk Ah, sorry for missing that bit.

            Same behaviour in 3.5.3 and 3.6.0-beta.1

            droftartsundefined 1 Reply Last reply Reply Quote 0
            • droftartsundefined
              droftarts administrators @janjoh
              last edited by droftarts

              @janjoh See https://docs.duet3d.com/en/User_manual/Connecting_hardware/Heaters_tuning#manual-adjustments-to-the-heater-model-parameters

              Most likely, the auto tune algorithm hasn't quite got the tuning correct, usually because the heating rate is a bit different between initial heat up and staying at temperature. So you may need to manually adjust the settings. Most likely:

              If during initial heating the temperature undershoots the target:

              • RRF 3.3 and later: reduce the R parameter by 5% or 10%

              You haven't posted the config-override.g, so I don't know the setting you are actually using. Open config-override.g, copy the M307 line for the heated bed, paste it into the console, adjust the R parameter, press return to send the Gcode, then send M500 to save this new setting to config-override.g, then test to see if there is an improvement.

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              janjohundefined 1 Reply Last reply Reply Quote 0
              • janjohundefined
                janjoh @droftarts
                last edited by

                @droftarts My config override line is in my orginal post?

                But here is the full file

                ; config-override.g file generated in response to M500 at 2024-10-27 16:11
                ; This is a system-generated file - do not edit
                ; Delta parameters
                M665 L360.200:360.200:360.200 R179.731 H452.215 B150.0 X-0.440 Y-0.372 Z0.000
                M666 X-1.338 Y-0.148 Z1.486 A0.60 B0.18
                ; Heater model parameters
                M307 H0 R0.631 K0.296:0.000 D7.54 E1.35 S1.00 B0
                M307 H1 R2.825 K0.402:0.000 D7.27 E1.35 S1.00 B0 V24.2
                ; Workplace coordinates
                G10 L2 P1 X0.00 Y0.00 Z0.00
                G10 L2 P2 X0.00 Y0.00 Z0.00
                G10 L2 P3 X0.00 Y0.00 Z0.00
                G10 L2 P4 X0.00 Y0.00 Z0.00
                G10 L2 P5 X0.00 Y0.00 Z0.00
                G10 L2 P6 X0.00 Y0.00 Z0.00
                G10 L2 P7 X0.00 Y0.00 Z0.00
                G10 L2 P8 X0.00 Y0.00 Z0.00
                G10 L2 P9 X0.00 Y0.00 Z0.00
                
                
                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @janjoh
                  last edited by

                  @janjoh said in Heater fault despite tuning.:

                  My config override line is in my orginal post?

                  Oh, sorry, yes it is! Try:

                  M307 H0 R0.6 K0.296:0.000 D7.54 E1.35 S1.00 B0 
                  

                  (R has reduced by 5% from 0.631 to 0.6)

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  janjohundefined 2 Replies Last reply Reply Quote 0
                  • janjohundefined
                    janjoh @droftarts
                    last edited by

                    @droftarts Thank you. Will try after current printing batch.

                    Also, from where is that advice to reduce by 5-10%? I honesrtly thought that I had done my homework.

                    droftartsundefined 1 Reply Last reply Reply Quote 0
                    • droftartsundefined
                      droftarts administrators @janjoh
                      last edited by

                      @janjoh said in Heater fault despite tuning.:

                      Also, from where is that advice to reduce by 5-10%? I honesrtly thought that I had done my homework.

                      See the link in my earlier post.

                      https://docs.duet3d.com/en/User_manual/Connecting_hardware/Heaters_tuning#manual-adjustments-to-the-heater-model-parameters

                      Ian

                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                      janjohundefined 1 Reply Last reply Reply Quote 0
                      • janjohundefined
                        janjoh @droftarts
                        last edited by

                        @droftarts Thank you. Not sure how I managed to NOT see that one.

                        1 Reply Last reply Reply Quote 0
                        • janjohundefined janjoh has marked this topic as solved
                        • janjohundefined
                          janjoh @droftarts
                          last edited by

                          @droftarts even a 10% diff lands me with

                          Heater 0 fault: temperature rising too slowly: expected 0.39°C/sec measured 0.09°C/sec

                          droftartsundefined 1 Reply Last reply Reply Quote 0
                          • droftartsundefined droftarts has marked this topic as unsolved
                          • droftartsundefined
                            droftarts administrators @janjoh
                            last edited by

                            @janjoh Can you reset the board, then send M307 H0 from the console to show what the firmware thinks the heater PID is?

                            Did it get closer to the target temperature before faulting? If possibly, can you post a screenshot from DWC of the heater curve as it heats from cold until it faults?

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            janjohundefined 2 Replies Last reply Reply Quote 0
                            • janjohundefined
                              janjoh @droftarts
                              last edited by janjoh

                              @droftarts A tad closer I'd say (with 10% reduction)

                              Here is the M307

                              M307 H0
                              Heater 0: heating rate 0.570, cooling rate 0.296, dead time 7.54, max PWM 1.00, mode PID
                              Predicted max temperature rise 162°C
                              PID parameters: heating P41.5 I0.783 D219.2, steady P41.5 I1.821 D219.2
                              

                              If I set the bed to heat from cold to (95C) is happily rockets past 70. So, it does seem to be something with the parameters.

                              After having read the doc you linked, I did do a significant bump of firmware a while back. When 3.5 was released, I did go from 3.2 -> 3.5

                              So, whatever changed in 3.2 - 3.4, I have not experienced.

                              1 Reply Last reply Reply Quote 0
                              • janjohundefined
                                janjoh @droftarts
                                last edited by

                                @droftarts Dropping R down to 480 allows me (so far) reliable initial heating, with only about 0.8C overshoot on the initial run to 70C. That is fully acceptable for me.

                                So, thank you for pointing me into the proper direction. 🙂

                                1 Reply Last reply Reply Quote 1
                                • janjohundefined janjoh has marked this topic as solved
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA