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

  • administrators

    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.000

    Note 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.

  • 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.000

    Note 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:

    But 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

  • administrators

    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...

  • administrators

    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 S0

    Then 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

Log in to reply