Abstract:
Automatically monitoring pads of material deposited on a surface of a workpiece using an inspection system that senses a deposited pad of material and determines pad height values at a plurality of locations across the pad, and a shape classifier that receives the pad height values as inputs and outputs a plurality of three-dimensional shape attributes related to pad deposit conditions.

Description:
This application is a continuation application Ser. No. 08/595,485, filed Feb. 1, 1996, now abandone.d 
    
    
     BACKGROUND OF THE INVENTION 
     The invention relates to flowable material dispensers and more particularly to depositing solder in a desired pattern on the surface of a workpiece. 
     Solder pads are often deposited in a desired pattern on a circuit board using a stencil printing system. Screens can be used in place of stencils, and solder printing systems have also been used to apply a pattern of adhesive pads to circuit boards. Typically a line of solder paste is dispensed onto the upper surface of the stencil, and a squeegee blade is used to spread the solder paste across the stencil and cause it to fill up the openings in the stencil and contact a circuit board positioned directly under the stencil. The circuit board is then lowered from the stencil, the board carrying solder pads in the desired pattern on its upper surface. 
     Cameras can be used to automatically inspect the deposited solder pads and provide information used to determine whether the pads are acceptable and whether process conditions should be changed. e.g., Chung, C-W, et al. &#34;Closed Loop Process Control for Solder Paste Stencil Printing,&#34; pp. 485-491, describes viewing solder pads with a paste inspection system that determines such things as solder deposit area, solder deposit volume, average height of the solder paste deposit, border violation of the solder paste deposit, and the x and y position of the solder paste deposit. Chung describes the ability to use this information by a knowledge base/inference engine to control process parameters such as print speed, separation speed, print gap, squeegee pressure, paste dispense rate, and clean screen rate. Bryant, S., et al., &#34;Neural Network Machine Vision for SMT Solder Paste Inspection,&#34; pp. 510-516, describes using an on-line inspection system to provide immediate feedback to an operator on solder paste quality for implementing a control loop. Bryant describes using a CCD camera to view solder pads and determine &#34;image metrics,&#34; including such things as pad width, pad length, pad edge deviation, pad edge straightness, pad corner roundness, pad area, pad grayscale histogram, and pad grayscale image. The image metrics are used as the inputs to a neural network that grades the quality of a deposited solder pad on a scale from 0 to 9. 
     More recently it has been proposed to deposit solder pads by ejecting solder droplets from an ejector and directing the droplets to desired positions on a workpiece under the ejector. 
     SUMMARY OF THE INVENTION 
     In one aspect, the invention features in general, automatically monitoring pads of material deposited on a surface of a workpiece using an inspection system and a shape classifier. The inspection system views a deposited pad of material and determines pad height values at a plurality of locations across the pad. The shape classifier receives the pad height values as inputs and outputs a plurality of three-dimensional shape attributes related to pad deposit conditions. The classification of shape attributes provides information that is useful in adjusting and fine tuning the material deposit conditions so as to achieve desired pad conditions on subsequent boards. 
     In preferred embodiments, the shape classifier implements a neural network with input nodes that receive the pad height values and output nodes that output the three-dimensional shape attributes. The height values are grid points of an X-Y matrix on the surface of the workpiece. The three-dimensional shape attributes include scoop, slope, dog ears, and pump. The three-dimensional shape attributes are characterized as numerical values that each indicate the extent to which the shape of the pad exhibits an attribute. 
     The solder can be deposited by apparatus that includes a workpiece carrier that moves a workpiece into and out of a pad deposition position, a stencil or screen having openings in the desired pattern, and a squeegee that moves across the upper surface of the stencil or screen. 
     Preferably a print condition processor (e.g., implemented by an inference engine) receives the three-dimensional shape attributes and generates process control signals to change conditions of depositing solder pads based upon the three-dimensional shape attributes. The inspection system can also provide pad scan information (e.g., on pad coverage, bridging, alignment and volume) to the print condition processor, and the print condition processor can generate process control signals to change conditions of depositing pads based upon the pad scan information. E.g., if the sensed volume value is high, and the shape attribute is mostly dog-ear, squeegee pressure can be increased. If the sensed volume value is high, and the shape attribute is mostly pump, viscosity can be increased. If the sensed volume value is low, and the shape attribute is mostly slope, paste deposit can be increased, and viscosity can be decreased. If the sensed volume value is low, and the shape attribute is mostly scoop, squeegee pressure can be decreased. 
     Other advantages and features of the invention will be apparent from the following description of a preferred embodiment thereof and from the claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a control system for printing pads of solder through a stencil in a desired pattern on a circuit board according to the invention. 
     FIG. 2 is a plan view of some of the components of a stencil solder printer controlled by the FIG. 1 control system. 
     FIG. 3 is an illustration of some of the solder printing parameters controlled by the FIG. 1 system on the FIG. 2 printer. 
     FIG. 4 is a perspective view of a deposited solder pad that exhibits a scoop three-dimensional shape attribute. 
     FIG. 5 is a perspective view of a deposited solder pad that exhibits a slope three-dimensional shape attribute. 
     FIG. 6 is a perspective view of a deposited solder pad that exhibits a pump three-dimensional shape attribute. 
     FIG. 7 is a perspective view of a deposited solder pad that exhibits a dog ear three-dimensional shape attribute. 
     FIGS. 8 and 9 are diagrams illustrating pad definitions used in if/then rules for a print condition processor of the FIG. 1 system. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, there is shown control system 10 for controlling the deposition of solder pads on printed circuit boards (PCBs) 12 at stencil solder printer 14, shown in more detail in FIG. 2. System 10 includes system controller 16, which provides control signals to various components and actuators (not shown) in printer 14 and receives process information from various switches and sensors (not shown) in printer 14. Three-dimensional inspection system 18 (available under the SVS 8100 trade designation from View Engineering, 1650 N. Voyager, Simi Valley, Calif. 93063) includes track mechanisms to receive printed boards, a device 19 for capturing an image, such as a charged couple device (CCD) or a photosensitive device, to scan solder pads deposited on a printed circuit board PCB 12, and a computer to process image information. System 18 uses a laser (or other focussed beam) directed to the board surface at an angle to determine solder height. Inspection system 18 provides height (i.e., thickness) values at grid points of an X-Y matrix to shape classifier 20. Using the height values, shape classifier 20 outputs three-dimensional shape attributes related to pad deposit conditions to print condition processor 22. 
     Inspection system 18 also processes the data collected and generates pad scan information, which includes solder coverage, bridging, alignment and volume to print condition processor 22. There is a lack of coverage when a desired solder pad location is mostly or totally devoid of paste. Bridging, which is paste connecting adjacent solder pads, is typically caused by poor gasketing due to substrate quality or paste quality. Alignment is alignment of the solder pads with PCB 12; given the fact that the stencil solder printer 14 has a better alignment resolution than the scanning device of inspection system 18, only gross misalignment is considered. Volume relates to the volume of the solder pad. 
     Processor 22 uses the values of the shape attributes received from classifier 22 and the pad scan information received from inspection system 18 in determining whether the process conditions for printing at stencil solder printer 14 should be changed. This information is then sent to system controller 16. System controller 16 is also connected to user interface 24 (including a CRT, keyboard mouse) for providing information to and receiving commands from a user, and receives data related to the particular PCBs 12 to be printed from various data sources 26. System controller 16, shape classifier 20, and print condition processor 22 are all implemented on, for example, a common Pentium AST 100 mega Hz personal computer. 
     Referring to FIG. 2, some of the components of printer 14 are shown. The printer is an improvement of the type of printer described in Freeman U.S. Reissue Pat. No. 34,615 and commercially available under the Ultraprint 3000 trade designation from MPM Corporation, Franklin, Mass. both of which are hereby incorporated by reference. Printer 14 includes track feed mechanism 46 to supply the PCBs 12 to a central area where the boards are supported from below (by components not shown). Track mechanism 48 is used to remove processed boards. The printer also includes camera 50 carried on carriage 52, which is movable in an X direction along rail 54, which is a linear X-axis of motion. Rail 54 in turn is movable in a Y direction along tracks 56, which is a linear Y-axis of motion. Printer 14 also includes squeegee 58, positioned above PCB 12 and shown in phantom in FIG. 2. 
     Controller 16 receives inputs from and provides control signals to a wide variety of solder print control mechanisms on printer 14. These include the track mechanisms 46, 48 and squeegee 58 shown on FIG. 2 and other sensors and actuators not shown on FIG. 2. Controller 16 also controls X-Y movement of rail 54 and tracks 56, and can also provides alarm signals to an alarm and diverter signals to a board diverter (located down line of track mechanism 48) when a processed board 12 fails to meet user specified standards for printing solder as determined by print condition processor 22. 
     During a production run, boards 12 are automatically moved into position by track feed mechanism 46, engaged by underboard support components (not shown) and raised into position directly under a stencil (not shown) with openings corresponding to the position for solder deposits 42. Squeegee 58 then moves across the upper surface of the stencil pushing solder in front of it on the stencil surface, and solder is forced through the openings into contact with the surface of board 12. It is desired to have solder deposits completely fill the volume defined by the stencil openings. Process control parameters that affect the ability to meet this goal include squeegee velocity, downward pressure on the squeegee, &#34;snap-off&#34; (the distance of the board below the stencil), &#34;downstop&#34; (the distance under the stencil to which the squeegee would move if not prevented from doing so by the stencil), snap-off speed (speed of lowering of PCB 12 from the stencil), and paste rheology. 
     The processed PCB 12 is then removed by track mechanism 48 and transported to inspection system 18, and the next board 12 is moved into position in printer 14. 
     Referring to FIG. 3, squeegee blade 70 is shown spreading the solder paste 72 across stencil 74 and causing the solder paste to fill up the holes 76 in stencil 74 and to contact PCB 12 thereunder. The solder tends to roll in front of the blade, which desirably causes mixing and shearing of the solder so as to attain desired viscosity to facilitate filling of the holes in the screen or stencil. The viscosity of the solder paste is also affected by the exposure to the atmosphere and by the temperature. The pressure on squeegee blade 70 (arrow 80), the speed of squeegee blade 70 (arrow 82), the extent of the snap-off (gap 78, if any) between PCB 12 and stencil 74, and the speed at which PCB 12 is lowered from stencil 74 (arrow 84) are control parameters that can be varied to affect the quality of the solder deposits achieved. 
     FIGS. 4-7 show solder pads 100, 102, 104, 106 deposited by printer 14. Each pad exhibits one of the four three-dimensional shape attributes characterized by shape classifier 20. Pad 100 exhibits a high degree of scoop. Pad 102 exhibits a high degree of slope. Pad 104 exhibits a high degree of pump. Pad 106 exhibits a high degree of dog ear. 
     3D solder pad inspection system 18 outputs a file with height information used by shape classifier 20 and pad scan information used directly by print condition processor 22. The height information is used by shape classifier 20 to identify the shape of the pads. 
     Shape classifier 20 is implemented by a backpropagation artificial neural network along with some preprocessing functions. The preprocessing involves transforming a matrix representing a particular pad&#39;s topographical data (which matrix may, for example, be 40×40, 5×10 or 10×10 depending upon the pad shape and size) to a fixed 20×20 matrix. In preprocessing, when data are compressed it is done by a method that minimizes loss of data, and when data are expanded the data values are essentially repeated. The fixed matrix is then propagated through the neural network. The network has 400 input nodes (input height array of 20×20), 20 hidden nodes, and four output nodes (one each for each of the shape attributes: scoop, slope, pump, and dog ear). The hidden nodes have a sigmoid transfer function (squashing function, 1.0/(1.0+exp(-x)), and the output nodes have a linear transfer function m=1 (y=mx+b). The neural network&#39;s learning rate is not greater than 0.01; its momentum is 0.0, and the mean squared error is 0.001. Appendix A is listing for the artificial neural network, and Appendix B is a file of weight values used in the neural network as called for in file apcsgen.h under the statement &#34;void r --  wts(FILE*, node --  type*, int, int).&#34; In Appendix B the first 8020 numbers are weights between the 400 input nodes and a bias node and the twenty hidden nodes, and the remaining 84 numbers are weights between the twenty hidden nodes and a bias node to the output nodes. At the output nodes, scoop, pump, and dog ear values are on a scale from 0.0 to 1.0, and slope values are on a scale from -1.0 to +1.0. The numerical value indicates the extent to which the pad exhibits the given shape. 
     Print condition processor 22 is implemented by an inference engine (in particular a commercially available knowledge-based expert system available under the Eclipse trade designation from Haley Enterprises, Inc., 413 Orchard St., Sewickley, Pa.) employing a knowledge base of a table of symptom/remedy pairs based upon observed process problems and possible solutions. 
     Each symptom is defined by a set of conditions in a functional unit of the programming language; if the conditions are met, the function indicates the existence of the symptom. 
     Each remedy to correct for improper pad formation is implemented as a set of operations and state variables. The operations consist of one or more actions to be taken depending upon the context of the state variable. As actions are taken, the state variables are updated. 
     The inference engine processes the symptom/remedy table beginning with the most critical symptoms and continues processing until a particular symptom is found to be true. When a symptom is true, its associated remedy is applied. If no symptoms are found to be true, either the process is assumed to be stable or a default message is displayed, indicating possible problems beyond the system&#39;s control capability, e.g., a worn stencil that might have oversize apertures leading to bridging. In some instances, the remedies depend upon the past history; e.g., if a problem persists on a subsequent board after taking a corrective action, the indicated corrective action can be changed. 
     The symptoms that are analyzed are lack of coverage (area), bridging, alignment, volume and shape. Lack of coverage is checked first. Bridging is checked whether or not there is good coverage. 
     The symptom/remedy pairs are presented below as if/then rule statements under the Lack of Coverage, Bridging, Alignment, and Volume headings. The if/then statements are the knowledge base used in the expert system. The shape attributes come into play under certain volume conditions. These rules describe what actions are taken (the remedies) after &#34;then&#34; in the rule, based on an observation (the symptom) between &#34;if&#34; and &#34;then&#34; in the rule. FIGS. 8 and 9 illustrate the meanings of center pads 90, edge pads 92, parallel pads 94, and perpendicular pads 96, in the rules for edge leaded surface mount devices; these drawings, and the rules that employ the terms defined thereon, do not apply to ball grid arrays (BGAs). 
     Lack of Coverage 
     If greater than 1% of pads lack coverage, especially in one area, then there is a paste problem. 
     If less than 1% of pads lack coverage and these pads are at the edges of devices perpendicular to the squeegee, then there is a paste problem. 
     If less than 1% of pads lack coverage, and these pads are at the center of devices, then there are clogged apertures. 
     If there are clogged apertures, then wipe stencil. 
     If there is a paste problem, and paste has been sitting for more than 3 minutes, then knead paste. 
     If there is a paste problem, and paste has been sitting for less than 3 minutes, then increase paste deposit. 
     Bridging 
     If bridges are present on less than 5% of pads, then wipe stencil. 
     If bridges are present on more than 5% of pads, and pads are parallel to the squeegee blade, then wipe stencil, decrease downstop, and go to off contact printing (i.e. increase the distance between the stencil and the board). 
     If bridges are present on more than 5% of pads, and pads are both parallel and perpendicular to the squeegee blade, and no previous action, then wipe stencil, decrease squeegee pressure. 
     If bridges are present on more than 5% pads, and pads are both parallel and perpendicular to the squeegee blade, and previous action was decrease squeegee pressure, then wipe stencil, increase squeegee pressure, decrease squeegee speed. 
     If bridges are present on more than 5% of pads and pads are both parallel and perpendicular to the squeegee blade and previous action was decrease squeegee speed then wipe stencil, increase squeegee speed, decrease downstop. 
     If bridges are present on more than 5% of pads and pads are both parallel and perpendicular to the squeegee blade and previous action was decrease downstop then wipe stencil, increase downstop, decrease snapoff. 
     If bridges are present on more than 5% of pads and pads are both parallel and perpendicular to the squeegee blade and previous action was decrease snapoff then increase snapoff, wipe stencil, advise to check flatness (i.e. check hot air leveling, check substrate surface finish, check legends), and rotate board 90°. 
     Alignment 
     If alignment error detected and Fine Pitch mode (a mode where the board is aligned twice) is disabled then enable Fine Pitch mode for 2 print cycles then deactivate again (Fine Pitch mode is deactivated to increase throughput). 
     If alignment error detected and Fine Pitch mode is enabled then advise of alignment error and suggest setting up manual offsets. 
     Volume 
     If device type is ceramic ball grid array (BGA) and device volume is greater than VolumeCeramicBGATolerance% then volume is high. 
     If device type is plastic BGA and device volume is greater than VolumePlasticBGATolerance% then volume is high. 
     If device type is non-BGA and device volume is greater than VolumeTolerance% then volume is high. 
     If device type is ceramic BGA and device volume is less than VolumeCeramicBGATolerance% then volume is low. 
     If device type is plastic BGA and device volume is less than VolumePlasticBGATolerance% then volume is low. 
     If device type is non-BGA and device volume is less than VolumeTolerance% then volume is low. 
     If volume is high and shape is mostly dog-ear then increase squeegee pressure. 
     If volume is high and shape is mostly pump then increase viscosity. 
     If volume is low and shape is mostly scoop then decrease squeegee pressure. 
     If volume is low and shape is mostly slope then increase paste deposit, decrease viscosity. 
     In the above rules, the shape is &#34;mostly&#34; one of the four shapes when its corresponding value has the highest absolute value. If two or more shapes have the highest absolute value, the first of these shapes encountered in the rules is used. 
     The following Correction Rules describe how the actions identified above for the &#34;then&#34; statements, are carried out. The &#34;then&#34; statements are used to generate &#34;process control signals&#34; to change the conditions of depositing pads. In some cases, the conditions are automatically changed; in others, a message is displayed for an operator to make a manual adjustment. 
     Correction Rules 
     If wipe stencil then wipe with solvent and vacuum. 
     If knead paste then activate knead cycle. 
     If increase paste deposit and last paste dispense was more than 20 print cycles ago then dispense paste. 
     If increase paste deposit and last paste dispense was less than 20 print cycles ago then temporarily increase squeegee pressure by 10% until 3 acceptable boards have been produced. 
     If increase squeegee pressure then raise squeegee pressure by 10% of its current setting. 
     If decrease squeegee pressure then lower squeegee pressure by 10% of its current setting. 
     If increase squeegee speed then raise squeegee speed by 0.2 in/sec, as long as the squeegee speed is below an upper limit. 
     If decrease squeegee speed then lower squeegee speed by 0.2 in/sec. 
     If decrease downstop and downstop is greater than or equal to 0.070&#34; then reduce downstop by 0.010&#34;. 
     If decrease snapoff then reduce snapoff by 0.010&#34;. 
     If increase viscosity and the machine includes an environmental control unit then decrease temperature. 
     If increase viscosity and squeegee speed change allowed then decrease squeegee speed. 
     If increase viscosity then decrease squeegee pressure. 
     If decrease viscosity and the machine includes an environmental control unit then increase temperature. 
     If decrease viscosity then increase squeegee pressure. 
     If increase temperature and current temperature equals last temperature change then raise temperature by 3° F. 
     If decrease temperature and current temperature equals last temperature then lower temperature by 3° F. 
     Other embodiments are within the scope of the following claims. 
     For example, 3D solder pad inspection system 18, neural net shape classifier 20 and inference engine print condition processor 22 can be employed with other techniques for depositing solder pads such as solder jet printing systems. 
     An x-ray or acoustic imaging machine can be used to capture an image in inspection system 18. ##SPC1##