Set position for U axis, "G92 U0" does not work
-
How to set position for U axis ? even in the Gcode documentation the parameters are only for X Y Z and E axis, but not U (or other axis if you have more)
I used M114 to get position (let's say currently U = 50), then I send "G92 U0", then I check again with M114, and it shows me the same (U = 50) value.
BUT... If I issue a command like "G1 U0", the axis does not move! it acts as if it is already at 0 (zero)
Then, if I say "G1 U10", it moves 10 mm, and I check with M114, it returns U = 60 !!!
So it kid of works! but the problem is that I need to know what is the actual value with M114
Before you ask, I am using G90 - Absolute Positioning
-
Is this with firmware 2.02, or an earlier firmware version?
-
Thanks for helping me on this.
The Firmware Version: 2.02RC5(RTOS) (2018-11-28b1)
Yesterday when I was trying this out, I was convinced it was the G92 U0 was not working, but today I noticed it only happens after I home with "G1 S1 U405 F500 H3"
See this (from console):
18:50:09: M114: X:50.000 Y:200.000 Z:0.000 U:29.606
18:49:58: G92 U0
18:49:43: M114: X:50.000 Y:200.000 Z:0.000 U:29.606
18:49:36: G1 S1 U405 F500 H3
18:49:11: M584 X4 Y5:6 Z8:9 U7 E0 P4
18:49:05: M114: X:50.000 Y:200.000 Z:0.000Note the newest command is at the top, also, I removed unnecessary text from M114
So, after G92 U0, M114 shows the same position, but it acts as if it's 0 (zero)
If you wondering why I have G1 with H3 parameter, it's because I need to read the U position with M114 after it triggers the endstop
-
@cvmichael The full release of 2.02 is now available. To make trouble shooting easier, please update to the latest by uploading this zip file (don't unzip it) to the settings>general page of the DWC. That will get you all up to date. The test again.
https://github.com/dc42/RepRapFirmware/releases/download/2.02/Duet2Firmware-2.02.zip -
I installed the latest version: Firmware Version: 2.02(RTOS) (2018-12-24b1)
But I have the same problem:
02:02:13: M114: X:140.000 Y:193.000 Z:0.000 U:33.611
02:02:08: G92 U0
02:01:59: G1 U10 F2000
02:01:47: M114: X:140.000 Y:193.000 Z:0.000 U:0.000
02:01:41: G1 U0 F2000
02:01:21: M114: X:140.000 Y:193.000 Z:0.000 U:33.611
02:01:16: G1 S1 U405 F500 H3
02:00:46: M114: X:140.000 Y:193.000 Z:0.000 U:100.000
02:00:17: M584 X4 Y5:6 Z8:9 U7 E0 P4
02:00:07: M114: X:140.000 Y:193.000 Z:0.000Note this time, I moved to zero, then moved to 10, reset to 0, and it shows me the endstop value
I managed to write the code without sending "G92 U0", and I got my code to work, check this:
https://www.youtube.com/watch?v=mgG614AWU4sBut it would be nice if you can fix the problem, because I am pretty sure I will need this when my code gets more complicated
-
When you send G92, the position you pass is constrained by the M208 limits for that axis. Is your minimum U position 33.611? Send M208 without parameters to check.
-
M208 - Axis limits X0.0:400.0, Y0.0:400.0, Z0.0:400.0, U0.0:200.0
I guess 200 is the default when you create a new axis...
-
You ran this:
02:01:16: G1 S1 U405 F500 H3
You've used both S1 and H3 in this command, which I don't think you intended. The H3 will take precedence over the S1. So it will move the U axis until the endstop triggers, and then set the axis limit to the current U axis position. Is that what you intended, or was the H3 a typo?
-
I don't want to set the axis limit at the trigger, I just want to read the value at the trigger, without modifying the axis limit
-
I figured it out, after the trigger, if I send command:
M208 U0:400 S0Then the G92 U0 works!
I didn't realize before, I was using "M564 S0 H0" to move the axis without homing to prepare the printer, and this made the "G1 U0" work after homing (trigger) on U axis, but "G92 U0" not work because it was changing the minimum limit.
Now everything makes sense!
Thanks for your help