Dual Z-axis endstops
-
1. If you are running firmware 1.21RC5 then it's normal for endstops that are set to active low to read the wrong way round. That's fixed in the 1.21 release.
2. Are you using microswitches, or some other type of endstop?
3. Please run M574 without parameters, and check that the U endstop is reported as being configured the same way as XYZ.
-
1. Now I have updated my Firmware to ver. 1.21 and now all my declared endstops works, but still no readings of minimum and maximum for drive 3 aka U axis.
2. I use standard Makerbot Mechanical endstops ver. 1.2
3. M574 returns: Endstop configuration: X: low end active low switch, Y: low end active low switch, Z: low end active low switch, U: low end active low switch,
Now when I try to move Z up and down I get a red popup like this:
M120
G91
G1 Z-1 F6000
M121
Error: G0/G1: insufficient axes homed
Error: Pop(): stack underflow!homez still don't work
What's next? -
Read the release notes for firmware 1.21.
-
all should now be updated and I have read the release notes.
I'm homing X and Y fine but trying to home Z, my homez.g looks like this:
G91 ; relative positioning
M584 Z2 U3 P3
G1 S1 Z-355 U-355
G92 Z0.1
M584 Z2:3 P3
G90 ; absolute positioningbut only the spindle connected to the Z connector is trying to home but noting happens on U spindle. My machine properties looks like this:
Logical Drive Endstop hit Minimum Maximum InstantDv Max Speed Acceleration Motor Current
X Yes 0 mm 300 mm 15 mm/s 100 mm/s 500 mm/s² 800 mA
Y Yes 0 mm 300 mm 15 mm/s 100 mm/s 500 mm/s² 800 mA
Z No 0 mm 350 mm 1 mm/s 30 mm/s 250 mm/s² 800 mA
E0 No n/a n/a 1 mm/s 30 mm/s 250 mm/s² 800 mA
E1 Yes n/a n/a 2 mm/s 20 mm/s 250 mm/s² 800 mA
E2 Yes n/a n/a 2 mm/s 20 mm/s 250 mm/s² 800 mA
I can now see that endstop for Z works, the one I have set for U now works on E0 and my E3 no longer exists.
My parameters set for the U seems to be in E0 row but no min and max values are available here. I guess that's why my U axis can't move. What can I do to solve this? -
I have the following software information:
Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
Firmware Electronics: Duet WiFi 1.02 or later + DueX5
Firmware Version: 1.21 (2018-03-21)
WiFi Server Version: 1.21
Web Interface Version: 1.21-RC4 -
Try changing P3 in this line of homez.g:
M584 Z2 U3 P3
to P4, so that U is treated as a real axis during homing.
-
Thanks now Z and U is homing. Back to work…...
-
Hi David,
I'm having basically exactly the same issue as j3dk: 2 independent z-axis motors, 2 z-axis endstops, when homing only moves 1 z-axis, the Z... the U just looks at me and laughs... when homing X and Y, and once homed Z, both z-axis move correctly, so I am sure it is something wrongly configured...
After following thru all this thread, I finally realised that my Machine Properties for E0 and E1 are reversed, E0 is my extruder, and E1 is my right hand z-axis, what I have declared as U in my config.g - the endstops themselves do correspond to the correct axis, but the rest of the values of E0 are the same as Z, whilst the values of E1 are those that I have configured for the extruder.
I have tried changing the remap command so E is before U, but seems to have no effect - flash! should I also rearrange all the other parameters too?
Attach config.g and homez.g, although especially homez, I have revised it at least 5 times as I have gone thru this thread!
Thanks!
Andy
0_1523477320088_config copy.g
0_1523477329606_homez.g -
I don't know how you manage to move any axes at all, because the only M906 command I see in your config.g is this one:
M906 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent\
so all the XYZU motor currents will be zero.
-
@dc42 sorry! forgot to mention, I'm using external stepper drivers for XYZU!
I am fond of removing surplus code, so after somewhere in the wiki I saw something about the external drivers are the ones that actually decide the current and microsteps, I removed all M350 and M84 that referred to the external drives - works perfectly for all moves as-is - it is just the homing that only 1 z-axis does not want to cooperate!
Cheers!
Andy
-
Probably noob question.. But I assume you need to tune both Z ends top flags so Z and U line up correctly.is that more more accurate than using the Z-Probe method? Or is dual end stop better since you also can sync after power failure. If you have them both as max endstops, that is
-
@andymidtf said in Dual Z-axis endstops:
@dc42 sorry! forgot to mention, I'm using external stepper drivers for XYZU!
I am fond of removing surplus code, so after somewhere in the wiki I saw something about the external drivers are the ones that actually decide the current and microsteps, I removed all M350 and M84 that referred to the external drives - works perfectly for all moves as-is - it is just the homing that only 1 z-axis does not want to cooperate!
Cheers!
Andy
Of course, for some reason I had the idea that you were using a DueX5.
- Does DWC display the U axis?
- Are you able to jog the U axis by small amounts?
- If you send M208 without parameters, does it report the correct U axis limits (same as Z axis)?
-
@alexlin said in Dual Z-axis endstops:
Probably noob question.. But I assume you need to tune both Z ends top flags so Z and U line up correctly.is that more more accurate than using the Z-Probe method? Or is dual end stop better since you also can sync after power failure. If you have them both as max endstops, that is
Yes syncing after power failure could be an advantage of dual Z endstops. As for accuracy, I don't have a machine with dual Z leadscrews so I can't compare them.
-
@alexlin my observation is that if your bed has any sort of tilt, or is irregular at all, a z-probe should be better, but otherwise a dual z-endstop setup should be sufficient...
I will be trying to setup both, as my 1m2 6mm glass bed has differences of about 0.3mm from one side to the other! I'll be getting back about that
-
@dc42 as soon as I can try this out, I'll get back to you..
- DWC does show the U axis (I managed to hide it at one point with P3, but until get it homing, I prefer to show
- will try
- will try
-
@andymidtf On my corexy with independend z motors, these can get out of sync. Currently I use autobed level between the 2 leadscrews. And I home on the probe as z min . However this makes the position of my zmax a bit inaccurate.So I would rather home on z max and find z=0 on the probe..and instead of auto bed level use theend stops.
I will still use mesh compensation for the bed
However this may all be academic and in practice not make a notable difference -
- Does DWC display the U axis?
yes, as set up in config at the moment (i can hide with P3 at the end of M584, seems to make no diference) - Are you able to jog the U axis by small amounts?
no, U does not respond to direct jog inputs, only moves together with Z movements - If you send M208 without parameters, does it report the correct U axis limits (same as Z axis)?
Axis limits - X: 0.0 min, 950.0 max, Y: 0.0 min, 950.0 max, Z: 0.0 min, 1000.0 max, U: 0.0 min, 1000.0 max
hope that helps, it confuses me....! I attach screen capture of machine properties tab, to see better - endstop E0 is filament out, is correct, E1 is U endstop, is correct, but the rest of the parameters of these 2 drives are swapped... I have a feeling this is what is wrong... but nothing I have done has been able to swap them round - note of mention is when putting the E before the U parameter of jerk (inst. speed change), the DWC no onger showed ANY machine properties! The rest of the parameters don't seem to care for the order...
- Does DWC display the U axis?
-
You need to connect the U endstop to endstop input E0. The filament monitor can be reconfigured to use E1 endstop input.
-
@dc42 OK!! Actually just arrived at the same conclusion reading thru the thread "Dual Z, Dual End stop issue"... have also remaped the extruder to drive E1 (P4), just so it looks better
I have been trying to hide the U axis, but I'd still like to see the E0 endstop - is it possible? Or hiding the U axis will always hide its endstop?
Thanks!
Andy
-
You can hide the U axis except during Z/U homing. the Machine Properties page will always show the U endstop state, but it will show as E0 not U.