All,
I have identified the source of the problem. But, that 'source' could have one of several root causes.
I have continued to run diagnostic tests.
If you remember, I originally thought that the source of the problem was something about the CATIA APT.Source converted to G-Code that caused the 'X-Drift.' Actually, it is an 'X-Shift.' This X-shift only occurred when I ran a CATIA generated tool path. When I ran one of the existing simple programs that were on the machine's computer, everything worked fine.
Well, I started performing parametric tests when I only changed one variable at a time. I would work the X axis. I could not cause an X-Shift using only X motion. Then I would work the X and Y axes. I could not cause an X-Shift using only X-Y motion. Then I would work only the X-Z axes. I could not cause an X-Shift using only X-Z motion. The simple programs I wrote to test the X/Y/Z axes were all written directly in G-code - no CATIA.
Each of these were 'saw teeth' The X/Y were in a horizontal plane and when I ran these programs I cut traces of the saw teeth in the MDF spoil-board. Each set of saw teeth had six 'teeth.' I would run them down the X axis and back to X=0.. I ran 20 saw teeth per test run. They were perfect.
I ran the X/Z saw teeth in the vertical plane. Again, six saw teeth along the X axis. This time, each vertex at the bottom of the saw teeth would touch the MDF and leave a mark (-0.1" cut 'spot'). Again, PERFECT! No X-Shift!!!
HUMMMM - - - -
A CNC tech I have used to try and diagnose the problem said he thought it was a matter of the acceleration rate (feed rate) used on the X-axis. OK, I'll test that - - - -
Well, I decided try running some slant lines (X0 Y0 to X35 Y35 back to X0 Y0, etc.) at increasing feed rates. For each increase in feed rate, I changed the starting and ending X position by 2 inches. So, each set of slant lines were parallel but offset by 2". I kept the Z axis off the table EXCEPT to mark X5 Y5 at the beginning of each set of 20 lines (feed rate) and at the end of each set of 20. Each run had 20 'slant lines' at different feed rates (accelerations). My program had one set of 20 slant lines run at a feed rate of500 in/min. The next set of 20 had a feed rate 600 in/min, etc., through 1,000 in/min. All of these were in one the same program - hand written G-code. Each set of 20 was offset in X by 2".
Well DANG!!!
The 'touch mark' at the beginning of the program and the first one after 500/in/min were in the same spot. But, each successive touch marks (after the 600, 700, 800, 900, sand 1,000 slant lines of 20 each) were offset (SHIFTED) by ~3/4" from X=5!!!!!!
So, CATIA is not the problem.
But what is?
By yesterday, Friday Nov. 6, 2015, I had convinced myself that it was either a problem with the x-axis servo motor's encoder or the X-axis servo drive. I went to the shop yesterday (Friday) to try and remove the X-axis servo motor and the servo drive. But, before I did that, I had to try some more 'tests.'
I tried running a set of 20 X only acceleration tests, These started at X0 and ended at X65 then returned to X0, etc. for a total 'back and forth movements' of 20 sets. I ran this at 400 in/min and 1,000 in/min. Again, 1,000 is the maximum my machine will run. Obviously, not an X-axis only acceleration problem.
HUMMM - - - - What's next??
I run an X-Y acceleration test. X from 0 to 65, Y from 0 to 2 (I didn't have much Y to work with since I was near the end (Y+) of my table for the work offset).
Again, sets of 20 with a touch mark at the beginning of each set of 20 and at the end of the run. Like before, i ran two runs - one at 400 in/min, the second at 1,000 in/min.
HUHHHH???? Every touch mark was PERFECT!!! NO X-SHIFT!!
OK, must be the combination of the X-Z axis.
So, I run another pair of test runs varying the X axis from 0 to 65 and the Z axis from 25 to 20. Again, each test run had 20 back and forth movements with a tough mark at the beginning and end.
You guessed it!!
P-E-R-F-E-C-T!!!!!! No X-Shift.
Out of desperation, I decided to make true '3D' moves - changing X, Y and Z simultaneously.
So, this set of runs started at X0, Y0, Z25 and went to X65, Y2, Z20 and then back to the start. Each feed rate had a set of 20 'back and forth' moves with a touch mark at the beginning and then again at the end.
Well, there is a GOD!!!!!
The touch marks are about 4" apart in X!!!! See attached photo (PDF).
So, this has been a LONG harangue. What did this tell me?
1.) It is not a CATIA problem
2.) It is not a servo motor / servo drive problem
3.) IT IS A WinCNC PROBLEM!!!!!
Let me clarify the above:
The 'X-Shift' occurs ONLY when there is a 3-D movement. What I mean by this is that the spindle is moved in the X/Y/Z axes simultaneously. If it is moved in only one axis or two axes at a time, there is NO X-SHIFT. The shift only occurs when there is a 3D move.
This has to be a control software problem. Either the WinCNC executable is corrupted, or the .ini file is corrupted, or the MACROS are corrupted, OR perhaps there is some damage to the two daughter boards - or a DIP switch is incorrect.
Remember, I am the forth owner of this machine. It does not have much use, but it has been moved 5 times!!! Anything could have happened.
AND
WinCNC does not protect its executable code, macros, or .ini files!!! ANYONE can change (corrupt) them.
One final comment:
When I was running these 'acceleration tests,' I stood near the work offsets 'X0' location. During the single and two axis moves, the spindle came back to the X0 location after every 'back and forth' move. But, when I ran the '3D' moves, regardless of the feed rate, then spindle never made it back to X0. Each time the spindle returned to 'X0', it was just a little further int he X+ direction. Each of those shifts in X was the same increment.
The approximately four inch offset shown int eh photo above was the difference between the start of the run and the ending (finishing) position. Each run was 20 'back and forths.' If I had run 100 'back and forths,' the X-shift would have been 4 x (100/20) = 20 inches!!!!!
I suspected this from the beginning of this ‘quest for truth.’ But, Kelly and Mark at WinCNC ASSURED me it was not a WinCNC problem.
I will be talking to them again Monday morning.
Thanks for being patient.
I am open to any and all comments. If you think I have not identified the problem source, please let me know.
Joe T.
Attached PDF: 'Acceleration tests' photo NOTE 'Touch Mark' points. ALL start at 'X=0' ONLY the X/Y/Z 3-D moves have different 'FINISHING' touch marks!!