Problem Mach 3 precision question


Results 1 to 15 of 15

Thread: Mach 3 precision question

  1. #1

    Default Mach 3 precision question

    Couple of Mach3 issues ...

    I've noticed that the precision of movements made by Mach do not always correspond to the precision specified by steps-per. I.e., an axis may have steps per set over 10,000, but a movements do not stop to within < 0.0001" of the commanded coordinate, which is also reflected on the DRO. For example, a move from 0 to 1 may stop at 0.9999", according to the DRO, when the precision specified by steps per should land it at 0.0000" if correctly rounded. This seems to be more of a problem when steps per is set to a real number, and not rounded to whole.

    I have also noticed that small movements are not always consistent, even with backlash turned off. I may jog by 0.001", for example, and every tenth move or so, the amount the screw is turned is noticeably less than the rest.

    I'm thinking about trying LinuxCNC, to see if it produces more precise movements, but wanted to make sure that I'm not missing something with respect to configuring Mach3.

    Any suggestions? Thanks.

    Similar Threads:


  2. #2
    Member Fastest1's Avatar
    Join Date
    Nov 2009
    Location
    USA
    Posts
    4415
    Downloads
    0
    Uploads
    0

    Default

    How are you calculating the differences? Why would your machine not move the commanded distance? Is your steps per unit wrong? Or is there slack in the system?

    Nothing wrong with Mach. I am not saying EMC is not good too. Try it.



  3. #3
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default

    For your first issue, Mach3 will move to the nearest step without exceeding the commanded distance. You're probably just seeing the actual value rounded off on the DRO. Internally, Mach3 keeps track to many more decimal places than the DRO displays, and no rounding occurs in the actual position.

    As for the second issue. Have you measured the distance traveled to see if it actually moves a different distance every so often? Watching a screw turn for a .001 movement would result in a significant error. If you can really see the screw turning more on occasion.

    I've done 3D carvings with .002 stepover, and it moves .002 every time, for thousands of moves.

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  4. #4

    Default

    Thank you for the responses.

    On the first issue, that is what is puzzling. If my steps per are greater than 10,000 it should round to inside of 0.0001" accuracy.

    On the second, I eventually ended up taking the motor off the machine, and held my finger to the shaft while jogging, to verify that what I was seeing was accurate – it was. I tried two different motors as well. So I finally just came to the conclusion that it was the software or an issue with the PC, partly because of the first issue mentioned, knowing the precision is not perfect. The lead is less than 5mm on the axis checked, so moves of 0.001" should be fairly consistent in terms of the number of steps – should be only one step difference, on a move over 10 steps. But the difference must be a good 7 steps or more, and a good degree or more of turn. It is very noticeable. The occasional “short move” is barely a move at all, and also happens in the same spot every time. I can count moves out and back in, and it will hit at the same exact spot every time.

    I ordinarily do not need such accuracy, and have also had good success with 3D, etc., using step-over even lower than 0.002 on this mill. Under normal use, for woodworking, sign making, etc. being off by a few tenths, doesn't bother me. But I'm using the machine to build new gantry, and precision is more of a concern. These discrepancies have me doubting Mach3 a little, not that they are, or will be a huge deal, or that my new gantry will be that accurate. Of course, I’d like to do as good a job as possible.

    I had another more significant issue this morning that I thought these may be related to, which is how I ended up posting the questions. I know it seems a bit odd.



  5. #5
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default

    From what I've always read, if the DRO shows .001 of movement, then Mach3 has sent the correct number of steps.Because of the way Mach3 works, it has to.
    Checking the movement of the screw doesn't necessarily mean that Mach3 has sent the wrong number of steps. Maybe the drive didn't receive them??

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  6. #6

    Default

    Not necessarily, no. I am a software engineer by trade, and can see the possibility of a bug related to math errors, conversion errors, and/or capabilities such as screw mapping, which would require the software to essentially re-calculate steps-per on the fly.

    For example, consider this scenario:

    Steps per on the axis in question is 10163.63.

    A movement of 0.001” would then translate to 10.16363 steps.

    So the software rounds that down to 10 steps, and moves the motors.

    Jog 0.001” 10 times, and the motor has been moved 100 steps, when it should’ve moved 102. (101.6 rounded).

    The software then compares steps (which it must calculate because of screw mapping, etc. capabilities) to current position, finds there is an accumulated error, and adjusts. Of course the adjusted move, in this scenario, would then be 12 steps. In “ideal” circumstances, there should be an 11 step jog about every 5 thousandths.

    Of course I may be wrong. This is just a possible scenario that I see. Putting myself in the developer's shoes, I could see where I might consider a design that may put off corrections to every "x.y" inches, because of the overhead introduced by screw mapping, etc. So there is a possibility it is by design.

    Based on this, I also suspect that LinuxCNC/EMC is not likely to behave any differently, because it appears to contain even more complicated capabilities such as screw-mapping, etc.

    No doubt it could be a driver issue. I don't know. The BOB is a C11G from CNC4PC, and drives are all G203V. I did try a wider pulse width, and it would not likely be noise, considering it happens at a consistent spot. I may try swapping drives and pins, with two axes, to test.

    Right now it is not a top priority, considering the problem from yesterday morning was resolved.



  7. #7
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default

    For example, consider this scenario:

    Steps per on the axis in question is 10163.63.

    A movement of 0.001” would then translate to 10.16363 steps.

    So the software rounds that down to 10 steps, and moves the motors.

    Jog 0.001” 10 times, and the motor has been moved 100 steps, when it should’ve moved 102. (101.6 rounded).
    While the current movement would be rounded to 10 steps, the overall position is never rounded. So what would happen is you'd get 5 moves of 10 steps, and the 6th move would be 11 steps. As I said before, Mach 3 will move as close as possible to the commanded position, without going past it.

    If Mach3 rounded it's position each time it moved, you'd end up with huge accumulated errors.

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  8. #8

    Default

    Yes, that is how it should work, if there is not a bug, or a design feature, that might put off correction for some reason. That scenario would require one of the two. It may be happening, or it may not. Who knows. The possibility of cumulative error, is exactly why the software may verify every "n" units. There is no way to remove that possiblity, even using large floating point types, because a very small amount of loss multiplied over a toolpath containing several thousand moves, would add up quick. If it were me, I'd put it in there, particularly since encoder feedback has to be there anyhow.

    I have one axis that is precisely 10,000 steps per inch. It does not have this problem. It's just wierd.



  9. #9

    Default

    I strongly suspect it is a bug, because of the first issue mentioned. The axis with exactly 10000 steps per inch, will always stop correctly. E.g., a move to 3 inches, will always stop at 3.0000. The axis with 10163.63, might stop at 2.9999, or 3.0001. This is unquestionably a math error somewhere, and I suspect the jogging issue is related.



  10. #10
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default

    Change your DRO to display more digits and see what you get.

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  11. #11

    Default

    Ok, I downloaded the screen editor, changed the program screen to display 5 decimal places, and just tested. It confirms that there is a bug.

    Using 10163.63 steps per inch, moving directly to 3 points,

    At 1 inch, DRO displays: 0.99994, and 0.9999 on MDI screen
    2 inches: 1.99997, and 2.0000
    3 inches: 3.00001, and 3.0000

    The value at 1 inch looks like a step short. 0.99994 corresponds to 10163 steps, when 1 inch should have been rounded up to 10164



  12. #12
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default

    As I said a few times before, Mach3 will go to the nearest step without going past the commanded position. It shouldn't round up, as then it would go past the commanded position. Mach3 is doing exactly what it's supposed to do.

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  13. #13

    Default

    Not according to the test. See the result at 3 inches.

    It looks to me like it is supposed to round to the nearest step. Either way it is inconsistent. Has to be a bug, imo.

    Last edited by BenShatley; 02-23-2014 at 10:34 PM.


  14. #14

    Default Re: Mach 3 precision question

    Does the machine have a smoothstepper?



  15. #15

    Default Re: Mach 3 precision question

    Quote Originally Posted by forddieselpower View Post
    Does the machine have a smoothstepper?
    This is a three-year old thread. I ended up building my own controller, and haven't used Mach in a couple of years. At the time, though, I was not using a smoothstepper - just parallel port and breakout board.



Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Mach 3 precision question

Mach 3 precision question