RFF 3.2b1 Heater over powered message always reports heater 0



  • Not a major issue, but I've noticed that although RRF reports the warning with the correct temperature respectively, it always reports Heater 0.

    M98 P"0:/sys/config.g"
    HTTP is enabled on port 80
    FTP is enabled on port 21
    TELNET is disabled
    Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
    Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 446
    

    Board: Duet 2 WiFi (2WiFi)
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2-beta1 (2020-09-15b1)
    Duet WiFi Server Version: 1.23

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" A"Bed" B4725 C7.06e-8         		; 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 and set PWM frequency to 10hz
    M140 H0 																		; Set bed themp to zero
    M143 H0 S130 A0 C0                                          ; set temperature limit for heater 0 to 130C - fault if too high
    M307 H0 B0 S1                                             ; disable bang-bang mode for the bed heater and set PWM limit & set frequency to 10hz
    M308 S1 P"e0temp" Y"thermistor" A"Nozzle-1" B4725 C7.06e-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
    M143 H1 S280 A0 C0                                          ; set temperature limit for heater 1 to 280C - fault if too high
    M307 H1 B0 S1.0                                             ; disable bang-bang mode for the nozzle heater and set PWM limit
    

  • Moderator



  • @Phaedrux
    Yes, I know why it's doing it and I'm not concerned about that.
    Just reporting that it says heater zero in both cases when I would expect heater zero for bed and heater one for hotend.
    Unless of course it views the hotend as heater zero of tool one zero.


  • Moderator

    I can't see your config.g but if you have M307 parameters in your config.g and then have M501 at the end to load config-override.g and then have another set of M307 in there that would explain why it shows H0 twice.

    Sending M501 to load config-override.g should show the second H0 warning to verify.

    Or if you know there is no M501 in your config then it may be something else. Post your full config.g in that case.



  • M501 isn't active. In fact I deleted config-overide.g to test.

    I had the heater section of config.g above, but here is teh whole thing.

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.4 on Sat Jan 04 2020 09:46:45 GMT+1000 (Australian Eastern Standard Time)
    
    ; General preferences
    G90                                                         ; send absolute coordinates...
    M83                                                         ; ...but relative extruder moves
    M550 P"Flsun_I3_Duet"                                       ; set printer name
    
    ; Network
    M552 S1                                                     ; enable network
    M586 P0 S1                                                  ; enable HTTP
    M586 P1 S1                                                  ; enable FTP
    M586 P2 S0                                                  ; disable Telnet
    
    ; serial comms / Paneldue
    M575 P1 B57600 S1														; set up serial connection to paneldue
    
    
    ; Drives
    M569 P0 S1                                                  ; physical drive 0 goes forwards
    M569 P1 S0                                                  ; physical drive 1 goes backwards
    M569 P2 S1                                                  ; physical drive 2 goes forwards
    M569 P3 S1                                                  ; physical drive 3 goes forwards
    M584 X0 Y1 Z2:4 E3											; two Z motors connected to driver outputs Z and E1
    M671 X-65:255 Y65:65 S5.5 									; leadscrews at left (connected to Z) and right (connected to E1) of X axis
    M350 X16 Y16 Z16 I1                           				; Configure microstepping with interpolation for XYZ
    M350 E16 I1													; Configure microstepping with interpolation for E0
    M92 X100.00 Y100.00 Z400.00                            		; set steps per mm XYZ
    ;M92 E1866 													; Set steps per mm for E0 zesty
    M92 E83.151													; set Z steps for bowden
    ;M566 X800.00 Y800.00 Z40.00 E800.00                          ; set maximum instantaneous speed changes (mm/min)
    ;M203 X12000.00 Y12000.00 Z600.00 E6000.00                  ; set maximum speeds (mm/min)
    ;M201 X800.00 Y800.00 Z40.00 E120.00                        ; set accelerations (mm/s^2)
    
    
    ; axis settings
    M98 P"0:/sys/set_max_speeds.g" ; set all the max speeds in macro as these are adjusted during home moves so we only want to adjust in one spot
    M906 X1100 Y1100 Z1100 E1100 I30                             ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                                     ; Set idle timeout
    
    ; Axis Limits
    M208 X0:200 Y0:198 Z0:180 									; X carriage moves from 0 to 200, Y bed goes from 0 to 198
    
    ; Endstops
    M574 X1 S1 P"xstop"                                         ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop"                                         ; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S2                                                  ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M950 S0 C"exp.heater3"                                      ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H6 F120 T600 A10 S0.03 R0.5 B0         ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X38.5 Y-1 Z0.790                                  	; set Z probe trigger value, offset and trigger height
    M557 X40:180 Y0:180 S20                                    ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" A"Bed" B4725 C7.06e-8         		; 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 and set PWM frequency to 10hz
    M140 H0 																		; Set bed themp to zero
    M143 H0 S130 A0 C0                                          ; set temperature limit for heater 0 to 130C - fault if too high
    M307 H0 B0 S1                                             ; disable bang-bang mode for the bed heater and set PWM limit & set frequency to 10hz
    M308 S1 P"e0temp" Y"thermistor" A"Nozzle-1" B4725 C7.06e-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
    M143 H1 S280 A0 C0                                          ; set temperature limit for heater 1 to 280C - fault if too high
    M307 H1 B0 S1.0                                             ; disable bang-bang mode for the nozzle heater and set PWM limit
    
    ; Servos and input/output
    M950 P5 C"exp.e5_stop" 													; Output 5 uses E5_STOP  pin
    M950 J6 C"exp.e6_stop" 													; Input 6 uses E6_STOP  pin
    
    ; Fans
    M950 F0 C"fan0" Q500                                        ; create fan 0 on pin fan0 and set its frequency
    M106 P0 C"Part_Fan" S0 B2.0 H-1                             ; set fan 0 name and value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500                                        ; create fan 1 on pin fan1 and set its frequency
    M106 P1 C"E0_Fan" S1 H1 B2.0 T45:55                         ; set fan 1 name and value. Thermostatic control is turned on
    M950 F2 C"fan2" Q500                                        ; create fan 2 on pin fan2 and set its frequency
    M308 S2 P"mcu-temp" Y"mcu-temp" A"Duet Board" 					; Configure MCU sensor
    M106 P2 C"Controller_Fan" H2 L0.2 X0.9 B1.2  T38:40    	; set fan 2 value, turn on at 80% if the CPU temperature reaches 38C, and increase to full speed gradually as the temperature rises to 40C
    
    ; Calibrate MCU temp
    M912 P0 S-4																	; Adjust MCU temp reading to match ambient
    
    ; Set PID autotune parameters
    M307 H0 A421.6 C860.4 D14.2 S1.00 V24.0 B0						;set PID values for heater 0 (bed)
    M307 H1 A308.5 C117.3 D4.4 S1.00 V24.0 B0							;set PID values for heater 1 (hotend)
    
    
    ; Tools
    M563 P0 S"Extruder1" 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
    
    ; extrusion
    M302 S160 R110 ; Allow extrusion starting from 180°C and retractions already from 110°C
    
    ; Custom settings
    ;M592 D0 A0.012 B0                                          ; Set non linear extrusion
    ;M207 S1.8 F1800 T1800 Z0.1                                  ; Set retraction
    ;M593 F25                                                   ; cancel ringing at 25Hz
    ;M200 D1.75                                                  ; set all extruder filament diameters to 1.75mm
    M376 H4                                                     ; set bed compensation taper (H10 means taper over 10mm)
    
    ; Miscellaneous
    T0                                                         ; select first tool
    
    ; Power failure recovery
    M911 S22.5 R23.0 P"M42 P5 S0 M106 P0 S0 M913 X0 Y0 G91 M83 G1 Z3 E-2 F1000" ; If power drops below 22v then turn off fans, Set X & Y current to zero, raise head, retract.
    
    ; Set some variables for later re-use
    ; var Bed_Center_Probe_Point_X =move.compensation.probeGrid.xMax-move.compensation.probeGrid.xMin)/2) + move.compensation.probeGrid.xMin - sensors.probes[0].offsets[0]
    ; var Bed_Center_Probe_Point_Y = (move.compensation.probeGrid.yMax-move.compensation.probeGrid.yMin)/2) + move.compensation.probeGrid.yMin - sensors.probes[0].offsets[1]
    
    ;play startup tune
    G4 S6																			; Allow time for PanelDue to start
    M98 P"0:/macros/songs/itchyscratchy.g"								; Play tune
    ;M501 ; load config-overide.g
    
    


  • This certainly looks like a minor bug to me. There are 2 heaters in config.g - heater 0 and heater 1. These error messages show the same heater number (0) but different predicted temperatures so it can't be the same error reported twice.

    Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
    Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 446
    

    Given that the "A" parameter is pretty good indication of the max temperature, and we have ...

    M307 H0 A421.6 C860.4 D14.2 S1.00 V24.0 B0	
    M307 H1 A308.5 C117.3 D4.4 S1.00 V24.0 B0	
    

    ....then it rather looks like the first error "Heater 0" message should say "Heater 1" I'd have thought.


  • Moderator

    With Beta 2 released now, would you be able to test again with that?

    https://github.com/Duet3D/RepRapFirmware/releases/tag/3.2beta2



  • @Phaedrux I did that just before I posted the config.g
    Same result with 3.2b

    It's not causing me any issues.
    I just suspect the firmware isn't reading the heaters array correctly based on the current OM.


  • Moderator

    Thanks for testing.


  • administrators

    You have two M307 H0 commands in config.g. The first one is:

    M307 H0 B0 S1

    I suspect that one is causing the first warning. As you haven't specified the A, C and D parameters, it will use default parameters.

    Please try removing that first M307 command and see if you still get two warnings.



  • @dc42
    Well that's embarrassing.
    I actually had duplicates of both M307 commands.
    I can confirm I only get one error now.


  • administrators

    Thanks for confirming. It's highlighted that the mechanism to use different default M307 parameters when the heater is already configured as a bed or chamber heater isn't working.



  • Out interest Is there a way to suppress the M307 warning ?


  • Moderator

    @CaLviNx said in RFF 3.2b1 Heater over powered message always reports heater 0:

    Out interest Is there a way to suppress the M307 warning ?

    Mea culpa on the T100000. Learn something new every day.

    The M307 warning will not occur if you increase your M143 maximum temp to within close range of the warning temp. However that defeats the point of the max temp limit.



  • @Phaedrux

    we are all human


Log in to reply