Centroid CNC control sales, service, training and support
The Centroid control software supports non-linear ballscrew pitch error compensation, commonly called "laser compensation" (because the pitch errors are measured with a laser system) or "ballscrew mapping".
The software features, procedure, and underlying data file format have varied with different software releases. Notable milestones include:
|CNC7 v6.00||Ballscrew compensation introduced (one direction)|
|CNC7 v7.50||Bidirectional compensation added|
|CNC10 v2.61||Improved data file format (version 3)|
The compensation data are stored in files with the ".tab" extension. There is one file for each axis. The exact file names have varied with different software versions. Names are as follows, where '?' is the axis label (e.g. 'x', 'y', 'z', etc.).
|Software||Data File Names|
In general, the data files begin with a header which identifies the axis, travel length, mapping interval, and units of measure. They then contain data values for the amount of correction to apply at each point.
The data files from CNC7 v6.00 through CNC7 v7.17 are unidirectional. They contain a single correction value at each point, which is the average of the forward-going correction and the reverse-going correction at that point.
Data files from CNC7 v7.50 and later (and therefore all versions of CNC10, CNC11 and CNC12) are bidirectional. They contain two separate correction values at each point: one correction to be used for forward-going movement, and another correction to be used for reverse-going movement. This allows the ballscrew compensation feature to also compensate for backlash, and allows the backlash amount to vary along the axis travel.
24 -1448819 0 -32 -38 -47 -54 -57 -63 -69 -76 -82 -88 -98 -101 -110 -113 -120 -123 -129 -132 -135 -139 -142 -145 -148
There is one header line, with two fields:
The correction values are in encoder counts.
2 9 0.500000 20 114300 0.000000 ; Ver. 2 compensation tables for Z axis 0.4272 0.2122 0.3142 -0.0348 0.8232 0.6692 0.5752 -0.4968 0.2712 -0.1808 ; backward data -1.7938 -2.2758 -3.0828 -3.0378 -2.2298 -2.1048 -2.5488 -2.1468 -2.1998 -2.6518
There is one header line, with six fields:
There is also a comment at the end of the header line, describing the file.
The correction values follow the header: first the list of all the forward-going correction values; then a comment line; then the list of all the reverse-going correction values.
When machine units are inches, the correction values are in tenths (multiples of 0.0001"). So, for example, the first correction value in the forward data above is +0.00004272".
When machine units are millimeters, the correction values are in microns (multiples of 0.001mm).
A version 3 data file looks something like this:
CNC10 TAB FILE VERSION 3 AXIS Z UNITS INCH INTERVAL 0.5 ENTRIES 9 +0.00000000 +0.00000000 +0.00000000 -0.50000000 -0.00010000 +0.00003000 -1.00000000 -0.00014000 +0.00011000 -1.50000000 -0.00023000 +0.00013000 -2.00000000 -0.00025000 +0.00014000 -2.50000000 -0.00024000 +0.00011000 -3.00000000 -0.00017000 +0.00009000 -3.50000000 -0.00008000 +0.00005000 -4.00000000 +0.00000000 +0.00000000
There are five header lines:
The data section contains three columns, and as many lines as are specified on line 5 of the header. The data columns are:
The above example is for a Z axis, which homes plus and has a negative travel limit. In this case, the positions in column 1 start at zero and go down; the corrections in column 2 are used for movement from plus towards minus (away from home); and the corrections in column 3 are used for movement from minus towards plus (towards home).
A data table for an axis which homes minus (and therefore has a positive travel limit) would have opposite signs: the positions in column 1 would start at zero and go up; the corrections in column 2 would be used for movement from minus towards plus; and the corrections in column 3 would be for movement from plus towards minus.
CNC Services Northwest Home
Copyright © 2015 Marc Leonard
Last updated 06-Dec-2015 MBL