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

    Set position for U axis, "G92 U0" does not work

    Scheduled Pinned Locked Moved
    General Discussion
    3
    10
    932
    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.
    • CVMichaelundefined
      CVMichael
      last edited by CVMichael

      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

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        Is this with firmware 2.02, or an earlier firmware version?

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        1 Reply Last reply Reply Quote 0
        • CVMichaelundefined
          CVMichael
          last edited by

          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

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

            @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

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • CVMichaelundefined
              CVMichael
              last edited by CVMichael

              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:
              https://www.youtube.com/watch?v=mgG614AWU4s

              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

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by

                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.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • CVMichaelundefined
                  CVMichael
                  last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators
                    last edited by dc42

                    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?

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • CVMichaelundefined
                      CVMichael
                      last edited by

                      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

                      1 Reply Last reply Reply Quote 0
                      • CVMichaelundefined
                        CVMichael
                        last edited by CVMichael

                        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

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA