Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: GAK801 on August 15, 2011, 05:22:11 PM

Title: X and Y distances not tracking the DRO setting
Post by: GAK801 on August 15, 2011, 05:22:11 PM
Amazing how attempting to make larger parts with higher precision unleashes the gremlins.

First a bit of system description. This is a home built gantry system with the A axis slaved to x axis. All axis are stepper motor driven with rack and pinions on x and y and a ball screw on the z axis. The racks/ pinions on x,a, and y are the same pitch and ratio's on the gearing.

I'm starting with a stock that is 24 x 26 inches (x,y). I've zeroed the x and y axis to the edges of the stock -that is the control point is (-0.25, -0.25). In a move where the bit (0.5  inch  diam. end mill) should end at (23.3277,25.0698) [DRO -control point readings] it actually is located at (23.6875, 25.625). The actual measurements were made with a 2 foot vernier caliper, so the y dimension could be off say 0.020 since I had to align it a second time to a mark on the stock. The vernier graduations are at 1/ 128 but I could easily estimate to 1/ 256 (but that is splitting hair relative to the differences I'm seeing).

Originally during a dry run above the part, I noticed that the bit actually moved beyond the far edge of the stock when it should have been inside the 24 inches by more than 1/2 inch. This lead to recalibrating the x and y axis. The x was off a bit but both now seem to be reproducible to within 0.001 (The accuracy of my cheapo dial indicator) over a 1 inch span. I also ran some cal runs at 3 inches, but didn't have better than 0.020 " repeatability (due to technique rather than the system I suspect). These recal's essentially made a trivial difference (bit in x direction was beyond the stock still).

Next, I reset the accelerations and velocities for these axes. Originally,x,y,a were nominally 100 mm/min, 3 mm/s^2, 4 micro sec pulse widths, and 2000 steps/ unit. The recals seemed to have changed the steps/ unit to 1925.42 (x) and 1953.049 (y). Is this odd that x, & Y are not the same since the drive systems are? I did not recal A since I assumed as a slave it is sent the identical pulses as x. Is this correct? Also when I modified the accel and velocities, I did not adjust the A axis.

The one thing that did help was bumping up the acceleration to 20 (it at least got the bit over the stock and produced the data given above). I tried up to the max (196) but that made no difference ( and I am sure it is not good for the sytem long term). I moved the velocity up and down with no measurable improvements.

What else should I be investigating?


Title: Re: X and Y distances not tracking the DRO setting
Post by: RICH on August 15, 2011, 08:54:46 PM
Start by making sure you steps per are correct.
See what they are for a long move say 24", use the axis  calibration feature. Set a reasonable velocity / slower than normal ...say 50% of your max and see if the axis is repeatable. After that, check steps for a 12" and 6" move. Since you calibrated the steps based on the longest run, any error  will be small at the lesser moved distances.
If all if fine for steps per units, now play with the velocity and accel to see where an axis will skip, lower the velocity to say 60 0r 70% of max and then play with accel in a similar fashion.


Title: Re: X and Y distances not tracking the DRO setting
Post by: GAK801 on August 15, 2011, 09:35:48 PM

thanks, I'll try that but my ability to measure accurately over 24 inches is probably in the 4-8 mils range. In the interim I did run a small design of experiment on velocity (100, 75, 50) and acceleration (3, 26.5, 50, 100) I also tested V=150 @ accel= 125, 30, 3 mm/s^2. The bit stopped in the same place for each run so there is no correlation between these values in the ranges tested.

One thing I did notice during another go at recalibrating the axes is that the variability in the steps/ are correlatable to acceleration (30, 10) at a speed of 150 mm/min. Of course the steps variation is due to the variation in distance traveled. The 10 mm/S^2 had a much smaller standard deviation. This was run over only a 1 inch distance (but at the other end of the system than the previous runs). Given this I am very surprised I didn't seem some change in the experiment above. It may be that starting and stopping within such a small distance amplifies the effect. I'll have to ponder this one a bit and will likely repeat it tomorrow with more data points just to be certain.


Title: Re: X and Y distances not tracking the DRO setting
Post by: RICH on August 15, 2011, 09:55:59 PM
Keep it simple. Just calibrate for the longest distance and after you have found an appropriate velocity and accel, then maybe profile the axis.
You take out any backlash, move in say even movements and check the positioning and plot them if so desired.
The moves could be 6@4", 12 @2", even 24@1". For me it's easy as I do it opticaly. That will tell you what to expect from the axis in terms of accuracy.

Title: Re: X and Y distances not tracking the DRO setting
Post by: GAK801 on August 16, 2011, 10:10:04 AM
Okay, I performed the calibrations at 22 inches in x and y and followed up with 3 repeats. At 22 inches each repeat went 22.000 inches (within my measurement accuracy of say 8 mils). I then ran a calibration at 12 and 6 inches for each axis. I did not accept the new count number during either of the calibrations. What I got was:
x set dist = 12, actual movement=11.813;  set dist=6, actual movement= 5.688
y set dist= 12, actual movement= 11.813;  set dist=6, actual movement= 5.712

Does this nonlinearity suggest some other source of error?

Title: Re: X and Y distances not tracking the DRO setting
Post by: BR549 on August 16, 2011, 10:57:57 AM
(;-) YOU do not just  keep recalibrating..  I personelly do not USE the calibration routine I do the math on the drive assembly to calculate what it the setting should be.

Calibrate it at the long distance as Rich suggested. Then TEST the distances with SLOW G1 moves NOT the calibration routine.  IF you find actual error with the "suggested " setting do the math and calculate the % of error then apply that to your Steps /per unit  setting. THEN retest again check the error, if all is well then you are set to go.

NOW IF you retest again at a smaller distance and find large error then you have a feed mechanism problem(non Linear) OR a lost/gained steps problem.

Hope that helps, (;-) TP
Title: Re: X and Y distances not tracking the DRO setting
Post by: RICH on August 16, 2011, 05:23:58 PM
Sorry, but should have been more clear in my as BR549 replied....assumed you would not do what you did. ;)
Title: Re: X and Y distances not tracking the DRO setting
Post by: GAK801 on August 16, 2011, 08:15:14 PM
Rich, BR,

