A novel non-contact measuring system for the thread profile of a ball screw

In order to meet the demand of high position accuracy, many methods have been developed for measuring the thread profile features of ball screws. However, most of these efforts are limited to measuring a small number of ball screw features and therefore less efficient. In this study, an automatic, non-contact measuring system for the thread profile of a ball screw was developed. It is capable of measuring most common features of the ball screw thread profile and can measure ball screws of different sizes and lengths. The main part of the system is the light curtain which has a high-resolution line-scan CCD camera to measure the projected outer contour of the target. Data points from the thread profile of a ball screw were collected by the measuring system and data pre-processing was performed. Then, the proposed method was used to calculate the most important geometric parameters and errors of the thread profile. The accuracy of the measuring system was verified by testing and evaluating four sets of ball screws from different manufacturers.


Introduction
The reciprocating ball screw mechanism is a force and motion transfer device. By using ball screws, the rotational motion can be transformed to the linear motion with little friction, low noise and high capacity. Because of their advantages such as precise positioning and high efficiency, ball screw mechanisms are widely applied to feed-drive mechanisms of machine tools and high-precision levelling platforms (Wei and Lin, 2003;Wei and Lai, 2011;Verl et al., 2014). In recent years, the demand for high position accuracy ball screws increases rapidly. One of the major factors that affect the positioning stability and accuracy of a ball screw is the profile of the thread, which alters the contact situation between the balls and the screw. In traditional method, the inspection of thread profile usually uses a contour measuring instrument to obtain the profile image of a ball screw and then projects the magnified profile image on a screen. The magnified profile image will be compared with the standard design contour magnified to the same level as the profile image. There are two major disadvantages of the traditional visual method. Firstly, the method has big reading error and it is difficult to quantify the measurement results. Secondly, it is time consuming. The measuring range of the contour measuring instrument is very small and the measurement speed is slow. Therefore, it is essential to find an accurate, fast and simple method of the thread profile inspection.
In order to solve the inspection problem, some non-contact measurement methods were developed. Gadelmawla (2004) used a micrometer microscope to measure and inspect common types of screw thread. The developed system was able to measure the most common features of screw threads. Tong et al. (2014) developed a measuring system to calculate the thread pitch, pitch diameter and half thread angle of the internal or external screw thread. The measuring unit of the system was mainly composed of a laser displacement sensor, a laser measuring head and a liner encoder. The thread profile contour can be obtained by using the longitudinal position data, which is collected by the laser displacement sensor and laser measuring head, and the transverse position data, which is collected by the linear encoder. Feng et al. (2011) developed an automatic measuring system, which was mainly composed of a light curtain and a high-accuracy linear encoder, to calculate the important parameters of thread profile of a ball screw, such as effective diameter and thread (2) the air floating platform; (3) the measurement frame; (4) the tailstock; (5) the V-shape cushion block; (6) the bed; (7) the V-sharp track; (8) a groove used to fix the tailstock.
pitch. However, the method of data pre-processing requires manual removal of unavailable data. Chen et al. (2002) developed a measurement method for the contact angle of ball screws by using the photo elastic effect and digital image processing techniques. Experimental results showed that this method was more accurate. Chen et al. (2011) combined the profile projector and commercial digital camera to build an imaging based, non-contact, measurement system. It can implement the contact angle measurement accurately. Although both contact angle measurement methods mentioned above have high accuracy, only one raceway can be measured at a time, which makes them less efficient. Besides contact angle, image processing based methods can be used to measure other parameters. Liu et al. (2006) proposed a method to calculate the screw pitch by using a screw image. Rao et al. (2013) developed a measurement system based on image processing method to calculate the major diameter, minor diameter, pitch diameter, pitch, thread height and other parameters of screw thread. Liu et al. (2016) presented a method of measuring the geometric parameters of the ball screw raceway based on the digital multi-step phase-shifting profilometry. The three-dimensional ball screw surface image was constructed, from which parameters such as arc radius and pitch could be calculated. This method provides a new idea for the measurement of parameters of ball screws, but the accuracy of the method is limited to the 3-D digital imaging system.
In some of the aforementioned studies, the measured object is not a ball screw and the methods cannot be applied directly to a ball screw. Other studies are for ball screws, but the parameters they can measure are not enough and usually the methods are less efficient. In this study, an automatic, non-contact system for the thread profile of a ball screw was developed. It is capable of measuring most common features of the ball screw accurately and rapidly. Moreover, the mechanical structure developed can measure ball screws with different sizes and lengths.
2 The mechanical structure and the measurement system

