Ok some progress! How many steps are you jogging on the init? The error is exactly 16 steps prior to any manual jogging. I suppose you are jogging 16 steps in that case and there is no reset or compensation taking place. The mask has to be set at -17,17 to run, at 16 it alarms. I tried setting longer delay 80_000_000 prior to doCompare. Any other suggestions on how to reset or sync the encoders and xyzPos? I tried setting the init start state to16,16,16, but improved the error by 1 only. Pretty close now!
The initialization routine does 8 steps. Multiplying by 2 gives 16!
In any event, I found a mistake in the driver where I cleared the initial values for xPos/yPos/zPos before I used them to set the initial position. Try this version of CNC.
Post Edited (Mike Green) : 11/3/2006 2:20:40 AM GMT
That seems to have done the job! I have the error cap at +- 8, and ran it pretty fast and it was good. With the spin comparison, I had to keep it at +-20 at least at high speeds. Keep in mind that you can't cut that near as fast I am I producing errors, but when rapid planing or going home it does hit high speeds, but not on a regular basis as I have been dong in tests. At low speeds, an error rate of lower would suffice, but 8 is great for detecting stalls, binds etc. I'll cut some parts and post tomorrow how it went. Many many thanks!
Comments
In any event, I found a mistake in the driver where I cleared the initial values for xPos/yPos/zPos before I used them to set the initial position. Try this version of CNC.
Post Edited (Mike Green) : 11/3/2006 2:20:40 AM GMT