• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    nick9one1
    last edited by 7 Sept 2020, 22:56

    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
    • undefined
      Veti
      last edited by 8 Sept 2020, 04:32

      try increasing the D value.

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

      1 Reply Last reply Reply Quote 0
      • undefined
        Phaedrux Moderator
        last edited by 8 Sept 2020, 05:19

        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

        undefined 1 Reply Last reply 8 Sept 2020, 08:25 Reply Quote 0
        • undefined
          nick9one1 @Phaedrux
          last edited by nick9one1 9 Aug 2020, 08:25 8 Sept 2020, 08:25

          @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
          • undefined
            nick9one1
            last edited by 8 Sept 2020, 09:25

            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
            • undefined
              nick9one1
              last edited by nick9one1 9 Aug 2020, 09:39 8 Sept 2020, 09:32

              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
              • undefined
                nick9one1
                last edited by 8 Sept 2020, 09:50

                @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

                undefined 1 Reply Last reply 8 Sept 2020, 20:47 Reply Quote 0
                • undefined
                  Phaedrux Moderator @nick9one1
                  last edited by 8 Sept 2020, 20:47

                  @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
                  • undefined
                    gruen
                    last edited by 19 Sept 2020, 09:41

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

                    I have now the exact same issue.

                    undefined 1 Reply Last reply 19 Sept 2020, 21:23 Reply Quote 0
                    • undefined
                      Phaedrux Moderator @gruen
                      last edited by 19 Sept 2020, 21:23

                      @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