The mechanical structure
The mechanical structure is shown in Fig. 1. The material of the bed is marble. The bed has a V-sharp track. Two Vshape cushion blocks were placed in the V-sharp track. The headstock and the tailstock were fixed on the two cushion blocks, respectively. The headstock is immovable, while the tailstock is movable in order to measure ball screws with different lengths. A spindle motor and a feed motor were installed inside the left end of the bed (as shown in Fig. 2). The spindle motor is used to drive the tested ball screw and the feed motor is used to drive the feed ball screw. The air floating platform was connected with the nut of the feed ball screw. The feed motor drives the feed ball screw and the nut and the platform can move along the x 0 -axis with the rotated feed ball screw.
The measurement frame was fixed on the air floating platform. It has three main parts: a support frame, a screw, and a worm and gear mechanism. The support frame is used to install the light curtain sensor. The screw was connected with a rising hand wheel, which is used to make the support frame move up and down. The worm and gear mechanism was connected with a rotatory hand wheel, which is used to rotate the support frame around the y 0 -axis.

The measurement system and measuring process
The measurement system consists of a KEYENCE LS-7030 light curtain sensor, a KEYENCE LS-7001 controller, a HEI-DENHAIN LS187 grating ruler, a HEIDENHAIN ERM220 circular grating, two HEIDENHAIN IK220 counter cards, a SIEMENS 840D CNC system and two drive motors. The curtain light sensor was installed on the measurement frame. The light source of the light curtain is a LED light source. The receiver has a high-resolution line-scan CCD camera, which is used to measure the projected outer contour of the target. The controller was installed on a metal cover enveloping the headstock. The grating ruler was located below the air floating platform and was fixed on the bed. The circular grating was installed inside the headstock for recoding the rotation angle of the tested ball screw.
Before a test, the ball screw is fixed between the headstock and tailstock. The support frame of the light curtain should be rotated to an angle equal to the lead angle of the ball screw, by rotating the rotatory hand wheel (as shown in Fig. 3). Rotating the rising hand wheel can move the support frame to an appropriate height. This design allows the measuring system to measure ball screws with different diameters.
The measuring and control software is based on the Microsoft Foundation Classes and designed by Microsoft Visual C++6.0. As shown in Fig. 4, the CNC system drives the feed motor and the feed motor rotates the feed ball screw. The nut of the feed ball screw and the air floating platform can move along the x 0 -axis when the feed ball screw rotates. The light curtain sensor moves with the air floating platform and measures the y 0 -axis value of the thread profile. The grating ruler measures the x 0 -axis values. The measured profile curve is located in the o-x 0 y 0 plane. The data measured by the light curtain sensor is first sent to the controller for processing and then the controller sent the processed data to the IPC. The movable signal of the grating ruler and the rotary signal will trigger the accumulation of the counter cards and the IPC will call library functions through the dynamic link library to obtain the count value and process it. The spindle motor can rotate the tested ball screw so that the profile at different places can be measured. The circular grating is used to precisely control the rotation angle of the tested ball screw.

Data processing method
The data processing method proposed in this study is for the double-arc ball screw. The data processing can be divided into three steps: (1) obtaining the data points of the left and right arcs from the profile curve collected by sensors; (2) calculating the center of the left arc (x Lc , y Lc ), the center of the right arc (x Rc , y Rc ), the radius of left arc r L , the radius of right arc r R and the projected position of the center of a ball (x b , y b ) (as shown in Fig. 5); (3) calculating geometric parameters and errors of the ball screw thread profile.

