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

    Problems after tuning bed - Error: Heater 0 fault:

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    10
    497
    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.
    • nick9one1undefined
      nick9one1
      last edited by

      I have an 8mm bed with a 750W 240V SSR driven heater.

      I've drilled a hole 20mm into the edge of the bed for a probe and secured it with heatsink plaster.

      A PID tune runs successfully, but when heating the bed normally I get an error;

      Error: Heater 0 fault: temperature rising much more slowly than the expected 1.7°C/sec
      

      My PID looks like This;

      M307 H0 A501.1 C1438.4 D13.4 V24 B0	       ; Set PID for heated bed values
      
      1 Reply Last reply Reply Quote 0
      • Vetiundefined
        Veti
        last edited by

        try increasing the D value.

        see
        https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control

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

          I'm surprised the PID tune succeeds but still gives an error. Are you sure you saved the results with M500 and then added M501 to the end of config.g to load the tuned values at startup?

          Z-Bot CoreXY Build | Thingiverse Profile

          nick9one1undefined 1 Reply Last reply Reply Quote 0
          • nick9one1undefined
            nick9one1 @Phaedrux
            last edited by nick9one1

            @Phaedrux Yes, I Didn't use M500, but followed these instructions instead;

            After you have run auto tuning and checked that the heater control is working well, run M500 to save the heater parameters in config-override.g (this is supported in firmware 1.17 and later). Alternatively, construct a M307 command with the model parameters and add it to config.g. For example, if after tuning you run M307 H0 and see this:

            M307 H0
            Heater 0 model: gain 199.0, time constant 962.6, dead time 4.5, max PWM 1.00, calibration voltage 12.3
            

            then you should add the following to config.g to preserve this model:

            M307 H0 A199.0 C962.6 D4.5 V12.3 B0
            

            I will run the tune again and do it with the M500 command in case I made a mistake.

            1 Reply Last reply Reply Quote 0
            • nick9one1undefined
              nick9one1
              last edited by

              09:50:27Auto tune heater 0 completed in 1463 sec
              Use M307 H0 to see the result, or M500 to save the result in config-override.g
              09:28:35Auto tune phase 3, peak temperature was 63.5
              09:28:15Auto tune phase 2, heater off
              09:26:09Auto tune phase 1, heater on
              09:26:04M303 H0 S60
              Auto tuning heater 0 using target temperature 60.0°C and PWM 1.00 - do not leave printer unattended
              
              10:22:09M307 H0
              Heater 0 model: gain 504.5, time constant 1423.0, dead time 12.8, max PWM 1.00, calibration voltage 24.0, mode PID
              Computed PID parameters for setpoint change: P39.2, I0.290, D352.5
              Computed PID parameters for load change: P39.2, I0.827, D352.5
              

              M500;

              M307 H0 A504.5 C1423.0 D12.8 S1.00 V24.0 B0
              

              this was my old tune;

              M307 H0 A501.1 C1438.4 D13.4 V24 B0
              
              1 Reply Last reply Reply Quote 0
              • nick9one1undefined
                nick9one1
                last edited by nick9one1

                then I reboot and try to heat the bed;

                10:30:05Error: Heater 0 fault: temperature rising much more slowly than the expected 1.7°C/sec
                10:29:49M140 S60
                

                Full config;

                ; Configuration file for Duet WiFi (firmware version 3)
                ; executed by the firmware on start-up
                ;
                ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Sep 05 2020 23:57:30 GMT+0100 (British Summer Time)
                
                ; General preferences
                M80					       ; Turns on the ATX power supply
                G90                                            ; send absolute coordinates...
                M83                                            ; ...but relative extruder moves
                M550 P"BLV MGN Cube"                           ; set printer name
                M669 K1                                        ; select CoreXY mode
                
                ; Network
                M552 S1                                        ; enable network
                M587 S"your_wifi_name" P"your_password"        ; Configure access point. You can delete this line once connected
                M586 P0 S1                                     ; enable HTTP
                M586 P1 S0                                     ; disable FTP
                M586 P2 S0                                     ; disable Telnet
                
                ; Drives
                M569 P0 S0                                     ; physical drive 0 goes backwards
                M569 P1 S1                                     ; physical drive 1 goes forwards
                M569 P2 S1                                     ; physical drive 2 goes forwards
                M569 P3 S0                                     ; physical drive 3 goes backwards
                M584 X0 Y1 Z2 E3                               ; set drive mapping
                M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
                M92 X200.00 Y200.00 Z800.00 E405.18            ; set steps per mm
                M566 X600.00 Y600.00 Z24.00 E300.00            ; set maximum instantaneous speed changes (mm/min)
                M203 X20000.00 Y20000.00 Z600.00 E2000.00      ; set maximum speeds (mm/min)
                M201 X3000.00 Y3000.00 Z100.00 E5000.00        ; set accelerations (mm/s^2)
                M906 X1000 Y1000 Z1000 E800 I30               ; set motor currents (mA) and motor idle factor in per cent
                M84 S30                                        ; Set idle timeout
                
                ; Pressure advance
                ; M572 D0 S0.05	
                
                ; Axis Limits
                M208 X-23 Y-12 Z0 S1                           ; set axis minima
                M208 X305 Y305 Z350 S0                         ; set axis maxima
                
                ; Endstops
                M564 H0					       ; allow jog without homing
                M574 X1 S1 P"xstop"                            ;
                M574 Y2 S1 P"ystop"                            ;
                M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
                
                ; Z-Probe
                M558 P1 H5 C"^zprobe.in" H5 F200 T9000 I0 R0.5 ; set Z probe type to switch and the dive height + speeds
                G31 P500 X-2 Y-16.4 Z1.13                      ; set Z probe trigger value, offset and trigger height
                M557 X10:292 Y5:300 P4:4                       ; define mesh grid
                M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0       ; Set PID for hotend values
                M307 H0 A504.5 C1423.0 D12.8 S1.00 V24.0 B0    ; Set PID for heated bed values
                ; Heaters
                M308 S0 P"bedtemp" Y"thermistor"T100000 B3950 C0 R4700 A"Bed Temp"  	; 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 B1 S1.00                               				; enable bang-bang mode for the bed heater and set PWM limit
                M140 H0                                        				; map heated bed to heater 0
                M143 H0 S100                                   				; set temperature limit for heater 0 to 120C
                M308 S1 P"e0temp" Y"thermistor" T100000 B3950 C0 R4700 A"Hotend Temp"   ; 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
                M143 H1 S260                              
                
                ; Fans
                M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
                M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
                M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
                M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
                
                ; Tools
                M563 P0 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
                • nick9one1undefined
                  nick9one1
                  last edited by

                  @nick9one1 said in Problems after tuning bed - Error: Heater 0 fault::

                  M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

                  Noticed a second M307 command later in the config;
                  M307 H1 B0 S1.00
                  deleted this and now the bed seems to heat ok

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

                    @nick9one1 That's why I prefer leaving it in config-override.g and adding M501 to the end of config.g that way it's loaded after everything else in config.g. Copy and paste means I have to make sure I don't have another command afterwards that might overrule it.

                    Glad you got it sorted out.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 1
                    • gruenundefined
                      gruen
                      last edited by

                      config-override.g doesn't override anymore the M307 H1 B0 S1.00

                      I have now the exact same issue.

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

                        @gruen said in Problems after tuning bed - Error: Heater 0 fault::

                        config-override.g doesn't override anymore the M307 H1 B0 S1.00

                        I have now the exact same issue.

                        Please start a new thread.

                        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