Control of the UDS Process for the Production of Solder Balls for BGA Electronics Packaging by Juan Carlos Rocha Alvarez B -S., in Mechanical Engineering (I 993) Instituto Tecnologico y de Estudios Superiores de Monterrey I Submitted to the Department of Mechanical Engineering in Partial Fulfillment of the Requirements for the Degree of Master of Science in Mechanical Engineering at the Massachusetts Institute of Technology June 1997 O 1997 Massachusetts Institute of Technology All rights reserved Signature of Author Department of Mechanical Engineering May 91997 Certified by Dr. Jung-Hoon Chun Edgerton Associate Professor of Mechanical Engineering Thesis Supervisor Accepted by Dr. Ain Sonin Chain-nan,Department Graduate Committee ?, -. I WYA A 1997 41umvm Control of the UDS Process for the Production of Solder Balls for BGA Electronics Packaging by Juan Carlos Rocha Alvarez Submitted to the Department of Mechanical Engineering on May 9 1997 in Partial Fulfillment of the Requirements for the Degree of Master of Science in Mechanical Engineering ABSTRACT Size reduction of electronic components is an incessant quest in the microelectronics industry. For example, the Ball Grid Array (BGA) electronics packaging technology helps reduce the size of the electronic components while maintaining or improving their performance. The main components of the BGA technology are small solder balls, the connection elements between the chip and the circuit module or between the module and the card. The Uniform Droplet Spray (UDS) process is an efficient manufacturing process for the production of uniform solder balls that can be used for BGA packaging. This work aims at the control of the UDS process for the production of solder balls for BGA applications. The first approach used was to reduce the ball size variation by increasing the robustness of the process. At this stage the ball size variation was reduced from 9% to 2.5% of the mean ball diameter. Next a closed-loop system for mean ball size prediction and control was designed, developed and incorporated into the UDS process. The control system comprises two parts: the droplet size measurement system and the ball size control system. The droplet size measurement is based on digital image processing, which was developed according to the Characteristics of the UDS process. The measurement system is a precise and reliable method to determine the ball size in situ. The development of the ball size cointrolsystem involved the definition of a feedback signal, the development of a control algorithm, modeling, simulation, and the evaluation of the control system. The control system showed to be effective to maintain the mean ball size close to the target size. Now the UDS process is capable of accurately determining and controlling the ball size distribution. Although this work has focused on the production of large solder balls 700-800 gm), the measurement and control system can be adapted to any size of balls produced by the UDS process. However, such factors as image magnification, camera position and resolution should be considered to assure reliable, accurate ball size control. Thesis Supervisor: Dr. Jung-Hoon Chun Esther and arold E. Edgerton Associate Professor of Mechanical Engineering 2 Acknowledgments T would like to tank all the persons who made possible the completion of this work. My most sincere gratitude to: First to my wife, Grecia, who has always encouraged me to pursuit my dreams, with unconditional love and support through all the years. My parents for all their caring and support, whose invaluable taught has leading me all my life. Prof. Jung-Hoon Chun, whose guidance and encouragement led to the success of this work. The members of the DBM group: Jeanie Cherng, Sukyoung Chey, Ho-Young Kim and Jiun-Yu Lay, without their advice, knowledge and help this work could have never been possible. Dr. Pyongwon Yim and Dr. Chen-An Chen, who helped me to start with the right foot. Dr. Nannaji Saka, for his valuable comments. Ultraclean International Co., for their help in developing the image analysis software, and for providing some equipment to accomplish this research. To you all, Thanks very much 3 TABLE OF CONTENTS Page Title Page I Abstract 2 Acknowledgments 3 Table of contents 4 List of Tables 6 List of Figures 7 1 9 9 9 INTRODUCTION 1.1 Introduction 1.2 Background 1.2.1 1.3 Ball Grid Array Packaging 9 1.2.2 Role of solder balls in BGA Mono-sized solder ball production using the UDS apparatus I 1.3.1 1.4 2 Uniform Droplet Spray (UDS) apparatus 14 by the UDS process Control approach 15 17 2.1 Introduction 2.2 Identification of sources of variation 2.2.1 2.4 12 1.3.2 Mono-sized solder ball production process 1.3.3 Characterization of solder balls produced REDUCTION OF THE SOLDER BALL SIZE VARIATIO' 2.3 12 19 9 Droplet size 19 9 2.2.2 UDS configuration Experiments on size variation 2.3.1 Design of experiments 2.3.2 Vibration sensor 2.3.3 Hydrostatic pressure variation 2.3.4 Experimental setup 2.3.5 Analysis of experimental results Reduction of solder ball size variation 20 22 22 22 23 24 25 27 2.4.1 Approach to reduce size variation 27 2.4.2 Size variation distribution results 28 4 3 MEASUREMENT SYSTEM 3. i Introduction 3.2 Measurement system 3.3 3.4 3.5 3.6 4 3.2.1 Measurement system requirement 3.2.2 Digital imaging system 30 3 Image acquisition 3.3.1 Droplet trajectory 3 32 3.3.2 34 Droplet shape oscillations 3.3.3 Image acquisition positioning Image processing 3.4.1 Droplet detection 37 38 38 3.4.2 Droplet measurement methods Measurement method selection and results 3.5.1 Evaluation procedure 3.5.2 Evaluation results 3.5.3 Wavelength method sensitivity 3.5.4 Wavelength method resolution Measurement system calibration 3.6.1 Camera calibration 3.6.2 Effect of solidification on solder ball size 40 42 42 42 43 44 44 44 45 CLOSED LOOP CONTROL SYSTEM 47 4.1 Introduction 47 4.2 Feedback signal incorporation 4.2.1 Feedback input definition 4.2.2 Feedback incorporation to the UDS apparatus UDS process control 47 47 48 49 4.3.1 Time response 49 4.3.2 Steady state control limits 50 4.3.3 Control algorithm 51 4.3 4.4 5 30 30 30 4.3.4 Modeling and simulation of the control system Control results 4.4.1 UDS system response 4.4.2 Sensitivity of the control system 51 54 54 56 4.4.3 58 Steady state response SUMMARY 62 Appendix A 63 Appendix 76 Bibliography 78 5 LIST OF TABLES Page Table 1 I Influence of BGA parameters and variables 13 Table 21 Frequency effect experiments 25 Table 22 Pressure difference effect experiments 25 Table 23 Frequency effect results 26 Table 24 Pressure difference results 27 Table 31 Input parameters for the simulation 34 Table 41 Input parameter for the evaluation of the UDS process response to the control action Table 42 Input parameters for the evaluation of the sensitivity of the UDS ball size control system Table 43 57 Input parameters for evaluation of the steady state response of the ball control system Table 44 55 59 Properties of the size distribution for balls produced by the controlled UDS process 6 60 LIST OF FIGURES Page Figure 1.I Figure 12 Figure 1.3 Figure 14 Figure 1.5 Figure 16 Figure 1.7 Figure 1.8 Figure 19 Figure 2.1 Figure 2.2 Figure 2.3 Figure 2.4 Figure 2.5 Figure 2.6 Figure 2.7 Pin grid array (PGA) and quad flat pack (QFP) configurations BGA package Effect of ship interconnection technology over the package outline area Droplet generator Uniform Droplet Spray apparatus SEM picture of Sn-38 wt. % Pb balls produced by the UDS process at 40x magnification Size distribution of the Sn-38 wt. % Pb balls produced by the UDS process Solder balls possible distribution Schematic of proposed closed loop control for the UDS process Schematic of droplet formation Vibration sensor Droplet diameter variation caused by hydrostatic pressure change Droplet size variation from the mean due to hydrostatic pressure change Solder ball diameter using different frequencies Solder ball diameter using different pressure differences Size distribution of the Sn-38 wt. % Pb balls produced by the UDS apparatus after gas control system redesign 10 I 12 14 15 16 16 17 18 21 23 24 24 27 28 Figure 3.1 UDS droplet size measurement system 29 32 Figure 3.2 Force balance of droplet in flight 33 Figure 3.3 Solder ball droplets lateral scattering 35 Figure 34 Solder ball droplets wavelength increment as a Rinction of flight distance Jet breakup and droplet shape oscillations at different distances from the orifice Droplet roundness vs. Distance from the orifice Image of -750 mm Sn-32 wt. Pb droplets Edge detection process Droplet detection process Area used for the calculation of droplet size Measurement method variation results Wavelength measurement method sensitivity Image of solder balls used for camera calibration Schematic of the UDS closed loop control system Figure -).5 Figure 36 Figure 37 Figure 38 Fig-Lire39 Figle 3 10 Figure 3 11 Figure 312 Figure 313 Figure 41 7 35 36 37 37 39 40 41 43 44 45 48 Figure 42 Flow chart of the ball size control system 52 Figure 43 Figure 44 Figure 45 Figure 46 UDS control system simulation results UDS control system feedback signal UDS process control response Linear approximations for the measured an real ball diameter, during the control of the UDS process Sensitivity analysis of the controlled response of the UDS process Sensitivity analysis of the feedback control signal Steady state response of the controlled UDS process for the production of solder balls for BGA 53 Figure 47 Figure 48 Figure 49 Figure 4 10 56 57 58 59 Feedback control signal for the control of ball size using the UDS process Figure 411 54 55 60 Size distribution for the balls produced by the controlled UDS process 61 8 Chapter 1.1 INTRODUCTION Introduction New kinds of packaging technologies have been developed to accommodate the reduction in size of electronic components in the electronics industry. Among these technologies is Ball Grid Array (BGA) packaging. The BGA permits a five time size reduction compared to the most common current packaging technologies. BGA can deliver a high number of 1/0 connections while increasing the reliability of the component. The main components of BGA packaging are small solder balls: these balls are the connection element between the cp and the circuit module or between the module and the card. The current method used to produce balls for BGA is a low yield production process. Consequently the solder balls are a costly part of the BGA packaging. The Uniform Droplet Spray (UDS) process has proven to be a effective method of producing uniforin metal balls for BGA packaging technology. Nevertheless, further improvements can be made to the UDS apparatus to produce solder balls that consistently meet the high standards of the electronic industry. This research addresses control of the UDS apparatus for the production of solder balls for BGA applications. The control of the UDS apparatus refers to the production of solder balls within a very narrow size distribution around the target size. The proposed approach to control the UDS apparatus begins with an increase in the robustness of the apparatus. At this stage, series of experiments were conducted to identify variations in the key input parameters that are associated with variations in the output (ball size variation). The apparatus was then modified to reduce such input variations; consequently, variations in the output were also reduced. Even though a considerable size variation reduction could be achieved, it was still necessary to predict and control the mean size of the ball size distribution. Thus, a closed loop control system was designed, developed, and implemented. This control system determines the size of the liquid metal droplet, relates the size of the droplet to the size of the solder ball, compares the real ball size to the target size, and then modifies the input parameters to make the ball size match the target size. This thesis describes and discusses the steps necessary to design, implement, and evaluate the ball size variation reduction and the UDS process control system. 1.2 Background 1.2.1 Ball Grid Array Packaging An endless quest to be the fastest, smallest, lightest, and most cost effective in the electronics industry has spurred the development of new technologies. Specifically, there has been an enormous amount of development concerning chip interconnection technologies. Current interconnection technologies are concerned with providing smaller, lighter, and denser (more number of connections per unit area) electronic components. Electronics packaging reduces the size of the electronic component while maintaining or 9 improving its p fonnance. Specifically, chip packaging technology focuses on size reduction, higher 1/0 counts, greater density, lower cost, and higher performance. There are several methods used for electronics packaging; the most common are pin grid array (PGA) and quad flat packs (QFP). Figure 11 shows schematics of a PGA and a QFP. Ceramic PGAs were introduced in the 1960s to expand spatially dense flip chip devices. The principle of the PGA technology is to use metal pins as the connection element between the chip and the card. PGAs provide great interconnection flexibility, but offer little opportunity for pitch reduction. QFPs are characterized by the use of peripherally attached legs. The QFPs deliver a high surface mount compatibility. However, QFPs are not space efficient due to their peripheral interconnect scheme. PGA Figure 1.1 QFP Pin grid array (PGA) and quad flat pack (QFP) configurations. BGA is an area array interconnection technology that uses solder balls as the connection element between the chip and the module or module and card. There are three types of BGA packages, each identified by the substrate material used. These types are ceramic (CBGA), which delivers excellent thermal and electric characteristics at a relatively high cost, plastic (PBGA), which has moderate thermal and electric properties at low cost, and tape (TBGA), which has excellent thermal and electric properties at an intermediate cost. Figure 12 shows a ceramic BGA package. BGA technology provides high throughput and yields in comparison to QFP components. For example, the defect manufacturing level for a BGA is approximately six times less thqn QFP [PuttlitZ, 1994]. Smaller and denser packages can also be produced using BGA technology. Figure 13 shows a schematic representation of the effect on chip interconnection technology on the package outline area. BGA packaging technologies have reduced the size of electronics components by more than five times. However size reduction is not the only advantage of using BGA packaging. Compared to other interconnection technologies, BGA has proven to be more cost effective and reliable. BGA packages are being considered for high 1/0 count semiconductor devices and are becoming more popular as the technology development advances, improving performance and lowering costs. he market for BGAs is expected to grow rapidly over the next few years, with BGA becoming the dominant packaging technology. 10 Heat sink Chip Cap Soldi cr Ceramic Module Solder Paste Solder Balls Copper card Figure 1.2 1.2.2 Balls BGA package. Role of Solder Balls in BGA The performance of a BGA package depends on many parameters and variables. Table 11 [Ries et al., 1993] shows a list of parameters and variables that directly affect the BGA's reliability and yield. Solder ball size distribution directly affects the assembly reliability of the package and, indirectly, the yield. Therefore solder ball diameter must be carefully controlled to ensure assembly reliability. Ball uniformity ensures good coplanarity of the package. Ball coplanarity for a specific ball in the array is defined by the distance from the top of that ball to the horizontal stable sitting-plane of the package. Ball coplanarity directly determines the characteristics of the fon-nation f the final solder joints. Good solder joints reduce the probability of having bridges or opens in the connections. Most current BGA applications show a coplanarity requirement of 6 mils [Miremadi et al., 1995] as a standard specification. Based on this specification, it has been determined that a maximum ball size variation of ±3% from the mean ball diameter is more than adequate for BGA applications. The current research is focused on the production of large size solder balls 700 - 800 im). The UDS process to date has shown to be unable to produce large balls with such a narrow variation. One of the objectives of the current research is to make the UDS process able to produce large solder balls with a size variation smaller than ±3% of the mean ball size. 11 WIRE BOND - PGA Area Reduction Factor 0 2540 m CENTERS WIRE BOND - SMA 2.5 1270 m CENTERS SBFC (C-4 - PGA 2.5 2540 m CENTERS SBFC (C4 - BGA !l9errvin 5.0 1270 gm CENTERS Figure 13 1.3 Effect of chip interconnection technology over the package outline area. Mono-sized solder ball production using the UDS process Uniform solder balls have been produced using the UDS process [Yini et al., 1995]. The balls were made of the eutectic Sn-38wt.% Pb alloy and the process parameters were chosen to produce balls between 700 and 800 Lm. These balls showed a high level of sphericity, narrow size distribution (within ± 5% from the target diameter), uniform microstructure, and good re-melting characteristics. All the evidence collected during this study suggests that these balls can be used for BGA electronics packaging. 1.3.1 Uniform Droplet Spray (UDS) aparatus Lord Raleigh was the first to study the dynamics of a liquid jet and its capillary instability. The UDS apparatus was developed based on the concept of Raleigh's liquid jet instability. The principal characteristic of the UDS process is its ability to produce uniform droplets. Several applications have been identified for the UDS process, including spray orming, spray coating, rapid prototyping and tooling, and uniform metal powder production. Uniform droplet generation using the UDS apparatus is achieved through the controlled perturbation of a laininar jet of molten metal. To generate the laminar jet, metal is melted in a crucible, then pressure is applied to force the metal out through an orifice. 12 Table 1.1 Influence of key BGA parameters and variables. ParameterNariable Influence on Package Modules Ball diameter Ball cleanliness Ball attachment temperature Ball attachment time Pad diameter Ball planarity Ball radial error Cards Pad diameter Coefficient of thermal expansion BGA site flatness Reliability Reliability and Yield Reliability and Yield Reliability and Yield Reliability Yield Yield Reliability Reliability Yield Assembly process Solder paste volume Paste deposit thickness Paste deposit error Module placement error Reflow joint temperature Reflow card temperature Reliability Yield Yield Yield Reliability and Yield Reliability Vibration is imposed on the laminar jet at a desired amplitude and frequency by a piezoelectric transducer. The jet perturbation grows until the jet breaks up into uniform droplets. Figure 14 shows a schematic of the droplet generator. There are other important components of the UDS apparatus besides the droplet generator: a droplet charging system, a gas chamber, ad a monitoring system are essential for the production of uniform droplets. After the droplets are created, they experience drag forces that affect their dynamic behavior, thus different droplets have different velocities and tend to merge during flight. To avoid droplet merging, the droplets are electrostatically charged by induction charging. The process of droplet generation and charging is performed in an inert atmosphere to avoid oxidation. A monitoring system consisting of a CCD camera equipped with a macroscopic lens visualizes uniform break up of the molten metal jet into droplets. Using this monitoring system, uniform break up of the stream is guaranteed by adjusting the parameters (vibration frequency and amplitude) until the image of the jet breaking up into droplets freezes at the flash of a stroboscope lamp. Figure 1.5 shows a schematic of the UDS apparatus. 13 Then-nocouple - Crucible lisk transmitter He,, I metal Orifice 0 a Charging ring Uniform droplets Figure 14 Droplet generator. 1.3.2 Mono-sized solder ball production process It was estimated that a minimum distance of six meters was required for the complete solidification of 750 pm droplets in a nitrogen environment. Since the experimental apparatus used for the present study has a maximum flight distance of one meter, a container filled with silicon oil collected and solidified the droplets. The typical procedure used to produce solder balls starts by charging the crucible with metal, then placing the top plate on the chamber and vacuuming and re-filling with nitrogen gas. After the oxygen content has been lowered to less than IO ppin, the crucible is heated to melt the metal, then a positive pressure difference between the crucible and the chamber is applied, forcing the metal out through the orifice. Then the laminar jet of molten metal is broken up into uniform droplets by adjusting the vibration frequency and amplitude. Once uniform droplets are generated, they are electrically charged to prevent merging. Immediately after the droplets are charged, they are collected into silicon oil where the balls are solidified. Finally the balls are cleaned to remove oil residue. 14 ,' Function I Generator i I -------- : Oscilloscope !, 1 Amplifier I i I - Three-way valve -11 Transformer Vent i : Nitrogen , --- f Temperature Controller ,__ I I i j. I, 1>1 I i Ii ,1- , DC voltage ! : Strobe I l i i crucible - !! Nitrogen i supply for ; 11 i suppl 1 chamber - I Vacuum ___1 : pump source I Video Camera i Monitor F jrpv Chnmhpr Figure 1.5 Uniform Droplet Spraj / --u"'. 1.3.3 Characterization of solder balls produced by the UDS process Solder ball appearance, shape, size distribution, microstructure, and re-melting characteristics were analyzed. The balls showed smooth surface and good spherical shape as shown in Figure 16. Figure 17 shows the size distribution of the solder balls produced by the UDS apparatus. This graph represents the results of a typical production run to produce -780gm solder balls. The ball size variation is within 5% of the mean diameter, although IO% of the total production falls out of that range. Even though 5% is a narrow size variation for typical metal powder production, the electronics industry requires a size variation within ±3% of the mean diameter for BGA packaging. The ball produced by the UDS process showed finer grains and more uniform microstructure distribution than commercially available balls [Yim et al., 1995]. Although the solder balls produced by the UDS process showed excellent characteristics, further development of the LIDS process is needed to fully apply the process to the production of solder balls for BGA. There are two main development areas: (1) the reduction of the ball size variation and 2) the incorporation of a system to control the mean size of the solder balls. 15 Figure 16 SEM picture of Sn-38 wt. %Pb balls produced by the UDS process at 40x magnification. 25% 20% .. . . . .. . 0.0 15% 0L. ----. .. . 00 t C6 0 I.. 10 . .. . . . . I . .. . . . .. 5% 0% i -9.0% 70% -. 0% 3.0% -1.0% 1.0% 30% 5.0% 70% 90% Variation from the mean Figure17 Size distribution of the Sn-38 wt. % Pb balls produced by the UDS process. 16 1.4 Control Approach The first step towards the controlled production of solder balls was to establish a control approach. Ball oz= distributions were considered normal. Figure 1.8 shows possible ball size distributions generated by the UDS process. In this figure, the continuous line curve represents the ideal distribution where the size variation is smaller than the tolerance required by the specifications and the mean size is exactly on the target diameter. The short dashed curve shows a size distribution with a size variation so wide that many balls fall outside of specifications even though the mean size is on the target diameter. Finally, the long dashed curve represents a size distribution in which the problem is that mean size is different than the target. Here the ball size variation is small but due to the mean size position, many balls fall out of the specification limits. These distributions show two different problems: a wide size variation and placing the mean size on the target size. Previous research showed that the solder ball size variation produced by the UDS process is larger than required for BGA applications, therefore the first control step is to reduce the solder ball size variation. Solder ball size variation reduction is discussed in Chapter 2. 700 710 720 730 740 750 760 770 780 790 800 Ball Diameter ([Lm) Figure 1.8 Solder balls possible size distribution. Once the size variation is reduced, the mean size has to be placed on the target size. For this purpose, the proposed approach is to develop a closed loop ball size control system. Figure 19 shows a schematic representation of the proposed closed loop control system. The development of the control system is divided in two main parts: first, the incorporation of a system capable of measuring the size of the droplets in flight, discussed in Chapter 3 and second, the development of a system to control the size of the ball by modifying the inputs to the process, discussed in Chapter 4. 17 Real Ball Diameter Target Ball Diameter Figure 19 Schematic of proposed closed loop control for UDS process. 18 Chapter 2 2.1 REDUCTION OF THE SOLDER BALLS SIZE VARIATION Introduction This chapter describes the reduction in ball size variation. The first part analyzes the UDS process and apparatus, the second part describes the procedure sed to identify the causes of variation and the third part lists the steps taken to reduce the variation and the final results achieved. The size variation reduction is based on the hypothesis that if a reduction in the variation of the inputs of a process is achieved, a reduction in the variation of the process output will be achieved. 2.2 Identification of sources of variation A good understanding of the modeling physics of droplet formation and the governing equations is essential to identify the most influential parameters related to droplet size. A closer look at the UDS apparatus is also necessary to detect possible areas of improvement. This section covers the governing equations that define droplet size and, based on these equations, determines the most important subsystems of the UDS process in terms of droplet size variability. 2.2.1 Droplet size Droplet size is determined by performing a mass conservation analysis at the moment of the break up of the jet into droplets. Consider a liquid in a container that is being forced out through an orifice by a pressure difference Ap (see Figure 2 ). The jet velocity is obtained by: V = C. Ap (2.1) P where V. is the velocity of the jet, J M. the discharge coefficient and, p the density of the liquid. Now, a pervHbation with frequency f is applied to break the liquid jet into droplets, thus the stream is broken into one droplet every I/ f seconds. It can be approximated that the jet is broken into cylinders with radius dj and length Vj / f This length is defined as the wavelength : Vi (2.2) f 19 Each of the cylinders transforms into a spherical droplet, thus the volume of a cylinder should be equal to the volume of a droplet, Volly = old,,,, defined by: ,-rd A Vol J 'Y1 (2.3) 4 -T d Voldop = (2.4) 6 where dd is the droplet diameter. Using equations 2.3) and 2.4), the droplet diameter can be found as: 6 d A 1/3 (2.5) Ir where Ai. is the cross sectional area of the jet. Assuming that the cross sectional area of the jet is equal to that of the orifice, A, and substituting equation 2.2) into equation (2.5), the droplet diameter can be calculated by: / 6AOVi dd = 1/3 (2.6) 7f Equation 2.6) shows that droplet diameter is determined by the velocity of the jet, the vibration frequency, and the orifice area; therefore, variations in these parameters should cause variation in the size of the droplet. The velocity of the jet is controlled by the pressure difference and the properties of the liquid. Since small variations in temperature of the melt would not have a significant effect on material properties, the gas control system used to create the liquid jet is more likely to be responsible for variations in jet velocity. The breakup frequency is directly controlled by the vibration system. Although the oifice size does not have a significant effect on the size distribution, the orifice size determines the range of ball size that can be produced. The variations introduced by the gas control system and vibration control system, therefore, need to be reduced. 2.2.3 UDS configuration The UDS apparatus is comprised of five subsystems: a vibration system, a gas control system, a melting system, a charging system, and a monitoring system. Since only the vibration system and gas control system play significant roles in droplet size determination and variability, only these systems need to be analyzed to identify possible variation sources. 20 An p length of dd 0 Figure 21 Schematic of droplet formation. The Vibration System The vibration system is composed of a stack of piezoelectric crystals, a holding case, a connecting shaft, and a plate. The crystals are contained in the case and transmit the vibration to the liquid through the shaft. The vibration shaft has a plate attached to its tip to assure a perturbation at the orifice. The vibration process starts with the generation of a varying voltage signal by a unction generator. The Rinction generator determines the frequency, type of the signal, and initial amplitude. Then the signal is amplified using both a variable gain aplifier and a power transformer. Finally the signal is applied to the stack of piezoelectric crystals causing a regular volume expansion and contraction of the crystals. The volume change of the crystals is proportional to the amplitude of the signal, therefore the vibration amplitude and frequency directly depend on the amplitude and frequency of the applied signal. A constant vibration frequency is essential to produce a narrow size distribution and a constant amplitude ensures a stable break up of the laminar j et. 21 The Gas Control System The pressure control system consists of two compressed gas bottles, one feeding the chamber and the other feeding the crucible. The pressures at the exit of the bottles are regulated to create a constant pressure difference between the crucible and the chamber. This pressure difference forces the molten metal through the orifice, generating a laminar jet. Maintaining a constant jet velocity requires a constant pressure difference between the crucible and the chamber. During a normal operation of the UDS apparatus, low and high pressures are set at the beginning of the run. 2.3 Experiments on Size Variation 2.3.1 Design of Experiments The procedure to determine the ball size variation was to isolate the variation produced by the two principal parameters: vibration frequency and pressure difference. Thus, two sets of experiments were designed. The first set of experiments determined the effect of frequency variation over the ball size variation. In this set of experiments, all the input parameters were held constant between experiments except the vibration frequency. The second set of experiments was conducted in the same manner as the first set, but the variable parameter was the pressure difference. 2.3.2 Vibration Sensor Certain problems had to be solved before performing these experiments: for instance there was not means of measuring the vibration amplitude and frequency. Therefore a vibration monitoring sensor was developed to perform these experiments. This vibration sensor was implemented by adding an extra piezoelectric crystal to the stack of crystals that generates the vibration. This extra crystal is isolated from the electric signal driving the stack. Consequently, when the stack expands, the isolated crystal contracts and generates a voltage difference. This voltage difference is monitored using an oscilloscope, on which the frequency and amplitude of the voltage coming from the isolated crystal represent the vibration frequency and amplitude of the atual perturbation. Figure 22 shows the vibration sensor. This vibration sensor ensures that the same vibration amplitude is used during and between each experiment. The sensor also allowed the determination of the best parameters to obtain a clean output from the vibration system. A clean output is defined by the similarity between the signal that comes from the vibration sensor and the electric input in terms of frequency and shape. In other words, if a 1000 Hz sinusoidal signal is applied to the apparatus, the output from the vibration sensor should be a I 00 Hz sinusoidal signal. 22 After running the UDS apparatus using square, triangular and sinusoidal signals, it was deten-nined that the cleanest vibration output at low frequencies 800-2,000 Hertz) was produced by using a sinusoidal input signal, thus this signal is used to perfon-n all experiments. I - - I Uutput signai to Oscilloscol T------- nl---- L---- Input Signal from Function Generator I Isolated Crystal Stack of Crystals Vibration Shaft Figure 22 Vibration Sensor. 2.3.3 Hydrostatic pressure variation An important source of droplet size variation is the change of hydrostatic pressure during a run of the UDS apparatus. his hydrostatic pressure is produced by the weight of the molten metal contained in the crucible and depends on the height of the column of metal above the oritLice.Thus, as the metal is ejected from the crucible, the hydrostatic pressure decreases along with the column of metal. As the .- Mure ecreases, the jet velocity Vj decreases causing a decrease in the droplet diameter. Figure 23 shows the predicted decrease in droplet diameter as a fnction of ran time. This calculation was made considering the current crucible geometry, using 0.5 kg of Sn-38 wt.% Pb a 406gm orifice, and a pressure difference of 34.4 KPa. Figure 24 shows the percentage size variation from the initial droplet diameter of 750gm. The magnitude of the variation produced by the change in hydrostatic pressure depends on the configuration of the crucible and the target droplet size. Nevertheless, the variation produced by hydrostatic pressure can be significantly decreased by using a short collection time. For example, for a batch of 750gm solder balls collected during a 30 second period, only 0.14% of the total size variation would have been caused by changes in hydrostatic pressure. 23 For the current study, all the experiments were evaluated using a collection time of 30 seconds. By doing so, the effects of ball size variation caused by hydrostatic pressure were minimized, and the observed variation was only due to variations in the pressure difference or vibration frequency. Since the change in hydrostatic pressure has gradual (long time constant) effects over ball size variation; this variation can be easily controlled by a feedback control system. Therefore, no attempts were made to reduce the change in hydrostatic pressure by modifying the UDS apparatus. 0.15% 752 - 0.00% -- -----------------------0.15% - ---------------------- 750 - I---------------------------- 'j74 - .................... Z4'746 - ------------ -C.45% .a-0.60%----- ............ Z e -0.75% S M :6 744 Z 10742 12 740 -------- E 0.30% -------------------- ............ ................ E -0.90%--------------0 ----------------- -1.20% ------------------- 0 30 60 90 120 -1 350/c .1.50% 0 150 180 210 ----0 Droplet diameter variation caused by hydrostatic pressure change. 30 ....... ... -------------60 90 120 150 180 210 Time (Seconds) Time (Seconds) Figure23 ---------- -1.05% --------------- -IJ3 2.3.4 .................. ............... Figure 24 Droplet size variation from the mean due to hydrostatic pressure change. Experimental Setup Frequency effect experiments A set of experiments was performed to determine how frequency variations affect the ball diameter distribution (mean and variance). These experiments were performed by setting up the constant input parameters at the beginning of each run. The parameters were held constant at a point where the UDS apparatus output was most stable. Table 21 shows the values of the constant parameters. The vibration frequency was closely monitored during the run to avoid variations. The experiments were perfonn,-d at frequencies of II 80, 1362, 1447 and 1568 Hertz. 24 Table 21 Frequency effect experiment parameters. Pressure Difference Vibration Amplitude Charge Voltage Orifice Diameter - Si2al Shape 34.4 K-Pa 0.9 V 3 KV 406 tm Sinusoidal Pressure difference effect experiments A set of experiments was performed to determine how pressure difference variations affect the ball diameter distribution. These experiments were conducted in the same manner as the frequency effect experiments. The input parameters were fixed at the values shown in Table 22. Balls were produced, collected, and measured using pressure differences of 20.3, 29.6, 36.8, and 45.1 KPa. Table 22 Pressure difference effect experiment parameters. Vibration Frequency Vibration Amplitude Charge Voltage Orifice Diameter Signal ShMe 2.3.5 1492 Hertz 0.9 3 KV 406 Lm Sinusoidal Analysis of experimental results Frequency effect results Table 23 and Figure 25 show the results of the frequency effect experiments. In Figure 25, the mean of each experiment is represented as a single point, the error bars at each point represent the range in which 95% of the total production is located (size variation), and the continuous line represents the ball diameter calculated from equation 2.6 using the parameters shown on Table 21. The percentage of the production that is within ±Y/'Uof the mean diameter is used as the erformance evaluation parameter. Table 2.3 shows that in three out of four experiments 85% of the total production is within ±3%. The best run was at 1447 Hz, and the worst at II 0 Hz. 25 These results show that uniform break up can only be achieved within a defined range of frequencies for a given jet diameter. As the frequency goes closer to the borders of this range, the break up becomes unstable, generating non-uniform droplets with a very large size variation. Thus, it is highly probable that II 0 Hz is close to the unstable break up border, explaining why only 43.3 of the production was within ±3% of variation. Referring to Figure 25, the experimental results show a decreasing trend in ball diameter as the driving frequency is increased, but note that the mean ball diameter of the experimental results is consistently smaller than the theoretical predicted value. This can only be explained by a systematic variation in the pressure difference, since the pressure difference is the only "constant" input that can significantly affect the ball diameter. Table 23 Exp. # 1 2 3 4 1 Frequency effect results. Frequency (HeEzj Mean icromete Std. Deviation (Micrometers) 1180 1362 1447 1568 820.42 787.89 742.77 744.00 42.99 16.89 14.49 15.35 1 Production within ±3% 1 43.3 83.81 87.58 85.41 Pressure effect results Table 24 and Figure 26 show the results of the pressure difference effect experiments. In Figure 26, the mean of each experiment is represented as a single point, the error bars at each point represent the range where 95% of the total production is located (size variation during an experiment), and the continuous line represents the ball diameter calculated from equation 2.6) using the parameters shown in Table 22. Figure 26 shows that the pressure effect experiments had better results than those obtained by the frequency effect experiments. The mean ball diameter of three out of four experiments coincides with the theoretical value. Therefore, it can be concluded that there was no significant variation in te constant parameters. Te difference in results from the frequency effect and pressure, difference effect experiments confirms that the pressure difference is the source that produces size variation, because during the pressure effect experiments a constant pressure difference was maintained throughout the collection time. Table 24 shows that the percentage of the production within ±3% increased considerably. Among these experiments, the best run used 29.6 KPa of pressure difference: in this run almost I 0% of the balls were within ±3%. Hence, for a 406 gm jet diameter breaking up at a frequency of 1492 Hz, the optimal velocity is generated with 29.6 KPa of pressure difference. 26 950 , i I - 900 E =L I I 850 TI Q 4-15 E 800 4- cc 9Z 750 1I 1200 1100 1300 1400 1500 1600 Freqaency (Hz) A Dd f- I 80 I 6 Dd P-1447 I -Dd Calculatedusingeq. 2.6) Figure 25 X DdfL1362 N Ddf--1568 Solder ball diameter using different frequencies. These experimental results show that having better control over the pressure difference will allow production of balls with a size variation within ±3% of the mean diameter. Therefore, the gas control system has to be redesigned to reduce its variation. Table 2.4 Pressure difference effect results. Exp. Pressure Difference (KPa Mean (Micrometers) Std. Deviation (Micrometers) 1 2 3 4 20.3 29.6 36.8 45.1 701.21 739.45 786.89 753.70. 11.01 7.99 21.87 12.70 1 1 2.4 Reduction of solder ball size variation 2.4.1 Approach to reduce size variation Production within % 94.38 99.44 71.98 88.24 % % % % Once the cause of solder ball size variation was identified, the next step was to redesign the gas control system to reduce pressure difference variations. The main objective of the gas control system is to maintain a constant pressure difference between the crucible and the chamber. The previous experiments showed that the pressure control was deficient, requiring a change in the system. 27 900 1-1 E =L 1-1 L. .0. 0 I 850 11 800 'V 750 9 I es 700 rZ I '<9n -i 13 19 25 31 37 43 49 Pressure difference (KPa) EDd 20.3 A Dd 29.6 X Dd 36.8 0 Dd 45.1 Dd Calculated using eq. 2.6) Figure 26 Solder ball diameter using different pressure differences. The pressure was controlled by two single stage pressure regulators. These type of regulators have two main disadvantages. The first one is lack of accuracy, this means that they have to be calibrated before using them. The other disadvantage is that these regulators are one-way regulators. For example, if pressure builds up in the chamber during a run, the low-pressure regulator is not able to exhaust the excess of pressure, resulting in a decrease of the pressure difference between the chamber and the crucible. In fact, pressure builds up in the chamber during a normal solder ball production run. The pressure difference can vary up to 13.7 KPa during a three minute interval. Assuming that if constant pressure difference can be maintained throughout the production time, the only source of variation should be changes in hydrostatic pressure, two new pressure regulators were incorporated to the gas control system. One of them controlled the pressure applied to the crucible, and the other controlled the chamber pressure. These are high precision pressure regulators (Omega PRG101-60). These pressure regulators have a precision measurement capsule and a high gain servo aplifier. Whenever the pressure builds up, the regulator exhausts the system with a response time of 02 seconds to a 0% flow change. The most iportant feature of these regulators is that they can maintain a constant pressure within ± 35 Pa of the setpoint. 2.4.2 Size variation distribution results Figure 27 shows the ball size distribution after the new pressure regulators were incorporated into the UDS apparatus. These results show that 100% of the production is within ±2.5% of the mean diameter. Comparing Fig. 27 to Fig. 17 a drastic reduction in ball size variation can be clearly observed. By the use of these regulators, variations due to pressure settings and increase in chamber pressure were minimized. The UDS process is now perfectly able to produce solder balls for BGA electronics packaging within the specified size variation. 28 The next step following the proposed control approach is to locate the mean ball size on the target size by implementing a feedback control. The next two chapters cover the development and implementation of the feedback control system. 25% r . . .. . . . 20% Z .00 15% 0 I- 0. 9 10% 0 - - - --- - - -I .... 5% 0%, :. . . . i -3.0% 25% 20% -1.5% -1.0% -0.5% 0.5% 1.0% 1.5% 20% 25% 30% Variation from the mean Figure27 Size distribution of the Sn-38 wt. Pb balls produced by the UDS apparatus after gas control system redesign. 29 Chapter 3 3.1 MEASUREMENT SYSTEM Introduction The first step in the implementation of a closed loop control system was the development of a system to measure droplet size in flight. The most significant decision guidelines in choosing the measurement system were accuracy and speed. The proposed system had to be accurate within micrometer precision to detect small droplet size variations. It also had to be fast enough to detect any small variation before the variation grew out of the control limits. Considering these two guidelines, it was decided to use image analysis to determine the droplet size. Image analysis has the potential to deliver both speed and accuracy at the required levels. The development of the system started by determining the best place to take the image along the stream of droplets; this decision was based on droplet trajectory and shape oscillations. Then a image processing system was developed according to the special characteristics of the process. Several measurement methods were implemented and evaluated. The result was the incorporation to the UDS process of an effective and reliable system to determine the droplet diameter during production. This chapter deals with the customization and measurement methods needed to deliver precise, accurate, sensible and high resolution measurements of the droplet size. 3.2 Measurement system 3.2.1 Measurement system requirement The UDS process and apparatus determined the type of imaging system chosen. For example, an important apparatus constraint is that the measurement has to be performed outside the pressurized chamber; thus, the measurement system has to be able to perform the measurements from a distance at least 8.5 cm from the stream of droplets. The system also has to measure droplets traveling at speeds up to 12 m/s and make these measurements fast enough to detect any variation quickly. The resolution of the measurements has to be much less than the size variation in the droplets caused by variations in process conditions. In this way, any small variation in droplet size can be detected. Another important aspect to be considered in deciding the type of the measurement system is integration into the closed loop control system. Digital imaging was chosen as the measurement method mainly because of its high capability of integration and customization. Digital imaging can satisfy all the constraints previously mentioned, but its key advantage over other measurement is the ease of integration and custornization. 30 3.2.2 Digital Imaging System A continuous representation of an image cannot be conveniently interpreted by a computer, therefore, an alternative representation, the digital image, must be used. This digital image is generated by an analog-to-digital converter, often referred as the "frame grabber." Using a frame grabber, the digital image can be stored into the frame memory, allowing data processing and display. The proctss of grabbing i image is as follows: the image is picked up by an electronic device (usually a CCD camera) the video signal then is conditioned, synchronized, and digitized. For the digitizing step the frame grabber uses a converter that samples the analog signal to discrete time intervals and converts each sample to a digital element called a pixel. These samples (pixels) have certain intensity levels that usually range from to 255, i.e. 256 levels of gray. The digitized image is represented by a two dimensional array of pixels, each pixel having a value between and 255. This array size depends on the resolution of the camera and frame grabber. A digitized image can be easily processed by a computer, as long as there is an interface between the frame grabber and the computer. For the current research, a PCI local bus frame grabber (Data Translation, model DT3155) was used. This frame grabber has a 8-bit converter and 256 levels of gray. The image is acquired by a high resolution CCD camera (Pulnix Co., TM-7X). This camera has a 768 (horizontal) x 494 (vertical) pixel array and a shutter speed of 130 sec. For the resolution required for a satisfactory measurement of the droplet size, a zoom macroscope tube (Meijilabax, UNIMAC) and an auxiliary lens of 0.5X are attached to the camera. This tube and lens provides a magnification of 35 - 22.5X at a working distance of approximately 15 cm. Ile frame grabber is placed on a PCI 32-bit bus master expansion slot of a personal computer (DELL, Dimension Pro2OOn),on which a customized image processing software was developed to measure the droplet size. The software development is covered on the next section of this chapter. Another important part of the imaging system is a stroboscope lamp (Pioneer, DS-303). This lamp flashes at I I 0 the frequency at which the droplets are being generated. In this way the image of the droplets is frozen and the camera can acquire a clear image. Figure 31 shows a schematic representation of the digital imaging measurement system. 3.3 Image acquisition The camera position along the stream of liquid droplets is crucial for the development of a reliable measurement system. This positioning depends on factors such as droplet trajectory and droplet shape oscillations. This section covers the basic principles of these factors, and explains the decision process followed to determine the best place to acquire the image. 3 i i )boscope F Auxiliary lens I I Lamp Zoom macroscopic tube CCD Camera Analogue Imqge X ,I f I : 11 z I . Analogue !iglw ............ ..... -- I - , , .......................... I...... : V I J y Frame grahher cl--- -- I Digitized Computer motherb :: image .............................................................. COMPUTER Figure 31 3.3.1 UDS droplet size measurement system. Droplet trajectory A good understanding of droplet trajectory is essential to ensure that the acquired image represents the actual droplet size. The positions of the droplets change as they travel down due to the drag, electric charge, and gravitational force. As the droplets travel, they experience drag force which attenuates the droplet velocity. The drag force can be found as: 2 I.V .V Fd= Cd(Pi -P9 where Cd is the drag coefficient, pthe dropletdiameterand Md 4 2-- (3.1) liquid density, pg the gas density, dd the V istherelativevelocityofthedropletwithrespecttothegas. Another important force acting on the droplets is the one caused by the droplets' electric charge. As explained before, the UDS apparatus induces an electric charge to the droplets to prevent merging. 32 This electric charge produces an electro-repulsion force, called the Coulomb force: F = e 2 I qd 4)r6o r2 (3.2) where co is the permittivity of free space, r the distance between the two interacting droplets, and qd is the amount of charge induced in each droplet. The charge can be obtained from (Passow, 1992): qd = - 2ire0 vj V (3.3) In(d,/ dj) f where v is the jet velocity, dj the diameter of the jet, d, the diameter of the charging ring, f the driving frequency, and V the charging voltage. The last force affecting the droplets is the gravitational force, expressed as: IrdP d k (3.4) P9 = 6 Figure 32 shows a schematic representation of a droplet in flight. From this figure and using the previous equations, the equation of motion for a droplet becomes: n Md = d,+P, + J=J E Pe, (3.5) where di is the acceleration of the droplet i , m the mass of the droplet and n the total number of droplets surrounding the droplet i . Fd ir+2 FeiI I/ -i I i /M -- i+n i Fe,n Fei2 i+1 Vd F9 Figure 32 Force balance of droplet in flight. 33 Various numerical simulation codes have been developed to determine the scattering of the droplets produced by the UDS apparatus. Figures 33 and 34 show the results of a numerical simulation (Abel, 1993). The parameters shown in Table 31 were used to run the simulation of the production of -750gm Sn-38 wt.% Pb. Figure 33 shows the lateral scattering. The droplets start to deviate from the center at cm from the orifice, growing exponentially as the distance increases. The lateral deviation is insignificant at distances smaller than 15 cm, so that if a image is taken within 1 cm fTom the orifice, lateral scattering will not affect the precision and accuracy of the image. However, there is still scattering in the y-direction. As the droplets travel down the wavelength A increases. This wavelength increase is caused by the electric repulsion force experienced between neighboring droplets. Figure 34 shows the increase of the wavelength A as a function of the distance from the orifice. The continuous line shows the numerical simulation results while the cross noints show the wavelength variation determined by measuring the distance between droplets directly from the images shown in Figure 35. The wavelength can be used to determine droplet size as shown in Equation 2.5. However, the value of the wavelength just after breakup should be used. Therefore, any image that involves the wavelength to determine droplet diameter should be acquired before the wavelength increase becomes significant. For the production of -750gm solder balls, the wavelength increase becomes significant at cm from the orifice, thus, the image should be acquired within this distance. There is yet another factor to consider in positioning for image acquisition. This factor is droplet shape oscillations and will be covered in the next section. Table 31 Input parameters for the simulation. Material Pressure Difference Frequency Vibration Aplitude Signal Shape _ Charge Vo tage Orifice Diameter 3.3.2 Sn-32wt.% Pb 34.4 KPa 150 Hz 0.9 Sinusoidal I KV 4 0 6 -l Droplet shape oscillations The process of droplet formation can be divided in six stages (Peregrine et al., 1989). The first is necking of the liquid stream: Figure 35 a) shows how the perturbation in the stream surface grows until it generates a very thin cylindrical column bridge that connects the stream to the nascent droplet. The second stage consists of the bifurcation of the main drop; it is at this stage that the droplet separates from the stream (Figure 35 b). Recoil is the stage which occurs immediately after droplet separation. Recoil is caused by the unbalanced surface tension that rapidly accelerates liquid in both bodies, droplet and stream. 34 'i 15 450 E 400--------------------- lo -------------------------- 5 5......................... -Z E 0 X --------- E 300----------------- 250--------------- -----------200 ------------ 0 .5 ------------,.I...... .... ................ "X 150---------M -10 . -------------- X-x - --------------------- 0 0 6 10 is Distance from the orifice y-direction (cm) x-direction - Figure 33 5 i 15 10 20 25 Distance from the orifice y-direction (cm) z-direction Solder ball droplets lateral scattering. -X ------- ---- X------------ -------- 100 50 .15 0 ----- Z 350-------------------- Simulation Figure 34 X Experimetnal Solder ball droplets wavelength increment as a function of flight distance. The newly generated droplets show a strong defon-nation at this stage. Figure 35 c) shows an apparent flattening of the top of the newly generated droplet. This is in fact the rim of a depression in its surface. The fourth stage is wave generation, which takes place when the recoil effects propagate onto the cylindrical remain of the liquid bridge. This stage is characterized by the formation of growing waves in the cylindrical bridge caused by the conversion of the potential energy of the surface of the cylinder into wave motion. Figure 35 c) shows the wave generation at the bridge. The fifth stage consists of a secondary necking and biffircation, occurring on the cylindrical bridge and resulting in the formation of a secondary droplet. Figures 35 b) and c) show this stage. The sixth and final stage consist in the coalescence of the main drop and the secondary drop (Figure 35 c)). After the main and secondary droplets merge, the droplet still shows the effects of the recoil stage with shape oscillations. These shape oscillations decrease in amplitude until the surface tension balances and the droplet is completely spherical. Figures 35 d) through j) show the droplet shape oscillation behavior during a typical run for the production of solder balls. The sphericity of the droplets as a function of the distance from the orifice was determined based on the images of Figure 35. Figure 36 shows the sphericity of the droplets at different distances from the orifice, where the sphericity was estimated by comparing the maximum horizontal and vertical droplet diameters. The sphericity of a droplet is defined as: max(DOhorzontal 100%) (3.6) max(Dd)verfi.1 where represents the sphericity of the droplet, where spherical droplet. 35 = I 0% represents a perfectly a) C) w f t I 'j",_ d) e) 3.5 cm g) 5.0 cm 8. cm - I ; I 12cm _ AWL 0 h) i) D 3i,, i I W Am 16 cm Figure35 24 cm 28 cm Jet break-up and droplet shape oscillations at different distances from the orifice. This images correspond to a typical ran to produce 750 gm balls of Sn-38 wt. Pb. 36 3.3.3 Image acquisition positioning Analysis of droplet trajectory and shape oscillations suggests that the camera can be placed within 15 cm from the orifice if the image processing does not use the wavelength to calculate the droplet diameter, and within cm if the wavelength is used. Droplet shape oscillations, however, present difficulties in determining the droplet diameter by direct measurement of the droplet. Based on the results shown in Figure 36, it takes about 20 cm for the droplets to become spherical. Unfortunately when the droplets are completely spherical, they already have started to scatter,and are outside the depth of focus of the camera. 100% .......... W 90% 1. .......... U 0 80% Z X 70 - ............................ 60% 40 Q 6 CD Q Is a C21 C; T- 0 0 Ui 40 CO C; 04 Q CO Wi C14 CD Q 6M Distance from the orifice y-direction (cm) Figure 36 Droplet roundness vs. distance from the orifice. Considering droplet trajectory and shape oscillations conditions during ball production, the best place to position the camera is within cm from the orifice. Figure 3.7 shows a typical image used to measure droplet size. At this position the droplets are not completely round ( = 8 - 5% ), thus the accuracy of the measurement strongly depends on the measurement method used. ''Ofifi-e , ` 11'-"-" Figure37 Image of - 750 pm Pb-38 wt. % Pb droplets. The image size is 480(V) x 640(H) pixels. 37 3.4 Image Processing Once the image acquisition system was incorporated into the UDS apparatus and the determination of the image acquisition position completed, the next step was to determine the kind of image processing that should be done to obtain precise measurements of the droplet size. Image processing is divided in two stages: droplet detection and droplet measurement method. Each one of these stages contributes to the precision and accuracy of the measurement, therefore a careful definition and evaluation was performed at every stage. 3.4.1 Droplet detection The first step in droplet detection is to identify the droplets in the image; the detection process is based on edge detection. Edge detection consists of the detection of discontinuities, places with an abrupt change in gray level, indicating the end of one region and the beginning of another. Figure 38 shows the edge detection process in a image of a droplet. The image of the droplet edge results in an intensity distribution consisting of a step-like function (Figure 38 a). It is commonly assumed that the actual position of the edge is either where the gradient has its maximum absolute value (Figure 3.8 b), or where the second derivative (Laplacian) has zero value (Figure 38 c). The following equation calculates the gradient of a digitized image from the definition of a derivative of a ftinction: f W = limf (X+ Ax) f W AX AX-+0 (3.7) the closest an image of distinct pixel values can get to Ax > 0 is unity, thus for digital images, differences are used instead of derivatives. The best approximation of the partial derivatives in the x and y directions are: S = fX + 1 Y) f(X' Y) (3.8) S = (3.9) X + ) - f (XY) where f (xy) is the level of gray of the pixel located at (xy) coordinates. This simple approximation is very susceptible to noise, because of the way it estimates is directional derivatives. Thus, an alternative method was used to find the droplet edges. That method involves the combination of the difference process and moving averages. This edge detection method uses 2n number of pixels to calculate the difference of the pixel f (XY) - 38 .1 - a) zI I I I I - ;, 300 co 1. U 1- 200 0 W 100 It U I 0 10 iO 30 40 60 60 : Pixels b) - . '. - . / r- ; W 30 40 60 60 : Pixels C) I : L JVO 30 40 V I.L Pixels Figure 38 Edge detection process. The following equations show the difference equations used to find the edge: n n Zf(x+ny)-Zf(x-ny) S X = I I n n n I I (3.10) Ef (xy+n)-Yf (xy -n) SY = n (3.11) In the current edge detection algorithm, n was chosen to be 16 of the estimated droplet diameter measured in pixels. 39 The droplet detection process starts to scan every 16 Dd Clumns by looking for maximum and minimum edges within the same row. This scanning process begins from the center of the image towards the sides. When the process finds a maximum and a minimum edge in the same row, it compares the distance between these two edges to the estimated droplet diameter. Once this comparison is satisfied, the process assumes that there is a droplet between that maximum and minimum edges. After the droplet is identified, the process starts to scan the area in which the doplet was found, first row by row looking for maximum and minimum edges within the same row; and then column by column looking for maximum and minimum edges within the same column. Figure 39 shows a schematic representation of the detection process. At the end of the scanning process, the exact position of all the horizontal edges, vertical edges, and centers is known. The droplet detection algorithm was developed using Microsoft Visual C+. The source code for droplet detection can be found in Appendix A under the name of Process.c++. -0- -No- Droplet localization Horizontal edge detection -0Vertical edge detection Horizontal vertical edges and centers Figure 39 Droplet detection process. 3.4.2 Droplet measurement methods Two types of measurements can be made using the data generated by the droplet detection process. Te first type is direct measurements: the droplet size is directly determined from the size shown in the image. The second type of measurements is indirect measurements: here the measurement is made over a parameter that correlates either physically or geometrically to the droplet size. The droplets contained in a typical image are not spherical because of droplet shape oscillations. Therefore, using a direct measurement method reduces the precision and accuracy of the measurement while indirect measurement avoid this pitfall. Four different methods were studied. The first one is a direct method that uses horizontal and vertical diameters to determine fal droplet diameter. The following equations show the relation between measurement and real droplet diameters: Dd MaX(Dd)h,,,i..Il (3.12) Dd max(DOveni.1 (3.13) or: 40 where Dd is the real droplet diameter, max(Dd)h,,,i,,,,,,,,,/ the maximum horizontal droplet width, and max(Dd),,,,jj,,,,jthe maximum vertical droplet width. The second method determines droplet diameter by using the total area of the droplet. The area of a droplet is determined by counting the number of pixels that are enclosed in the perimeter of the droplet. This perimeter is defined by the position of all maximum and minimum edges, as shown in Fig. 3 10. The droplet diameter is then calculated by assuming that the total area of the droplet at the time of the image represents the total cross sectional area of the droplet. The droplet diameter can be found as: 7CI (Dh.,) D 1 d (3.14) 4 where n represents the total number of rows included in the droplet and horizontal width at the n row. El Figure 310 Dhn the droplet Detected area Area used for the calculation of the droplet size. The third measurement method involves the calculation of the volume of the droplet in the image. For this method to work, y-axis symmetry has to be assumed. The volume of the droplet can be determined by slicing the droplet in plates one pixel thick on the horizontal direction. Based on the y-axis symmetry assumption, these plates are considered circular with the center located on the y-axis. The diameter of these plates is equal to the droplet vertical width at that point along the y-axis. The total volume of the droplet is then calculated by adding the volume of all plates. The following equation shows the method of calculation: 3 Dd = .-ij(D' 2 ver 1/3 (3.15) where i is the total number of columns contained in the droplet and Dv,,, the droplet vertical width at the i column. The last measurement method involves a physical relation 41 instead of a geometrical one. This method determines the real droplet diameter by using the wavelength. To determine the wavelength, at least two complete droplets have to be included in one image. The wavelength represents the distance between two droplets. This distance can be measured from top to top, center to center or bottom to bottom. Recalling the image acquisition position section, droplets still have shape oscillations when the image is acquired, therefore the selection to measure the wavelength from center to center was the most appropriate. The cross point of the maximum horizontal and vertical droplet diameter is a good approximation to the real center of area, because the droplets' shape oscillations are roughly axis-symmetric. The wavelength is determined by the following equation: A1-2 = V f = (XJ - X2 )2 (3 I 6) Y _2)2 where vis the jet velocity, f the driving frequency, (x1,y1)and (X21Y2) are the position of the centers of droplet one and two, respectively. The droplet diameter can be deten-ninedusing Equation 25. 3.5 Measurement method selection and results 3.5.1 Evaluation procedure An evaluation criterion was established to select the best measurement method. The evaluation criterion is based on ball size variability. Since the UDS process produces balls within ± 25% of the mean diameter, the variation from the mean detected by the measurement method should be within this range. Te evaluation process consisted of running the UDS apparatus using the appropriate parameters to produce 750 gm solder balls. Images of the droplets were taken, in each of these images at least three complete droplets were included. The three droplets were measured using each of the measurement methods previously described. The droplet size was determined by taking the average of all three droplets on each image. The variation from the mean corresponding in each measurement was calculated by: Si I- D d (I 00%) (3.17) Dd n where S,M represents the percentage variation from the mean and Dd the droplet diameter, both are parameters of the i sample using the m measurement method. 42 3.5.2 Evaluation results The results obtained from the measurement method evaluation are shown in Figure 311. This figure shows the detected variation from the mean using the five different measurement methods. It is important to point out that every measurement method uses the same image to calculate the droplet diameter at the specified sample number. An obvious conclusion car. be made from these results, in terms of variation detection and therefore measurement precision: using the wavelength to calculate the droplet diameter is by far the best of the proposed methods. These results are not surprising, since the wavelength measurement method is the least sensitive to the effects of droplet shape oscillations. 12% 9% 6% 00 S V 3% E 0 I.". 0% .5 e I; W -3% -6% _9% -12% 0 10 20 30 40 50 60 70 80 90 100 110 120 130 Time (seconds) I X Wavelength ---X---Horizontal D--0 --Vertical D-- 6 --Area --0 --VolumeI Figure 3.11 3.5.3 Measurement method variation results. Wavelength method sensitivity The measurement method should also be able to detect small changes in droplet size. This characteristic is known as sensitivity. In the present research, the wavelength measurement method sensitivity was determined by comparing the measured droplet diameters throughout a complete run to the theoretical droplet size variation caused by the 43 change in hydrostatic pressure. Figure 312 shows that the measured variation closely follows the variation produced by hydrostatic pressure. This result is another indication that wavelength measurement can provide a sensitive, accurate, and precise measurement of the droplet size. 4110- ................................................. ............... .. .................. A' 2 S -W I% -S S 0 0%) 4: - I- - - - - - - - - - XYR -S _1% - ---------------------------- C'; 2% -------------------------------------------------- -3% __- - - 0 10 20 30 ----- -V _ _______ 40 50 60 70 80 90 100 110 120 130 Time (Seconds) X Wavelength -Variation by hydrostatic pressure Figure 312 3.5.4 Wavelength measurement method sensitivity. Wavelength method resolution Variation detection and high sensitivity are not the only advantages of using the wavelength measurement method. This method also provides a higher resolution measurement than other direct measurement methods. For example, the resolution of a image such as the one shown in Figure 37 is from II to 14 gm/pixel. The droplet detection method has a resolution on the order of one pixel. Using the wavelength method with a resolution of ± I pixel in wavelength determination gives a resolution of ±2 gm in droplet diameter. Using the droplet diameter measured directly from the image gives a resolution of ±1 I gm. A resolution of ±2 gm for 750 gm balls detects ball size variations greater than ±0.26 from the mean. Nevertheless, this resolution can be improved still further by the use of a higher resolution CCD camera. 3.6 Measurement system calibration Two different factors should be considered for the calibration of the measurement system to ensure that the droplet size measurement can be used to control the ball size. These factors are camera calibration and solidification shrinkage effects. 44 3.6.1 Camera calibration High precision (i.e. low variability), good sensitivity, and adequate resolution are necessary, but are not sufficient, to guarantee that the measurement result is correct A precise measurement can be precisely wrong. he measurement system uses pixels to perform all measurement operations. These pixel values are converted to length units to produce a real measurement. The accuracy of the measurement directly depends on the determination of the relationship between the measurement in pixels and the real value of this measurement in units of length (ttn). This relation is determined by a camera calibration. The procedure to calibrate the camera starts by placing three spherical solder balls of known size in the same position as if they were droplets coming out from the orifice (Figure 313). The camera is then focused and the balls' wavelength measured with the same image processing used to measure the droplets' wavelength. As a result of this measurement, the wavelength is known in number of pixels, thus a relation between the measured and real wavelengths can be established. This relation accounts for optical distortion and image amplification and can be defined as a camera calibration variable: c5 real camera meamred IRn pixel (3.18) where i5camera is the calibration variable, Areal the real wavelength and Ama.,.,redthe wavelength determined by the measurement system. Figure 3.13 Image of solder balls used for camera calibration. 3.6.2 Effect of solidification on solder ball size Once the droplet has been measured, it is necessary to relate the size of the liquid droplet with the size of the solidified droplet. A volume shrinkage occurs during the solidification process because the density of liquid and solid phases are different. To 45 obtain the relation between the droplet and ball size, a mass conservation analysis is performed between the droplet and the ball. The ball diameter can be obtained as: 1/3 Db 01 Dd (3.19) PS where D is the final ball diameter, pi the density of the liquid metal, p, the density of the solid metal and Dd the liquid droplet diameter. This equation results in the definition of a new variable 1 that accounts for solidification effects: 1/3 95SO= (3.20) For the production of Sn-38 wt. Pb large balls (500-800 pm) using a melting temperature of 235 'C, 5l is equal to 09848. This means that the diameter of the solder ball is 152 % smaller than the diameter of the droplet. Using equations 2.5), 3.16), 3.18), 3.19), and 3.20), the final ball diameter in micrometers is: 6AjAi5, D = 8,01 Ir 1/3 (3.21) The UDS process can continuously monitor ball and droplet size. The only step remaining to close the control loop is the generation of the feed back signal. The next chapter addresses the development of the closed loop control system. 46 Chapter 4 4.1 CLOSED LOOP CONTROL SYSTEM Introduction The fal phase of the current research is the development and implementation of a ball size control system. So far, the ball size variation has been reduced and an in-situ droplet size measurement system has been incorporated to the UDS apparatus. This chapter discusses the development of the control system. The development consists of two main parts. The first part is the definition and incorporation of the feedback parameter, referring to the parameter that will be adjusted to modify the droplet size. And second, the creation of a control algorithm capable of delivering the required sensitivity, accuracy, and precision. 4.2 Feedback signal incorporation The modeling of a control process starts with the definition of variables. These variables are divided in two groups: the controlled variables, which are the quantity or condition that is measured or controlled; and the manipulated variables that represent the quantity or condition that is varied by the controller to affect the value of the controlled variable. Droplet size is the obvious controlled variable in this control system; there are two input parameters to be used as the manipulated variable: vibration frequency and pressure difference. This section covers the selection and implementation of the manipulated variable. 4.2.1 Feed back input definition There is a common saying that the best design is the simplest one. The same is true for a control system. A well designed control system does not involves modification of the process itself. Making significant modifications to the process can affect its performance, so that the dynamics of the process would no longer be the same. Particularly, to choose pressure difference as the manipulated variable would involve substantial modification to the UDS process. These modifications could result in different process conditions and performance than those established in Chapters 2 and 3 Although the new process dynamics could be studied, this was not the only reason to make the vibration frequency the manipulated variable. Based on commercially available control systems, the measurement and control of vibration frequency can be done faster and with a higher sensitivity than pressure difference. Vibration frequency can be controlled approximately five orders of magnitude faster than pressure difference. And the frequency is one order of magnitude more sensible than the pressure difference. Tins is, the smallest possible step change in frequency produces a ten times smaller change in droplet diameter than the smallest possible step change in pressure difference. Thus, the use of the vibration frequency as the control feedback signal not only does not require any 47 modificatiGn to the LJDS process, but can also deliver a much faster, accurate and sensitive control response than the response of a pressure control can give. Thus, vibration frequency was chosen over the pressure difference because of its superiorit in terms of easy implementation and control performance. 4.2.2 Feedback incorporation to the UDS apparatus Once frequency was chosen as the feedback parameter, the incorporation of a frequency control system was the next step. The frequency had been controlled by a function generator (BK Precision, model 3 I B). The incompatibility of this device with the droplet measurement system led to the function generator's elimination from the UDS apparatus. Even though the function generator's main purpose was to control the frequency, it also generated the vibration signal by defming its shape and initial amplitude. Based on the importance of the fimction generator to the UDS process, it could not be replaced by any device. Therefore a fimction generator compatible with the droplet measurement system was chosen. This device is a PCI local bus fimction generator (Signametrics Co., model SM-1020). This is a digitally synthesized fimction and pulse generator designed for use in a computer. This fimction generator is programmable and controllable under a Microsoft Visual C+ environment which ensured complete compatibility with the measurement system. The source code to initialize and control the fimction generator can be found in Appendix A under the name of Fcngen.c++. Figure 41 shows a schematic representation of the modified UDS control system experimental setup. TTL frequency signal Lme grabber Frequency divider Function generator xr Z y Stroboscope Computer CCD Camera i motherboard COMPUTER Figure 41 Schematic of the UDS closed loop control system. 48 4.3 UDS process control The basis of a control system is the control algorithm. The control algorithm defines the relation between the control variable (droplet size) and the manipulated variable (vibration frequency). Te design of a control algorithm is based on the dynamics of the process to control. The dynamics of the UDS process that correlate vibration frequency to droplet size were discussed on Chapter 2 Although the relation between control variables in the UDS process is well known, the definition of other parameters such as time response and steady state eor is necessary to fully develop a control algorithm. The definition of the current control algorithm is based on time response and steady state error. 4.3.1 Time response The high ball production rate of the UDS process makes a continuous feed back unfeasible. The production rate for 750 mm balls is around 1500 balls per second; to control the size of every ball, the measurement and feedback process would have to be made in 2 milliseconds. Even with the high computational capability now available, to perform the amount of image processing necessary to measure the droplet size in less than 2 milliseconds is difficult. The image acquisition alone takes 33 milliseconds as limited by the CCD camera. Thus, the establishment of a discrete control system is necessary. Discrete control involves the construction of a discrete signal by sampling a continuous signal. This is, every T seconds, the droplets produced by the UDS apparatus will be measured. The minimum sampling time Tmin is determined by the fastest image processing time, currently Tmin & 800 milliseconds. This means that one out of 400 droplets is being measured. Concerning time response, the most important parameter of a control system is the settling time t wich refers to te time necessary to reach ad stay ithin a range about the final value. That is the time necessary to reach the target ball size. The settling time t. depends on Tmi. and a sensitivity variable called VI, as the following equation shows: ts = fflminPi) (4.1) (p = f(Db, DI) (4.2) where p I is defined by: Since Tmin is fixed by hardware restrictions, only the variable V, is responsible for the determination of the time response of the control system. The definition of (PI was chosen to be a function of the real and target ball diameters in order to provide a control 49 response sensitive to the magnitude of the control error. he control error is determined by: e = Dt - (4.3) Db Thus, the variable (p, was defined as follows: V I_ (4.4) D DI 4.3.2 Steady state control limits Control systems can be divided in two categories based on their steady state response. There are time-invariant and time-varying control systems. he control of the UDS process is a time-varying system, because the hydrostatic pressure is constantly changing. In terms of steady state response, the UDS process will never give a constant output (droplet size); this does not matter so long as the time for the droplet size to change significantly is much larger than Tmi, as is the case here. The effect of hydrostatic pressure become significant after 30 seconds as shown in Fig. 24. Nonetheless, the consequences of having a time-varying process are reflected in the definition of the control target. Since the output is never constant, a single value cannot define the control target. The control target has to be defined as a range that contains the target ball diameter. he introduction of a new variable p2 Which helps to define the upper and lower control limits is necessary. Hence, the control limits are deflned by: UC = 1 V2 A (4.5) LCL = (I (4.6) rP2)DI where UCL is the upper control limit, LCL the lower control limit and D, the ball target diameter. The definition of the value for the variable p2 depends on the variability of the process to control and the required speciflcations. For example, the ball variability is 2.5% of the mean diameter, and the established variability specification is ± 3. Hence, the value of the variable V2 should be smaller than 1.5%. he determination of this value assumes that the objective of the control system is to place the mean of the ball size distribution close to the target ball size; and not to reduce the variability of the system. The variability of the system has already been reduced to its minimum, therefore the only variability reduction for the control system to do is compensate for the changes in hydrostatic pressure and other assignable noises. 50 4.3.3 Control algorithm The parameters previously defined, ip, and (21 were the basis of the control algorithm. Figure 42 shows a flow chart of the droplet size control process. The control process starts by defining the inputs. These inputs are: target ball diameter, orifice diameter, vibration amplitude, initial vibration frequency, and calibration constants. The control loop starts with the acquisition of an image, the image is then analyzed to be sure that the picture can be used for control purposes. Sometimes, very rarely, the stroboscope lamp momentarily loses its synchronization with the vibration frequency due to an electrostatic signal produced by the high voltage charging; if this loss of synchronization happens at the same time the camera has the shutter open, the acquired image would have overlapping droplets. Thus, a picture selection is necessary. Once the picture has been cleared, the system measures the wavelengths and calculates the ball diameter as explained in Chapter 3 Then, the calculated ball diameter is compared to the target diameter using the control range variable r2 If the ball diameter is bigger than the upper limit of the target range, the system increases the vibration frequency by (p, times the current frequency. The system reduces VI times the current frequency if the ball diameter is smaller than the lower limit of the target range. If the ball diameter is within the target range, the frequency is not modified. The control system keeps in the loop until the production of balls is finished. Notice that the design of the control algorithm is independent of the values of p and V2. Thus the values of these two parameters can be easily modified, if the settling time or control limits need to be changed. The control algorithm was incorporated into the control loop by developing a Microsoft Visual C+ source code; the control algorithm can be found in Appendix A under the name of Control.c++. 4.3.4 Modeling and simulation of the control system After the definition and implementation of the control system, testing the control system was next. A numerical simulation of the control system was developed as a testing instrument. The development of the simulation code started with modeling of UDS process. To facilitate modeling, it was assumed that the only source of droplet size variation was the change in hydrostatic pressure. Equation 2.6) was used to calculate ball diameter, but now the droplet diameter was also a function of the operation time due to changes in jet velocity. The jet velocity as a function of time is defined by: V =C AP +Ph P (4.7) Equation 4.7) is very similar to equation 2.1) except that an extra term was added to determine the total pressure difference. The term Ph is the hydrostatic pressure at time t . 51 INPUTS: - Target ball diameter D, - Orifice diameter - Vibration amplitude - Initial vibration frequency - Calibration constants .. and 8,, NO NO YES Figure 42 Flow chart of the ball size control system. 52 The hydrostatic pressure is determined by the height and liquid density of the column of liquid, thus: = gh(t) Ph (4.8) where h(t) is the height of the column of liquid metal. Tis height is determined by the following equation: h(t = h(O)- O(Vj(t - ), t, A, Q (4.9) where (D is a variable that depends on the velocity of the jet Vj at time t - I, the time t , the orifice area AOand the geometry of the crucible C. The variable D was determined for the current crucible configuration. Equations 422 47 48, and 49 were put together with the control algorithm to simulate the control system. The simulation was performed using Matlab and can be found in Appendix B. Figures 43 and 44 show the results of the simulation of the control system. The parameters used to run these simulations were a target diameter of 750 gm, an orifice diameter of 406 m, 0.5 kg of Sn - 38 wt. % Pb a initial frequency of 1600 Hz, a pressure difference of 34.4 KPa a sample time min'= 0. 8 seconds, and a V2 = 0.0 15, 0.01, 0.005 and 0001, respectively. Figure 43 shows the response of the UDS process, here, it can be observed that the settling time is inversely proportional to the value Of (P2: the bigger 2 is, the smaller the settling time. But the biggest impact of choosing p2 is shown by the steady state error. The smallest 2 would produce the closest steady state response to the target diameter. Nevertheless, this simulation shows that when (p2< 001, changes in droplet diameter are not even detectable by the measurement system that has a resolution of ± 2 gm. 10Z 750------------------------------------------------------------ 748 - .................................................. 74 ;a z 744 742 ------------- ........... --- 740 ------- ............... L........... 738 0 20 40 60 80 100 120 140 160 180 200 Time (Seconds) I- - - 2--0.015 Figure 43 92=0-01 (p2=0.005 (p2---0.001 I UDS control system simulation results. 53 220 Therefore the best value of 2 is 0.01, using this value produces a steady state eor of approximately 6 Wmfor a 750 m target diameter A value of (02 =0-0 1 was used for all the control experiments in this research. Figure 44 shows the feedback control signal used to control the LJDSprocess. This figure clearly shows that the control steps increase as the control range decreases, but most importantly as the control range decreases the control frequency interval becomes larger. Thus, very tight control limits could cause the ftequency go o of the uniform break up range. The accuracy of this modeling and simulation will be proved by comparing the simulation results to the actual response of the UDS process. IOU'i - -1.Rn I--------------------------------------------------------IZ ---;: 1560 Ij . . C I. . . . . . . . . . . . . .... . . . . . . . . I I . . . . . . . . ................ ,A_1500-------- ............ .0 .- . "r ........................... . I MAU ........ 4ADA . . . . . . . . . .4- - - - - - - - - - - - - - - - - - - - - - .2 > . .............. V 1540 C. 1W IL. . I ---------------------------------------- -- - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1-60 1 i d a i i i i 0 20 40 60 80 100 120 140 - - - - - - 160 I I - 180 200 220 Time (Seconds) - (p2-0.015 92=0.01 Figure 44 4.4 92=0.005 (p2 UDS control system feedback signal. Control results The control system was evaluated in terms of UDS process control response, control system sensitivity and steady state response. The evaluation procedure consisted of the controlled production of solder balls A target ball diameter was chosen, then balls were produced using the UDS process and the new control system. The balls were collected and measured, then the actual ball size was compared m4th the measurements made by the control system and with the simulation results. 4.4.1 UDS system response The first stage of evaluation consisted of testing the response of the UDS process to the feedback control signal. To test this, balls were collected and measured while the control signal was changing. The input parameters are shown in Table 4 . Note that the sampling time is quite large, allowing the collection of solder balls between control steps. Figure 45 shows the results of the experiment. The real, measured, and simulated ball 54 diameters are shown in this figure. The simulation follows very closely the actual control system response at the beginning of the control process. After the response reaches steady state, the simulation shows a discrepancy with the measured diameters. This discrepancy only reflects the inherent process variation discussed in Chapter 2. Table 41 Input parameters for the evaluation of the UDS process response to the control action. Parameter Material Target ball diameter Orifice diameter Pressure difference Initial vibration frequency Value Sn-38 wt. % Pb 730 gm 406 gm 34.4 KPa 1492 Hz Tmin 15 seconds 92 8camera 0.01 13.63 gm/pixe. 8SO1 760 755 .............................................. ................................................ ...... ......................................... - 750 6 745 , 740 ........... 2 S 735 a: 730 1=C725 M 720 0.9848 A 0 ------------------------------------ ................ 0----0----6 6...........O. ................. 0---X............. .......................... :k............... R .................. A.X ...................... X ................................................ 715 710 0 i i i 15 30 45 i 60 75 i i i i 90 105 120 135 Time (Seconds) FXBall diameter measured Figure 45 Ball diameter simulation Ball diameter real UDS process control response. Figure 46 shows a magnification of the beginning of the control process, here the triangular points represent the real ball diameter obtained from the collected balls and the cross points the measured ball diameter determined by the measurement system. A linear approximation for both ball diameters is also shown in Figure 46. The information provided by the linear approximation indicates that the feedback signal is controlling the ball diameter just as determined by the control algorithm. The difference in the slopes 55 between the two linear approximations is less than 5%; the ball size is being overestimated by 0.5% of the target ball diameter. This overestimation is generated by the error in the measurement system calibration, although a difference of 0.5% of the target diameter does not represent a significant measurement eror. Based on these results, it can be concluded that the feedback control signal generated from the control can be used to accurately control ball diameter. 7bU I E y. -. 13348x+ 759.01 R2 = 09998 - ----- ------------------------------------------- 750 - .j! 740- ---------------W E .!! 730 - 2 A -720 - = 0.6685x + 755.37 ................................ ............ R'= 09529 ................................................ .1 I 710 0 10 20 30 40 50 60 Time (Seconds) X Figure 46 4.4.2 Ball Diameter Measured Linear (Ball diameter real) A ...... Ball diameter real Linear (Ball Diameter Measured) Linear approximations for the measured and real ball diameter, during the control of the UDS process. Sensitivity of the control system The sensitivity of the control system is another important parameter to be considered for evaluation. Sensitivity is defined as the ability of the control system to respond to changes in the input parameters. To test the sensitivity of the ball size control system, the pressure difference was varied within a run, forcing a response from the control system. Table 42 shows the input parameters for this experiment and Figures 47 and 48 the results. From these figures it can be seen that the simulation follows very closely the measured ball diameter at beginning of every control response, and that there is a small discrepancy at steady state. The most important conclusion to be drawn from these results is that the behavior of the control system is very similar to the simulated one. That is, the control system is actually responding to the perturbations induced by the variation in pressure difference. The control system also showed a fast control response to the induced perturbations, for example the settling time for an induced ball size variation of 3% from the target ball size is only 24 seconds. According to these results, the UDS control system provides high sensitivity to detect and control sudden variations in ball size. 56 Table 42 Input parameters for the evaluation of the sensitivity of the UDS ball size control system. Parameter Material Target ball diameter Orifice diameter Pressure difference Pressure difference Pressure difference Pressure difference Value Sn-38 wt. % Pb 750 im 406 gm 34.4 KPa, 52.7 KPa, 31 KPa 37.9 KPa, t-- seconds t-- 22 seconds t-- 34 seconds t-- 54 seconds Initial vibration freque Tmin 92 1492 Hz 0.8 seconds 0.01 5camera 13 tm/pixel ISS01 0.9848 810 790--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'i 770 .. . . .. . . . .. . . . .. .. . . .. . .. . . .. . . .. . .. . -R S 750 I! 2 730--- - - - - - - - - - - - - - - - - - - - 19 710--- - - - - - - - - - - - - - - - - - - - - . . . . .. . . . . .. . . . .. . .. . .. . .. . . .. . . . . . .. . . .. . . .. . .. . 6" 0:00 006 0:14 020 026 032 040 046 052 0:58 1:04 1:10 116 122 Time (min:sec) I Figure47 X Ball Diameter Measured 19 Ball Diameter Simulation I Sensitivity analysis of the controlled response of the UDS process. 57 2120 2020 --------------- .............................. 1920 --------------- .............................. 1820------------- ...... I ............................. 1720 --------------- ------- ............................. 1620 . . . .. . . .. . .. . . . .. . . . . .. 1520 ---------------------------------------------------1420 i i 0:00 0:06 014 i i i i i 020 026 032 040 046 i i 052 0:58 104 f i 1:10 116 i 122 Time (min:sec) I X Frequency Real Figure 48 4.4.3 9 Frequency Simulation Sensitivity analysis of the feedback control signal. Steady state response How fast and how close the control variable can be placed within the control limits are the most important features of a control system. Figures 49, 410 and 411 show the results of a controlled production of solder balls by the LJDS process. The parameters used to obtain these results are shown in Table 43. Figure 49 shows the controlled response of-the UDS process. This figure shows that the settling time is approximately four seconds. The results of several runs showed that the settling time is only determined by the sampling time and that it is independent of the initial ball size. The response of the system would be within the control limits after the fift control step. Thus, if the sampling time is equal to Tmi., the settling time will be four seconds as in this case. For an industrial scale production of solder balls, four seconds represents a negligible part of the production time, therefore this settling time is short enough to guarantee a fast ball size control. Concerning the steady state control, Figure 49 and Figure 410 show that the control system is adjusting for hydrostatic pressure variations. These figures show a discrepancy between the simulation and the real results. Despite these discrepancies, the control simulation seems to be a helpful in predicting the behavior of the control system. 58 Table 43 Input parameters for evaluation of the steady state response of the ball control system. Parameter Material Target ball diameter Orifice diameter Pressure difference Initial vibration frequenc Value Sn-38 wt. % Pb 750 m 406 m 5 psi 1830 Hz Tmin 0.8 seconds (P2 0.01 8camera 11.87 pm/pixel ISS01 0.9848 76U --- 750 740 :L II1 730 I d II is 5 720 a II 710 700 690 0:00 006 012 0:18 023 029 035 041 047 053 059 1:05 1:10 116 122 Time (min:sec) I Figure 49 X Ball Diameter Measured 9 Ball Diameter Simulation I Steady state response of the controlled UDS process for the production of solder balls for BGA- 59 1820 .................................................... .................................................... ............................................. ............................................. 1770 IZ 1720 S C, 0 1670 II I- 1620 ra. r - ---------------------1670 I .0 1920 ............................... 1470 - ...................................................... 1420 - i R i a i i j i i 2 0:00 006 012 0:18 023 029 035 041 047 053 09 i i i 1:05 1:10 116 122 Time (min:sec) X Frequency Real I Figure 410 --&- Frequency Simulation I Feed back control signal for the control of ball size using the LJDS process. The previous results confirm that the control system is working properly, but these results are based on the simulation and control system itself. The important evaluation parameter is the real ball size distribution generated by the controlled UDS process. Figure 411 shows the size distribution of the balls produced during the steady state of the UDS process. Table 44 shows te statistical properties of the ball size distribution. The UDS ball size control system has proven to be effective and efficient in placing the mean ball size close to the target size and in compensating for changes in hydrostatic pressure. For this case 99.27% of the production of solder balls is within the specifications. Table 44 Properties of the size distribution for balls produced by the controlled UDS process. Parameter Value (AM) Mean ball diameter Standard deviation 741.86 5.89 Variance 34.71 Median Maximum ball diameter Minimum ball diameter 741.16 758.30 73 60 1 CO 0 r- C C C - " M I- I- I- 0 rl- 0 Lo r- 0 0 I- I- - 0 0 0 r- fl- OD Ball Diameter (AM) Figure 411 Size distribution for the balls produced by the controlled UDS process. 61 APPENDIX A Process.c++ is the Microsoft Visual C+ source code for the droplet size measurement system. This source code includes the procedures for droplet detection and size measurement. Process.c++ #define STRICT #include "acq2hst.h" #define MAX-EDGE #define MIN-EDGE Ox82 Ox7O #define VERT-CENTER #define HORI-CENTER Oxcl OxbO /* specific to this program #define HOLE-CENTER (VERT-CENTER I HORI-CENTER) int DecodeLine = ; int BallSize = IO; H ball size in pixel double HoriBallDiam; int HoriBallArea, HorizDiam; double VolDiam, divol; int Count; int MaxVertBallSize; int MaxHoriBallSize; int BallHoriCenter, BallVertCenter; int HoriMassCenter, HoriMassCenterSum, HoriMassCenterCount; int VertMassCenter, VertMassCenterSum, VertMassCenterCount; int Ballnum, Baildiamminy; long count I; int FilterType[4][9] I -l'5'O'-l'5'O'-l'5'O' H- 1,0, 1,-2,0,2,- 1,0, 1, -l,-2,-lOOOl,2,I H low pass filter H high pass filter H vertical edge enhancement H vertical edge enhancement H vertical edge enhancement H horizontal edge enhancement void ProcessContrastLevel(int CameraNum, int ContrastLevel) I int count[256]; int ii, jj; int highgray; int NewValue, 1dValue; HPUCHR hpTempData; HPUCHR hpTempBufx; int row, col; LPCAMERAINFO lpCamera; LPIMAGEINFO lpImage, IpAcqlmage; IpCamera = &CameraData[CameraNum]; IpAcqImage = &IpCamera->Acqlmage; if (IpAcqlrnage->hpBuf == NULL) return; Jp1mage= &IpCamera->Datalmage[DATAIMAGE]; hpTempData = 1pImage->hpBuf, 63 if (hpTempData == NULL) return; row = int)IpImage->uIHeight; col = (int)lp1mage->ulWidth; /* find the low end, set to / hpTempBufx = hpTempData; for(ii 256; ii--; count[ii = for0i row;ji > )( for( ii = col; ii > ; count[(*hpTempBufx++) & Oxff]++ for(lowestgray = 0; lowestgray < 256; lowestgray, if (count[lowestgray > 100) break; H for(ii = 0, highgray = 256; highgray--; )f ii = count[highgray]; if (ii > I 0) break; DisplayEvent("\nMove gray level /od to %d\n",highgrayContrastLevel); hpTempBufx = hpTempData; for (ii row; ii-- > O;)j for(jj fl col; jj- > ; OldValue = *hpTempBufx & Oxff; if ((OldValue - lowestgray) < 0( if 01dValue < IO){ // don't blow up the noise, skip it if < IO hpTempBufx++; )else( if ((NewValue = (OldValue * ContrastLevel) highgray) > 255)1 *hpTempBufx++ = 255; )else{ *hpTempBufx+ = NewValue; CopyDataBuffoAcq(lpCarnera, DATAIMAGE); CreateDIBDisplay(CameraNum); /* low pass filter uses all I's anyway*/ void LowPassFilter(int CameraNum) int ii, jj; int NewValue; HPUCHR hpTempData; HPUCHR hpTempData I; HPUCHR hpTempData2; int row, col; LPCAMERAINFO IpCamera; LPIMAGEINFO IpImage, pAcqfmage; IpCamera = &CameraData[CameraNum]; IpAcqlmage = &IpCamera->Acqlmage; if (lpAcqImage->hpBuf == NULL) return; 64 lp1mage= &IpCamera->Datalmage[DATAIMAGE]; hpTempData = lpImage->hpBuf; if (hpTempData --- NULL) return; row = int)lpImage->uIHeight; col = (int)lplmage->ulWidth; CopyDataBufflpCatnera, DATAIMAGE, TMPINMGE I); hpTempData += col; hpTempData I = IpCamera->Datalmage[TUTIMAGE DisplayEvent("Low Pass FilteAn"); H I .hpBuf; // start with 2nd row, skip the top and bottom rows, because 3X3 matrix for (ii row - 2 ii- > 0;)f hpTempData++; for(jj col - 2 jj > ; hpTernpDataI++)( hpTempData2 = hpTernpDataI; NewValue = *hpTempData2++ & Oxff); NewValue = (*hpTempData2++ & Oxff); NewValue = (*hpTempData--?--' , & xft); hpTempData2 = ce - 3; NewValue = (*hpTempData2++ & xit); NewValue = (*hpTempData2++ & Oxft); NewValue = (*hpTempData2++ & Oxff); hpTempData2 = col - 3; NewValue = (*hpTempData2++ & Oxff); NewValue = (*hpTempData2++ & Oxff); NewValue = (*hpTempData2++ & Oxft); NewValue 9; if (NewValue < 0) NewValue = ; else if (NewValue > 255) NewValue 255; *hpTempDQ&"+ = NewValue; hpTempData++; hpTempData I = 2; CopyDataBuffoAcq(lpCamera, DATAIMAGE); Create]311313isplay(CarneraNum); void ProcessThresholdLevel(int f CameraNum, int Threshold, int High, int Low) int ii; HPUCHR hpTempData; LPCAMERAINFO IpCamera; LPIMAGEINFO lplmage, pAcqIrnage; IpCamera = &CameraData[CameraNum]; IpAcq1mage = &lpCarnera->AcqImage; if (IpAcqlmage->hpBuf == NULL) return; lplmage = &IpCamera->Databnage[DATAIMAGE]; hpTempData = lplmage-ApBuf; if (hpTempData == NULL) return; DisplayEvent("Set Threshold /od\n",Threshold); ii = (int)(lpImage->ulHeight * plrnage->ulWidth); cot) each line in reverse order for(; ii > ; if ((*hpTempData & Oxff > Threshold)f *hpTempData+ = High; 65 I else *hpTempData+ = Low; CopyDataBufToAcq(lpCamera, DATAIMAGE); CreateDIBI)isplay(CameraNum); #define #define #define #define CONV CENTER CONV PEAK CONV-MIN CONV-MAX 128 center line of the convolution data 10 H above or below center, for min and max (CONV-CENTER - CONV-PEAK) (CONV-CENTER + CONV-PEAK) int RunLineCorivolution(intnum, int offset, HPUCHR hpTempBufl, HPUCHR hpTempBufx, HPUCHR hpRes, int size, int col, int imagecol) int ii, kk, sum, center; int minpos = - , maxpos = - ; int min = I 00000, max = -I 000000; BPUCHR hpTempBuf; hpTempBufl = (offset + (size col)); hpTempBufx += offset; hpRes += (offset + (size * col)); for( ii = 0; ii < num; ii++, hpTempBufl = col, hpTempBufx += col) H run (ballsize) pixel convolution (1, 1, 1, I,- I,- I,- I... hpTempBuf = hpTempBufx; sum = 0; for(kk = size; kk--; hpTempBuf += col) sum += (*hpTempBuf & Oxft); for(kk = size; kk--; hpTempBuf += col)( sum - *hpTempBuf & Oxff); sum = (sum / (size << 1)) + CONV-CENTER; if (sum < 0) *hpTempBufl = 0; else if (sum > 255) *hpTempBufl = 255; else *-hpTempBufl = sum; H store min pos only if max pos is found I st if ((sum < CONV-MIN) && (sum < min) && (max > 0)) minpos = ii; min = sum; if ((sum > CONV_MAX) && (sum > max)){ maxpos max = sum; I I // for a dark hole, max should come before min if (max < CONV-MAX) return(O); if (min > CONV-MIN) return(O); H ed,ge too small fl ed ge too small ii = minpos - maxpos; if (ii <-- (size >> 2) return(O); if (ii > (size << 3) return(O); if (col == 1){ if (ii > MaxHoriBallSize) H hole size to,o small or not a hole H hole size toio big MaxHoriBallSize center = (maxpos + minpos) > 1; *(hpRes + minpos = MIN-EDGE; *(hpRes + maxpos) = MAX-EDGE; *(hpRes + center) 1=HORI-CENTER; 66 = ii; HorilMassCenterSum -- center; HoriMassCenterCount++; if (DecodeLine == 2)f *(hpRes + minpos + iinagecol) MIN-EDGE; *(hpRes + maxpos + inagecol) MAX-EDGE; *(hpRes + center imagecol) 1=HORI-CENTER; HoriNlassCenterSum -- center; HoriMassCenterCount++; retum(ii); H return ballsize )else{ if (ii > MaxVertBallSize) MaxVertBallSize = ii; center = (maxpos + minpos) > 1; *(hpRes + (minpos imagecol)) MIN-EDGE; *(hpRes + (maxpos imagecol)) MAX-EDGE; *(hpRes (center * imagecol)) 1=VERT-CENTER; VertMassCenterSum = center; VertMassCenterCount++; if (*(hpRes (center * imagecol)) BallVertCenter center; retum(ii); HOLE-CENTER) retum(O); void ClearBaIlData(void) HoriBallArea = ; MaxHoriBallSize = ; MaxVertBallSize = ; BallVertCenter = ; BallHoriCenter = ; HoriMassCenterSum = ; HoriMassCenterCount = ; VertMassCenterSum = ; VertMassCenterCount = ; HoriBallDiam=0; VolDiam=O; count I =0; Count-0; divol=O; int LocateHoles(LPCAMERAINFO IpCamera, int invert, int BallSize) HPUCHR hpDataBuf, hpData IBuf, hpZeroBuf; ULNG ulSize; int row, col; int col-st, col-last; for vertical scan int ii, J, kk; HIPUCHRhpTempBufl; ulSize = pCamera->Datalmage[DATAIMAGE].ulSize; row = (int)IpCamera->Datalmage[DATAIMAGE].ulHeight; col = (int)IpCamera->Datalmage[DATAIMAGE].ulWidth; hpDataBuf = IpCwnera->Datalmage[DATAIMAGE].hpBuf; 67 hpDatalBuf = IpCamera->Datalmage[TMTIMAGEI].hpBuf; hpZeroBuf = pCamera->DataImage[TMTIMAGE2].hpBuf, if (invert) f hpTempBufl = hpDataBuf; // invert image for (ii = row; ii- > 0{ for(jj = col; jj- > ; *hpTempBufl + = Oxff- *hpTempBufl & Oxff); #if I H find out where the I t ball is, in case of multiple balls // clear result buffer memset(hpZeroBuf, 0, (sizefiulSize); _ftemcpy(hpDatalBuf, hpDataBuf, (sizq_t)uISize); ClearBaIlData(; H do a vertical line per 20 pixels kk = row - BallSize << 1); H kk=48O-(baIlsize*2)=47O col St = BallSize << 1; //co I-St- I 0 Col-last = col - (BallSize << 1); if (Ballnum==I) //col-last--640 10=650 jj = (col-last + col-st) >> 1); H center of the image jj=3 3 0 if (Ballnum==2) f jj = int)(mch I -(Balldiam*3)); if (Ballnum==3) I jj = int)(mch I +(Balldiam*3)); for( ii 0; 0j-ii > col_st) && (jj+ii < col -last); ii = BallSize){ RunLineConvolution(kkjj-ii,hpDataBufhpDatalBufhpZeroBufBallSize,col,col); if (VertMassCenterCount){ Jj -ii; break; if i)f RunLineConvolution(kkjj+ii,hpDataBufhpDatalBufhpZeroBufBallSize,col,col); if (VertMassCenterCount){ jj = ii; break; if VertMassCenterCount)( col- St = - BallSize < 3; if ol-s < IO) col-s = IO; col- last = i + (BallSize << 3; if (col-last > (col - IO)) col-last = col - IO; )e1sef DisplayEvent("Cannot locate I t MM`); col- St = 10; col-last = col - IO; I #endif H clear result buffer memset(hpZeroBuf, 0, (size_t)ulSize); 68 -finemcpy(hpDatalBuf, hpDataBuf, (sizefiulSize); ClearBaIlDatao; kk = col- last - col-st - (BallSize << 1); for (ii = 2 ii < (row - 4; ii -- DecodeLine)f j = Co * ii + col-st; HoriBallArea. -- RunLineConvolution(kkjjhpDataBufhpDatalBufhpZeroBufBallSizel, Col); DisplayEvent("HorizDiam,countl,CountHoriBaIlDiam--OodOod,%dO/od\n",HorizDiam,countl, CountHoriBaIlDiam); HoriBallArea = DecodeLine; if (HoriMassCenterCount){ HoriMassCenter = (HoriMassCenterSum / HoriMassCenterCount) + BallSize + col-st; if Col-st <= IO)( col-St = HoriMassCenter - (BallSize << 3; if ol-s < 0) col-St 10; Col-last = HoriMassCenter + (BallSize << 3; if (col-last > (col - IO)) col-last = col - IO; }else( HoriMassCenter = ; #if 0 H for debug only hpDatalBuf = IpCamera->Datalmage[FRONTLIGHT].hpBuf; -finemcpy(hpDatalBuf, hpDataBuf, (size_)ulSize); #else H // vertical line kk = row - BallSize << 1); DisplayEvent("Vert scan (col) /od to /od\n",col-st, col-last); for (ii = col-St; ii < col-last; ii++)f if (unLineConvolution(kkii,hpDataBufhpDatalBufhpZeroBufBallSize,col,col)){ BallHoriCenter = ii; BaIlVertCenter += BallSize; if (VertMassCenterCount)f VertMassCenter = (VertMassCenterSum / VertMassCenterCount) + BallSize; )else( VertMassCenterCount = ; #endif -finemcpy(hpDataBuf, pZeroBuf, (size_t)uISize); return(kk); //jcraO2/24/97 /* find the average of each line, set threshold, determine if it is a droplet set to 255 if there is a droplet in it, otherwise set to average / int FindDarkHolesx(int CameraNum, int invert) int ii; int row_st, col'-st; LPCANERAiNFO IpCamera; IpCamera = &CameraData[CameraNum]; if (IpCamera->Acqlmage.hpBuf == NULL) return 1; 69 if (IpCamera->DataImage[DATAIMAGE].hpBuf == NULL) retur - ; H get the edges Balldiam=O; for (Ballnum--I;Ballnum<4;Balhium++) ii = LocateHoles(IpCamera, invert, BallSize); row- st = (int)IpCamera->Datalmage[DATAIMAGE].row-st; col-St = (int)IpCamera->Dataimage[DATAINUGE].col_st; if (Ballnum==I) Balldiam=(int)(sqrt((double)HoriBallArea 3.142) mchl=coI-st+HoriMassCenter; mcvI=row-st+VertMassCenter; divoll=divol; mmhl=MaxHoriBallSize; mmvl=MaxVertBallSize; mmal=HoriBallArea; if (Ballnun.==2) mch2=coI-st+HoriMassCenter; mcv2=row-st+VertMassCenter; divol2=divol; mmh2=MaxHoriBallSize; mmv2=MaxVertBallSize; mma2=HoriBallArea; if (Ballnum==3) mch3=col-st+HoriMassCenter; mcv3=row-st+VertMassCenter; mmh3=MaxHoriBallSize; mmv3=MaxVertBallSize; mma3=HoriBallArea; CopyDataButToAcq(IpCamera, DATAIMAGE); return ii; int FindDarkHoles(int CameraNum, int invert) DecodeLine = ; return (FindDarkHolesx(CameraNum, invert)); int FindDarkHolesEven(int DecodeLine = 2 CmneraNum, int invert) H skip evey other line return (FindDarkHolesx(CameraNwn, invert)); /* end 70 2.0); Fengen.c++ is the Microsoft Visual C+ source code for the initialization and control of the fianction generator. This source code includes procedures to assign type, frequency and amplitude of the fimction generator. Fcngen.c++ #define STRICT #include "acq2hst.h" Function: InitFcnProc BOOL CALLBACK -export InitFcnProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM Waram) switch(message); case WM-INITDIALOG: SetDlg,1tem1nt(hD1g, IDC-TWAVE, twaveO); SetDlgItem1nt(hDlg, IDC-FREQUENCY, frequency, 0); SetDlg1temInt(hDlg,IDCAMPL ITUDE, amplitude, 0); return (TRUE); break; case WM COMMAND: switch (wParam) I case IDOK: I /* Set the requested input source twave = GetD1g1tem1nt(hDlg, IDC-TWAVE NULL, 0); frequency = GetD1g1temInt(hD1g, IDC-FREQUENCY, NULL, 0); amplitude = GetDlgItemInt(hD1g,IDC-AMPLITUDE NULL, 0); Fgenerator(twave,frequency,amplitude); EndDialog(hDIg, TRUE); return (TRUE); break; case IDCANCEL: EndDialog(hDIgFLSE); return (TRUE); break; break; /* end of switch(message) /* Didn't process the message return (FALSE); void Fgenerator (int waveint freq, int amp)( 71 double freq I, amp I; ampl=(wnp/1000): freq I =(freq I ; if(wave==O) FPGLoadWaveTable(O,"sine.wav"); if(wave==l) FPGSquareWave(O); Hload sine wave H load square wave if(wave==2) FPGTriangleWave(O); H load square wave if(wave=--3) FPGTrapezWave(O); FPGSetAmplitude(O,amp I); H load trapezoid wave H set to some visible amplitude FPG SetFrequency(O, freq I ; H set freqeuncy DisplayEvent("Frequency = %If Hz, Amplitude = %If Volts\n",(freqI),ampl); 72 Control.c++ is the Microsoft Visual C+ source code for the ball size control algorithm. This source code follows the structure of the flow chart shown in Fig. 42. Controlx++ /* Let's use strict type checking in the example #define STRICT #include "acq2hst.h" /* specific to this program Function: controlp BOOL CALLBACK _export Controlp(HWND hDlg, UINT message, WPARAM wParani, LPARAM Param) /* Whafs the message? switch (message) case WM-INITDIALOG: SetD1gItem1nt(hDlg,IDC-TARGETD, target-diamO); SetDlgItemInt(hDlg, IDC-ORIFICE, orifice-diam, 0); return (TRUE); break; /* message: received a command case WM COMMAND: switch (wParam) I case IDOK: I /* Set the requested input source target-diani= GetD]gltemlnt(hDIg, IDC-TARGETD NULL, 0); orifice-diam= GetDlg1tem1nt(hDlg,IDC-ORIFICE, NULL, 0); EndDialog(hDIg, TRUE); return (TRUE); break; case IDCANCEL: EndDialog(hDIg, FALSE); return (TRUE); break; break; /* end of switch(message) /* Didn't process the message return (FALSE); void Controls(DEVINFO DevInfo, int CameraNum, int remote {/* if (n_images==0 11s,_time==O 11orifice-diani==0 73 11target-diam==0) f DisplayEvent("**** MUST ENTER ALL CONTROL PARAMETERS ****\n" I if (calibx = 0) I DisplayEvent("**** MUST ENTER CALIBRATION VALUE ****\n"); else SYSTEMTIME ime; LPCAMERAINFO IpCamera; EnterCriticalSection(&AcquireSection); IpCarnera = &CwneraData[CameraNum]; GetLocalTime(&Itime); if (AcquireToHostx(DevInfo, CameraNum, remote)) I if (rernote){ if (IpCamera->DBF]ag= 2 IpCamera->DBFIag 4; LeaveCriticalSection(&AcquireSection); return; CopyDataBuf(IpCamera, BACKLIGHT, DATAIMAGE); /* create a DIB and display it in the client area CreateDIBDisplay(CameraNum); LeaveCriticalSection(&AcquireSection); if (rernote){ FindDarkHoles(CurCarneraNum, IpCamera->DBFIag = ; 0); LowPassFilter(CurCameraNum); FindDarkHoles(CameraNum, 0); wavel I=(double)(mch I mch2); waveI2=(doub1e)(mch3-mch1); wavel I =(wavel I *calibx); wave12=(wavel2*ca1ibx); if(waveI > 0) if((wavel I wave12) -- 1 I f if (wavel I wave12)>=0.9) wavelt=(wavel I +wavel2)/2; Ddr=0.9848*(pow((6*Ajr*wavelt)/3.1416,0.33333333333)); percentf--fabs(l-(Ddr/target-diam)); if(Ddr > 1. I * target_diam) frequency2+=(percentf*frequency2); DisplayEvent("Frequency--O/olf\n Hz"firequency2); FPGSetFrequency(O,(frequency2));// set freqeuncy if(Ddr < 099 * target-dimn) frequency2-=(percentf*frequency2); DisplayEvent("Frequency---O/o If Hz\n"firequency2); FPGSetFrequency(O,(frequency2)); set freqeuncy 74, min=ltime.wMinute; sec=ltime.wSecond; millisec=ltime.wMilliseconds; mvaI[zcount][l]--mmhl; mval[zcount][4]--mmh2; mval[zcountj[7]--unnh3; mval[zcount][10]=mchl; mval[zcount][12]=mch2; mvaI[zcount][l4]=mch3; mval[zcount][2]=nunvl; mval[zcount][5]=mmv2; mval[zcount][8]=mmv3; mval[zcount][11]=mcvl; mvaI[zcount][l3]=mcv2; mval[zcount][15]=Mcv3; param[zcount][I]=Ddr; param[zcount][2]= frequency2; time I [zcount] I ]=min; time I zcount] [2]=sec; time I zcount] [3]=millisec; if(cal-mode==O)f mval[zcount][3]=(int) (mmal); mvaI[zcount][6]=(int) (mma2); mvaI[zcount][9]=(int) (mma3); else mval[zcount][3]=(int)(sqrt((int)mmaI 3.142)*2 ; mval[zcount][6]=(int)(sqrt((int)mma2 3.142)*2 ; mval[zcount][9]=(int)(sqrt((int)mma3 3142)*2 ; I 75 APPENDIX B The following Matlab code simulates the ball size control system incorporated to the UDS process. Control system simulation function control=control I (TDOdpressure,frequency,mtlkg,time) vi=(rntlkg/8400); a=roots([8.017e-3 zO=a(3 I); 5.585e-3 1.297e-3 -vi]); Aj=(((Od*I e-6)12)*(pi))/4; hyp=zO*9.81 *8400; pressuretot--(pressure*6894.7572)+hyp; vel=0.87*(2*pressuretot/8400)A(1/2); i=l; Q=Aj*vel; forj=time, b=(-I. 1315e62+(1.06372e3l+4.4767e35*Q*j)12)/1/2); c=1.06372e3l+4.67703e35*Q*j; z--O. 154819+((1.70243e9)/(c+b)A(I/3))+(3.5198e- 12%c+b)^ 13))); hyp=(zO-z)*9.81 8400; pressuretot--(pressure*6894.7572)+hyp; vel=0.87*(2*pressuretot/8400)A(1/2); w--vel/frequency; Ddr--.9848*(6*Aj*w/pi)-(l/3); Q=Aj*vel; percent--abs((l -(Ddr/(TD* I e-6)))); freq(i, )=firequency; if Ddr > (1. I TD* I e-6) frequency I =frequency; frequency=frequency I +(percent*frequency 1); end if Ddr < 0.99*TD* I e-6) frequency I ---frequency; frequency=frequency I (percent*frequency I end Dd(i, 1)=Ddr; ZZ(i I )=zO-z; ii(i, 1)=i; w(i I =vel; i I +i; end USL=TD* I e-6* 1.03+(time*O); LSL=TD I e-6*0.97+(time*O); plot(tirneDd); hold; plot(firneUSL); plot(timeLSL); pause 76 hold; plot(timezz); pause plot(timefreq); pause plot(iiDd); pause plot(tiznevv); Dd freq 77 BIBLIOGRAPHY Abel, G. K., "Characterization of Droplet Flight Path and Mass Flux in Droplet Based Manufacturing," S.M. Thesis, Department of Mechanical Engineering, MIT, Cambridge, MA. Canny, J., "A Computational Approach to Edge Detection," IEEE Transactions Pattern Analysis and Machine Intelligence, November 1986, pp. 679-698. DeVor, Richard, Chang, Tsong-how, Sutherland, John W., Statistical Quality Design and Control, Macmillan Publishing Co., New York, 1992. Franklin, G.F., Powell, G.D., Digital Control ofDynamic Systems, Addison-Wesley Pub. Co., 1980. Gfisvik,K., Optical Metrology, John Wiley & Sons, Second Edition, New York, 1995. J.-H. Chun and C. Passow, "Production of Charged Uniformly Sized Metal Droplets," U.S. Patent No. 5266,098. Kuo, B.C., Digital Control Systems, Second edition, Holt, Reinhart Winston, New York 1980. Lord Raleigh, "On the Instability of Jets," Proc. London Mathematical Society, vol. 10, 1878, pp.4-13. Miremadi, Jean, 1995, "Impact of BGA-Ball-Coplanarity on Formation of Solder Joints", 1995 IEEE Electronic Components and Technology Conference, pp. 1039-1050. Monahan,K. Editor, Handbook of Critical DimensionMetrology and Process Control, The International Society of Optical Engineering, Washington, 1993. Ogata, K., Modern Control Engineering, Prentice-Hall, New Jersey, 1990. Passow, C.H., 1992, "A study of Spray Forming Using Uniform Droplet Sprays," S.M. Thesis, Department of Mechanical Engineering, MIT, Cambridge, MA, 1992. Peregrine, D. H., "The bifurcation of liquid bridges," Journal of Fluid Mechanics, vol. 212 pp. 25-39, 1990. Poirier, D.R., "Densities of Pb-Sn Alloys during Solidification," Metallurgical Transactions, vol. 19A, p.p. 2349-2354, 1988. 78 Puttlitz, K. J., Shutler, W., "C-4/BGA Comparison with Other MLC Single Chip Package Alternatives," 1994 IEEE Electronic Components and Technology Conference, pp. 16-21. Ries, M.D., Banks, D.R., Watson, D. P., Hoebener, K.G., "Attachment of Solder Ball Connect (SBC) packages to circuit cards," I3M Journal, vol. 37 no. 5, pp. 597-608, September 1993. Rosenfeld, A., Picture Processing by Computer, Academic Press Inc., New York, 1969. Rosenfeld, A., Kak, A., Digitalpicture Processing, Academic Press Inc., New York,1976. Srinivasan, Vijay, O'Connor, M., "Tolerancing Electronic Packaging Assemblies," ASME, Advances in Electronic Packaging, EEP-Vol I -1, pp. 103-110, 1995. Vardaman, E., Crowley, R., Goodman, T., "The Market for Ball Grid Array Packages," 1995 IEEE Electronic Components and Technology Conference, p.p. 205-207. Williams, C., Becklund, O., Optics: A Short Coursefor Engineers & Scientists, WileyInterscience, New York, 1972. Yirn, P., Chun, J.-H., Ando, T. and Sikka, V. K., 1995, "Production and Characterization of Mono-Sized Sn-38 wt. Pb Alloy Balls," 1995 International Conference on Powder Metallurgy & Particulate Materials (PM2TEC'95), May 14-17, 1995, Seattle, Washington. Yirn, P., "The Role of Surface Oxidation in the Break-Up Behavior of Molten Metal Jets." Ph.D. Thesis, Department of Mechanical Engineering, Massachusetts Institute of Technology, Cambridge, NLk, February 1996. 79 , - I THESIS PROCESSING SLIP'. l-,:'FIXED FELD: W iL name indlex biblio - IAero COPIEt:l Dewey (!Jng rcf---vo; Lindgrer I - Music Rotch I Hum Science TIT'LE VARIES: I-[ :1 601c 4 NAME VARIES: ej xP6,444 IMPRINT: 1116C4 (COPYRIGHT) COLLATION: '111-ADDb-ADD. DFGRFFDEGREE: SUPERVISORS - SUPERVISORS- P DEPT.: DFPT-- - NOTES: cat'r: PDEPT: - ME- '-YE":-,,NAME: date: page: 17113 T77 -P DEGREE:'*-. -A-40Roctf,4 LvNOFz' J-Votv-, G105