Control of the UDS Process for the Production by

advertisement
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
Download