homing not working at low speed



  • hi,
    I try to home with max acceleration at 500 and it work, but after I change to 800 and now it pass in front of the sensor (induction sensor) but it doesn't detect it.
    But this depend of the feed rate:
    F360 it fail but F400 and higher it work.

    M574
    Endstop configuration:
    X: high end switch connected to pin 40.io1.in, min interval 30ms
    Y: none
    Z: none
    

    It is maybe the min interval how is to high ?



  • I have the same problem when I try to home all axis.. But now whatever the speed, it is always the second pass how fail (the axis continue moving even if the shitch is activated)



  • my config:

    ; executed by the firmware on start-up
    
    
    ; General preferences
    G90                                                          ; send absolute coordinates...
    M83                                                          ; ...but relative extruder moves
    M550 P"MultiTool Cartesian"                                  ; set printer name
    
    
    ; 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
    
    ; Extruders
    M569 P121.0 S1 D3 V2000	; ToolBoard drive 121.0 goes forwards
    M569 P122.0 S1 D3 V2000	; ToolBoard drive 122.0 goes forwards
    M584 E121.0:122.0       ; set extruders drivers
    M350 E64:64 I0          ; configure microstepping without interpolation for extruder
    ; speed
    M92 E415.00:415.00		; set steps per mm
    M203 E1200.00:1200.00	; set maximum speeds (mm/min)
    M201 E250.00:250.00		; set accelerations (mm/s^2)
    M566 E120.00:120.00		; set maximum instantaneous speed changes (mm/min)
    M906 E800:800			; set motor currents (mA)
    
    ;XYZ axis
    M569 P40.0 S1 R0 T2.6:2.6:0:5	; change enable polarity, active = disable drive
    M569 P41.0 S1 R0 T2.6:2.6:0:5	; change enable polarity, active = disable drive
    M569 P42.0 S0 R0 T2.6:2.6:0:5	; change enable polarity, active = disable drive
    M584 X40.0 Y41.0 Z42.0			; set X, Y and Z drivers
    ;speed
    M92 X125.00 Y125.00 Z125.00 		; step per mm
    M203 X19200.00 Y19200.00 Z19200.00 	; maximum speeds (mm/min)
    M566 X900.00 Y900.00 Z900.00 		; maximum instantaneous speed changes (mm/min)
    M201 X500.00 Y500.00 Z500.00 		; accelerations (mm/s^2) 6400
    
    M84 S0	; Disable motor idle current reduction
    
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                             ; set axis minima
    M208 X1000 Y1000 Z800 S0                                     ; set axis maxima
    
    
    ; Endstops
    M574 X2 S1 P"40.io1.in"
    M574 Y2 S1 P"41.io1.in"
    ; WARNING: No endstops configured
    
    
    ; Z-Probe
    M558 P0 H5 F120 T6000			; disable Z probe but set dive height, probe speed and travel speed
    M557 X20:980 Y20:980 S80		; define mesh grid
    
    
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138		; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                                  ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B0 S1.00                                    ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                             ; map heated bed to heater 0
    M143 H0 S120                                        ; set temperature limit for heater 0 to 120C
    ; configure sensor 1 as thermistor on pin 121.temp0
    M308 S1 P"121.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-12
    M950 H1 C"121.out0" T1		; create nozzle heater output on 121.out0 and map it to sensor 1
    M307 H1 B0 S0.35            ; disable bang-bang mode for heater  and set PWM limit
    M143 H1 P1 S285 A0 			; raise a heater fault if it exceeds 285C
    ; configure sensor 2 as thermistor on pin 122.temp0
    M308 S2 P"122.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-15 L-12
    M950 H2 C"122.out0" T2      ; create nozzle heater output on 122.out0 and map it to sensor 2
    M307 H2 B0 S0.35            ; disable bang-bang mode for heater  and set PWM limit
    M143 H1 P1 S285 A0 			; raise a heater fault if it exceeds 285C
    
    ; Fans de hotend
    M950 F0 C"121.out2" Q500                                     ; create fan 0 on pin 121.out2 and set its frequency
    M106 P0 S0 H1 T45 L255										 ; set fan 0 value. Thermostatic control is turned on (ON/OFF, no PWM)
    M950 F1 C"122.out2" Q500                                     ; create fan 1 on pin 122.out2 and set its frequency
    M106 P1 S0 H2 T45 L255                                      ; set fan 1 value. Thermostatic control is turned on (ON/OFF, no PWM)
    ; Fans de sortie
    
    
    
    ; Tools
    M563 P0 S"Extrudeur 0" 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
    M563 P1 S"Extrudeur 1" D1 H2 F1                              ; define tool 1
    G10 P1 X0 Y0 Z0                                              ; set tool 1 axis offsets
    G10 P1 R0 S0                                                 ; set initial tool 1 active and standby temperatures to 0C
    M563 P2 S"Spindle" F-1                                       ; define tool 2
    G10 P2 X0 Y0 Z0                                              ; set tool 2 axis offsets
    G10 P2 R0 S0                                                 ; set initial tool 2 active and standby temperatures to 0C
    
    ; Custom settings are not defined
    
    ; Triggers
    M950 J2 C"!121.button0"
    M581 P2 T2 S0
    M950 J3 C"!121.button1"
    M581 P3 T3 S0
    M950 J4 C"!122.button0"
    M581 P4 T4 S0
    M950 J5 C"!122.button1"
    M581 P5 T5 S0
    
    
    ; Miscellaneous
    M501                                                         ; load saved parameters from non-volatile memory
    
    


  • @dc42 hi, I found what cause the error, I think it is a software bug.

    For exemple:
    this work:

    G1 H1 X1005 F3200
    

    but this fail:

    G1 H1 X1005 F360
    

    And to correct it :

    G1 H1 X100 F360
    

    It is when the travel at low speed it's long that the end stop it's not detected (the machine didn't stop when it is activated).

    I make some tests:

    work:
    G1 H1 Y700 F360
    
    fail:
    G1 H1 Y800 F360
    

    When the speed increase the distance can be higher before it fail:

    work:
    G1 H1 Y800 F500
    fail:
    G1 H1 Y900 F500
    


  • are you running firmware version 3.2 and have you updated the firmware on the toolboards as well?


  • Moderator

    See this list of limitations and check if any apply to you

    https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations

    specifically

    Endstop switches and Z probes connected to the main board cannot control motors on an expansion board. This is planned to be fixed in release 3.4.


  • administrators

    @Pseud3mys, please post the complete homing file.



  • I use 3 expansion board 1XD for the 3 endstops (one on each).
    For the firmware I use RC1 because I don't find an other version for the 1XD.
    And here is my config file:

    ; executed by the firmware on start-up
    
    
    ; General preferences
    G90                                                          ; send absolute coordinates...
    M83                                                          ; ...but relative extruder moves
    M550 P"MultiTool Cartesian"                                  ; set printer name
    
    
    ; 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
    
    ; Extruders
    M569 P121.0 S1 D3 V2000	; ToolBoard drive 121.0 goes forwards
    M569 P122.0 S1 D3 V2000	; ToolBoard drive 122.0 goes forwards
    M584 E121.0:122.0       ; set extruders drivers
    M350 E64:64 I0          ; configure microstepping without interpolation for extruder
    ; speed
    M92 E415.00:415.00		; set steps per mm
    M203 E1200.00:1200.00	; set maximum speeds (mm/min)
    M201 E250.00:250.00		; set accelerations (mm/s^2)
    M566 E120.00:120.00		; set maximum instantaneous speed changes (mm/min)
    M906 E800:800			; set motor currents (mA)
    
    ;XYZ axis
    M569 P40.0 S1 R0 T2.6:2.6:0:5	; change enable polarity, active = disable drive
    M569 P41.0 S1 R0 T2.6:2.6:0:5	; change enable polarity, active = disable drive
    M569 P42.0 S0 R0 T2.6:2.6:0:5	; change enable polarity, active = disable drive
    M584 X40.0 Y41.0 Z42.0			; set X, Y and Z drivers
    ;speed
    M92 X125.00 Y125.00 Z125.00 		; step per mm
    M203 X19200.00 Y19200.00 Z19200.00 	; maximum speeds (mm/min)
    M566 X900.00 Y900.00 Z900.00 		; maximum instantaneous speed changes (mm/min)
    M201 X2800.00 Y3200.00 Z2800.00 		; accelerations (mm/s^2). théorical max: 6400
    
    M84 S0	; Disable motor idle current reduction
    
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                             ; set axis minima
    M208 X950 Y1000 Z500 S0                                     ; set axis maxima
    
    
    ; Endstops
    M574 X2 S1 P"40.io1.in"
    M574 Y2 S1 P"41.io1.in"
    M574 Z2 S1 P"42.io1.in"
    
    
    ; Z-Probe
    M558 P0 H5 F120 T6000			; disable Z probe but set dive height, probe speed and travel speed
    M557 X20:980 Y20:980 S80		; define mesh grid
    
    
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138		; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                                  ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B0 S1.00                                    ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                             ; map heated bed to heater 0
    M143 H0 S120                                        ; set temperature limit for heater 0 to 120C
    ; configure sensor 1 as thermistor on pin 121.temp0
    M308 S1 P"121.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-12
    M950 H1 C"121.out0" T1		; create nozzle heater output on 121.out0 and map it to sensor 1
    M307 H1 B0 S0.35            ; disable bang-bang mode for heater  and set PWM limit
    M143 H1 P1 S285 A0 			; raise a heater fault if it exceeds 285C
    ; configure sensor 2 as thermistor on pin 122.temp0
    M308 S2 P"122.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-15 L-12
    M950 H2 C"122.out0" T2      ; create nozzle heater output on 122.out0 and map it to sensor 2
    M307 H2 B0 S0.35            ; disable bang-bang mode for heater  and set PWM limit
    M143 H1 P1 S285 A0 			; raise a heater fault if it exceeds 285C
    
    ; Fans de hotend
    M950 F0 C"121.out2" Q500                                     ; create fan 0 on pin 121.out2 and set its frequency
    M106 P0 S0 H1 T45 L255										 ; set fan 0 value. Thermostatic control is turned on (ON/OFF, no PWM)
    M950 F1 C"122.out2" Q500                                     ; create fan 1 on pin 122.out2 and set its frequency
    M106 P1 S0 H2 T45 L255                                      ; set fan 1 value. Thermostatic control is turned on (ON/OFF, no PWM)
    ; Fans de sortie
    
    
    
    ; Tools
    M563 P0 S"Extrudeur 0" 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
    M563 P1 S"Extrudeur 1" D1 H2 F1                              ; define tool 1
    G10 P1 X0 Y0 Z0                                              ; set tool 1 axis offsets
    G10 P1 R0 S0                                                 ; set initial tool 1 active and standby temperatures to 0C
    M563 P2 S"Spindle" F-1                                       ; define tool 2
    G10 P2 X0 Y0 Z0                                              ; set tool 2 axis offsets
    G10 P2 R0 S0                                                 ; set initial tool 2 active and standby temperatures to 0C
    
    ; Custom settings are not defined
    ;Z brake
    M950 P9 C"!42.out0"	; create output
    M42 P9 S0	; desactivate it
    
    ; Triggers
    M950 J2 C"!121.button0"
    M581 P2 T2 S0
    M950 J3 C"!121.button1"
    M581 P3 T3 S0
    M950 J4 C"!122.button0"
    M581 P4 T4 S0
    M950 J5 C"!122.button1"
    M581 P5 T5 S0
    
    
    ; Miscellaneous
    M501                                                         ; load saved parameters from non-volatile memory
    M929 P"logs/log.txt" S1 ; start log
    
    


  • @dc42, those are the corrected versions:
    for all axis:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.9 on Wed Dec 02 2020 13:29:43 GMT+0100 (heure normale d’Europe centrale)
    G91                     ; relative positioning
    M98 P"homez.g"
    G1 H1 X1005 Y1005 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X-15 Y-15 F6000     ; go back a few mm
    G1 H1 X20 Y20 F360  ; move slowly to X and Y axis endstops once more (second pass)
    G90                     ; absolute positioning
    G92 Z800                  ; set Z position to axis max (you may want to adjust this)
    
    ; Uncomment the following lines to lift Z after probing
    ;G91                    ; relative positioning
    ;G1 Z5 F100             ; lift Z relative to current position
    ;G90                    ; absolute positioning
    

    for the X axis (Y and Z are the same):

    ; homex.g
    ; called to home the X axis
    G91               ; relative positioning
    G1 H1 X1005 F3200 ; move quickly to X axis endstop and stop there (first pass)
    G1 H2 X-15 F6000   ; go back a few mm
    G1 H1 X20 F360  ; move slowly to X axis endstop once more (second pass)
    G90               ; absolute positioning
    


  • @Phaedrux I didn't find this web page before.

    This one maybe appliy,

    Stalls of expansion board motors are not yet reported and cannot be used for homing

    but with this limitation:

    Endstop switches and Z probes connected to the main board cannot control motors on an expansion board. This is planned to be fixed in release 3.4.

    If I understood correctly, the expansion 1XD is made to connect motor but we cannot connect an endstop switch to them and we can connect the endstop switch to the main board when the motor is on the expansion board. So we just cannot use the expansion 1XD for motors ?


Log in to reply