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.6k
    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.
    • 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