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

    [3.6.0-rc.2] Expansion boards microstep positioning error

    Scheduled Pinned Locked Moved
    Beta Firmware
    2
    3
    72
    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.
    • leoneundefined
      leone
      last edited by

      Hi all,
      before beta.4 there was a positioning error of about one microstep when movements stopped. I'm using now rc.2 but I think it is still an issue for drives connected to expansion boards.

      The test I've done is:

      • steps/mm is 80 -> 0.0125 mm/microstep.
      • X-axis motor connected to 1HCL. Y and Z are connected to MB6HC.
      • home all
      • Run test macro 3 times (no homing in between)

      Test macro:

      G1 X0 Y0 Z0
      M118 S{"User Position "^move.axes[0].userPosition^",Y "^move.axes[1].userPosition^", Z "^move.axes[2].userPosition^"}
      M118 S{"Machine Position "^move.axes[0].machinePosition^",Y "^move.axes[1].machinePosition^", Z "^move.axes[2].machinePosition^"}

      G1 X10 Y10 Z10 F600
      M118 S{"User Position "^move.axes[0].userPosition^",Y "^move.axes[1].userPosition^", Z "^move.axes[2].userPosition^"}
      M118 S{"Machine Position "^move.axes[0].machinePosition^",Y "^move.axes[1].machinePosition^", Z "^move.axes[2].machinePosition^"}

      What I get echoing the user and machine positions in between each move:

      Run 1
      User Position 0.00,Y 0.00, Z 0.00
      Machine Position 0.00,Y 0.00, Z 0.00
      User Position 9.988,Y 10.000, Z 10.000
      Machine Position 9.988,Y 10.000, Z 10.000

      Run2
      User Position 0.0125,Y 0.0125, Z 0.00
      Machine Position 0.0125,Y 0.0125, Z 0.00
      User Position 9.988,Y 9.988, Z 10.000
      Machine Position 9.988,Y 9.988, Z 10.000

      Run3
      User Position 0.0125,Y 0.00, Z 0.00
      Machine Position 0.0125,Y 0.00, Z 0.00
      User Position 9.988,Y 9.988, Z 10.000
      Machine Position 9.988,Y 9.988, Z 10.000

      It's also very strange that from the second run also the Y axis (connected to MB6HC) seems to have a similar problem, while if I connect the X-motor to MB6HC all the returned positions are precise.

      Can someone replicate this behaviour? Thanks in advance.

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

        @leone lease provide your config.g file and any other macro files that it calls.

        Is the report still inaccurate if you put a M400 or G4 P100 command between the G1 command and the M118 command?

        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

        leoneundefined 1 Reply Last reply Reply Quote 0
        • leoneundefined
          leone @dc42
          last edited by

          @dc42 here the files, yes the report is the same with M400 in between.
          config.g
          test_microstep.g

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