Thanks, if I may ask a couple of follow-up questions...
Can you explain what you mean by sync error? Do you mean position error, i.e. your position reading is no longer the actual position? Does it imply that somehow encoder edges have not been counted?
When you say sync error is on the order of 10s of ms, that implies units of time, not position, so can you explain what you mean by that?
It's kind of complicated, but simple at the same time. When you cut a threads on a lathe, they are usually cut in multiple passes, since most (99% of them!) lathes are not massive and rigid enough to do it in a single pass. This creates a requirement to have successive helices to overlay the same path as the original cut, but be a little deeper every time. So sync is in effect to the original cut. It's actually a rotational error.
At t=t0, the cutter has to be at z=z0 (the start of the work piece) AND the spindle angle has to be at theta = theta0, and the position of the carriage has to be at a fixed known ratio to the spindle angle. As the spindle changes angle, the carriage and cutting tool progresses linearly. At t=t1, the next pass, z, and theta have to be at z0 and theta0 along with the carriage position locked to the spindle angle at the same ratio as before. I have a DRO (a linear encoder with 1um resolution) on z, and a rotary encoder (4096 counts/rev) on the spindle, so I know very accurately where they are at any moment in time.
At 400 RPM, my test speed, I cut a single light thread in a piece of material. It threads at the correct pitch, and stops automatically at the stop point. I then retract the cutter, so it won't cut, then go back to the initial start point again. Then tell the machine to go. I can observe the cutter doesn't follow the same path. It cuts a helix of the proper pitch, but it is phase shifted, so the cut would no longer be tracing out the previous path. If I repeat this, I find, for the most part, the helix is randomly phase shifted from the starting cut. Maybe 5% of the time, it falls on the original and correct path.
At 400 RPM, the spindle revolves once in 150 ms. So we can express phase error to time error. 75 ms would correspond to 180 degrees of phase error. If there's phase error, the screw is effectively ruined and headed for the scrap bin. If the error occurs in a deep cut, ie a very coarse thread near the bottom, then the lathe can stall, or break, or break the tooling, as the forces can become very large, with an effectively stalled cutter relative to the thread which is still turning. At least on my lathe, I can't cut 1/4" deep in steel in a single pass.
For what it is worth, the phase error (or timing error, take your pick) doesn't seem to be strongly related to RPM, which I find surprising. I tried 200 and 100 RPM and see similar random like phase errors.
Anyways, the problem has been confounding me for 4 months now... It bugs me, since well, it should work. I have all the information to recreate the tooling path vs time.
If this is unclear, please ask more questions.