Hot end and bed turning off while homing



  • Hello guys, having a weird thing happening and I'm pretty sure it's my configuration that's making it do this but I want to be sure.

    Railcore II 300ZL

    When I start a print, the printer homes itself (code in slicer) then auto levels the bed.

    Problem I have is that the hot end and the bed are turned off while this happens. If the bed happens to be far away before homing, it takes 1-2 minutes to get to the top which means the hot end gets down to like 120 degrees, which means that when it starts printing, it is not hot enough and the extruder skips (of course).

    Start gcode:

    G28 ;Home
    G32 ; true bed level
    G1 Z15.0 F6000 ;Move the platform down 15mm
    G92 E0 ; Reset Extruder
    G1 X0 Y10 F24000.0 ; Move to start position
    G1 Z0.3 F600 ; Drop Z
    G1 X0 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
    G1 X0.3 Y200.0 Z0.3 F1500.0 ; Move to side a little
    G1 X0.3 Y20 Z0.3 F1500.0 E30 ; Draw the second line
    G92 E0 ; Reset Extruder
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 X7 Y20 Z0.1 F5000.0 ; Move over to prevent blob squish
    G92 E0.0
    M572 D0 S0.06
    

    config.g

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Mon Jul 06 2020 18:01:42 GMT-0400 (EDT)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"Railcore SCR"                               ; set printer name
    M669 K1                                            ; select CoreXY mode
    M918 P1 E4 F2000000                                ; configure direct-connect display
    
    ; Network
    M552 P0.0.0.0 S1                                   ; enable network and acquire dynamic address via DHCP
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S0                                         ; disable Telnet
    
    ; Drives
    M569 P0.0 S0                                       ; physical drive 0.0 goes backwards
    M569 P0.1 S1                                       ; physical drive 0.1 goes backwards
    M569 P0.2 S1                                       ; physical drive 0.2 goes forwards
    M569 P0.3 S1									   ; physical drive 0.3 goes forwards
    M569 P0.4 S1									   ; physical drive 0.4 goes forwards
    M569 P0.5 S1                                       ; physical drive 0.5 goes forwards
    M584 X0.1 Y0.0 Z0.2:0.3:0.4 E0.5                   ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X200.00 Y200.00 Z1600.00 E849                  ; set steps per mm
    M566 X1000 Y1000 Z100 E1500                        ; set maximum instantaneous speed changes (mm/min)
    M203 X24000.00 Y24000.00 Z900.00 E3600.00          ; set maximum speeds (mm/min)
    M201 X3000.00 Y3000.00 Z100.00 E1500.00            ; set accelerations (mm/s^2)
    M906 X1400 Y1400 Z1000 E800 I60                    ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    
    ;Leadscrew locations
    M671 X-10:-10:333  Y22.5:277.5:150 S15  ;Front left, Rear Left, Right  S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X300 Y290 Z300 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"io1.in"                               ; configure active-high endstop for low end on X via pin io1.in
    M574 Y1 S1 P"io2.in"                               ; configure active-high endstop for low end on Y via pin io2.in
    
    ; Z-Probe
    M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1     ; set Z probe type to bltouch and the dive height + speeds
    M950 S0 C"io7.out"                                 ; create servo pin 0 for BLTouch
    G31 X2 Y42 Z1 P25 							   	   ; Probe position and offset
    
    ; Mesh Grid
    M557 X5:270 Y5:295 S20                             ; define mesh grid
    
    ; Paneldue 5i config
    M575 P1 B57600 S1 								   ; Set auxiliary serial port baud rate and require checksum (for PanelDue)
    
    ; Filament monitor
    M591 D0 P5 C"io3.in" R3:400 E3.0 S1
    
    ; Heaters
    M308 S0 P"temp1" Y"thermistor" T100000 B4092       ; configure sensor 0 as thermistor on pin temp1
    M950 H0 C"out0" T0                                 ; create bed heater output on out0 and map it to sensor 0
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    M308 S1 P"temp0" Y"thermistor" T100000 B4092       ; configure sensor 1 as thermistor on pin temp0
    M950 H1 C"out1" T1                                 ; create nozzle heater output on out1 and map it to sensor 1
    
    M307 H0 A310.4 C721.8 D7.9 V23.9 B0                ; Bed Heaters
    M307 H1 A519.9 C172.7 D4.8 V23.9 B0	               ; Heater 1 model
    M570 S360				                           ; Hot end may be a little slow to heat up so allow it 180 seconds
    M143 S285
    
    ; Fans
    M950 F0 C"out7" Q500                               ; create fan 0 on pin out7 and set its frequency
    M106 P0 S1 H1:1 T45                                ; set fan 0 value. Thermostatic control is turned on
    M950 F1 C"out8" Q500                               ; create fan 1 on pin out8 and set its frequency
    M106 P1 S1 H-1                                     ; set fan 1 value. Thermostatic control is turned off
    
    ; Tools
    M563 P0 D0 H1 F1                                   ; define tool 0
    G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
    
    
    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0                                                 ; select first tool
    M106 P1 S0										   ; Turn off parts fan on boot
    
    


  • @Thalios most likely its something in your homeall.g or bed.g files (the ones called by G28 and G32). Can you post these too?


  • Moderator

    @Thalios said in Hot end and bed turning off while homing:

    ; Z-Probe
    M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1 ; set Z probe type to bltouch and the dive height + speeds

    It's the B1 parameter in your M558 command; see https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M581_Configure_external_trigger
    It can be a good idea to turn off heaters when homing with a BLTouch, as they can generate a magnetic field when turned on, that can cause false readings.

    Ian



  • @droftarts What would be the best line to add to my start gcode to tell it to reheat to the slicer's defined heat and wait for temp reached then proceed?

    Can I simply add:

    M116 H0 S5

    after the homing?



  • @engikeneer Homeall.g, all homes and bed.g are all clean.


  • Moderator

    @Thalios Probably the easiest thing to do is to do a fast z home without turning the heaters off, then a slow one, like @Phaedrux suggests here https://forum.duet3d.com/post/172277
    So add this to your homez.g and/or homeall.g:

    M558 A1 F400 B0			; Set single probing at faster feed rate
    G30 				; Do a single probe to home our Z axis
    M558 A5 F120 B1			; Set multi probing at slower feed rate
    G30				; Probe again to get a more accurate position
    

    (I assume your Z can move at Z400; you have max speed as 900 in M203, so could even be set faster.)

    Ian



  • @droftarts said in Hot end and bed turning off while homing:

    M558 A1 F400 B0 ; Set single probing at faster feed rate G30 ; Do a single probe to home our Z axis M558 A5 F120 B1 ; Set multi probing at slower feed rate G30 ; Probe again to get a more accurate position

    Thanks. I'll do that!



  • @Thalios yeah I was barking up the wrong tree there... glad you got it sorted.

    I actually suffer from a very similar thing (I have a Piezo so like to probe at 130deg so I don't damage the bed). One thing you could try is if your slicer allows you to use built-in placeholders (not sure what the technical term for it is...) in the start Gcode. In IdeaMaker, I have to have:

    M104 T0 S130 ; start heating the extruder to 130deg but don't wait
    M190 S{temperature_heatbed} ; set heatbed temp and wait
    G28 ; home all axes
    M109 S{temperature_extruder1}; Set extruder temp and wait
    

    I think some slicers put the heating commands in after the start code rather than before. I usually use PrusaSlicer which does this so don't have to worry about the heating issues. It confused me what I firsttried using IdeaMaker...

    You could also set your tool to 'standby mode' and set the standy temperature, then revert back to active? I think that would wait til it hit temperature. Or do the M116 you suggested (if it still thinks it is meant to be set to the print temperature)


Log in to reply