Data pre-processing
The data processing in this study is based on the method proposed by Feng et al. (2011). Because the method of data processing in Feng et al. (2011) requires manual removal of unavailable data, we introduced the data pre-processing with two steps: determining the starting point and separating the left and right arc. As shown in Fig. 6, a complete thread profile curve can be divided into four sections: chamfering and external diameter, left arc, chip pocket and right arc. The starting point of the whole curve obtained from each measurement may be in any of the four sections. If the first or the last profile curve is not complete, the calculation may be incorrect. Therefore, it is necessary to ensure that the first profile curve is complete (in other words, the starting point of each whole curve is at the same position). After determining the starting point, the ending point can be calculated by using the pitch of the tested ball screw. It will ensure that the last profile curve is also complete.
A simple way to determine the starting point is to remove the initial first profile curve despite whether it is complete or not. As shown in Fig. 6, the coordinates of point A (x sA , y sA ), B (x sB , y sB ), C (x sC , y sC ) and M (x sM , y sM ) need to be found. P 0 (x s0 , y s0 ) denotes the initial starting point. T 1 is related to the chamfering size of the tested ball screw. The process is shown in Fig. 7, where ia, ib, ic and im are subscripts of point A, B, C and M, respectively. Firstly, we need to find the point which has the biggest y 0 -axis value y smax_0 within the length of the first pitch. Then, T 3 = y smax_0 − T 1 . Secondly, we need to find points A, B and C. If y s0 < T 3 (as shown in Fig. 6a), point A is the first point that satisfies the condition y sA ≥ T 3 . If y s0 ≥ T 3 (as shown in Fig. 6b), point A is the first point that satisfies the condition y sA ≤ T 3 . Point B and C can be found by using the similar method. Thirdly, we need to find point M. If y s0 < T 3 , point M is the first point from point A that satisfies the condition x sM ≥ x sAB ,  where x sAB = (x sA − x sB ) 2. If y s0 ≥ T 3 , defining x sBC = (x sB − x sC ) 2 and point M is the first point from point B that satisfies the condition x sM ≥ x sBC . Finally, we can delete data before point M.
Before separating the left and right arc, T 2 , the height of arc section, needs to be determined. The process is shown in Fig. 9. Firstly, we find the point which has the biggest y 0 -axis value, y smax j . Secondly, we remove the data points in external diameter and chamfering sections. Declaring a container named vecIndex, if a point meets the condition, P [i] .y <= y smax j − T 1 && P [i] .y > y smax j − T 1 − T 2 , the point will be saved in the container. Thirdly, we separate the left and right arc by declaring two containers, vecLArc and vecRArc, respectively. We then declare a container named vecBuff to save the index of left or right arc data points. Through this container we can add data points in container vecLArc or vecRArc. The division point of left and right arc need to meet the condition vecIndex[i + 1]−vecIndex[i] > 1.

Arc fitting
Arc fitting is conducted using the least squares method. The fitting equation is where (x si , y si ) : the collected point of the profile curve, i = 1, 2, . . ., n. n denotes the total number of the points, (x c , y c ) : the center of the arc, r : the radius of the arc.
The solution of Eq.
(2) can be expressed as: where

Locating the center of a ball
Let D W denote the nominal diameter of the ball. Because the ball circle is always tangent to the left and right arc at the contact points, the center of the ball can be calculated by using the center and the radius of the left and right arc. The relationship can be represented as The solution is x Lc −x Rc and y b can be represented as Therefore, 3.4 The calculation method of geometric parameters of screw raceway

Eccentricity and contact angle
Under the ideal condition, the contact angle is 45 • and the axial and radial eccentricities are equal. However, the actual angle is usually not equal to 45 • , and the axial and radial eccentricities need to be calculated, respectively, according to Fig. 10 where e L , e R : the axial eccentricities of the left and right arc, respectively. h L , h R : the radial eccentricities of the left and right arc, respectively. The contact angle can be represented as where α L and α R denote the left and right contact angles, respectively.

Pitch and pitch error
The pitch is the absolute value of the difference between the x 0 -axis values of the two adjacent ball centers: where x bj : the x 0 -axis value of the center of the ball numbered j ; P hj : the pitch of the j th raceway; φ : the lead angle of the ball screw; P h : the standard value of the pitch; m : the total number of balls measured. Table 1. Measurement results of the tested ball screw.  The pitch error of the j th raceway can be represented as

Raceway number
where P hj denotes the pitch error of the j th raceway.

Radial jumpiness of screw pitch circle
The radial jumpiness of screw pitch circle is defined as the difference between the y 0 -axis values of each ball center and the first ball center. It can be represented as Z pj = y bj − y b1 (j = 1, 2, 3, . . ., m) where Z pj : the radial jumpiness of the j th raceway; y bj : the y 0 -axis value of the center of the j th ball.

