Hotend heater "off"



  • I've suddenly gotten the problem that my hotend heater goes to "off" and then the printer won't run a toolchange because the temp is to low. Which of course it is since it the heater has turned "off". Is it possible to downright disable the "off" state and just have "active" and "standby"?

    I can't for the life of me get the machine to heat at all.

    For reference i'm running RRF 3.2-beta4.1.


  • Moderator

    Can you post your tool change files and sequence of macros?



  • Sure, they have been working flawlessly since before i updated to 3.2. b4.1 (was running b4) befor that.

    ; tfree0.g
    ; Called when tool 0 is freed
    ; Tuned for a Mosquito hotend with MM adapter
    ;
    ; Rectraction
    M98 P"CurrentsPrint.g"   ; Call Macro/Subprogram
    ;
    ; Unload hotend
    M83                      ; Set extruder to relative mode
    G1 E-5.00 F2000          ; Rapid retract
    G4 P100.00               ; Cooling period
    G1 E-20.00 F1500         ; Long retract (30mm på 3-1 adapter)
    G1 E-25.00 F1500         ; Move to cooling moves location
    ;
    ; Cooling moves
    G1 E5.00 F1000           ; Extrude 5mm filament
    G1 E-5.00 F1000          ; Retract 5mm filament
    G1 E5.00 F1600           ; Extrude 5mm filament
    G1 E-5.00 F2000          ; Retract 5mm filament
    G1 E5.00 F2000           ; Extrude 5mm filament
    G1 E-5.00 F2000          ; Retract 5mm filament
    G1 E5.00 F2000           ; Extrude 5mm filament
    G1 E-5.00 F2000          ; Retract 5mm filament
    M98 P"CurrentsNormal.g"  ; Call Macro/Subprogram
    ;
    ;Unload filament
    M702                     ; Unload the previously loaded filament
    ;
    ; Turn off filament monitor
    M591 D0 P1 C"e0stop" S0  ; Extruder 0 filament sensor: disabled
    
    ; tpost0.g
    ; Called after tool 0 has been selected
    ; Tuned for a Mosquito hotend with MM adapter
    ;
    ; Wait For Print Temperature
    M116 P0                  ; Waits for temperatures associated with tool 0 to arrive at their set values
    ;
    ; Turn on filament monitor
    M591 D0 P1 C"e0stop" S1  ; Extruder 0 filament sensor: enabled
    ;
    ; Set firmware retraction paramaters
    M98 P"FWretraction.g"     ; Call Macro/Subprogram
    ;
    ; Load filament
    M98 P"CurrentsPrint.g"   ; Call Macro/Subprogram
    G1 E9.00 F1500           ; Prime, part 1
    G1 E37.00 F3000          ; Prime, part 2 (47mm på 3-1 adapter)
    G1 E4.00 F1500           ; Prime, part 3
    ;
    ; Unretract filament
    G11                      ; Unretract 
    
    ; tpre0.g
    ; Called before tool 0 is selected
    

    My start gcode looks like this (snapped up from the print that i just tried to run):

    ;TYPE:Custom
    ; custom gcode: start_gcode
    ; Start G-code: START
    M98 P"PrintStart.g" ; Call Macro/Subprogram
    M140 S70 ; Set first layer bed temperature
    M116 H0 S20 ; Waits for the bed to reach its temperature +-20 degC
    G0 X0 Y0 Z0.3 ; Move X/Y0 & Z0.3
    G10 P0 R275 S275    ; Set active and standby Purge line temps for T0
    M116 P0 ; Waits for T0 to reach its temperature
    T0 ; Select T0
    M98 P"PrintPurge.g" ; Call Macro/Subprogram
    G10 P0 R270 S270    ; Set active and standby first layer temps for T0
    M116 P0 ; Waits for T0 to reach its temperature
    ; Start G-code: END
    ; custom gcode end: start_gcode
    G21 ; set units to millimeters
    G90 ; use absolute coordinates
    M83 ; use relative distances for extrusion
    ; custom gcode: start_filament_gcode
    ; Filament specific start G-code: START
    M701 S"CPE" ; Load filament for the active tool
    M703 ; Load filament config.g fof the selected filament
    ; Filament specific start G-code: END
    ; custom gcode end: start_filament_gcode
    ;LAYER_CHANGE
    ;Z:0.2
    ;HEIGHT:0.2
    ; custom gcode: before_layer_gcode
    ; Before layer change G-code: START
    G92 E0.0 ; Zero the extruded length
    ; Layer number 0 
    ; Before layer change Z-height was 0mm
    ; Before layer change G-code: END
    ; custom gcode end: before_layer_gcode
    

    The macros look like:

    ; PrintStart.g
    ; Called when starting a print
    ; Used to configure print parameters
    ;
    G21 ; set units to millimeters
    G90 ; use absolute coordinates
    M83 ; use relative distances for extrusion
    G28 X Y ; Home X & Y axis
    G28 Z ; Home Z axis
    M561 ; Clear any bed transform that might be in place  
    G29 S1 ; Load & turn on bed height map
    M593 F43 ; Cancel ringing at 43Hz
    M376 H5 ; Set bed compensation taper to 5mm
    M204 P400 T3000 ; Set printing and travel accelerations (mm/s²)
    M98 P"CurrentsPrint.g" ; Call Macro/Subprogram
    
    ; PrintPurge.g
    ; Called when starting a print
    ; Used to purge the nozzle
    ;
    G92 E0.0 ; Zero the extruded length
    G0 Z0.3 ; Lift bed to nozzle -0.3mm
    G1 X164 E50 F400 ; Extrude 50mm of filament in a 164mm long line
    G92 E0.0 ; Zero the extruded length
    G10 ; Retract
    G1 X160 F4000 ; Quickly wipe away from the filament line
    
    ; FWretraction.g
    ; Called when "M98 P"FWretracton.g"" is sent 
    ; Used to set default firmware retraction length, extra un-retract lenght, retract speed, unretract speed & zlift 
    ;
    M207 S3.000 R0 F3600 T3600 Z0.100 ; Set firmware retraction length, extra un-retract lenght, retract speed, unretract speed & zlift
    
    ; CurrentsPrint.g
    ; Called when printing*
    ; Used to set motor currents for printing
    ;
    M913 X85 Y85 Z85 E85	 ; Set X Y Z E motors to x% of their max current
    

    And my end code looks like:

    ;TYPE:Custom
    ; custom gcode: end_filament_gcode
    ; Filament specific end G-code: START
    ; Filament specific end G-code: END 
    ; custom gcode end: end_filament_gcode
    ; custom gcode: end_filament_gcode
    ; Filament specific end G-code: START
    ; Filament specific end G-code: END 
    ; custom gcode end: end_filament_gcode
    ; custom gcode: end_filament_gcode
    ; Filament specific end G-code: START
    ; Filament specific end G-code: END 
    ; custom gcode end: end_filament_gcode
    ; custom gcode: end_gcode
    ; End G-code: START
    M98 P"PrintEnd.g" ; Call Macro/Subprogram
    ; End G-code: END
    
    ; PrintEnd.g
    ; Called when ending a print
    ; Used to configure printer does after a print is ended
    ;
    M140 S0 ; Turn off heatedbed
    G91 ; Relative positioning
    G1 Z5.000 F3000 ; Lower bed 5mm
    T-1 ; Deselect all tools and set them on standby
    G10 P0 R0 S0 ; Set active and standby temps for T0 to 0 degC
    G10 P1 R0 S0 ; Set active and standby temps for T1 to 0 degC
    ;G10 P2 R0 S0 ; Set active and standby temps for T2 to 0 degC
    G90 ; Absolute positioning
    G1 X1 Y1 ; Move to X1 and Y1
    G91 ; Relative positioning
    G0 H1 X-500 Y-500 ; Move to X/Y endstops
    M107; Turn off the print cooling fan
    G90 ; Absolute positioning
    M98 P"CurrentsNormal.g" ; Call Macro/Subprogram
    M84 ; disable steppers
    

  • administrators

    When the problem happens, does the heater show the status as "fault" in DWC?



  • @dc42 When it happens i've tried to "re-activate" the tool, and because it don't achieve the temp as fast as the firmware except it to according to the tunned heater profile it throws an error.

    If i've reset the heater fault and tried again it dosn't help. I have been forced to power toggle the printer to get back on to it.

    I've gone thru my macros etc. many times now and i can't for the life of me see a reason for it to happen.

    What makes it even harder is that the problem is intermittent 🤦‍♂️



  • I'm about to do some max flow tuning on some filaments now. So i want to turn on the hotend to the designed temp, it's currently in "off" state after the last print job.

    Shouldn't it be enough for me to send the following gcodes in the console to make it heat up the hotend?

    G10 P0 R235 S235
    M116 P0
    

    Because if that's the case something is fubar, because other than deploying the active and standby temps nothing happens.

    Something fundemental i'm missing?


  • Moderator

    I believe you'd need to send a T command to activate the tool you want.



  • Looks like this was a hardware issue after all, the crimp inside the hotend heater connector had gone bad so it was loosing conntact sporadicly.

    Redid the crimps and no error's or issues so far😲


Log in to reply