On the setup page there is a button called ScrewMapping. If you press it
you get a dialog with the current maps and the ability to turn them on and
off. These are correction maps, (limit of 1000 points) to correct any
non-linearity in long screws. The basic curves installed at startup have
only two points. For most axis, these are zero and max travel. Even if on,
these will not correct anything as it is a linear move from 0 to max travel.
The Z axis is 0 to -travel. To use these is a multistep process. First home
the machine. This is important, screw mapping from a variable home is
impossible. You must ref first. Then call up the calibrator. Set the length
of your screw in the boxes provided and hit the "clear" button for each
axis. This set a 2 point curve with 0 as its min and max travel as its
length. You may now jog or MDI to any cooridnate. The position Mach3 thinks
it is in is displayed in the DRO's on the calibrator. Lets say your at
10.456 in the X and your calibrating the X screw. You measure and find your
actually at 10.410, you may now either enter 10.410 in the X DRO and click
add point, or , if you use a linear encoder, just hit "load from encoder".
Then click Add point. The curve will update to show the new linearity of
that curve. You may add up to 1000 points in any order back and forth, the
system will set them in proper order in the curve. If you now turn on that
curve, all MDI moves and program runs will correct by an interpolated
amount. If, when adding points, the curve disappears, you have entered a
very bad correction, or forgot to indicate the sign of movement properly. In
that case, clear the curve and start that axis over again. Curves, of
course, are automatically persistant and you can always verify them by
running the calibrator and looking at them visually.
Caveats:
this type of correction would best be applied by the engine and
hidden, however, for technical reasons is it applied to post-step
production, meaning that if you command a move of G1X10, the DRO will read
10.00 plus or minus any correction in this case. jogging
is not corrected. Program runs , however, are corrected and seem to correct
nicely in testing. I know that some would like this capability
to be engine driven and invisable and work also in Jog, but it is not
possible currently, perhaps in the USB version it will. (Remember, for a
$149.00 program to have screw mapping at all is unusual, so we must take
what we can get and this does seem to solve the problem nicely in instances
where it is necessary. There are two limitations with this. It is designed
for production work, stopping a program in the middle and trying to continue
can cause trouble if an arc end point doesn't match up due to the system
resyncing itself to the off line DRO figures. This should not affect the
vast majority of instances where this technique is used though.
The second limitation is for thoise with servo's (or steppers but thats
rare) who run at fully maxed out velocity settings. This is because
the engine has a maximum speed of 5 pulses every interrupt calculation
period. Whcih means is a max speed axis calls for 6 steps, a step can be
lost. This will happen if your at max velocity, your velocity is maxed out
in motor tuning and your curve deviates from linear by an amount that
creates more than one step of correction at that speed. Again, this will
affect very few, but if you find the following two moves
G0X(MaxTravel)
G0X0 do not return to the same spot each time, or the DRO' seem to lose
steps, then your max velocity is too high and must be reduced some. How much
a max velocity has to be reduced is a function of the amount of
non-linearity induced by the curve. Most screws do not have much
fluctuation, so it shouldn't be an issue, however, if your curves are too
torturous, if can happen that one point in time to the next will exceed the
5 pulse cacluation limit and you will lose steps. Testsing a G0 move from
one end of travel to the other and back will show if this
can happen to you, if an axis will G0 from one end to the other and back to
zero (since zero should never be corrected), then your fine and your curves
will work. This feature is advanced, I don't recommend it unless you know
and understand the ramification to your workflow, but it can help if you
find non-linearity an issue.