Abstract:
A setting-up plate is mounted on an X-Y table of a component placement machine. The plate has an array of fiducial marks thereon whose positions are accurately known. A control system drives the table by an amount which should bring each mark in turn to a reference point of a detecting device. The detecting device detects the actual position of the mark relative to the reference point. Errors in the table drive are thereby detected and can be allowed for.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to a method of setting up apparatus for handling electrical or electronic components, for example in a component placement machine. The components may be of a variety of shapes and sizes, for example so-called flat packs, S.O style transistors, leadless chip carriers, dual in line packages, melf type components and the like, as well as so-called &#34;chips&#34;. 
     In the manufacture of electrical or electronic apparatus it is necessary to assemble a plurality of components on a suitable substrate, for example a printed circuit board. A number of systems have been proposed for handling the components to be placed on a substrate and many of these have proposed the use of pick-up heads having a suitable tool by which a component may be picked up. The tools have been of various types, depending to some extent on the components to be handled; for example the tools may grip the components mechanically or may use suction or a magnetic system to retain a component on the tool of the pick-up head when the component is removed from a suitable component supply means for delivery elsewhere, for example to a suitable placement position where the component may be placed on a substrate e.g. a printed circuit board. It is important to ensure that the components are correctly oriented when placed on the substrate and a number of methods have been proposed to attempt to ensure correct orientation. 
     In component placement machines of the type described, the substrate, for example a printed circuit board, on which the components are to be placed, is mounted in an accurately known position on an X-Y table, suitably mounted on a frame. The X-Y table may be mounted and driven by any suitable means, a number of which are known, and one such means for mounting and driving an X-Y table is described by way of example in our PCT patent application Publication No. W.O. 85/03404. 
     Whilst the movement of the X-Y table can in theory be determined accurately and precisely by control of its drive mechanism, there can in practice be some deviation between the theoretical and the actual response of the table to the drive mechanism. This can result in a deviation from the intended location of the X-Y table, and hence the substrate mounted on it, which can lead to inaccurate placement of a component on the substrate. 
     Clearly if this inaccuracy in placement of the component exceeds any permissible tolerance, then an unacceptably high reject rate for the completed substrates will result. 
     G.B. patent Specification No. 1 142 774 has addressed the problem of deviations in X-Y response in relation to numerically controlled devices such as plotters, machine tools or the like. The method described in that patent specification involves driving a part to a number of different positions relative to a reference member, detecting the true position of the part using a measuring device such as a laser interferometer, and storing a table of error values for future use in correcting table drive. This method requires the presence of a very accurate measuring device for measuring the parts position relative to the origin of the X-Y table coordinate system whenever the X-Y table is calibrated. 
     PCT patent Specification No. WO 85/03368 describes a calibrating system in which a plate with calibration marks thereon is mounted on a table which is movable in the X direction beneath a head which is movable in the Y direction. The x drive is utilized to drive to an x value which should correspond to a calibration point. If the calibration point is not located under a calibration probe used to provide a reference point, the x drive is utilized to move the plate by small amounts until the point is correctly located. The procedure is then repeated for y values using the same or a different, but nearby calibration point. This system is not concerned with an X-Y table and is time consuming since numerous attempts may be necessary to detect the calibration point in the x direction, as the calibration probe is only able to detect whether or not the point is correctly located, and then further attempts may be necessary for the y direction. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to provide an improved method of setting up a component placement machine in which any inaccuracy in the positioning of a point on a substrate mounted on the X-Y table relative to a reference point, which inaccuracy is due to the response of the X-Y table to its drive system, is reduced or substantially obviated. 
     The invention provides a method of setting up a component placement machine, comprising a pick-up head having a pick-up tool, and an X-Y table on which substrates on which components are to be placed may be mounted to account for errors in the X-Y table drive utilizing a detecting device having a two dimensional field of view and operable to detect the position of a fiducial mark, as herein defined, within said field of view relative to a reference point of the device, comprising the steps of: 
     (a) mounting a setting-up plate, provided with an array of fiducial marks, having accurately known x,y coordinates relative to the plate, in an accurately known position on the X-Y table by means of aligning location points of the X-Y table and the setting-up plate; 
     (b) informing a control system of the table drive of said known x,y coordinates of the fiducial marks in the array; 
     (c) causing the control system to drive the X-Y table to a position where the reference point of the detecting device is expected to coincide with one of said fiducial marks; 
     (d) utilizing the detecting device to detect the actual position of said mark relative to the reference point; 
     (e) determining the x and y distances between said actual position and said reference point and; 
     (f) repeating steps (c) to (e) for each mark in the array. 
     By the term &#34;fiducial mark&#34; where used herein is to be understood a mark whose position is precisely known relative to location points of a plate on which the mark is located. 
     By utilizing a method according to the last but one preceding paragraph, corrections can be made for the errors in the X-Y table drive. In driving to a particular position, the known errors in driving to the positions of fiducial marks adjacent to said particular position can be taken into account to produce a more accurate drive. 
     In a preferred embodiment of the method according to the invention, the method further comprises the steps of: 
     (g) driving the X-Y table to the fiducial mark positions applying a correction which takes account of the distances determined in step (e) and 
     (h) checking that the actual position of each fiducial mark is within acceptably small x and y distances from the reference point. 
     By incorporating steps (g) and (h) in the method according to the invention, it is possible to confirm that appropriate corrections are being made for the errors in the X-Y table drive. 
     The distances determined in step (e) enable the x,y coordinates of the actual positions of fiducial marks to be determined from the known coordinates of the fiducial marks relative to the plate. Hence, for each area within the array of fiducial marks (e.g. a rectangular area between four such marks) algorithms may be calculated for the x and y drive corrections to any point within that area based on the known x,y coordinates of the fiducial marks around said area (e.g. at the corners of a rectangular area) and on the x,y coordinates of the detected actual positions of said marks. 
     The detecting device preferably used in the method according to the invention is a pattern recognition camera, in particular a charge coupled device (CCD) camera, in which an array of sensors survey the field of view, and can detect and record the x,y coordinates of a point in the field of view relative to a reference point of the camera. In the method according to the present invention, the point in the field of view is the fiducial mark. The use of a camera, in particular, a CCD camera, makes it possible for the position of the fiducial mark to be detected and recorded quickly and accurately. 
     The setting-up plate for use in the method according to the invention preferably comprises an aluminum plate, provided with an array of fiducial marks as hereinbefore defined. Aluminum is particularly suitable for the setting-up plate for use in the method according to the invention because of its behaviour with respect to small variations in temperature such as are likely to occur in the operating conditions of the method according to the invention and because it can easily be accurately formed. 
     The setting-up plate for use in the method according to the invention is provided with an array of fiducial marks as hereinbefore defined. The fiducial marks are preferably in the form of pins attached to the setting-up plate, suitably drilled into the plate. Pins are particularly suitable for use as fiducial marks, as their position can be reliably determined by the detecting device, for example the CCD camera. 
     The fiducial marks are arranged in an array, preferably a regular rectangular array. It is preferred to position the fiducial marks in a regular rectangular array, for ease of computation of the errors in the X-Y table drive and calculation of the necessary corrections. It has in practice been found that an array of sixteen fiducial marks, arranged in a four by four array equally spaced across the setting-up plate, provides sufficient information to establish the errors in the drive of an X-Y table within satisfactory limits, and does not require excessive computation. The setting-up plate for use in the method according to the invention preferably comprises an array of sixteen fiducial marks arranged in a regular rectangular array. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     A preferred method of setting up a component placement machine according to the invention will now be further described with reference to FIGS. 1 to 3 of the accompanying drawings, in which; 
     FIG. 1 shows a plan view of the setting-up plate, 
     FIG. 2 shows a section along line II--II of FIG. 1, and, 
     FIG. 3 illustrates the method of calculating the correction for any point on the table. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The preferred method is used for setting-up a component placement machine to account for errors in the X-Y table drive thereof. The machine comprises a CCD camera (not shown) looking downwards at the X-Y table and having a reference point at the centre of its two dimensional field of view. Conveniently, the CCD camera used may be that normally present in some machines for detecting location marks of printed circuits on a printed circuit board. A setting-up plate (1) is mounted in an accurately known position on the X-Y table by means of aligning location points (3) of the X-Y table and the setting-up plate. 
     The plate (1) comprises an aluminum plate on which are mounted sixteen pins (2) in a four by four array. The distances a 1 , a 2 , a 3  etc. between adjacent pins in the x-direction are nominally the same and the distances b 1 , b 2 , b 3  etc. between adjacent pins in the y-direction, are also nominally the same though not necessarily the same as the inter-pin distances in the x-direction, and are measured accurately for every inter-pin distance by known means. 
     The temperature at which these measurements are carried out is recorded and is marked on the plate. When the plate is subsequently used in the preferred method in the setting-up of a component placement machine, the setting up is carried out at a temperature within about 5° C. of the measuring temperature in order substantially to obviate any error due to thermal expansion or contraction of the setting-up plate. 
     The area of the plate (1) covered by the array of pins (2) is substantially equal to the effective working area of the X-Y table, that is the area on which components are to be placed, on a substrate which is to be mounted on the table. The pins are drilled into the plate to ensure secure fixing, and each pin may be provided with a collar (4), suitably of black rubber, to give a dark background to the pin to assist detection by the camera. 
     To carry out the preferred method the control system of the X-Y table is informed of the x,y coordinates of each of the pins on the setting-up plate mounted on the X-Y table, and the X-Y table is driven by means of its control system to the position where the reference point of the CCD camera is expected to coincide with a first pin i.e. the drive attempts to position the table so that the reference point of the camera is at the known x-y coordinates of the first pin. 
     The actual position of the pin relative to the reference point is detected using the CCD camera, and the x and y distances between the actual position and said reference point are determined by counting the number of pixels in the field of view of the camera between the detected actual position and the reference point. Thus, the error at the pin is determined. 
     The X-Y table is then driven by means of its control system to the position where the reference point of the CCD camera is expected to coincide with the known x,y coordinates of a second pin, and the steps of detection, and determining distances are repeated for this pin. 
     This process is repeated in turn until the error in the X-Y table drive has been calculated for each pin position. 
     In order to check that the errors have been correctly calculated and recorded, the X-Y table is then driven under its control system to each pin position, applying a correction which takes account of the errors determined, and the CCD camera is used to check that the actual position of each pin is within acceptably small x and y distances from the reference point. If not, the method is repeated for that pin. 
     The setting-up plate is then removed from the X-Y table, and the component placement machine can be used for the placing of components on a substrate. In order to explain more clearly how the measurements taken in the setting-up process can be used in the control system of the X-Y table to correct for errors, an example of the calculation required will now be given, with particular reference to FIG. 3 of the accompanying drawings, in which any four adjacent pins a, b, c and d of the array are shown at known coordinates a x , a y  ; b x , b y  ; c x , c y  ; and d x , d y . These pins were detected at A, B, C and D and found to have coordinates of A x , A y  ; B x , B y  ; C x , C y  ; and D x , D y , A x  being a x  plus the x error detected at a, and so on. 
     When scaling generally along the x axis between points C and D the x axis scaling factor is given by 
     
         (D.sub.x -C.sub.x)/(d.sub.x -c.sub.x) 
    
     and this is multiplied by x to give the corrected value X at any point along the line between c and d. 
     
         Thus, X=((D.sub.x -C.sub.x)/(d.sub.x -c.sub.x)) x 
    
     
         or X=x±(((D.sub.x -C.sub.x)/(d.sub.x -c.sub.x))-1) x 
    
     
         or X=x±(D.sub.x -C.sub.x -d.sub.x ±c.sub.x) x/(d.sub.x -c.sub.x). 
    
     so that the scaling factor K=(D x  -C x  -d x  ±c x )/ (d x  -c x ). 
     Similarity scaling between points A and B along the x axis gives a scaling factor L=(B x  -A x  -b x  ±a x )/ (b x  -a x ). 
     Now considering variable x scaling depending on y, this is given by 
     
         X=x±Lx (y/(a.sub.y -c.sub.y))±Kx (1-(y/(a.sub.y -c.sub.y))) 
    
     
         or X=x±Lx (y/(a.sub.y -c.sub.y))±Kx-Kx (y/(a.sub.y -c.sub.y)) 
    
     
         or X=x±Kx±((Lx-Kx)/(a.sub.y -c.sub.y)) y 
    
     
         or X=x±Kx±Mxy, where 
    
     
         M=(L-K)/(a.sub.y -c.sub.y) 
    
     If point c is taken as a reference, i.e. (0,0), for any value of y if x=0 then the scaling is also 0, therefore, any x displacement is due to axis skew. 
     Axis skew on line c to a is 
     
         ((A.sub.x -C.sub.x)-(a.sub.x -c.sub.x))/(a.sub.y -c.sub.y) 
    
     X=((A x  -C x  -a x  ±c x )/(a y  -c y )) y 
     
         X=Ny where N=(A.sub.x -C.sub.x -a.sub.x ±c.sub.x)/(a.sub.y -c.sub.y). 
    
     So the total correction is given by X=x±Kx±Mxy±Ny and hence this is the algorithm calculated for the x drive correction for driving to any point within the rectangular area bounded by a, b, c and d which is based on the coordinates of a, b, c and d and of A, B, C and D. 
     By a similar calculation on the y axis, 
     Y=y±Py±Sxy±Tx, which is the algorithm for y drive correction where 
     P=(A y  -C y  -a y  ±c y )/(a y  -c y ) 
     S=(R-P)/(d x  -c x ) where R=(B y  -D y  -b y  ±d y )/ (b y  -d y ) and 
     T=(D y  -C y  -d y  ±c y )/(d x  -c x ).