thanks, actually moving with just a G code call gave did fix the problem. Just to clarify, I only told the calibration operation to make movements of 12 and 6 inches after calibrating at 22 inches.  It seemed logical that that particular function would just ratio the number of steps determined in the 22 inch calibration to make each distance movement, but that was not the case. I wonder why. It is moot since I have a proper procedure that works.

One thing I also noticed is that originally I did a G code move of 22 inches and took the actual distance moved and used that to ratio the pulse number in the motor tuning configuration page. I then repeated the 22 inch movement and the travel distance was unchanged (it essentially ignored the pulse number I typed into that field). Is this typical? That particular config window does respond to speed and acceleration numbers entered into their respective fields. When I did the calibration at 22 inches in the settings tab, it ratioed correctly to the previous pulse number ignoring the value I had typed into that field that was around 2% different.

So much to learn and so little time... thanks for your help.

Title: Re: X and Y distances not tracking the DRO setting
Post by: RICH on August 17, 2011, 06:26:35 AM
It asks how far to move ...22"
It then asks how far did it move ....21.9"
It then gives you  a steps per value ....can accept or reject the value, if accepted it will change the value in motor tuning.
Now with the new & saved steps per value, you do it again for the same distance /22" may be spot on or off some, but very close.
Quickly you will get the correct steps for that distance. It may take more than one or two tries at that distance.
It is just doing a ratio on the steps same as if you were doing it maualy. If there was backlash or the axis is non linear,ie; a screws pitch is gaining or decreasing,a non repeatable axis ,then then you will go into a never ending loop of trying to calibrate, you get close but never exact.

Your steps per can be no better than the resolution of the axis, so as you approach that....and no axis is perfect, you will fall within some range of steps per unit value, only you can pick the value which will be used. Maybe a better way of saying it is, you can calibrate to some degree of accuracy; isay .001" and trying to find the steps per for say .0001" is fruitless / your wasteing your tme because the system just can't provide for it.

Summary: You can quickly get to a usable steps per unit value and refining to a value beyond the machines capability or  your measuring capability
               is useless.

BTW, if one changes the steps per unit value, make sure you save your settings, get out of Mach and go back in and make sure the value was