On Friday 11 December 2015 15:19:14 Viesturs Lācis wrote: > Hello! > > This is more like a hope that somebody (especially any fellow > jewelers) might share their experience, where to look for source of > problem. Please feel free to suggest whatever possible ideas that I > already have not tried out. I will try to provide as detailed > description as I can (sorry, if it ends up too long and boring to read > all the way through). > > The machine is relatively small bench-top mill, used by jewelry maker > to mill wax models to be used in lost-wax casting process. That is a > 4-axis machine with rotary head (I do not have particular data of what > motors and stepper drivers are used there). Original controls come > with mach3. I only tested with my replacement control pc with Mesa > 5i25 and LinuxCNC 2.6.8 > > The problem is this: when milling out a ring, the tool passes back and > forth on X axis (parallel to center-line of rotary axis) and changes Z > height during those passes to create the profile of the ring. Between > the passes there are small indexing moves of A axis to make for 0,02 > mm stepover from previous pass. The ring is about 23 mm diameter, so > it takes something around 6000+ passes to complete whole circle. The > problem is that the Z position in the last pass is approximately 0,5 > mm lower than in the first. > Here is a picture that shows the issue (as they say something about > one picture being better than 10^3 words): > http://picpaste.com/IMG_8289-lyaSJDQI.JPG > > Things that have been tried: > 1) looked at the code and Z heights match (at least to +/- 0,01 mm, > which could not be observed to human eye), so it is not direct issue > with the code; > 2) checked for any hardware issue: loose clutch on motor shaft, any > slop in linear bearings; > 3) swapped the stepper drivers and motors > 4) I reorganized the wires on the machine to move any motor power > wires as far from incoming step/dir signal lines as possible > > The end result from these actions - no improvement at all. Client says > there are total at least 4 attempts of milling the ring, no > improvement has been observed. > > There are 2 things that have affected the result that do not make any > sense to me and I would also appreciate any hints for these: > 1) we made "test code" - the same 3d model was used, but code was > generated with 0,2 mm stepover (instead of 0,02) to make for shorter > run time - the result: _no problem_ at all; IMHO this excludes any > effect from actual cutting forces as there was 10x more material to > remove; I would have expected 10x smaller error (still easily > observable, compared to overall surface finish roughness), but it was > all equally smooth; > > 2) the same original code was executed on a smaller workpiece (tool > was touched off closer to centerline of rotary axis, actual diameter > reduced from ~23 mm to ~14 mm); the position drift was smaller (client > says 0,3 mm instead of 0,5 mm). IMHO reducing the actual diameter > decreases actual stepover distance and distorts overall proportions of > the part produced, but it should have _zero_ effect on Z axis > positioning precision. > > Thanks in advance for any [almost] meaningful ideas! > > Viesturs
What is the precision of the numbers the code is actually running? Could it be a rounding error that accumulates in 6000 iterations if there is not a renewal from fixed data on a per pass basis. In which case is there a place in the code where it could be reloaded from a read-only variable, set once in the files preamble? And have you tried adding 50% more time to both the dir-setup and dir-hold settings in the .ini file for the Z axis? My thoughts run toward a slow interface card whose dir change output might have a slow edge, and its consistently missing an initial step in the new direction, but only in one direction. Adding a couple microseconds to each of those times will not make a noticeable diff in the total execution time, but it would sure answer that particular question. In the former case, could the code be regenerated to do the sweep once, always starting with the same data, but rotating the co-ordinate system instead of calculating new angles & distances for X,Y,Z, for all of each pass? Data you use in the co-ordinate system rotation should be to about 8 places right of the decimal point. Gotta be a clue here someplace, Viesturs. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Some mill pix are at: Genes Web page <http://geneslinuxbox.net:6309/gene/GO704-pix> ------------------------------------------------------------------------------ _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users