Dual X endstop homing



  • Hi,

    I'm very happy to use Duet3D boards for custom machines and i didn't have trouble with the setup of a Duet2 wifi and stalldetection endstops.
    My new project is using a Duet Maestro and for this i need to use mecanical endstops and a dual X carriage.

    I've got one motor on X and the other one on E0, same for the endstops.

    Endstops are connected with two wires :
    NC --> Ground
    C ---> Stop

    In my config.g :

    M584 X0:3 Y1 Z2 U3 P3
    M569 P0 S0
    M569 P1 S1
    M569 P2 S1
    M569 P3 S0
    M574 X1 Y1 Z1 U1 S1

    For my homex :

    M584 X0 U3
    G1 S1 X-605 U-605 F360
    G91
    G1 S2 X5 U5
    G90
    G1 S1 X-605 U-605 F360
    M584 X0:3

    M119 shows me that the endstop works well.
    But only the X motor homes, the E0 motor is not moving.
    Would you know what is the problem here?

    Thank you very much

    Etienne


  • administrators

    I presume you are using RepRapFirmware 2, because homing using dual endstops is different (easier) in RepRapFirmware 3.

    In order to move the U axis when homing, you need to temporarily make the U axis visible. So change your homex.g file to this:

    M584 X0 U3 P4
    G1 S1 X-605 U-605 F360
    G91
    G1 S2 X5 U5
    G90
    G1 S1 X-605 U-605 F360
    M584 X0:3 P3



  • Sorry i didn't mention it :

    Firmware Name: RepRapFirmware for Duet 2 Maestro
    Firmware Electronics: Duet Maestro 1.0
    Firmware Version: 2.03 (2019-06-13b2)
    Web Interface Version: 1.22.6

    Is Maestro compatible with RepRapFirmware 3 ? i've had trouble to find the latest firmware for my hardware.
    Edit : found

    I followed you advice and now the U axis is moving for homing but the motor is turning very slowly; not at the same rate than the X motor.


  • Moderator

    Please post your entire config.g



  • @Boulet_Frites said in Dual X endstop homing:

    Is Maestro compatible with RepRapFirmware 3 ?

    Yes it is, I am running RRF 3.01 (RC11) on a Maestro.

    I followed you advice and now the U axis is moving for homing but the motor is turning very slowly; not at the same rate than the X motor.

    Check your Steps/mm for the E0 motor, it needs to be the same as your X motor of course.

    I am doing the same thing, in RRF3, also on a Maestro, but with a double Y instead. I do not have that working completely either 😉


  • administrators

    @DeltaCon said in Dual X endstop homing:

    Check your Steps/mm for the E0 motor, it needs to be the same as your X motor of course.

    No need, as long as the M92 command comes after the M584 command then it will set the steps/mm for both X motors.



  • In order to simplify the resolution of the problem (and maybe help @DeltaCon ); i've upgraded to 3.01 RC11 too.

    Behavior of the machine :

    X move goes well with the two motors synchronised.
    M119 reports good behavior of the endstops.

    Homing is not working at all. If i ask for homing X,Y or Z the color of the button on the touchscreen goes from blue to red. Nothing moves.

    Here is my config.g :

    Colorator 4000
    M119
    Status
    Idle
    Mode: FFF
    Tool Position
    X
    0.0
    Y
    0.0
    Z
    0.00
    U
    0.0
    Extruder Drives
    Drive 0
    0.0
    Speeds
    Requested Speed
    0 mm/s
    Top Speed
    0 mm/s
    Sensors
    Vin
    12.4 V
    MCU Temperature
    29.6 C
    Tools
    Extra
    Control All
    Tool Heater Current Active Standby
    Tool 0
    T0 - Load Filament n/a n/a
    0
    0
    Temperature Chart
    No Data
    System Directory
    0:/sys/config.g
    ; CONFIGURATION FILE FOR DUET MAESTRO SELF TEST

    ;--------------------------------------------------------------------------------
    ;-------------------------------------NOTE---------------------------------------
    ;--------------------------------------------------------------------------------
    ;-- THIS FILE IS FOR FACTORY TESTING ONLY --
    ;-- --
    ;-- DO NOT USE THIS CONFIGURATION FILE FOR A 3D PRINTER --
    ;-- --
    ;-- --
    ;-- Use the reprapfirmware configurator to generate a configuration file --
    ;-- for your printer: --
    ;-- https://configurator.reprapfirmware.org/ --
    ;-- --
    ;--------------------------------------------------------------------------------

    ; CREATED: 2018.06.21 MJC from Quad / Maestro / MB as baseline
    ; Edited by tony@duet3d.com 2018.08.28
    ; --- SECTION: GENERAL PREFERENCES ( ) ---

    M555 P2 ; Set output to look like Marlin
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M584 X0:3 Y1 Z2 U3 P3

    ; --- SECTION: Z-PROBE & MESH COMPENSATION (Z PROBE SECTION) ---
    ; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS ---

    M569 P0 S0
    M569 P1 S1
    M569 P2 S1
    M569 P3 S0

    M350 X8 Y8 Z8 U8 I1
    M92 X64 Y64 Z64 U8

    M906 X600 Y600 Z600 U600 I60 ; Set motor currents (mA) and increase idle current to 60%
    M201 X1000 Y1000 Z1000 U1000 ; Accelerations (mm/s^2)
    M203 X20000 Y20000 Z20000 U20000 ; Maximum speeds (mm/min)
    M566 X1200 Y1200 Z1200 U1200 ; Maximum instant speed changes mm/minute

    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 S1 P"zstop"
    M574 U1 S1 P"e0stop" ; configure active-high endstop for low end on Z via pin zstop

    ; --- SECTION: HEATERS (HEATER & THERMISTOR SECTION) ---

    M302 P1 ; Allow Cold extrudes

    ; Thermistors
    M305 P0 T100000 B3950 R2200 H30 L0
    M305 P1 T100000 B3950 R2200 H30 L0
    M305 P2 T100000 B3950 R2200 H30 L0

    M570 S180 ; allow it 180 seconds before gving a heating warning and test hotends wont be tuned.

    ; Tool definitions
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
    M563 P1 D1 H2 ; Define tool 1
    G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures

    ; --- SECTION: FANS ( ) ---
    ; Disable Fan 1 thermostatic mode
    M106 P1 H-1

    ;Define the 4th fan

    ; --- SECTION: TOOLS (TOOL DEFINITION SECTION) ---

    ; --- SECTION: NETWORKS (PROLOGUE & COMMUNCATIONS SECTION) ---

    ; Network
    M550 PColorator 4000 ; Set machine name
    M552 P192.168.5.151 S1 ; Enable network and set IP address
    M553 P255.255.255.0 ; Set netmask
    M554 P192.168.5.1 ; Set gateway
    M586 P0 S1 ; Enable HTTP
    M918 P1

    ; --- SECTION: MISCELLANEOUS ---

    G92 X0 Y0 Z0
    G91

    Thank you for your help !


  • administrators

    As you are now using 3.01-RC11, you don't need to create the U axis. So:

    • Remove everything to do with U in config.g
    • Change your M574 X command to: M574 X1 S1 P"xstop+e0stop"
    • Change homex.g and homeall.g to home the X axis just as if you had only one motor

    In M119 and in the Endstops list in DWC, X will show as stopped if either X endstop switch is triggered.



  • I did whay you said, here is my :

    config.g

    ; CONFIGURATION FILE FOR DUET MAESTRO SELF TEST

    ;--------------------------------------------------------------------------------
    ;-------------------------------------NOTE---------------------------------------
    ;--------------------------------------------------------------------------------
    ;-- THIS FILE IS FOR FACTORY TESTING ONLY --
    ;-- --
    ;-- DO NOT USE THIS CONFIGURATION FILE FOR A 3D PRINTER --
    ;-- --
    ;-- --
    ;-- Use the reprapfirmware configurator to generate a configuration file --
    ;-- for your printer: --
    ;-- https://configurator.reprapfirmware.org/ --
    ;-- --
    ;--------------------------------------------------------------------------------

    ; CREATED: 2018.06.21 MJC from Quad / Maestro / MB as baseline
    ; Edited by tony@duet3d.com 2018.08.28
    ; --- SECTION: GENERAL PREFERENCES ( ) ---

    M555 P2 ; Set output to look like Marlin
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M584 X0:3 Y1 Z2 P3

    ; --- SECTION: Z-PROBE & MESH COMPENSATION (Z PROBE SECTION) ---
    ; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS ---

    M569 P0 S0
    M569 P1 S1
    M569 P2 S1
    M569 P3 S0

    M350 X8 Y8 Z8 I1
    M92 X64 Y64 Z64

    M906 X600 Y600 Z600 I60 ; Set motor currents (mA) and increase idle current to 60%
    M201 X1000 Y1000 Z1000 ; Accelerations (mm/s^2)
    M203 X20000 Y20000 Z20000 ; Maximum speeds (mm/min)
    M566 X1200 Y1200 Z1200 ; Maximum instant speed changes mm/minute

    M574 X1 S1 P"xstop+e0stop" ; 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 S1 P"zstop"
    ; configure active-high endstop for low end on Z via pin zstop

    ; --- SECTION: HEATERS (HEATER & THERMISTOR SECTION) ---

    M302 P1 ; Allow Cold extrudes

    ; Thermistors
    M305 P0 T100000 B3950 R2200 H30 L0
    M305 P1 T100000 B3950 R2200 H30 L0
    M305 P2 T100000 B3950 R2200 H30 L0

    M570 S180 ; allow it 180 seconds before gving a heating warning and test hotends wont be tuned.

    ; Tool definitions
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
    M563 P1 D1 H2 ; Define tool 1
    G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures

    ; --- SECTION: FANS ( ) ---
    ; Disable Fan 1 thermostatic mode
    M106 P1 H-1

    ;Define the 4th fan

    ; --- SECTION: TOOLS (TOOL DEFINITION SECTION) ---

    ; --- SECTION: NETWORKS (PROLOGUE & COMMUNCATIONS SECTION) ---

    ; Network
    M550 PColorator 4000 ; Set machine name
    M552 P192.168.5.151 S1 ; Enable network and set IP address
    M553 P255.255.255.0 ; Set netmask
    M554 P192.168.5.1 ; Set gateway
    M586 P0 S1 ; Enable HTTP
    M918 P1

    ; --- SECTION: MISCELLANEOUS ---

    G92 X0 Y0 Z0
    G91

    homex.g

    G1 X-605 F1360
    G91
    G1 X5
    G90
    G1 X-5 F360

    Nothing has changed. Moving is still good but for homing nothing happens.

    Edit : If i ask with the console "G28 X" it says me that Error : G0/G1 : insufficient axes homed



  • Edit 2 : Adding "H1" in the homex.g made everything works very well ! Problem solved 🙂 Thank you very much.


Log in to reply