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

    MPCNC Endstop G28 Issue

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    2
    25
    790
    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.
    • ZPomeroyundefined
      ZPomeroy
      last edited by ZPomeroy

      I’m having an issue with the MPCNC I'm building where when I try to home any axis I get a G28 X "Failed to Enable End Stops" even though if I individually press the end stops the red light clicks on the Duet 2 Wifi I have, indicating the end stops are registering . Don't know what's causing this. Any Suggestions? This is my current config.g but still working on it to get things moving properly. Currently all axis are moving correctly, just stuck with the end stops.

      EDIT: micro switch end stops with 2 wires each to sign and ground

      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Jun 27 2023 21:58:59 GMT+1000 (AEST)

      ; General preferences
      M575 P1 S1 B57600 ; enable support for PanelDue
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"My Printer" ; set printer name
      M665 R261.83 L440.44 B160 H428 ; Set delta radius, diagonal rod length, printable radius and homed height
      M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them

      ; 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
      M584 X0 Y1 Z2 E3 ; set drive mapping
      M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z80.00 E663.00 ; set steps per mm
      M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Axis Limits
      M208 Z0 S1 ; set minimum Z

      ; Endstops
      M574 E0 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop
      M574 E1 S1 P"ystop"
      M574 X1 S1 "x2stop"
      M574 Y1 S1 "y2stop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop
      ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop

      ; Z-Probe
      M558 P1 C"zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
      G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
      M557 R85 S20 ; define mesh grid

      ; Heaters
      M308 S0 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin e1temp
      M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
      M307 H0 B1 S1.00 ; enable 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
      M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S300 ; set temperature limit for heater 1 to 300C

      ; Fans
      M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S1 H1 T45 ; set fan 1 value. 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

      ; Custom settings are not defined

      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • ZPomeroyundefined
        ZPomeroy
        last edited by

        More info M119 is showing no end stops in any if the axis. I'm confused how that works if the end stops are triggering the light to go on the board when I click them? I'm assuming its a code issue. Just in case I currently have the microswitch end stops wires with 2 wires, the top 2 prongs go to the outside pins on the board, that being the signal and ground. What mistake am I making?

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

          @ZPomeroy said in MPCNC Endstop G28 Issue:

          ; Endstops
          M574 E0 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop
          M574 E1 S1 P"ystop"
          M574 X1 S1 "x2stop"
          M574 Y1 S1 "y2stop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop
          ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop

          Where did you get this configuration, it's not correct at all.

          https://docs.duet3d.com/User_manual/Reference/Gcodes#m574-set-endstop-configuration

          Where are your endstops actually wired and which axis do they correspond to?

          Z-Bot CoreXY Build | Thingiverse Profile

          ZPomeroyundefined 1 Reply Last reply Reply Quote 0
          • ZPomeroyundefined
            ZPomeroy @Phaedrux
            last edited by

            @Phaedrux I used the config tool to generate the config file. It's a dual end stop setup, where the end stops are on the trucks and triggered when homed. 1st is x axis. 2nd is on y axis. 3rd is on x2 axis. 4th on y2 axis. Ive labelled a photo so you can see where they are OverHead-scaled.jpg

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

              In RRF you can only have one endstop per axis for homing. The firmware applies soft limits based on the axis length defined in M208.

              If you're concerned about something causing lost steps and a potential crash you can reconfigure the homing endstops and your secondary endstops as an Estop trigger.

              Which ports on the board are you trying to use for the endstops?

              Z-Bot CoreXY Build | Thingiverse Profile

              ZPomeroyundefined 1 Reply Last reply Reply Quote 0
              • ZPomeroyundefined
                ZPomeroy @Phaedrux
                last edited by ZPomeroy

                @Phaedrux Oh... I'm sure I've read about other people doing dual end stops with the duet? the reason for the 2 end stops on each axis is so that the machine automatically squares itself using the 2 end stops on each axis. I really want to make it work with the 2 so that it's completely square every time. If I remap the 2nd Endstops of each axis to a different stop will that work? Say if u used the z stop for x2 and one of the expansion slots for y2? I don't have a z stop as the router isn't connected to the board

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

                  Ah I misunderstood you. Yes you can use dual endstops for a single axis, but only for one end of travel or the other, not both. This also assumes you have dual motors on each axis. From your config it doesn't appear that that is the case?

                  See the example here: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling#axis-levelling-using-endstops

                  It's described for the Z axis, but it applies to all axis.

                  To use two endstops for a single axis you must use both pin names in the M574 command. Be sure to keep the order of the endstops the same as the order of the motors defined in M584. Again, assuming you have two motors per axis?

                  Z-Bot CoreXY Build | Thingiverse Profile

                  ZPomeroyundefined 1 Reply Last reply Reply Quote 0
                  • ZPomeroyundefined
                    ZPomeroy @Phaedrux
                    last edited by ZPomeroy

                    @Phaedrux I have dual motors. I don't know why the config came out like that. This is my current config for the motors and end stops:

                    I'll try playing around with the m574 command. any suggestions for the proper config given my current setup?

                    ; Drives
                    M569 P4 S1 ; physical drive 4 goes forwards
                    M569 P3 S1 ; physical drive 3 goes forwards
                    M569 P2 S1 ; physical drive 2 goes forwards
                    M569 P0 S1 ; physical drive 0 goes forwards
                    M569 P1 S1 ; physical drive 1 goes forwards
                    M584 X0:1 Y3:4 Z2 ; set drive mapping
                    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
                    M92 X80.00 Y80.00 Z400.00 E420.00:420.00 ; set steps per mm
                    M566 X900.00 Y900.00 Z60.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
                    M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
                    M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
                    M906 X800 Y800 Z800 E800:800 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 X855 Y612 Z120 S0 ; set axis maxima

                    ; Endstops
                    M574 E0 S1 P"xstop". ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
                    M574 E1 S1 P"x2stop" ; configure switch-type (e.g. microswitch) endstop for low end on X2 via pin x2stop
                    M574 X1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
                    M574 Y1 S1 P"y2stop" ; configure switch-type (e.g. microswitch) endstop for low end on Y2 via pin y2stop

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

                      These are the endstop pin names

                      Endstop inputs
                      Label   Pin name
                      X_STOP	xstop	
                      Y_STOP	ystop	
                      Z_STOP	zstop	
                      E0_STOP	e0stop	
                      E1_STOP	e1stop
                      

                      So I'd do something like...

                      M574 X1 S1 P"xstop+e0stop"
                      M574 Y1 S1 P"ystop+e1stop"
                      

                      X1 Y1 means the endstop is on the low end of travel.
                      P"pinname+pinname" means it will use both those endstops when you home the axis with a G1 H1 X move, etc for Y. the order of the pins needs to correspond to the order of the motors in M584.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      ZPomeroyundefined 1 Reply Last reply Reply Quote 0
                      • ZPomeroyundefined
                        ZPomeroy @Phaedrux
                        last edited by

                        @Phaedrux Thank7you I really appreciate your help! Okay so I think I've set up the endstops correctly, but when I try to home all the axis just moves maybe +10 in X and Y and comes up with failed to enable endstops

                        This is what I have the endstops as:
                        ; Endstops
                        M574 X1 S1 P"e0stop+e1stop" ; configure active-high endstops for low end on x via pins e0stop and e1stop
                        M574 Y1 S1 P"xstop+ystop" ; configure active-high endstops for low end on y via pins xstop and ystop

                        And this is my Home All file:
                        ; homeall.g
                        ; called to home all axes
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.3.16 on Mon Oct 09 2023 20:52:40 GMT+1100 (AEDT)
                        G91 ; relative positioning
                        G1 H2 Z5 F6000 ; lift Z relative to current position
                        G1 H1 X-860 Y-617 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                        G1 H2 X5 Y5 F6000 ; go back a few mm
                        G1 H1 X-860 Y-617 F360 ; move slowly to X and Y axis endstops once more (second pass)
                        G1 H1 Z-125 F360 ; move Z down stopping at the endstop
                        G90 ; absolute positioning
                        G92 Z0 ; set Z position to axis minimum (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

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

                          And you have them plugged into those ports on the board?

                          Can you please post your entire config.g as it is now?

                          Also please send M122 and M98 P"config.g" in the gcode console and report the responses.

                          Can you also confirm that the direction of rotation of the motors is correct? Move the head to the center while the printer is off. Then power on and send G92 X100 Y100, and then send a G1 X10 Y10. That should move the head away from the endstops (since they are at the low end)

                          Z-Bot CoreXY Build | Thingiverse Profile

                          ZPomeroyundefined 1 Reply Last reply Reply Quote 0
                          • ZPomeroyundefined
                            ZPomeroy @Phaedrux
                            last edited by ZPomeroy

                            @Phaedrux
                            I used the duet config website to generate this config so I'm not sure what all the errors in M98 are about? The G1 command moved everything towards the 0 point of each axis is that right? I currently have the motors set so that if I press X-50 it moves towards 0 and X+50 is away from 0. The endstops are on the truck carriages and should trigger when the axis reaches 0

                            current config:

                            ; Configuration file for Duet WiFi (firmware version 3.3)
                            ; executed by the firmware on start-up
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.3.16 on Mon Oct 09 2023 20:52:40 GMT+1100 (AEDT)
                            
                            ; General preferences
                            M575 P1 S1 B57600                               ; enable support for PanelDue
                            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 P4 S1                                      ; physical drive 4 goes forwards
                            M569 P3 S1                                      ; physical drive 3 goes forwards
                            M569 P2 S1                                      ; physical drive 2 goes forwards
                            M569 P0 S1                                      ; physical drive 0 goes forwards
                            M569 P1 S1                                      ; physical drive 1 goes forwards
                            M584 X0:1 Y3:4 Z2                               ; set drive mapping
                            M350 X16 Y16 Z16 E16:16 I1                      ; configure microstepping with interpolation
                            M92 X80.00 Y80.00 Z400.00 E420.00:420.00        ; set steps per mm
                            M566 X900.00 Y900.00 Z60.00 E120.00:120.00      ; set maximum instantaneous speed changes (mm/min)
                            M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
                            M201 X500.00 Y500.00 Z20.00 E250.00:250.00      ; set accelerations (mm/s^2)
                            M906 X800 Y800 Z800 E800:800 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 X855 Y612 Z120 S0                          ; set axis maxima
                            
                            ; Endstops
                            M574 X1 S1 P"e0stop+e1stop"                     ; configure active-high endstops for low end on x via pins e0stop and e1stop
                            M574 Y1 S1 P"xstop+ystop"                       ; configure active-high endstops for low end on y via pins xstop and 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
                            M563 P0 D0 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
                            
                            ; Custom settings are not defined
                            
                            

                            M122 report:
                            M122
                            === Diagnostics ===
                            RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.0 or 1.01
                            Board ID: 08DAM-999TL-MQ4S4-6JKDG-3S46M-TPH3Y
                            Used output buffers: 3 of 24 (19 max)
                            === RTOS ===
                            Static ram: 27980
                            Dynamic ram: 92908 of which 32 recycled
                            Exception stack ram used: 352
                            Never used ram: 9800
                            Tasks: NETWORK(ready,404) HEAT(blocked,1456) MAIN(running,1880) IDLE(ready,80)
                            Owned mutexes: WiFi(NETWORK)
                            === Platform ===
                            Last reset 00:01:20 ago, cause: power up
                            Last software reset at 2023-10-14 15:57, reason: User, spinning module GCodes, available RAM 9680 bytes (slot 2)
                            Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
                            Error status: 0
                            MCU temperature: min 32.8, current 33.0, max 33.6
                            Supply voltage: min 12.8, current 12.9, max 13.0, under voltage events: 0, over voltage events: 0, power good: yes
                            Driver 0: standstill, SG min/max not available
                            Driver 1: standstill, SG min/max not available
                            Driver 2: standstill, SG min/max not available
                            Driver 3: standstill, SG min/max not available
                            Driver 4: standstill, SG min/max not available
                            Date/time: 2023-10-14 16:56:14
                            Cache data hit count 135137405
                            Slowest loop: 151.62ms; fastest: 0.13ms
                            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 2.0ms, write time 228.0ms, max retries 0
                            === Move ===
                            Hiccups: 0(0), FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
                            Bed compensation in use: none, comp offset 0.000
                            === MainDDARing ===
                            Scheduled moves: 9, completed moves: 9, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
                            === AuxDDARing ===
                            Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 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
                            Daemon is idle in state(s) 0
                            Autopause is idle in state(s) 0
                            Code queue is empty.
                            === Network ===
                            Slowest loop: 481.27ms; fastest: 0.09ms
                            Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                            HTTP sessions: 1 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.23
                              WiFi MAC address 60:01:94:09:b9:45
                              WiFi Vcc 3.35, reset reason Unknown
                              WiFi flash size 4194304, free heap 23568
                              WiFi IP address 10.0.0.235
                              WiFi signal strength -66dBm, reconnections 0, sleep mode modem
                              Socket states: 4 0 0 0 0 0 0 0

                            M98 report:
                            M98 P"config.g"
                            HTTP is enabled on port 80
                            FTP is disabled
                            TELNET is disabled
                            Error: in file macro line 25 column 22: M350: array too long, max length = 1
                            Error: in file macro line 26 column 35: M92: array too long, max length = 1
                            Error: in file macro line 27 column 37: M566: array too long, max length = 1
                            Error: in file macro line 28 column 41: M203: array too long, max length = 1
                            Error: in file macro line 29 column 37: M201: array too long, max length = 1
                            Error: in file macro line 30 column 26: M906: array too long, max length = 1
                            Tool 0 offsets: X0.00 Y0.00 Z0.00

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

                              @ZPomeroy said in MPCNC Endstop G28 Issue:

                              Error: in file macro line 25 column 22: M350: array too long, max length = 1
                              Error: in file macro line 26 column 35: M92: array too long, max length = 1
                              Error: in file macro line 27 column 37: M566: array too long, max length = 1
                              Error: in file macro line 28 column 41: M203: array too long, max length = 1
                              Error: in file macro line 29 column 37: M201: array too long, max length = 1
                              Error: in file macro line 30 column 26: M906: array too long, max length = 1

                              These errors are complaining that you're specifying E values for those commands, but don't have an extruder motor defined. So just delete the E values from those commands.

                              @ZPomeroy said in MPCNC Endstop G28 Issue:

                              RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1

                              Your firmware version is quite out of date. I suggest you update.
                              It's as easy as uploading a zip file to the system tab in DWC.
                              Here is the latest release: https://github.com/Duet3D/RepRapFirmware/releases/download/3.4.6/Duet2and3Firmware-3.4.6.zip
                              Upload it as is, do not extract it first.

                              The changelogs are here: https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x#reprapfirmware-346

                              @ZPomeroy said in MPCNC Endstop G28 Issue:

                              I currently have the motors set so that if I press X-50 it moves towards 0 and X+50 is away from 0. The endstops are on the truck carriages and should trigger when the axis reaches 0

                              This sounds fine, but the assumption is that the 0,0 point is on the front left of the machine to give you a left hand coordinate system to match what you'd see in CAD software or a slicer.

                              So -X would move left, +X right, -Y to the front, +Y to the back.

                              Does that match what you're seeing?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              ZPomeroyundefined 4 Replies Last reply Reply Quote 0
                              • ZPomeroyundefined
                                ZPomeroy @Phaedrux
                                last edited by

                                @Phaedrux Yes that's correct, I have it setup as CAD because that's what I'm familiar with. I'll update the software now and see if that makes a difference

                                1 Reply Last reply Reply Quote 0
                                • ZPomeroyundefined
                                  ZPomeroy @Phaedrux
                                  last edited by ZPomeroy

                                  This post is deleted!
                                  1 Reply Last reply Reply Quote 0
                                  • ZPomeroyundefined
                                    ZPomeroy @Phaedrux
                                    last edited by ZPomeroy

                                    This post is deleted!
                                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                    • ZPomeroyundefined
                                      ZPomeroy @Phaedrux
                                      last edited by

                                      @Phaedrux I've been able to change the endstops in M574 with the ! to flip the endstops so they work correctly. Now if I try to home X or Y only 1 motor is activating. What commands do I need to put in so that it will activate both motors independently?

                                      Home X:

                                      ; homex.g
                                      ; called to home the X axis
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Mon Oct 09 2023 20:52:41 GMT+1100 (AEDT)
                                      G91               ; relative positioning
                                      G1 H2 Z5 F6000    ; lift Z relative to current position
                                      G1 H1 X-860 F1800 ; move quickly to X axis endstop and stop there (first pass)
                                      G1 H2 X5 F6000    ; go back a few mm
                                      G1 H1 X-860 F360  ; move slowly to X axis endstop once more (second pass)
                                      G1 H2 Z-5 F6000   ; lower Z again
                                      G90               ; absolute positioning
                                      
                                      

                                      Home Y:

                                      ; homey.g
                                      ; called to home the Y axis
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Mon Oct 09 2023 20:52:41 GMT+1100 (AEDT)
                                      G91               ; relative positioning
                                      G1 H2 Z5 F6000    ; lift Z relative to current position
                                      G1 H1 Y-617 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                                      G1 H2 Y5 F6000    ; go back a few mm
                                      G1 H1 Y-617 F360  ; move slowly to Y axis endstop once more (second pass)
                                      G1 H2 Z-5 F6000   ; lower Z again
                                      G90               ; absolute positioning
                                      
                                      
                                      

                                      Home All:

                                      ; homeall.g
                                      ; called to home all axes
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Mon Oct 09 2023 20:52:40 GMT+1100 (AEDT)
                                      G91                     ; relative positioning
                                      G1 H2 Z5 F6000          ; lift Z relative to current position
                                      G1 H1 X-860 Y-617 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                                      G1 H2 X5 Y5 F6000       ; go back a few mm
                                      G1 H1 X-860 Y-617 F360  ; move slowly to X and Y axis endstops once more (second pass)
                                      G1 H1 Z-125 F360        ; move Z down stopping at the endstop
                                      G90                     ; absolute positioning
                                      G92 Z0                  ; set Z position to axis minimum (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
                                      
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • ZPomeroyundefined
                                        ZPomeroy
                                        last edited by

                                        I think I've figured it out all good. It's showing as homed on X and Y with the endstops triggered. Thankyou so much for your help!

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

                                          @ZPomeroy said in MPCNC Endstop G28 Issue:

                                          it's moving the Z up, then jutting back a few mm (in the + direction) and moving Z down again.

                                          This indicates that the endstops are already triggered at the start of the homing moves. The jutting back is the back off move. You've already solved it by inverting the pin logic.

                                          Glad you got it all going now.

                                          One last thing, just to make sure your firmware update went smoothly, can you send M122 and M98 P"config.g" once more?

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          ZPomeroyundefined 1 Reply Last reply Reply Quote 0
                                          • ZPomeroyundefined
                                            ZPomeroy @Phaedrux
                                            last edited by

                                            @Phaedrux After a few days break I'm back at it and am having an issue with homing. When I try to home X the 2nd X motor (X1 is driver 0, and X2 is driver 1) gets stuck right before the endstop would usually be triggered and starts shaking violently. The same thing happens when I try to home Y, the 2nd Y motor (Y1 is driver 3 and Y2 is driver 4) starts shaking violently and making a horrible noise when it gets to the endstop. Any ideas what might be causing this?

                                            Here's the M122 and M98 readouts from previous. Looks like it updated correctly

                                            m122

                                            m122
                                            === Diagnostics ===
                                            RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.6 (2023-07-21 14:08:28) running on Duet WiFi 1.0 or 1.01
                                            Board ID: 08DAM-999TL-MQ4S4-6JKDG-3S46M-TPH3Y
                                            Used output buffers: 1 of 26 (12 max)
                                            === RTOS ===
                                            Static ram: 23896
                                            Dynamic ram: 73796 of which 264 recycled
                                            Never used RAM 14124, free system stack 184 words
                                            Tasks: NETWORK(notifyWait,13.6%,272) HEAT(notifyWait,0.0%,388) Move(notifyWait,0.0%,363) MAIN(running,85.1%,454) IDLE(ready,1.3%,30), total 100.0%
                                            Owned mutexes: WiFi(NETWORK)
                                            === Platform ===
                                            Last reset 00:01:11 ago, cause: software
                                            Last software reset at 2023-10-23 14:33, reason: User, GCodes spinning, available RAM 13980, slot 1
                                            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
                                            Step timer max interval 0
                                            MCU temperature: min 33.3, current 34.8, max 35.2
                                            Supply voltage: min 12.9, current 12.9, max 13.1, under voltage events: 0, over voltage events: 0, power good: yes
                                            Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
                                            Events: 0 queued, 0 completed
                                            Driver 0: standstill, SG min n/a
                                            Driver 1: standstill, SG min n/a
                                            Driver 2: standstill, SG min n/a
                                            Driver 3: standstill, SG min n/a
                                            Driver 4: standstill, SG min n/a
                                            Driver 5: 
                                            Driver 6: 
                                            Driver 7: 
                                            Driver 8: 
                                            Driver 9: 
                                            Driver 10: 
                                            Driver 11: 
                                            Date/time: 2023-10-23 14:34:59
                                            Cache data hit count 2530679737
                                            Slowest loop: 9.72ms; fastest: 0.18ms
                                            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 1.7ms, write time 0.0ms, max retries 0
                                            === Move ===
                                            DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
                                            === MainDDARing ===
                                            Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                                            === AuxDDARing ===
                                            Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                                            === Heat ===
                                            Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                                            === 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: 275.46ms; fastest: 0.00ms
                                            Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                                            HTTP sessions: 1 of 8
                                            = WiFi =
                                            Interface state: active
                                            Module is connected to access point 
                                            Failed messages: pending 0, notready 0, noresp 0
                                            WiFi firmware version 1.27
                                            WiFi MAC address 60:01:94:09:b9:45
                                            WiFi Vcc 3.34, reset reason Turned on by main processor
                                            WiFi flash size 4194304, free heap 25176
                                            WiFi IP address 10.0.0.5
                                            WiFi signal strength -67dBm, mode 802.11n, reconnections 0, sleep mode modem
                                            Clock register 00002002
                                            Socket states: 0 0 0 0 0 0 0 0
                                            

                                            M98 P"config.g"

                                            M98 P"config.g"
                                            HTTP is enabled on port 80
                                            FTP is disabled
                                            TELNET is disabled
                                            Error: in file macro line 25 column 19: M350: array too long, max length = 0
                                            Error: in file macro line 26 column 28: M92: array too long, max length = 0
                                            Error: in file macro line 27 column 30: M566: array too long, max length = 0
                                            Error: in file macro line 28 column 33: M203: array too long, max length = 0
                                            Error: in file macro line 29 column 30: M201: array too long, max length = 0
                                            Error: in file macro line 30 column 22: M906: array too long, max length = 0
                                            Error: bad drive number
                                            Error: in file macro line 52: G10: Invalid tool number
                                            Error: in file macro line 53: G10: Invalid tool number
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA