What limits the homing feed rate?



  • Something is limiting my Z homing feed rate, and I can't figure out what. Is there anything other then the G0/G1 F argument or G203 that could do this? I made a macro that demonstrates my issue:

    G91              
    G0 S1 Z100 F1000  ; This seems to run at about 500 mm/min
    G90 
    
    G0 Z0 F1000  
    
    G91              
    G0 Z100 F1000     ; This runs at full speed      
    G90 
    
    G0 Z0 F1000
    


  • there is a lot of missing information but I'd start by replacing S1 with H1

    and include your full config and firmware version


  • administrators

    The only things that limit the homing speed are the F parameter in the G1 H1 (or G1 S1) commands, and the speed limit set by M203.

    Beware, some slicers have unfortunately started putting M203 commands in the GCode files they generate. So if homing works at full speed until you try to print a file, that's where to look. You can usually turn this off in the slicer.



  • The behavior occurs if I run the macro after a reset, home Z, and execute a G0 Z10 to provide room for travel. Using H1 vs. S1 doesn't make a difference.

    My firmware version is 2.02(RTOS) (2018-12-24b1)

    Config file:

    ; General preferences
    G90                                     ; send absolute coordinates...
    M83                                     ; ...but relative extruder moves
    M550 P"OwlFab1000"                      ; set printer name
    
    
    
    M667 S1                                 ; select CoreXY mode
    
    ; Network
    M552 S1                                 ; enable network
    M586 P0 S1                              ; enable HTTP
    M586 P1 S0                              ; disable FTP
    M586 P2 S0                              ; disable Telnet
    
    ; Remove these for DHCP
    M552 S0 
    M552 S1 P192.168.0.10
    
    ; Drives
    M569 P0 S1                          
    M569 P1 S0                        
    M569 P2 S1                             
    M569 P3 S1                             
    M569 P4 S1                              
    M584 X0 Y1 Z2:4 E3                         ; set drive mapping
    M350 X256 Y256 Z256 E16 I0                 ; configure microstepping without interpolation
    M92 X2560.00 Y2560.00 Z25600.00 E268.63    ; set steps per mm M203 X9000.00 Y9000.00 Z1000.00 E3000.00   ; max speed (mm/min)
    M566 X800.00 Y800.00 Z150.00 E1500.00      ; jerk (mm/min)
    M203 X9000.00 Y9000.00 Z1000.00 E3000.00   ; max speed (mm/min)
    M201 X1000.00 Y1000.00 Z150.00 E1800.00    ; set accelerations (mm/s^2)
    M906 X800 Y800 Z1200 E1200 I30             ; set motor currents (mA) and motor idle factor in per cent
    ;M906 X500 Y500 Z600 E600 I30              ; stealth mode
    M84 S10                                    ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                        ; set axis minima
    M208 X250 Y195 Z268 S0                  ; set axis maxima
    
    ; Endstops
    M574 X1 Y1 Z2 S1                        ; set active high endstops
    
    ; Z-Probe
    M558 P0 H5 F120 T6000                   ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:215 Y15:195 S20                ; define mesh grid
    
    ; Heaters
    M305 P0 T100000 B4138 R4700             ; set thermistor + ADC parameters for heater 0
    M143 H0 S120                            ; set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 R4700             ; set thermistor + ADC parameters for heater 1
    M143 H1 S280                            ; set temperature limit for heater 1 to 280C
    
    ; Fans
    M106 P0 S0 I0 F500 H-1                  ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45               ; set fan 1 value, PWM signal inversion and frequency. 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
    
    
    T0                                      ; select first tool 
    M203 X9000.00 Y9000.00 Z1000.00 E3000.00   ; max speed (mm/min)
    ; Stall detection
    ; M915 X Y S5 R2 
    
    ; Pressure advance
    M572 D0 S1.
    

    My Z home macro is:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Tue Mar 31 2020 14:27:47 GMT-0700 (Pacific Daylight Time)
    G91              ; relative positioning
    ;G1 S2 Z5 F600   ; lift Z relative to current position
    G0 S1 Z295 F800  ; move Z up until the endstop is triggered
    G92 Z268         ; set Z position to axis maximum 
    G1 S2 Z-5 F6000  
    G90              ; absolute positioning
    


  • Maybe I answered my own question. I'm going to upgrade the FW to 3.0 and see what happens.



  • @owlfab you can try it at 2.05.1 on your way as updating to 3.1.1 would require a few steps anyway?


  • Moderator

    @owlfab said in What limits the homing feed rate?:

    M350 X256 Y256 Z256 E16 I0 ; configure microstepping without interpolation M92 X2560.00 Y2560.00 Z25600.00 E268.63 ; set steps per mm M203 X9000.00 Y9000.00 Z1000.00 E3000.00 ; max speed (mm/min)

    You may be exceeding the step rate causing hiccups which is limiting the delivered speed. It's recommended you use x16 microstepping with interpolation enabled.



  • Thanks guys. I am running 3.1.1 now with 16x microstepping (with interpolation) and it is working fine. I noticed that this version can't handle full speed on X and Y at 256x microstepping like version 2.02 did, but it sounds like 16x is kind of the norm.

    In retrospect, that was really old firmware. I just didn't think to check, since the board was a relatively new purchase.


Log in to reply