Problems after tuning bed - Error: Heater 0 fault:



  • 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
    



  • Moderator

    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?



  • @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.



  • 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
    


  • 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
    
    
    
    


  • @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


  • Moderator

    @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.



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

    I have now the exact same issue.


  • Moderator

    @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.


Log in to reply