Abstract:
The present invention relates to a selective wave solder machine. In particular, it relates to a system for calibrating and adjusting process points to account for variations in machines and circuit boards. Vision systems are used to locate fiducials on the processing modules and the circuit boards. Differences between stored locations for fiducials relating to the circuit board and the processing modules are used to adjust the positions of stored process points to achieve improved performance.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a system and method for calibration, set-up, and control of a selective wave solder system. More particularly, it relates to a system and method for accounting for positioning errors in the board and/or the system in during processing. 
   2. Discussion of Related Art 
   Many electronic devices use a circuit board as the foundation building block for the electronic circuitry which forms the device. With the advent of the printed circuit board (PCB), the board itself actually became part of the circuit, forming conductors for the electrical current between the various electronic components. The circuit board both supports the electronic components and links them together. Generally, the circuit board consists of a nonconductive base, such as fiberglass, coated with a thin layer of a conductor, such as copper, which is etched to form a pattern of electrical conductors. Components are then soldered to the circuit board. Soldering of the various components to a circuit board has generally been accomplished by using various techniques, such as: manual soldering, reflow soldering, batch soldering using a solder pot or continuous soldering using a wave soldering machine. 
   Wave soldering has long been the soldering method of choice for high production circuit boards which require through-hole parts. This is a continuous process in which circuit boards are passed over a wave of molten solder. The solder wets up through metal plated holes containing the component leads to consummate the soldering process. This process lends itself to automation, as the parts are simply loaded onto a conveyor which in turn passes the parts over a wide wave of solder. Advances in PCB technology, such as double-sided boards and mixed technology assemblies have allowed intricate and complex circuits to be implemented in a smaller footprint. However, these advances limit the feasibility of using historic wave soldering techniques. 
   The selective wave solder system was developed to achieve advantages of wave soldering on through-hole components in connection with complex circuit board assemblies. In one particular style of selective wave solder device, a circuit board is moved, using a gantry system, to different locations for processing. Flux and solder may be placed on discrete portions of the circuit board. Typically, the process points are selected through a teaching process. Using a manual control system, one moves the gantry with the circuit board through the system and identifies particular process points. The process points, identified as x, y and z values within the gantry system, are stored for automated processing. Furthermore, the file with the process points can be transferred and utilized on another selective wave solder machine for processing the same boards. In this manner, the processing of each board need only be entered once, independent of the number of production lines and selective wave soldering machines utilized in processing boards. During automated production, the gantry system will move to each of the stored process points and the pre-programmed action will be conducted. 
   However, often minor positional or rotational errors occur with the gantry system or placement of the circuit board. Circuit boards also have some variation in their fabrication which results in positional variations. Additionally, different machines may have variations in the placement of the modules or stations, which can results in positional errors. Variations within a machine may also occur upon servicing. These positional errors result in defects due misalignment of the process points and the work area on the circuit board. Therefore, a need exists for a system which can correct for variations in positioning of process points on a circuit board attached to the gantry system. A need also exists for a system which can correct for variations in the placements of processing devices. 
   Furthermore, circuit boards can sag or bow across the span of the board. This is particularly prevalent in large circuit boards with many components. The height of the solder wave may also vary over time due to variations in pump speed, solder levels, and environmental factors. The variations in board height, from sagging or bowing, and solder wave height can lead to defects. The relationship between the board height and the wave height determines the contact area, depth, and time of the solder operation. A board which is too high relative to the solder wave may result in incomplete solder joints. A board which is too low can become excessively hot, warp or destroy components. Therefore, a need exists for a system which can determine and correct for variations in board and solder wave height. 
   SUMMARY OF THE PRESENT INVENTION 
   The present invention substantially overcomes the deficiencies of the prior art in utilizing one or more vision systems to determine and correct for positional defects in a selective wave solder machine. A microprocessor uses the images from at least one of the cameras of the vision systems to determine the variations in the position of the circuit board. One or more fiducials on the circuit board are identified to the system when the processing program is stored. The fiducials may be created on the circuit board especially for this purpose or an existing characteristic of the board may be used. During automated processing, the fiducials on the circuit board are located by the vision system. The x,y position of the fiducials with respect to the gantry system are determined and compared to the stored fiducial positions. Then, the system adjusts the process points (utilizing translational, rotational, and stretch/shrinkage error correction) in the program based upon the variations between the expected and actual positions of the fiducials. 
   According to another aspect of the invention, the system utilizes a vision system to calibrate the position of processing modules in a selective wave soldering system. A camera is positioned on a gantry system. A microprocessor uses the images from the camera to determine variations in the position of processing modules. At least one fiducial is identified for each processing module. A special fiducial mark on the processing module may be used. Alternatively, a unique part of the processing module may function as the fiducial. The system locates the fiducials for each of the processing modules and stores the positions. The position information for the processing modules are used to adjust the process points for any board to be processed on that machine. Additionally, by using known fiducials on the machine, the theta rotation can be calibrated. The fiducials can be automatically found by simply starting the calibration routine. 
   According to another aspect of the invention, the system utilizes the vision system to calibrate rotational motion of the gantry. The gantry in the selective wave soldering system of the present invention is moveable in x, y, z, and theta. Due to manufacturing tolerances, the rotational point (i.e. the center of rotation) for the theta motion may vary from machine to machine. The present invention uses fiducials having known positions. The vision system is used to determine the location of two fiducials. Following a known rotation of the gantry, the positions of the fiducials are determined. The change in position of the fiducials are used to determine the point of rotation of the gantry. According to another aspect of the invention, with a precise determination of the point of rotation, the circuit board can be processed in rotated positions. Once process points have been stored, the circuit board can be processed at a different rotated position without having to relocate the fiducials. 
   According to another aspect of the invention, the height of the board and the position of the gantry in the z direction can be determined. A contact or non-contact sensor is positioned as a module in the selective wave soldering machine. The sensor is operated as a process point in the process program. When operated, the sensor determines the height of the circuit board at a specified location. The system also includes a sensor for determining the height of the wave. The distance between the height of the wave and the bottom of the circuit board can be adjusted, through control of the wave or through control of the gantry to achieve optimum solder performance. Since the board height sensor is a module in the system, the height of the board can be determined at different locations to adjust for board bow or sag, or to automatically control boards of different thicknesses. 

   
     BRIEF DESCRIPTIONS OF THE DRAWINGS 
       FIG. 1  is a front view of a selective wave solder machine incorporating an embodiment of the present invention with the covers opened. 
       FIG. 2  is an illustration of the components of a selective wave solder machine incorporating an embodiment of the present invention. 
       FIG. 3A  is a top view of selected components of a selective wave solder machine incorporating an embodiment of the present invention. 
       FIG. 3B  is a side view of selected components of a selective wave solder machine incorporating an embodiment of the present invention. 
   

   DETAILED DESCRIPTION 
     FIG. 1  illustrates a selective wave solder machine  100  incorporating the present invention.  FIG. 2  illustrates various components within the wave solder machine  100 .  FIGS. 3A and 3B  further illustrate components in the wave solder machine. The wave solder machine  100  includes a gantry system  110  for moving a circuit board within the machine. The gantry system  110  is controllable for motion in x, y, z and theta. The gantry system  110 , includes a circuit board support  120  with attachments  121 ,  122  for the sides of the circuit board. Alternatively, the attachments  121 ,  122  may connect to a jig, support, or other device holding the circuit board. The attachments are designed to mate with an input and an output of the machine to allow circuit boards to be automatically loaded and discharged from the machine. The gantry system  110  includes a translation control system  113  for moving the gantry known distances in the x and y directions. A height controller  111  controls motion of the gantry in the z dimension. A rotational control  112  is used to rotate the gantry in theta. All of the controllers operate to precisely position a circuit board with the selective wave solder machine  100 . According to an embodiment of the invention, the circuit board support  120  can hold circuit boards, or multiple boards, up to fourteen inches square. The gantry system  110  can move the circuit board to allow processing by a processing module with respect to any part of the circuit board. The gantry system  110  is controlled by a microprocessor system  310  in the machine  100 . A monitor  300  is used to view and control operation. A keyboard,  320 , mouse  330  or other input devices can be used for control purposes. 
   Process modules are located in the selective wave solder machine  100  below the gantry system  110 . In an embodiment of the present invention, the processing modules include a flux system  140 , a solder system  150 , and an air knife system  160 , and the possibility of a teach camera, a calibration camera, and a Z sense module. The solder system  150  includes a solder pot and a solder nozzle  152 . A pump (not shown) forces the solder from the solder pot  151  to the nozzle  152  and creates a solder wave at the nozzle  152 . Different solder nozzles  152  can be used which have different characteristics. Generally, according to embodiments of the present invention, solder nozzles  152  are used to create solder waves from 3 millimeters to 12 millimeters wide. The flux system  140  includes a flux tank  141  and the flux nozzle  142 . The flux system is used to place flux on circuit board prior to the solder operation in order to create a good solder bond. According to an embodiment of the invention, the flux nozzle  142  is approximately one inch in diameter. The air knife system  160  is supplies a thin line of heated air, approximately ½ inch in length, to the bottom of the circuit board. The air knife system  160  is used to eliminate solder bridges that can form during the solder operation. 
   The gantry system and processing modules discussed above are typical for a selective wave solder machine. In many conditions, the machine  100  operates in a typical manner. An operator creates a process program for a circuit board by manually moving the board over the teach camera  170  and viewing specific points. The operator then programs the function needed at that location. These “taught” loactions (using the teach camera  170 ) become known as the process points. The process points represent specific x, y, z, theta and time values for the gantry system. The process points are then stored as the process program. Once stored, the process program operates to process a circuit board using these points and the known coordinates of each of the modules. The process program can be transferred to another machine or retrieved at a later time to process the same board. During operation, a circuit board is loaded from an input station  210  (or hand loaded) into the attachments  121 ,  122  of the circuit board support  120  of the gantry system  110 . Known systems for operating the input station  210  and loading of the circuit board may be used with the present invention. The gantry system  110  proceeds to move to each of the process points to the pre-programmed module location and performs the programmed operation dictated by the process program. The circuit board can be processed using any of the processing modules in any order as desired by the operator. When the process points have all been completed, the circuit board is off loaded to an output section  220 . Alternatively, the input section  210  could also be used to off load circuit boards. Once the circuit board has been off loaded, the system loads the next circuit board for processing. 
   An embodiment of the present invention provides an autocalibration process for determining the locations of the processing modules. The gantry system  110  includes a camera  130 . During the autocalibration process, the gantry system moves to an expected location of a processing module. The camera is activated to capture a picture of the location. The picture is then processed to locate a fiducial corresponding to the processing module. The fiducial may be created on the processing module expressly for the calibration process. Alternatively, the fiducial may be any recognizable feature on the processing module. For example, a corner of the solder nozzle may be the fiducial. A file is stored with the feature of the fiducial for each processing module. Known techniques are used to locate the fiducial in the picture taken by the camera. Such techniques may include processing the picture or moving the camera to locate the fiducial within desired parameters. The gantry system moves to and locates each of the processing modules in the selective wave solder machine. The x, y position of each module is stored in the memory of the microprocessor  310 . As previously mentioned, the teach camera  170  identified the process points on the board (relative to the position of the teach camera itself). Given the process point location relative to the camera (taught by the operator), and the module locations relative to the camera (produced through the autocalibration sequence), the microprocessor  310  can determine the necessary movement of the gantry  110  so that the process points are properly aligned to the modules. In this manner, the selective wave solder machine  100  of the present invention can compensate for movements of the modules during servicing or discrepancies in placement of modules on different machines. 
   According to another embodiment of the present invention, the present invention provides an autocalibration process for rotational movement. The camera  170  is positioned below the gantry system. The camera  170  is used to locate fiducials associated with the gantry system. The fiducials may be located on the circuit board support  120  or on a circuit board which is properly positioned in the circuit board support. The process for locating fiducials with the camera  170  is similar to that for the aforementioned camera  130 . The gantry system  110  is moved to an expected location of the fiducial. The camera  170  is activated to store an image. The image is then processed by the microprocessor  310  to locate the fiducial. A previously stored file with a picture of the fiducial is compared to the image to locate the fiducial using known techniques. The first step is to align two fiducials with one of the axes of movement. According to an embodiment, two fiducials are used which need to be parallel to the x axis of movement. The fiducicals are located. If the y position of the fiducials are not the same, the gantry system is rotated to move the fiducials by a known rotational distance defined by the algorithm contained within the microprocessor  310 . The embodiment of the invention dictates that only one location and rotation sequence is needed to properly align the Theta axis. Optionally, the operator can perform the autocalibration of the Theta axis a second time to insure accuracy and repeatability. The rotational position is then stored as the zero or reference position for the theta dimension. Once the reference theta position is determined, the center of rotation for the gantry system can be determined. The gantry is rotated a known distance. The two fiducials are then located again. Using the known angle of rotation and the location of the two fiducials, the center of rotation for the gantry system can be determined automatically using an algorithm contained in the microprocessor  310 . 
   According to another embodiment of the present invention, the selective wave solder machine adjusts the position points for variations in board positioning and size. In addition the process points, one or two fiducial points are stored with respect to a circuit board. During operation the fiducials are located using the camera  170  below the gantry. The process for locating the fiducials is the same as that described above. The fiducials are located each time a new circuit board is loaded on the gantry system. All of the process points are adjusted based upon the located fiducials prior to processing of the circuit board. The adjusted process points are used to provide more accurate operation on the circuit board. 
   If one fiducial is used, then adjustments are made in the x and y dimensions. The differences between the actual fiducial location, in x and y, and the stored fiducial location are used to translate the position of each process point. In this manner, the system adjusts for variations in positioning of the circuit board on the gantry system  110 . Of course, other adjustments to the process points may also be made by the system to account for calibration of the module locations. 
   If two fiducials are used, then adjustments can be made for stretch/shrink and rotation as well as translational errors. Three offsets are calculated for each process point based upon the actual and stored positions of the two fiducials. The three offsets are combined for each process point to determine the actual process points for the circuit board. 
   The first offset accounts for translational errors. This offset is the same for every process point in the process program. To determine translational errors, one of the fiducials is used as a reference point. The differences, in x and y dimensions, between the actual and stored positions of the first fiducial are used as the first offset to adjust the process points, as when only one fiducial is used. 
   The second offset determines adjustments for rotational errors. The differences between the actual and stored positions of the fiducials are used to determine an angular difference. An angle is determined based upon the difference, in x and y dimensions, between the two stored fiducials. A second angle is determined based upon the different, in x and y dimensions, between the two actual fiducials. The rotational error is defined as the difference between the first and second angles. A second offset is calculated for each process point using the rotational error. The second offset is determined by assuming that the distance between a process point and the reference point, i.e., the first fiducial, does not change. An offset, in both x and y dimensions, is determined for a process point by applying the rotational error determined from the fiducials to the angle between the reference point and the process point, while maintaining the distance between the points. 
   The third offset determines an adjustment due to stretching or shrinking of the circuit board. A ratio is determined between the vector distance of the actual fiducial locations and the vector distance of the stored fiducial locations. The determined ratio is used to determine an offset for each of the process points. To determine the offset, the angle between the stored process point and the stored reference point is assumed to be unchanged in the actual board. Assuming an unchanged angle, the previously determined ratio is applied to the vector distance between each process point and the reference point. 
   Once all of the offsets are determined, they are combined to create a final offset amount, in the x and y dimensions. The final offset amount is used to correct the position of each of the process points. Once the correct positions are determined, the process program is initiated to process the circuit board. New offsets and process points are calculated with respect to each new circuit board. 
   According to another embodiment of the invention, the board can be processed at any angle without the need to relocate the fiducials. All of the process points are taught at specific angles. Any angle can be used for a process point and different angles may be used for different process points. However, according to the above embodiment, the fiducials are located and offsets determined when the circuit board is at a zero position. When the circuit board is rotated, the offsets due to position or dimension errors of the circuit board need to be adjusted for the new location of the fiducials. The present invention does not require relocating the fiducials to determine the offsets. Using the known center of rotation, a new location for the first fiducial, which functions as the reference point, is determined for the rotated position of the circuit board. The new position for the reference point is used to determine the offsets for the process points at that rotated position. The process for determining the offsets is the same as described above. Thus, a new fiducial location is determined for each rotation of the circuit board. The new fiducial location is used to determine the offsets for the process points taught at that rotation. 
   According to another embodiment of the invention, the processing height of the circuit board is determined and adjusted. Sagging and bowing can result in variations in circuit board height. Such variations can cause difficulties with the soldering process. A height sensor  180 , located as a module below the gantry system  110 , is used to determine the height of the circuit board. Another sensor (not shown) is used to determine the height of the solder wave. By accurately determining the height of the circuit board and the solder wave, adjustments can be made to optimize performance of the solder operation. Optimal, or merely acceptable, characteristics for a solder joint can be determined. These characteristics are achieved by adjusting either the processing height of the gantry or the height of the wave. 
   Having described at least one embodiment, additional modifications and alterations will be apparent to those of ordinary skill in the art. Such modifications and alterations are considered part of the present invention. The present invention is only limited as set forth in the accompanying claims.