Roundness error
The roundness error of each raceway is expressed as where l Lmax and l Lmin denote the maximum and minimum values of the distance from each data point of the left arc to the center of the left arc, respectively, and l Rmax and l Rmin denote the maximum and minimum values of the distance from each data point of the right arc to the center of the right arc, respectively. The larger one of l Lmax and l Rmax is denoted by T max , and the smaller one of l Lmin and l Rmin is denoted by T min . The roundness error T p is the difference between T max and T min . The l Lmax , l Lmin , l Rmax and l Rmin can be repwww.mech-sci.net/9/15/2018/ L. Zhao et al.: A novel non-contact measuring system for the thread profile of a ball screw Table 3. Contact angle ( • ).

Raceway number
where (x si , y si ) denotes the collected points of the profile curve; n L and n R denote the total number of the data points of the left and right arcs, respectively.

Experiment results and discussion Accuracy test
The designed measuring system is used to accurately measure the profile of a ball screw so as to evaluate it. In order to do so, we performed experiments: first to verify the accuracy of the measuring system, and then, to evaluate four ball screws.

Accuracy test
In order to verify the accuracy of the measuring system, the sample ball screw was measured first. The measurement was conducted for 14 raceways and the results are shown in Table 1. Then, a contour measuring instrument was used to obtain one raceway profile image of the sample ball screw and the magnified profile image was projected on a screen. Then the measurement results from the measuring system were used to construct a profile image magnified to the same level as the image from the reference instrument. The two images were then compared by highly skilled professionals to assure that the measured profile matches the reference image perfectly.

Test results of four tested ball screw and discussion
After the accuracy of the designed machine was confirmed, four ball screws denoted by A, B, C and D were then tested and evaluated. Each ball screw was measured for 8 raceways.
The radii, contact angles, radial jumpiness, pitch errors and roundness errors were obtained from the test, which can be used to evaluate the processing quality of the ball screws. The results of arc radius are shown in Table 2. For ball screw A, C and D, the two standard deviations of left and right arc radii are very small, and implying that the left or right arc radius of the 8 raceways are almost identical. The standard deviations of the left and right arc radii of ball screw A are the smallest, while the results of screw D are the second, and the results of screw C are slightly larger than screw D. The measured results of ball screw B exhibit the biggest standard deviations, indicating a big difference between the left or right arc radii for its 8 raceways.
The measured contact angle of the four ball screws are very different, as shown in Table 3. Many studies showed that the contact angle is a very important parameter affecting the kinetics and mechanical characteristics of a ball screw. Therefore, the performance of the four ball screws will be different when they are installed in some machine tools. The measured contact angles of ball screw A exhibit the smallest standard deviations. The standard deviations of screw B, C and D are very close, although the results of screw D are slightly smaller than screw B and C.
As shown in Table 4, the radial jumpiness of ball screw A and B are much bigger than the results of screw C and D. The radial jumpiness of a ball screw is mainly related to its own weight and the position of the two center holes. Because the ball screw is short, the effect of its weight can be ignored. The main reason why the radial jumpiness of ball screw A and B are bigger is that their two center holes are not collinear. The pitch errors of the four ball screws are not big. The maximum of pitch errors of the four ball screws is less than 2 µm, and the pitch error of ball screw A and D are less than 1 µm.
The results of roundness error are shown in Table 5. The average of ball screw A and D are almost equal, while the result of screw C is slightly larger. Ball screw B has the biggest roundness error which is more than ten times that of ball screw A, C and D. The surface quality of ball screw B is much worse than the other three.
From the above analyses, the following conclusions can be obtained: For roundness error and pitch error, the measured results of ball screws A and D are almost the same. Then it is reasonable to assume that there is no difference between the two ball screws in these two parameters. Although ball screw D is slightly inferior in comparison with A regarding radii and contact angles, the radial jumpiness of screw A is much bigger than screw D. Ball screw D is the best based on the measured results of all parameters.
The two center holes of ball screw A are not collinear. If the manufacturer of screw A can resolve this problem, the ball screw will have very high precision thread profile.
The measurement result of C for each parameter always lies in the middle. The precision of ball screw C is lower than D.
Ball screw B is the worst of all four tested samples. Not only are its two holes not collinear, the difference between its contact angles and arc radii are very large as well. Further, its surface quality is much lower, while the pitch error is higher than the other three.

Conclusions
In this study, a non-contact system was introduced for the automatic measurement and inspection of the thread profile of ball screws. Most common features of the screw threads could be measured and inspected by the developed system. Compared with original measuring equipment, the present system is accurate, efficient and easy to operate. The measurement results can be used to evaluate the thread profile precision of a ball screw, and manufacturers can improve the quality of their products based on the measurement results.