Hi,
I have an issue that's very repeatable. Hopefully someone will recognize the issue.
I first found the issue when trying to carve a long detailed 3D bit of text. As time went on the Z would begin drifting either up or down and the piece would be ruined. The drift was exactly the same every time I ran the same program. If I ran a slightly different program the drifting would manifest itself differently (more or less exaggerated, or sometimes the opposite direction), but again if I re-run this new file I will get the exact same drifting results.
To troubleshoot I wrote a simple bit of G-code to move the router back and forth ~25 times, then return to the 0 position. After running back and forth it was 0.35mm off. The Mach3 DRO says I'm back at 0, but my dial indicator shows that it clearly is not. I can repete this exact same failure on all three axis.
Here's a quick video showing what I did:
https://www.dropbox.com/s/yft4xvsby7...14631.mp4?dl=0
If I double the number of back and forth cycles to 50, the drift doubled from 0.35 to 0.7mm of error.
If I change the distance traveled during the 25 cycles the results might change, but only 2 different resulting error values would arise (when holding everything constant and only varying the distance traveled). For example, in one bit of g-code I was traveling out to -1.761 and back, the error was +0.35. Then I tried traveling to -1.762 and the error was -0.03mm. I kept changing the value slightly, but the outcome was always either +0.35 or -0.03mm.
Next I tried holding the travel distance constant, but varying the max motor acceleration. This again changed the results, but I couldn't find a correlating pattern. I varied the max accel between 3 in/s/s and 30 in/s/s. Sometimes the error was large, sometimes it was small, or the opposite directiong. Again for a given configuration I could run the same test over and over again and get the same drift.
Next I tried holding travel distance and feed acceleration constant and varying feedrate. Again sometimes I would get a -.03 drift, other times I would get +0.35. There was no correlating pattern. Both high and low speeds produced one of the two errors seemingly at random. But again, if I didn't change any variables and just re-ran the exact same config multiple times, it produced the exact same error.
I'm 99% sure I do not have any mechanical issues. If I had to guess there's some sort of software rounding issue between Mach 3's commands and the number of steps a motor moves. Any ideas would be greatly appreciated.
Set-up:
Mach 3
G-code simply written by hand in txt file to go back and forth (G0, x1, x1.5, x1, x1.5....x0)
Gatton CNC machine (home build plywood rig)
Javi Box CNC controls (STB4100 with custom-programmed proprietary PROM)
DM542 Drivers
NEMA 23 motors