Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    how do i do dual endstops for X and Y axis on my cnc

    Scheduled Pinned Locked Moved Solved
    CNC
    5
    21
    1.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Vetiundefined
      Veti
      last edited by

      @Svenvdb said in how do i do dual endstops for X and Y axis on my cnc:

      (latest 3.0 firmware I think)

      update to 3.1.1

      for dual endstop config see. this works for other axis as well
      https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_In_RepRapFirmware_Num_3

      Svenvdbundefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        Please post your config.g file.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        Svenvdbundefined 1 Reply Last reply Reply Quote 0
        • Svenvdbundefined
          Svenvdb @dc42
          last edited by

          @dc42 this is my config file.

          ; Configuration file for Duet WiFi (firmware version 3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Nov 14 2020 18:37:55 GMT+0100 (Midden-Europese standaardtijd)
          
          ; General preferences
          G90                            ; send absolute coordinates...
          M83                            ; ...but relative extruder moves
          M550 P"MPCNC"             ; set printer name
          
          ; Network
          M552 S1                        ; enable network
          M586 P0 S1                     ; enable HTTP
          M586 P1 S0                     ; disable FTP
          M586 P2 S0                     ; disable Telnet
          
          ; Drives
          M569 P0 S1                     ; physical drive 0 goes forwards
          M569 P1 S1                     ; physical drive 1 goes forwards
          M569 P2 S1                     ; physical drive 2 goes forwards
          M569 P3 S1                     ; physical drive 3 goes forwards
          M569 P4 S1                     ; physical drive 4 goes forwards
          M584 X0:3 Y1:4 Z2              ; set drive mapping
          M350 X16 Y16 Z16 I1            ; configure microstepping with interpolation
          M92 X80.00 Y80.00 Z400.00      ; set steps per mm
          M566 X900.00 Y900.00 Z12.00    ; set maximum instantaneous speed changes (mm/min)
          M203 X3000.00 Y3000.00 Z180.00 ; set maximum speeds (mm/min)
          M201 X500.00 Y500.00 Z20.00    ; set accelerations (mm/s^2)
          M906 X800 Y800 Z800 I30        ; set motor currents (mA) and motor idle factor in per cent
          M84 S30                        ; Set idle timeout
          
          ; Axis Limits
          M208 X0 Y0 Z0 S1               ; set axis minima
          M208 X800 Y800 Z70 S0          ; set axis maxima
          
          ; Endstops
          M574 X1 S1 P"xstop+e0stop"            ; configure active-high endstop for low end on X via pin xstop
          M574 Y1 S1 P"ystop=e1stop"            ; configure active-high endstop for low end on Y via pin ystop
          
          ; 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
          M140 H-1                       ; disable heated bed (overrides default heater mapping)
          
          ; Fans
          
          ; Tools
          
          ; Custom settings are not defined
          
          
          
          Phaedruxundefined 1 Reply Last reply Reply Quote 0
          • Svenvdbundefined
            Svenvdb @Veti
            last edited by Svenvdb

            @Veti i am using 3.1.1 (2020-05-19b2).

            Thank you for the link. this is definitely helpful.

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @Svenvdb
              last edited by

              @Svenvdb said in how do i do dual endstops for X and Y axis on my cnc:

              "ystop=e1stop"

              That should be a + not an =

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • Vetiundefined
                Veti
                last edited by

                also you might want to switch to cnc mode

                https://duet3d.dozuki.com/Wiki/Gcode#Section_M453_Select_CNC_Device_Mode

                1 Reply Last reply Reply Quote 0
                • Svenvdbundefined
                  Svenvdb
                  last edited by

                  I fixed it !!. my endstops were on NC, I put a ! in front of it to make it a NO and now it works
                  I used the normal code for the home command and the M574 in my config.

                  I found this other forum post from a guy with a similar problem. https://forum.duet3d.com/topic/20318/mpcnc-duet-3-sbc-dual-endstop-for-x-and-y-axes?_=1609092505581

                  And I read from this link https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_In_RepRapFirmware_Num_3
                  that @Veti provided that in 3.0 and above you don't have to separate the axis.

                  Thanks, @Phaedrux for noticing my error in the code, that would probably have taken me a day to figure out.

                  1 Reply Last reply Reply Quote 1
                  • shanteundefined
                    shante
                    last edited by

                    Hi
                    Can someone help mi with problem i have?
                    there is something wrong with my homing Y.
                    I do homig, steppers are moving, they both hit endstops, move back a bit, but then, only one on my steppers is going to hit endstop (Zstepper is triggers zstop).
                    Ystepper is not hitting the endstop. LED on mb is not lid.
                    Board: Duet 2 WiFi (2WiFi)
                    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2.2 (2021-02-11)
                    Duet WiFi Server Version: 1.25

                    ; Configuration file for Duet WiFi (firmware version 3)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Feb 20 2021 18:30:24 GMT+0100 (Central European Standard Time)
                    
                    ; General preferences
                    G90                                     ; send absolute coordinates...
                    M83                                     ; ...but relative extruder moves
                    M550 P"Primo"                       ; set printer name
                    
                    ; Network
                    M552 S1                                 ; enable network
                    M586 P0 S1                              ; enable HTTP
                    M586 P1 S0                              ; disable FTP
                    M586 P2 S0                              ; disable Telnet
                    
                    ; Drives
                    M569 P0 S0                              ; physical drive 0  X
                    M569 P1 S1                              ; physical drive 1  Y
                    M569 P2 S0                              ; physical drive 2  Z
                    M569 P3 S0								; physical drive 3  E0
                    M569 P4 S1								; physical drive 4  E1
                    M569 P5 S1								; physical drive 5 goes forwards
                    M584 X0:3 Y1:2 Z4 P3						; set drive mapping
                    M350 X16 Y16 Z16 I1                 ; configure microstepping with interpolation
                    M92 X80.00 Y80.00 Z400.00				; set steps per mm
                    M566 X900.00 Y900.00 Z60.00				; set maximum instantaneous speed changes (mm/min)
                    M203 X6000.00 Y6000.00 Z280.00			; set maximum speeds (mm/min)
                    M201 X500.00 Y500.00 Z20.00				; set accelerations (mm/s^2)
                    M906 X900 Y900 Z900 I30            ; set motor currents (mA) and motor idle factor in per cent
                    M84 S60                                 ; Set idle timeout
                    
                    ; Axis Limits
                    M208 X0 Y0 Z0 S1                        ; set axis minima
                    M208 X480 Y350 Z200 S0                  ; set axis maxima
                    
                    ; Endstops
                    M574 X1 S1 P"xstop+e0stop"              ; configure active-high endstop for low end on X via pin xstop
                    M574 Y1 S1 P"ystop+zstop"
                    
                    ; 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
                    M140 H-1                                ; disable heated bed (overrides default heater mapping)
                    
                    ; Fans
                    
                    ; Tools
                    
                    ; Custom settings are not defined
                    
                    ; Miscellaneous
                    M575 P1 S1 B57600                       ; enable support for PanelDue
                    M501                                    ; load saved parameters from non-volatile memory
                    
                    
                    

                    homex.g

                    ; homex.g
                    ; called to home the X axis
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Feb 20 2021 18:30:24 GMT+0100 (Central European Standard Time)
                    G91               ; relative positioning
                    G1 H2 Z5 F6000    ; lift Z relative to current position
                    G1 H1 X-235 F1800 ; move quickly to X axis endstop and stop there (first pass)
                    G1 H2 X5 F6000    ; go back a few mm
                    G1 H1 X-235 F360  ; move slowly to X axis endstop once more (second pass)
                    G1 H2 Z-5 F6000   ; lower Z again
                    G90               ; absolute positioning
                    

                    homey.g

                    ; homey.g
                    ; called to home the Y axis
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Feb 20 2021 18:30:24 GMT+0100 (Central European Standard Time)
                    
                    G91               ; relative positioning
                    G1 H2 Z5 F6000    ; lift Z relative to current position
                    G1 H1 Y-235 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                    G1 H2 Y5 F6000    ; go back a few mm
                    G1 H1 Y-235 F360  ; move slowly to Y axis endstop once more (second pass)
                    G1 H2 Z-5 F6000   ; lower Z again
                    G90               ; absolute positioning
                    

                    thank you for any help

                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @shante
                      last edited by

                      @shante said in how do i do dual endstops for X and Y axis on my cnc:

                      G1 H2 X5 F6000 ; go back a few mm

                      @shante said in how do i do dual endstops for X and Y axis on my cnc:

                      G1 H2 Y5 F6000 ; go back a few mm

                      Remove the H2 on those moves in your homing files. It's ok on the Z axis.

                      @shante said in how do i do dual endstops for X and Y axis on my cnc:

                      G1 H1 X-235 F1800 ; move quickly to X axis endstop and stop there (first pass)

                      @shante said in how do i do dual endstops for X and Y axis on my cnc:

                      G1 H1 Y-235 F1800 ; move quickly to Y axis endstop and stop there (first pass)

                      You need to increase the distance of the first homing moves. They must be longer than your axis length.

                      @shante said in how do i do dual endstops for X and Y axis on my cnc:

                      M584 X0:3 Y1:2 Z4 P3 ; set drive mapping

                      Why do you have P3?

                      Z-Bot CoreXY Build | Thingiverse Profile

                      shanteundefined 1 Reply Last reply Reply Quote 0
                      • shanteundefined
                        shante @Phaedrux
                        last edited by

                        @Phaedrux said in how do i do dual endstops for X and Y axis on my cnc:
                        Ok, removed H2 and increased the distance in both home.g files. Thanks.
                        But nothing changed, X homing OK, Y does not.

                        Why do you have P3?

                        Isn't that P3 to show those 3 axes? To home them and move them?

                        Phaedruxundefined 1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator @shante
                          last edited by

                          @shante said in how do i do dual endstops for X and Y axis on my cnc:

                          @Phaedrux said in how do i do dual endstops for X and Y axis on my cnc:
                          Ok, removed H2 and increased the distance in both home.g files. Thanks.
                          But nothing changed, X homing OK, Y does not.

                          Why do you have P3?

                          Isn't that P3 to show those 3 axes? To home them and move them?

                          You can leave the P3 off entirely. It's mainly used for when you have multiple temporary axis like UVW. You're not doing anything like that since with RRF3 you don't need to split up the axis for homing anymore.

                          What exactly happens with the Y axis when you do homey?
                          Does it move in the correct direction towards the endstop?
                          Does it stop before it hits the endstop?
                          If you click the endstop by hand while it's moving does it stop the axis?

                          Z-Bot CoreXY Build | Thingiverse Profile

                          shanteundefined 1 Reply Last reply Reply Quote 0
                          • shanteundefined
                            shante @Phaedrux
                            last edited by

                            @Phaedrux said in how do i do dual endstops for X and Y axis on my cnc:

                            You can leave the P3 off entirely. It's mainly used for when you have multiple temporary axis like UVW. You're not doing anything like that since with RRF3 you don't need to split up the axis for homing anymore.

                            What exactly happens with the Y axis when you do homey?
                            Does it move in the correct direction towards the endstop?
                            Does it stop before it hits the endstop?
                            If you click the endstop by hand while it's moving does it stop the axis?

                            P3 removed.
                            when i try to home Y. Steppers are moving, direction is ok. They both hit endstops, if misaligned stepper that did not hit the unstop is mooving until he does hit endstop. Then they move back together, and together in correct direction moving lowly towards endstops. However only one endstop is triggered and then steppers stops, homig ends as homed.

                            Phaedruxundefined 2 Replies Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator @shante
                              last edited by

                              @shante Can you send M98 P"config.g" in the console and report the response?

                              M574 Y1 S1 P"ystop+zstop" Do both endstop LEDs work correctly when you manually click the switch?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              shanteundefined 1 Reply Last reply Reply Quote 0
                              • shanteundefined
                                shante @Phaedrux
                                last edited by

                                @Phaedrux they do, if tested manualy and in first homing pas. After second pas, that slow approach, only one is triggered, Ystop, and Zstop is not. Stepper do not come close to trigger it, its like 0.5mm away.

                                Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                • Phaedruxundefined
                                  Phaedrux Moderator @shante
                                  last edited by

                                  @shante Can you send M98 P"config.g" in the console and report the response? Also the results of M122 please.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  shanteundefined 1 Reply Last reply Reply Quote 0
                                  • shanteundefined
                                    shante @Phaedrux
                                    last edited by shante

                                    @Phaedrux
                                    M98 P"config.g"
                                    HTTP is enabled on port 80
                                    FTP is disabled
                                    TELNET is disabled
                                    Warning: Macro file config-override.g not found

                                    m122
                                    === Diagnostics ===
                                    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet WiFi 1.02 or later
                                    Board ID: 08DGM-9T6BU-FG3S4-6J1FL-3SN6S-9SNRH
                                    Used output buffers: 4 of 24 (20 max)
                                    === RTOS ===
                                    Static ram: 23460
                                    Dynamic ram: 72128 of which 52 recycled
                                    Never used RAM 16440, free system stack 119 words
                                    Tasks: NETWORK(ready,187) HEAT(blocked,366) MAIN(running,543) IDLE(ready,20)
                                    Owned mutexes: WiFi(NETWORK)
                                    === Platform ===
                                    Last reset 00:00:50 ago, cause: software
                                    Last software reset at 2021-02-25 21:13, reason: User, GCodes spinning, available RAM 16408, slot 2
                                    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                                    Error status: 0x00
                                    Aux0 errors 0,0,0
                                    MCU temperature: min 38.0, current 38.4, max 38.6
                                    Supply voltage: min 24.0, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
                                    Driver 0: position 0, standstill, SG min/max 0/109
                                    Driver 1: position 0, standstill, SG min/max not available
                                    Driver 2: position 0, standstill, SG min/max not available
                                    Driver 3: position 0, standstill, SG min/max 0/69
                                    Driver 4: position 0, standstill, SG min/max not available
                                    Driver 5: position 0
                                    Driver 6: position 0
                                    Driver 7: position 0
                                    Driver 8: position 0
                                    Driver 9: position 0
                                    Driver 10: position 0
                                    Driver 11: position 0
                                    Date/time: 2021-02-25 21:14:03
                                    Cache data hit count 60171643
                                    Slowest loop: 8.73ms; fastest: 0.21ms
                                    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                                    === Storage ===
                                    Free file entries: 10
                                    SD card 0 detected, interface speed: 20.0MBytes/sec
                                    SD card longest read time 3.2ms, write time 1.5ms, max retries 0
                                    === Move ===
                                    DMs created 83, maxWait 34339ms, bed compensation in use: none, comp offset 0.000
                                    === MainDDARing ===
                                    Scheduled moves 10, completed moves 10, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                                    === AuxDDARing ===
                                    Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                                    === Heat ===
                                    Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
                                    === GCodes ===
                                    Segments left: 0
                                    Movement lock held by null
                                    HTTP is idle in state(s) 0
                                    Telnet is idle in state(s) 0
                                    File is idle in state(s) 0
                                    USB is idle in state(s) 0
                                    Aux is idle in state(s) 0
                                    Trigger is idle in state(s) 0
                                    Queue is idle in state(s) 0
                                    LCD is idle in state(s) 0
                                    Daemon is idle in state(s) 0
                                    Autopause is idle in state(s) 0
                                    Code queue is empty.
                                    === Network ===
                                    Slowest loop: 201.46ms; fastest: 0.11ms
                                    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                                    HTTP sessions: 2 of 8
                                    - WiFi -
                                    Network state is active
                                    WiFi module is connected to access point 
                                    Failed messages: pending 0, notready 0, noresp 1
                                    WiFi firmware version 1.25
                                    WiFi MAC address cc:50:e3:4a:ad:68
                                    WiFi Vcc 3.31, reset reason Turned on by main processor
                                    WiFi flash size 4194304, free heap 25680
                                    WiFi IP address 192.168.1.81
                                    WiFi signal strength -73dBm, mode 802.11n, reconnections 0, sleep mode modem
                                    Clock register 00002002
                                    Socket states: 0 0 0 0 0 0 0 0
                                    

                                    M122 sent after homig X and Y

                                    1 Reply Last reply Reply Quote 0
                                    • Phaedruxundefined
                                      Phaedrux Moderator @shante
                                      last edited by

                                      @shante said in how do i do dual endstops for X and Y axis on my cnc:

                                      when i try to home Y. Steppers are moving, direction is ok. They both hit endstops, if misaligned stepper that did not hit the unstop is mooving until he does hit endstop. Then they move back together, and together in correct direction moving lowly towards endstops. However only one endstop is triggered and then steppers stops, homig ends as homed.

                                      So they are aligning properly on the first pass until both endstops are triggered, but not on the second pass?

                                      Can you make a video showing what's happening?

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      shanteundefined 1 Reply Last reply Reply Quote 0
                                      • shanteundefined
                                        shante @Phaedrux
                                        last edited by

                                        @Phaedrux

                                        So they are aligning properly on the first pass until both endstops are triggered, but not on the second pass?

                                        Can you make a video showing what's happening?

                                        Yes, exactly.
                                        No video yet, as im rewiring endstop and stepper. Tried replaced endstop, no joy.
                                        New wiring will be with yet another endstop, we will see.

                                        Do i need to split steppers if adding offset to one of steppers will be needed?
                                        If so can you write me example code how to do that?

                                        Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator @shante
                                          last edited by

                                          @shante Some videos/photos of the setup would help to understand what's going on.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          1 Reply Last reply Reply Quote 0
                                          • shanteundefined
                                            shante
                                            last edited by

                                            After rewiring(new wires for stepper and endstop) and new endstop, issue is gone...
                                            Thank you @Phaedrux for your help and patience with me.

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA