MPCNC Endstop G28 Issue
-
This post is deleted! -
@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
-
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!
-
@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?
-
@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
-
Please post your config.g as it is now.
It looks like you still have all the E values present causing those errors.
-
; 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
-
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
In this section remove the E values like this
M350 X16 Y16 Z1 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 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
And in the tool definition you should remove the extruder drive and fan references
; Tools M563 P0 D0 F0 ; define tool 0
Like this
; Tools M563 P0 ; define tool 0
Make those adjustments and run M98 P"config.g" again and see if your homing issue is still there.
Also make sure the homing move is long enough to guarantee an endstop hit from the farthest point.
-
@Phaedrux I'm still having issues but I'm not sure why. Sometimes the motors will skip and start making a horrible noise when the endstops should have been triggered. The other issue I'm having is I don't know how to home Z without a Z probe? I've got M558 in config.g. How do I tell the board that the Z axis is homed?
-
@ZPomeroy said in MPCNC Endstop G28 Issue:
G1 H1 Z-125 F360 ; move Z down stopping at the endstopG90 ; absolute positioningG92 Z0 ; set Z position to axis minimum (you may want to adjust this)
In your homeall you're doing a homing move as if you have an endstop to home to, but you don't have a z endstop defined in config.g
How do you intend to home your Z axis?
Right now you have a manual probe defined, so it would prompt you to manually jog the axis to touch the Z0 point. To use that you would need to modify your homez and homeall and change these lines
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)
To simply
G30
so that it would call the probe and prompt you to home Z manually.@ZPomeroy said in MPCNC Endstop G28 Issue:
Sometimes the motors will skip and start making a horrible noise when the endstops should have been triggered.
Can you give me detail about this? Maybe a video showing what is happening?
Do it happen every time? Randomly? Does the axis move normally otherwise?