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

    3.2 heater tuning issues

    Scheduled Pinned Locked Moved
    Beta Firmware
    5
    40
    1.6k
    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.
    • matt3oundefined
      matt3o
      last edited by Phaedrux

      I'm switching a printer from a duet2 wifi to a duet 3 and the bed thermistor is giving me a hard time.

      I have a 400x400 bed, 1000W silicone heater connected directly to AC and a relay to drive it.

      On the duet2wifi I use this and have no problem

      M305 P0 S"Bed" T100000 B3950 R4700
      M307 H0 A301.3 C836.5 D0.9 B1
      

      on the duet3 I'm using

      M308 S0 P"temp0" Y"thermistor" T100000 B3950
      M950 H0 C"out1" T0 Q10
      

      By default the reading is off at ambient temperature by about +20°C. I'm using "out1" which is rather overkill for the relay (I'm on 24v) but I guess it's okay.

      The calibration of temp0 gave me H-8 L0.

      I ran the the PID tuning on the duet3, it took almost an hour (which is weird since it was pretty fast on the duet 2) and ended with a warning (heater behaviour was not consistent during tuning).

      If I try to heat the bed I get a "Heater 0 fault: temperature rising much more slowly".

      Goes without saying it is working without issue on the duet2wifi.

      Ideas?

      Vetiundefined 1 Reply Last reply Reply Quote 0
      • Vetiundefined
        Veti
        last edited by

        did you save those reported values in the config?

        matt3oundefined 1 Reply Last reply Reply Quote 0
        • matt3oundefined
          matt3o @Veti
          last edited by

          @Veti said in from duet 2 to duet 3 bed temp issues:

          did you save those reported values in the config?

          yes of course, sorry if I haven't mentioned that

          1 Reply Last reply Reply Quote 0
          • Vetiundefined
            Veti
            last edited by

            are you already running 3.2 with the new tuning algorithm?

            matt3oundefined 1 Reply Last reply Reply Quote 0
            • matt3oundefined
              matt3o @Veti
              last edited by

              @Veti yes, I'm on the latest dev build

              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • Vetiundefined
                Veti @matt3o
                last edited by

                modules:composer.user_said_in, @matt3o, from duet 2 to duet 3 bed temp issues

                M307 H0 A301.3 C836.5 D0.9 B1

                well you were not using pwm on the old setup.
                you were using bang bang (B1)

                1 Reply Last reply Reply Quote 0
                • matt3oundefined
                  matt3o
                  last edited by matt3o

                  I actually tried both on the duet2 and it works as expected with any of the two.

                  ps: I'll try to change in and out for temp sensor and relay.

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

                    @matt3o said in from duet 2 to duet 3 bed temp issues:

                    @Veti yes, I'm on the latest dev build

                    What version specifically? 3.2 final is out now, so should be using that.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    matt3oundefined 1 Reply Last reply Reply Quote 0
                    • matt3oundefined
                      matt3o @Phaedrux
                      last edited by

                      @Phaedrux thanks for the heads-up. I made an update a couple of days ago. I'm away from the printer so I can't check but I believe it was RC2. I'll try to upgrade to the final version if I don't have it already and try again.

                      1 Reply Last reply Reply Quote 0
                      • matt3oundefined
                        matt3o
                        last edited by

                        okay, upgraded to Final 3.2.0. Repeated the whole process of calibration. After a hard reboot (a reset was not sufficient), the sensor is reading correct ambient temp (20°C, it's a bit chilly in the basement)... But I still get Heater 0 fault every time.

                        The only way to print is to preheat the bed, let it fail, reset and run the print. That way it is heating from about 40C to 60C and it doesn't fail.

                        On the duet2 (not upgraded to 3.x) it had no issues and it was really fast to warm up. The hotend too seems a little slower to be honest but that doesn't fail at least.

                        Ideas? I must say this duet3 is giving me real headache.

                        deckingmanundefined 1 Reply Last reply Reply Quote 0
                        • Vetiundefined
                          Veti
                          last edited by

                          can you post your entire config?

                          and the new pid tuning values that you are using on the duet 3?

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

                            @matt3o Do you have the correct values for the thermistor? Have you taken note of the release notes https://github.com/Duet3D/RepRapFirmware/blob/v3-dev/WHATS_NEW_RRF3.md. Is there anything in there that you need to do?

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

                            matt3oundefined 1 Reply Last reply Reply Quote 0
                            • matt3oundefined
                              matt3o @deckingman
                              last edited by matt3o

                              @deckingman yes, everything's fine. I just contacted the manufacturer who confirmed the thermistor config.

                              I've read this lengthy thread https://forum.duet3d.com/topic/20763/how-to-use-the-new-heater-tuning-algorithm-on-3-2/16

                              I thought the problem was from duet2 to duet3, but it's probably because of the new firmware (sorry if I opened a new thread). I see others have my same issue especially with larger heatbeds... so at least I don't feel completely dumb.

                              I'm now waiting for it to completely cool-down and try another calibration and I'll post the tuning values together with the full config.

                              Thanks all for your help.

                              1 Reply Last reply Reply Quote 0
                              • matt3oundefined
                                matt3o
                                last edited by

                                Don't know what else to do. Basically now I'm preheating to 45C and then I can run the print.

                                Auto tuning says

                                Auto tuning heater 0 completed after 10 idle and 25 tuning cycles in 3226 seconds. This heater needs the following M307 command:
                                 M307 H0 R0.730 C670.5 D4.05 S1.00 V24.1
                                

                                My config (some values are still work in progress). Hope you can find something wrong

                                ;                        _ _     
                                ;  ___ ___ ___ ___ ___ _| | |___
                                ; |  _| . |  _| -_|- _| | | | . |
                                ; |___|___|_| |___|___|_|_|_|_|_|
                                ;                               
                                ; Duet 3 Configuration file
                                ;
                                
                                
                                ; General preferences
                                ; --------------------------------------------------
                                
                                G90                                            ; send absolute coordinates...
                                M83                                            ; ... but relative extruder moves
                                M550 P"corezilla"                              ; set printer name
                                M669 K1                                        ; select CoreXY mode
                                
                                
                                ; Drives
                                ; --------------------------------------------------
                                
                                M569 P0.0 S0                                   ; XY 1
                                M569 P0.1 S0                                   ; XY 2
                                M569 P0.2 S0                                   ; Z 1
                                M569 P0.3 S0                                   ; Z 2
                                M569 P0.4 S0                                   ; Z 3
                                M569 P20.0 S1                                  ; 1st Extruder on toolboard
                                M584 X0.1 Y0.0 Z0.2:0.3:0.4 E20.0              ; set drive mapping
                                
                                M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
                                M92 X160.00 Y160.00 Z1600.00 E830.00           ; set steps per mm
                                M906 X1400 Y1400 Z1200 E350 I60                ; set motor currents (mA) and motor idle factor
                                M84 S30                                        ; Set idle timeout
                                
                                M566 X720.00 Y720.00 Z15.00 E120.00            ; set maximum instantaneous speed changes (jerk) (mm/min)
                                M203 X11400.00 Y11400.00 Z600.00 E1200.00      ; set maximum speeds (mm/min)
                                M201 X4800.00 Y4800.00 Z20.00 E200.00          ; set accelerations (mm/s^2)
                                M593 F36                                       ; Dynamic Acceleration Adjustment
                                
                                ; Axis Limits
                                ; --------------------------------------------------
                                
                                M208 X0 Y0 Z0 S1                               ; set axis minima
                                M208 X410 Y410 Z370 S0                         ; set axis maxima
                                
                                ; Leadscrews location
                                M671 X-37.4:192.4:422.2 Y340.0:-34.1:340.0 S25
                                
                                ; Endstops
                                M574 X1 S3                                     ; configure sensorless endstop for low end on X
                                M574 Y1 S3                                     ; configure sensorless endstop for low end on Y
                                
                                
                                ; Z-Probe
                                ; --------------------------------------------------
                                
                                M558 P8 C"^20.io0.in" H20 F120 T6000           ; set Z probe type to switch and the dive height + speeds
                                G31 P500 X0 Y0 Z22.85                          ; set Z probe trigger value, offset and trigger height
                                M557 X20:370 Y20:370 S50                       ; define mesh grid
                                
                                
                                ; Heaters
                                ; --------------------------------------------------
                                
                                ; bed
                                M308 S0 P"temp0" Y"thermistor" T100000 B3950   ; configure sensor 0 as thermistor on pin temp0
                                M950 H0 C"out1" T0 Q10                         ; create bed heater output on out1 and map it to sensor 0
                                M307 H0 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
                                M307 H0 R0.730 C670.5 D4.05 S1.00              ; PID tuning
                                M140 H0                                        ; map heated bed to heater 0
                                M143 H0 S120                                   ; set temperature limit for bed heater
                                
                                ; 1st tool
                                ;M308 S1 P"20.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 1.temp0 (E3D)
                                M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.196220e-7 R4700 H6 L0 ; configure sensor 1 as thermistor on pin 1.temp0 (Slice)
                                M950 H1 C"20.out0" T1                          ; create nozzle heater output on 1.out0 and map it to sensor 1
                                M307 H1 B0 S1.00                               ; disable bang-bang mode for heater and set PWM limit
                                M143 H1 S320                                   ; set temperature limit for hotend
                                
                                
                                ; Fans
                                ; --------------------------------------------------
                                
                                M950 F0 C"20.out1" Q500                        ; create fan 0 on toolboard out1
                                M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
                                M950 F1 C"20.out2" Q500                        ; create fan 1 on toolboard out2
                                M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
                                
                                
                                ; Tools
                                ; --------------------------------------------------
                                
                                M563 P0 S"mosquito" 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
                                
                                1 Reply Last reply Reply Quote 0
                                • Vetiundefined
                                  Veti
                                  last edited by Veti

                                  can increase the dead time by 10 seconds D14 and try heating

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

                                    I'm a little confused. The tuning appears to have succeeded. Did you save the results with M500? Have you then added M501 to the end of config.g to load the saved results at boot? Have you used that M307 command that it suggests?

                                    Nevermind, I see you've copied the values to the config. In which case, are you sure that config-override.g isn't getting run and maybe overriding your values from config.g? If the file exists, and you're not using it, delete it.

                                    If it still errors out when using that M307, increasing the dead time as Veti suggests may help.

                                    It's a very large bed (400mm^2), but also a very large heater (1000w), so I'm not surprised it has a low dead time. So if the thermistor is directly in contact with the heater it will register the heat up quite quickly, but the large bed mass will still take a long time to saturate with heat.

                                    Can you confirm with M115 that firmware 3.2 has been installed?
                                    Can you send M98 P"config.g" and report any errors?

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    matt3oundefined 1 Reply Last reply Reply Quote 0
                                    • matt3oundefined
                                      matt3o @Phaedrux
                                      last edited by

                                      @Phaedrux yes, the tuning succeeded but still I get the error when printing (didn't happen with the duet2). I have no config-override.g.

                                      M115
                                      FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.2 ELECTRONICS: Duet 3 MB6HC v1.01 or later FIRMWARE_DATE: 2021-01-05
                                      

                                      M98 P"config.g" does not report any error.

                                      I'll try increasing the dead time as @Veti suggests. Thanks!

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

                                        If that doesn't help I'll see what DC42 suggests. The new algorithm is quite new afterall.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        matt3oundefined 1 Reply Last reply Reply Quote 1
                                        • matt3oundefined
                                          matt3o @Phaedrux
                                          last edited by matt3o

                                          @Phaedrux I tried increasing the dead time (by 5 each time up to 20) but still "Error: Heater 0 fault: temperature rising much more slowly than the expected 0.4°C/sec". I'll try to put some crazy high value (100?), but I have to wait for the plate to reach ambient temp and it takes an hour every time 🔥

                                          It's weird because I get the error always at around 50C. I guess it's very fast to go from 20 to 50 and being such a big bed it slows down dramatically from 50 to 60... maybe I should do the calibration when the bed is already at around 45?

                                          Edit: nope, it seems the calibration cycles between 50C and 60C 20+ times, so it can't be it. What I noticed is that each time I run the calibration the values for M307 are "substantially" different.

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

                                            @matt3o I've have a bed very similar to yours (400x400mm). Mine is 10mm thick with 12mm semi-rigid insulation under it but has a slightly less powerful mains heater (800Watt IIRC). The temperature sensor is located in a deep 3mm dia hole in the side of the bed, as close to the top surface (and as far away from the heat pad) as possible.

                                            Looking at my config.g, I last tuned that heater on 6th Auguest 2019 so that would have been with gen 3 but an older firmware. Here is what I have

                                            M307 H0 A230.8 C2252.5 D20.3 S1.00 B0 V27.3 ; auto tune 06/08/2019
                                            

                                            I've just "upgraded" to 3.2. I'll try tuning that heater later today and let you know how I get on and what values I end up with. (From what I've seen on these forums, I'm dreading what will happen............).

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

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