implementation of an in-situ non-contact temperature ... · diploma thesis implementation of an...

126
Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power Electronics Daniel Malvestam

Upload: others

Post on 26-Dec-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Diploma Thesis

Implementation of an In-situNon-contact Temperature Controllerfor Active Thermal Fatigue Tests of

Power Electronics

Daniel Malvestam

Page 2: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

ii

Page 3: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power
Page 4: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Department of Microsystems Engineering IMTEKLaboratory for Assembly and Packaging TechnologyUniversity of FreiburgFreiburg im Breisgau

Author Daniel Malvestam

Thesis time 15th July 2005 to 10th March 2006

Examiner University Lecturer Amir Baranzahi, (ITN) Departmentof Science and Technology, Linköping University CampusNorrköping

Tutor Doctoral Candidate Civil Engineer Johan Dalin, Laborato-ry for Assembly and Packaging Technology, University ofFreiburg

Titel page The figure on the title page shows the start-up message onthe LCD display for the final developed controller.

Page 5: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power
Page 6: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

vi

Page 7: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Sammanfattning

En regulator med typen termostaplade IR-sensorer utvecklades för att övervaka ochreglera temperaturen av effektelektronik under accelererade termiska test, sk powercycling. Bondtrådar är det dominerande sättet att kontaktera halvledare till om-givningen, genom att förbinda chipet inuti en kapsel med dess ben. Även avlägsnapunkter eller andra chipmoduler i en kapsel kan förbindas med hjälp av bondtrådar.25-30% av alla kapselrelaterade fel under en halvledarkomponents livstid kan här-ledas till bondtrådar. För att testa bondtrådar används accelererande termiska testför att stimulera fel i bondkontakterna samt möjliggöra en vidareutveckling inomområdet. På IMTEK (Institutet för mikrosystemteknik) Freiburgs universitet testasnya aluminium/koppar-fiberförstärkta bondtrådar med en diameter av 300 µm meden utrustning för power-cycling test. Under ett power-cycling test blir komponen-ten periodvis upphettad när ström går genom den och sedan nedkyld när strömmenstängs av. Den nya typen av bondtrådar är bondade på IGBT transistorer (InsulatedGate Bipolar Transistor). Med IR-sensorer är det möjligt att mäta temperaturför-delningen i hela chipet (medelvärde). Därmed är regulatorn robust. Den utveckladeregulatorn kan enkelt vidareutvecklas till att reglera exempelvis 10 IGBT-modulerparallellt i ett termiskt accelererande tillförlitlighetstest.

vii

Page 8: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

viii

Page 9: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Abstract

A controller with thermopile IR-sensors is developed to monitor and control the tem-perature of power electronics during active accelerated thermal fatigue tests - powercycling. Bond wires are the dominating method for connecting semiconductors tothe package leads, distance points on a chip or chip modules within a package. 25-30% of all package related failures of electronic devices during their operation lifetime can be related to bond wire failures. To test bond wires, power cycling test canbe performed to stimulate failures in bond wire connections, enabling for further de-velopment and improvements in the area of bond wires. At IMTEK (Department formicrosystems engineering) University of Freiburg, new types of aluminium/copperfibre-reinforced bond wires with a diameter 300 µm for power electronics are testedtogether with a power cycling equipment. During a power cycling test the compo-nent is periodically heated, with a current flow through the chip, and cooled down.These new bond wires are bonded on IGBT (Insulated Gate Bipolar Transistor)modules. Since it is possible to measure the overall temperature (mean value) ofthe chip, using IR-sensors, the developed controller in this final thesis is robust.Further, the implemented controller can easily be extended for power cycling withe.g. 10 modules in parallel.

ix

Page 10: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

x

Page 11: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Acknowledgments

To Johan Dalin, my tutor for giving me a very interesting topic for a diploma thesisand giving me full support in my work whenever I needed it. To Professor JürgenWilde for welcoming me to the Laboratory for Assembly and Packaging Technologyat IMTEK and to his support. My interest in this area of semiconductor technologyhas increased even further.

I want to thank Hans Baumer for helping me with electronic problems and to allthe advises he has given me. Oleg Zukowski, for answering my complicated ques-tions regarding program structures for microcontrollers. Andreas Senn for helpingme with small problems I encountered with the microcontroller and Sebastian Scheerfor supporting me with the PCB designs.

To David Pustan, who gave me a very informative introduction on my first dayand also gave me support regarding LATEX, in which this final thesis report was writ-ten. To Thomas Fellner for improving my German and together with Elena Zukowskiand Johan Dahlin for giving me a very a nice atmosphere when working in the office.

Also to my examiner Amir Baranzahi for showing interest in my work.

Finally to all other colleges that I have spent time with when working in thelaboratory.

xi

Page 12: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

xii

Page 13: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Contents

1. Introduction 1

2. Bonding methods and wires 32.1. Historical aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2. Bonding methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1. Ball-wedge bonding . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2. Wedge-wedge bonding . . . . . . . . . . . . . . . . . . . . . . 6

2.3. Bond wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.1. Au-wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.2. Al-wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.3. Cu-wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.4. Aluminium/copper fibre-reinforced wires . . . . . . . . . . . . 9

2.4. Reliability aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3. Life time and reliability of Power Electronics 133.1. Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2. Bonding failures and IGBT defects . . . . . . . . . . . . . . . . . . . 16

3.2.1. IGBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2.2. Bond wire fatigue . . . . . . . . . . . . . . . . . . . . . . . . . 173.2.3. Flexure of the wire . . . . . . . . . . . . . . . . . . . . . . . . 173.2.4. Shear of bond pad, wire and substrate . . . . . . . . . . . . . 183.2.5. Axial Tension of Wire . . . . . . . . . . . . . . . . . . . . . . 183.2.6. Bond wire lift off . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.7. Bond wire heel cracking . . . . . . . . . . . . . . . . . . . . . 193.2.8. Life time estimation . . . . . . . . . . . . . . . . . . . . . . . 203.2.9. Aluminium reconstruction . . . . . . . . . . . . . . . . . . . . 273.2.10. Brittle cracking . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2.11. Corrosion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2.12. Inconsistent tails . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.13. Cratering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.14. Solder fatigue and solder voids in IGBT . . . . . . . . . . . . 313.2.15. Burnout defects . . . . . . . . . . . . . . . . . . . . . . . . . . 32

xiii

Page 14: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Contents

4. Experiments and simulations 354.1. Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2. Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3. Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3.1. Design of controller in Simulink . . . . . . . . . . . . . . . . . 384.3.2. Otto-Smith controller . . . . . . . . . . . . . . . . . . . . . . . 45

5. Implementation of a thermal controller 475.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1.1. Hardware, prototype unit . . . . . . . . . . . . . . . . . . . . 485.1.2. Hardware, final system . . . . . . . . . . . . . . . . . . . . . . 525.1.3. Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.2. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6. Results 636.1. Results from prototype . . . . . . . . . . . . . . . . . . . . . . . . . . 636.2. Results from final system . . . . . . . . . . . . . . . . . . . . . . . . . 646.3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.4. Summary and conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 66

A. MATLAB code 69

B. Layout from TARGET 3001 71

C. C program source codes 73

D. Flowchart for the final system program 99

E. LCD information messages during power cycling 105

xiv

Page 15: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

List of Tables

4.1. Ziegler-Nichols adjustment rules. . . . . . . . . . . . . . . . . . . . . 41

xv

Page 16: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

List of Tables

xvi

Page 17: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

List of Figures

2.1. An automatic wedge-wedge bonding machine at IMTEK. . . . . . . . 42.2. A ball-wedge interconnection between two bond pads. . . . . . . . . . 52.3. Capillary tool used for ball-wedge bonding. . . . . . . . . . . . . . . . 62.4. Wedge tool used for wedge-wedge bonding. . . . . . . . . . . . . . . . 72.5. Wedge-wedge bonding process. . . . . . . . . . . . . . . . . . . . . . . 72.6. Examples of wedge-wedge bonded Al-wire. . . . . . . . . . . . . . . . 92.7. Processing of Al/Cu fibre-reinforced wires. . . . . . . . . . . . . . . . 102.8. Intersectional views of the Al/Cu-wire. . . . . . . . . . . . . . . . . . 102.9. Wedge-wedge bonded Al/Cu fibre on a test substrate. . . . . . . . . . 11

3.1. The bathtub curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2. The IGBT transistor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3. Bond wire lift off. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4. Bond wire heel crack. . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.5. Flexure of bond wire. . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.6. Resulting traction that act on each layer. . . . . . . . . . . . . . . . . 223.7. Shear model of the shear of bond pad. . . . . . . . . . . . . . . . . . 233.8. A S-N curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.9. Aluminium reconstruction of the emitter metallization layer. . . . . . 283.10. Cratering defect created when Al/Cu-wire was bonded. . . . . . . . . 303.11. Solder voids and solder crack. . . . . . . . . . . . . . . . . . . . . . . 323.12. Simplified circuit of an IGBT. . . . . . . . . . . . . . . . . . . . . . . 33

4.1. Bonded IGBTs with glued PT-100 elements. . . . . . . . . . . . . . . 364.2. Step responses from experiments. . . . . . . . . . . . . . . . . . . . . 384.3. The Simulink model of the control loop. . . . . . . . . . . . . . . . . 384.4. The system block in Simulink. . . . . . . . . . . . . . . . . . . . . . . 394.5. The IGBT in Simulink. . . . . . . . . . . . . . . . . . . . . . . . . . . 394.6. The state space blocks for IGBT. . . . . . . . . . . . . . . . . . . . . 404.7. The sensor block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.8. The PI-controller block. . . . . . . . . . . . . . . . . . . . . . . . . . 414.9. Simulation result of the PI-controller. . . . . . . . . . . . . . . . . . . 424.10. Differences in simulation results of the PI-controllers. . . . . . . . . . 424.11. Bode diagram for the open loop system. . . . . . . . . . . . . . . . . 434.12. Bode diagram for the closed loop system. . . . . . . . . . . . . . . . . 44

xvii

Page 18: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

List of Figures

4.13. The Otto-Smith controller. . . . . . . . . . . . . . . . . . . . . . . . . 454.14. Simulation result for the Otto-Smith controller. . . . . . . . . . . . . 46

5.1. Hardware for the PI-controller. . . . . . . . . . . . . . . . . . . . . . 485.2. Schematic for the prototype unit. . . . . . . . . . . . . . . . . . . . . 505.3. A photo showing the prototype unit of the PI-controller. . . . . . . . 525.4. Schematic for the final unit. . . . . . . . . . . . . . . . . . . . . . . . 535.5. Photos of the final system. . . . . . . . . . . . . . . . . . . . . . . . . 545.6. The 4× 20 Dot-Matrix LCD display. . . . . . . . . . . . . . . . . . . 545.7. A thermocouple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.8. A semiconductor made thermopile. . . . . . . . . . . . . . . . . . . . 555.9. The thermopile sensors used in the thesis. . . . . . . . . . . . . . . . 565.10. Simplified equations plotted together with the original. . . . . . . . . 575.11. Plot of the re-calibrated expression. . . . . . . . . . . . . . . . . . . . 57

6.1. Photos of the test environment for the prototype. . . . . . . . . . . . 636.2. The step response from the prototype unit. . . . . . . . . . . . . . . . 646.3. Photos of the water cooled heat sink and the test environment. . . . . 656.4. Step responses from the IGBTs tested at 20 V and 40 V. . . . . . . . 65

B.1. The layout of the prototype. . . . . . . . . . . . . . . . . . . . . . . . 71B.2. The layout for the final system. . . . . . . . . . . . . . . . . . . . . . 72

D.1. Flowchart 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99D.2. Flowchart 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.3. Flowchart 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101D.4. Flowchart 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102D.5. Flowchart 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

E.1. Message 1 and 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105E.2. Message 3 and 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105E.3. Message 5 and 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106E.4. Message 7 and 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

xviii

Page 19: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

1. IntroductionThis diploma thesis comprises the implementation of a test system where the re-liability of fibre-reinforced bond Al-wires for power electronics are tested by usingaccelerated thermal fatigue tests. This thesis is a part of a research project atIMTEK where e.g. Insulated Gate Bipolar Transistor (IGBT) will be used to testthe new types of bond wires. The fibre-reinforced bond wires have a higher tensilestrength and lower thermal expansion in comparison to ordinary Al-wires. The al-ternation durability against thermal stress can be increased using these bond wires.The applications to use the new types of wires are power electronics and mechatron-ics operating in harsh environments (e.g. automotive, industry). The developmentof fibre-reinforced bond wires is a result from industry needs to increase reliabilityin their products and to gain economic advantages on the market. This is veryimportant, especially in the automotive industry where more and more advancedelectronics are developed and where reliability has to be maintained. Harsh envi-ronment together with safety systems controlled by electronics (that are not allowedto fail) is a difficult task to solve. Increasing reliability and safety is therefore ofgreat importance. The aim of the diploma thesis is to develop a non contact temper-ature controlling system to control the power dissipation through an IGBT during apower (thermal) cycle. Pre-defined thermal profiles will drive the IGBT module andthe power cycle test will be performed until the bond wires suffer from breakdown.

The report is divided into these chapters below:

Chapter 2Chapter 2 contains history of bonding, the ball-wedge bonding and the wedge-wedgebonding methods. Information about bond wires used when bonding is performedis also presented, including the Al-Cu fibre-reinforced wire.

Chapter 3In this chapter the reliability and lifetime of power electronics is presented and fail-ures that can strike semiconductors. The main focus is set on failures that can berelated to bond wires. Mathematical expressions are presented on how lifetime canbe calculated with the respect to bond wire failures. Also, the IGBT transistor ispresented.

Chapter 4Chapter 4 deals with the theoretical part of designing a PI-controller and the systemmodel. Simulation results from MATLAB are given.

1

Page 20: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

1. Introduction

Chapter 5This chapter presents the hardware and software for the designed controller.

Chapter 6Discussion and conclusion, as well as results, finishes the thesis work.

2

Page 21: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2. Bonding methods and wires

2.1. Historical aspectThe most common way to connect a semiconductor device to the outside world iswith the use of bonding techniques. To achieve this, additional advanced equipmentis needed. Even if bonding is a quite old method this does not mean that it can notbe further developed. The electrical connection is accomplished with a wire (bondwire) that is connected to a special area of the die called the bond pad and in turnto a lead of a package or to another place within the package e.g. arbitrary point ona chip (other bond pad) (Hu et al., 1991). The bond pad is usually made out of Al(aluminium) and the bond wire can be either made of Au (gold) or Al. The bondingtechnique was developed as early as in the 1950’s, but in those days the methods ofbonding were very primitive. It was Bell Laboratories that introduced bonding forthe first time and could present a result that was published (Cupido, Lai and Liu,2000). During the pioneer time of bonding, the most simple method was used whichmeant that the substrate was heated up to 400 and a Au wire was pressed on tothe Al bond pad with a chisel. This is also known as thermocompression (wedge-ballbonding). In the early 1960’s the first bonding equipment was developed and it usedthermocompression to form an interconnection between the wire and the pad. Thebond machines in those days were operated manually and the time it took to make abond connection was between 30 or 40 seconds per bond. The temperature was alsovery high during the bonding phase, 400 . As a consequence the semiconductordevices only operated correctly for a couple of hundreds of hours before they brokedown. The high temperature in combination with bond pads made of Al togetherwith a Au-wires may lead to a failure phenomenon called purple plague. The purpleplague (AuAl2) comes from the chemical reaction between Al and Au during thebonding process and is one of five intermetals that are created. The other inter-metals are not harmful for the bond (Danielsson, 2000). What makes the AuAl2 sodangerous? Well, the difference is that this intermetallic compound is porous andhas a volumetric expansion causing the bond wire to lift from the bond pad in itsperipheral parts. In the center of the bond the other intermetallic compounds makesthe bond strong. To minimize the effect and the growth from AuAl2, the bond padmust be cleaned before the bonding process is initiated. The causes were eventuallyfound in the 1960’s and development and research within this area has continuedover the years. Research nowadays is focusing on making the method more reliableand as new power electronics are developed for harsh environments, the need of highperformance devices and components is crucial. Because the bonding technique has

3

Page 22: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2. Bonding methods and wires

existed for almost 50 years, the method has become a industry standard and there-fore it is also very reliable due to the refinement. Another important advantageis that bonding is a very flexible method to use and also very cost efficient. Thelow cost is due to that no chip modification is needed and the equipment has anestablished base of competitive development.

Nowadays the bonding machines used in the industry are mostly automatic oper-ated. With the equipment is also advanced software installed to control the operationof the machine. The machines are also very fast and according to NASA’s web sitethere are 4 × 1012 wires bonded every year in the world (NASA Goddard SpaceFlight Center). This means that the most of the 40 to 50 billion integrated circuitsproduced every year are wire bonded. Most of the wired bonds, 90% are bondedwith the thermosonic method (ball-wedge bonding) and the rest of the 10% is donewith the ultrasonic method (wedge-wedge bonding) (Cupido). The first methodmentioned, thermocompression will not be described in the following section be-cause the thermosonic and the ultrasonic methods are the dominating ones in thesedays.

Figure 2.1.: An automatic wedge-wedge bonding machine at IMTEK with bond wiresbonded on a test substrate.

4

Page 23: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2.2. Bonding methods

2.2. Bonding methodsIn this section the thermosonic and ultrasonic bonding methods will be explained.Further, the applications they are suitable for are mentioned.

2.2.1. Ball-wedge bondingBall-wedge bonding is almost exclusively done with gold wires. Ball-wedge bondingwith copper has recently got some attention. In ball-wedge bonding the wire ispassed through a hollow capillary and fed until a small tip of the wire is extendingbeneath the capillary. As soon as this has occurred, a EFO system (ElectronicFlame Off) is placed under the capillary and a spark is produced (here, the Au-wireis grounded). Due to the spark the tip melts and forms a small ball which solidifiesand is drawn up to the capillary. The ball is then pressed down on the bond pad by aspecific force (Danielsson, 2000, Lai and Liu, 2000). During the press operation, thecapillary vibrates due to the ultrasonic energy that is converted from a sinusoidalelectrical signal by the transducer (Clark, 2004). In this way an intimate contactand atomic interdiffusion between the wire material and the underlying metallizationmaterial is achieved. When the connection is made, the capillary is raised and thewire is fed freely. During the movement to the other point of connection a perfectlymade loop is formed. The attachment on the other connection point is made with awedge bond, which deforms the wire to look like a fishtail, using ultrasonic energy,seen in figure 2.2. As soon as the connection is made the capillary breaks the wire

Figure 2.2.: A ball-wedge interconnection between two bond pads (Lai and Liu, 2000).

just above the wedge leaving a little tip of wire enough for the EOF system to forma new ball. The process start over again with same procedures. Ball-wedge bondingusually only uses thermosonic methods. This is a combination of the ultrasonic andthe thermocompression methods. The operation temperature is normally between100 and 200 . An advantage is that the ball-wedge bonding technique is very

5

Page 24: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2. Bonding methods and wires

fast. Another advantage in comparison to wedge-wedge bonding is that, when aball bond is made the capillary can be moved in any direction without causing anystresses to the wire (x and y axis movement). The ball-wedge bonding is often usedin applications where the wire is smaller than 75 µm. The pad pitch is normallyover 100 µm (Lai and Liu, 2000). A capillary tool for ball-wedge bonding can beseen in figure 2.3.

Figure 2.3.: Capillary tool used for ball-wedge bonding (Lai and Liu, 2000).

2.2.2. Wedge-wedge bondingThe name wedge bonding comes from the name of the bonding tool used. It isshaped like a wedge and the bond wire is fed through a hole on the back on thewedge tool and into a small channel (figure 2.4). From the wedge tool the wire hasan angle of 30-60°to the horizontal bonding surface. The wedge-wedge bonding usesultrasonic energy to form the bonds. The technique where the first bond is madeon the chip die and the other one to the substrate is called forward bonding. Theopposite is called reversed bonding. When a bond is to be made, the first and thesecond bond pad must lie in a line. Otherwise the wire cannot be fed freely during abond movement. An angle between bond connection and wire can be accomplishedby rotating the bond tool. The attachment of the wire to the bond pad is done usinga force between 10 g and 1 kg depending on wire size and ultrasonic energy. Thewedge, which is made of tungsten is mounted on a transducer which converts theelectric sinusoidal signal into vibrations and this characterizes the ultrasonic bondingmethod (Clark, 2004). After the first bond is made, the wedge makes a movementto form the loop of the wire as it continues on its way to the second bond position.Again, the wedge is lowered to make the bond in the same way as the first one. Whenthe second bond is attached, the wire is either teared of by the bonding tool or byclamps located behind the wedge tool (figure 2.5). This is a better method suitable

6

Page 25: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2.2. Bonding methods

Figure 2.4.: Wedge tool used for wedge-wedge bonding (Lai and Liu, 2000).

for bond wire sizes less than 75 µm. For larger wire diameters, cutting blades canbe used. In the wedge-wedge bonding technique Al-wire is almost exclusively used,but applications with Au-wires and Cu-wires exist. When bonding with Au-wires,thermosonic methods are added. A big advantage when bonding with Al-wire is thatit can be done in room temperature (Danielsson, 2000, Lai and Liu, 2000). Stitchescan be made, which means that there is no need to cut the wire when several bondpads are to be connected. Also, wedge-wedge bonding allows smaller pitch, downto a size of 50 µm can be bonded with thin wires. Even if the ball-wedge bondingis faster, it cannot be used when manufacturing power electronics. This is due tothat Au-wire is seldom or hardly ever made in diameters bigger than 50 µm becauseof matter of costs. If currents are reached over 2 A in an application, the Al-wiresare used. For high currents, Al-bond wires for power electronic applications arenormally 300-500 µm in diameter.

Figure 2.5.: A wedge-wedge bond interconnection between chip die and package (Lai andLiu, 2000).

7

Page 26: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2. Bonding methods and wires

2.3. Bond wires

Several different wires can be used. Here, the most common wires for ball-wedge andwedge-wedge bonding are presented. Also, the metallization pad and lead framescan be made out of different metals.

2.3.1. Au-wire

The Au-wire is used in ball-wedge bonding. To ensure a reliable bond, the bond padmust be very clean to produce a strong bond. Ultrapure Au is to soft to be used asa wire. Therefore some impurities of some other metals are common to make thewire applicable, e.g. Be and Cu. The Be impurities make the Au-wire stronger, upto 10-20% in comparison with impurities of Cu. Be is only added 5-10 ppm of thetotal weight, whereas for Cu the level is 30-100 ppm of the total wire weight. AAu-wire can be bonded to a bond pad or lead frame made out of Au, Al, Cu andAg. If a Au-wire is bonded to a Au-bond pad, the bond produced is very reliablebecause no intermetallic compound is created as well as no corrosion. With Al-bondpad several intermetallic compounds might be formed, one of them is the dangerouspurple plague. Au-wire together with Cu lead frame requires that there is a extremecleanliness of the bond surface and that the Cu is pure from impurities to producea reliable bond. A bond that is really reliable is the bond connection between aAu-wire and a Ag lead frame, since no intermetallic compounds are formed and nocorrosion is occurring (Lai and Liu, 2000).

2.3.2. Al-wire

Al-wire is used in the wedge-wedge bonding method. Thin Al-wires (≤ 100µm)must be alloyed with some other metals to be applicable since pure Al is very soft,but thicker Al wires consists of 99.99% Al. The Al-wire is commonly alloyed with1 percentage of Si (silicon) or 1 percentage of Mg (magnesium). When the Al-wireis alloyed with Mg, the fatigue resistance against elevated temperatures is increasedin comparison with Al alloyed with Si. The Al-wire can be bonded to bond pads orlead frames made of Al, Ag and Ni. The most reliable from these is the formationbetween Al and Al because no intermetals are created and no corrosion is occurring.If the lead frame material is made out of Ag, more caution has to be taken. Theintermetals created are complex and the bond degrade due to interdiffusions andpresence of humidity. Therefore, this combination is seldom used. When Al-wireis bonded on a Ni surface, the bond created is reliable. Ni however, easily oxidizesand has to be cleaned before bonding is performed (Lai and Liu, 2000).

8

Page 27: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2.3. Bond wires

(a) One end of a wedge-wedgebonded Al-wire.

(b) Stitch bonded Al-wire.

Figure 2.6.: Examples of wedge-wedge bonded Al-wire.

2.3.3. Cu-wireRecently Cu-wires have been tested because of economical reasons. The problemwith copper is that it is harder than gold and also more reactive. Results haveshown that because of the hardness, cratering is created on the bond pads whichare usually made of gold or aluminium. The atmosphere in which bonding occursmust also be specific because Cu easily oxidizes. When a Cu-wire is bonded to aAl-bond pad, an intermetallic growth similar to the case of Au-Al is initiated. Butin the case of Cu-Al, this intermetallic growth is much slower (Lai and Liu, 2000).

2.3.4. Aluminium/copper fibre-reinforced wiresThe fibre-reinforced wires are a new approach of increasing reliability and fatiguedurability during the life time of electronics. In this case, the reinforced wires areto be used together with power electronics that operate in the harsh environmentse.g. cars and in the industry. Advantages in comparison to the ordinary Al-wiresare increased tensile strength. Furthermore, due to the Cu-filaments the electricalconductivity is increased and the thermal expansion coefficient is decreased. Thewires are manufactured by letting Al and Cu being mechanically alloyed in a matrixformation in a special airproofed equipment. In this equipment, the formation isthen through extrusion made into a primary material containing Al with Cu fibres.Then, the primary material is drawn into bond wires of diameters between 300 to 500µm. In the manufacturing step all the process parameters and temperatures haveto be correctly adjusted in order to have a nice matrix formation. The processingsteps can be seen in figure 2.7.Bonding experiments of the fibre-reinforced wires have shown that current bonding

equipment can bond the wires without any problems and higher shear strengthwas also observed in comparison to Al-wires. Bond loops and wedge forms were alsonicely produced. In accelerated fatigue tests, the reduction of shear and pull strength

9

Page 28: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2. Bonding methods and wires

(a) Al and Cu matrix forma-tion in airproofed equipment.

(b) The extrusion processingstep.

(c) Drawing of the primarymaterial.

Figure 2.7.: Processing of Al/Cu fibre-reinforced wires (Wilde, 2006).

are the same as for standard Al-wires, but the shear forces of the bond were at ahigher level. Studies have shown that the Al-wire with Cu-fibres might improve thethermo-mechanical fatigue durability. Another approach is to add FeNi36 filamentstogether with Cu to lower the thermal expansion coefficient even more (Dalin et al.,2006).

(a) Diameter view with Cu-reinforcement fibres.

(b) A view alongside the wire.

Figure 2.8.: Intersectional views of the Al/Cu fibre reinforced wire with a diameter of 300µm (Wilde, 2006).

2.4. Reliability aspectsSemiconductors are usually not devices with movable components that have to with-stand mechanical stresses and wear outs. But this is not entirely true at the mi-croscopical level. The failures that eventually causes semiconductor breakdown arehigh stresses in different forms. The stresses come from high currents and volt-ages, vibrations, humidity, high temperatures, mechanical and thermal shocks. Inthis way the lifetime of the semiconductor is affected. To estimate the stresses thatsemiconductors experience, failure analysis is used. Accelerated stress tests are com-

10

Page 29: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2.4. Reliability aspects

mon methods to find out the weakest link, by performing lifetime predictions. Inthis way the design to reduce or to eliminate future damages in future products isimproved. Most of these failures are described by the bathtub curve. The bathtubcurve does not describe the lifetime of one single component of the product, but thefailure rate of a population of the same product (Man).

Figure 2.9.: Wedge-wedge bonded Al/Cu fibre on a test substrate. The picture is takenin a Scanning Electron Microscope (SEM) at IMTEK.

11

Page 30: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

2. Bonding methods and wires

12

Page 31: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of PowerElectronics

All electronic components have a predicted (theoretical) life time that in some casesis exceeded or sometimes early breakdowns occur because of a number of reasons.Breakdowns can also have their origin in improper handling of the electronic prod-uct. In this chapter of the thesis the main failures are going to be presented, butwith concentration on fatigue failures of bond wire and bond pad areas. The failurescan be introduced as early as in the bonding process during semiconductor manufac-turing. This is why optimal settings for the machines in the microelectronic industryare very important, not only for bonding processes but for the rest of the manufac-turing processes and steps that semiconductors go through until they are finished.It is very important for semiconductor companies to minimize the introduction offailures as early as in the production processes. As briefly mentioned before, thebathtub curve is used to describe the failures of a population of the same product.Different failures can be identified with the three different phases of the curve (figure3.1). The first phase describes the infant mortality of the products, the second iscalled normal phase (useful phase) and the third is the wear out phase. The typicalfailures in the first phase are here much related to defects due to manufacturing ordesign. This phase usually represents failures that are built in to the product andoften it can be related to improper design and implementation of the component.Failures of that kind are unacceptable from a customers point of view. Detectionof early failures is important to improve the design of a product. As soon as the

Figure 3.1.: The bathtub curve together with descriptions of the different phases (Wilkins,2002).

prototypes are constructed stress tests should be made. With these tests, calledHAST (Highly Accelerated Stress Test) and HALT (Highly Accelerated Life Test),

13

Page 32: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

early development and design weaknesses can be uncovered. When the tests arefinished, the failures are analyzed and further improvement of product robustnesscan be made. Even if the infant mortality factors can be eliminated, the testingshould continue using a large test sample of production units. Here, two type ofstress tests can be done. These are HASA (Highly Accelerated Stress Audit) andburn-in. With the HASA test, material and assembly variations could be found andhopefully some improvement to the products can be made. If the improvementscannot be made, the burn-in stress method can be used to weed out the defects.The burn-in method is very effective when it comes to semiconductor chips, but forother types of products the HASA test should be used. This is because the rootsof the failures are not found with burn-in, only the symptoms. The second phaseof the curve is the normal phase (useful phase) where the failures are said to beof a random kind and occurring at a constant rate. The constant failure rate fordifferent failure modes is applicable for electronic products. Mechanical systemsthough, normally only suffers from wear-out failures which normally occur beforewear-out of the electronics (Wilkins, 2002). For complete systems the electroniccomponents therefore have their major failures in the infant mortality and normalphase. The infant mortality failures also spread out very randomly and can alsoappear in the normal phase region which is characterized by operational stresses.The operational stresses are said to be thermal overstress due to high temperatures,electrical overstress caused by high currents and voltages, thermal shocks (surround-ing environment), vibrations and mechanical influence and humidity. The wear-outfailures of electronics are usually electrical leakage, corrosion, insulation breakdown,metallic ion migration in the direction of current flow, stresses in bond wires causingcracks in specific areas and cracks in the encapsulation material (Man).

3.1. FailuresIn this section the failure mechanisms for semiconductors normal operation as wellas under accelerated stress tests will be presented. They have been mentioned above,but here a slightly more detailed description will be given. The concentration willbe on the failures and defects of bond wires in this section because 25-30% of thepackage related failures can be related to them (Hu et al., 1991).

1. Metallization defects are caused by a number of reasons. There are severalknown defects that fall into this category (Wu).

a) Electromigration. Positive ionized atoms flow in the direction of the cur-rent and Al atoms can be physically transferred if the current density isvery high.

b) Alloying. Si atoms can migrate into Al and also the other way aroundcausing shorted junction or open contact.

c) Scratched metal. Causes of mechanical damage from bonding tools.

14

Page 33: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.1. Failures

d) Metal corrosion and oxidation. If the package is not well sealed, corrosionon Al bond wires can occur. Also, if solvents are not removed or wellcleaned from the chip surface before the packaging process begins, thendefects within the package might occur.

e) Uneven metallization. If the SiO2 etching process is done improperly itmight result in an irregular metallization layer.

2. Oxide defects in the SiO2 (silicon dioxide) layer and the types of possiblefailures when the oxide layer is too thick or too thin (Wu).

a) Hot electron trappings and injections are due to negative charges thatare attracted by the positive VT voltage from the n+ doped area of thesemiconductor. These are then trapped into the SiO2, thin oxide layer.The SiO2 can also suffer from a breakdown if the electrons are injectedinto the oxide by tunneling and start to create electron-hole pairs.

b) Ionic contamination can also occur if there are mobile ions near the SiO2.This may occur when the oxide is too thin or too thick. In this case theoxide layer is unevenly deposited.

3. Packaging defects are often related to mechanical failures, moisture penetra-tion into the package because of bad sealing and poor die attach.

4. Overstresses related to the electrical kind are often due to poor design. Acomponent can also be damaged by a electrostatic discharge caused by carelessand improper handling.

5. Solder joints. Defects and failures can also be related to the solder joints in aelectronic product. Most critical situation is when the electronic device is tobe used in high temperature environments (Danielsson, 2000).

a) Thermal mismatch between substrate and package. During the reflowprocess of a SMD device, the solder melts and makes a connection betweenthe package lead frames and the substrate. When the cooling stage isreached in the reflow process the solder joint solidifies. Forces are thenbuilt into the solder joints because the package and the substrate aretrying to retrieve their original size they had before the reflow started.

b) In room temperature, the forces that are built into the solder joint will,because of the constant stress, eventually make the solder joint to stretchout in the direction of the forces. This is also know as creep, whichmeans that the mechanical stress from the substrate and the packagewill damage the solder joint in the end.

c) The dominant failure mode for solder joint is low cycle thermal fatigueand not quick thermal changes between high and low temperatures asone may think. The low cycle thermal fatigue arises from the thermalexpansion mismatch between component materials.

15

Page 34: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

Next section will be about failures related to bond wires and the defects.

3.2. Bonding failures and IGBT defectsThere are numerous of failures that can be related to bond wires and to areaswhere the bonding process is present. Because this thesis work is concentratedto bond wires, deeper explanations of the failures will be given. Failures that arecharacteristic for the IGBT will be mentioned in the explanations.

3.2.1. IGBTThe bond wires in this thesis work are bonded on IGBT (Insulated Gate BipolarTransistor) modules for evaluation. IGBT transistors are one of the mostly usedactive components for high power applications and exist in a various different types.The first IGBT appeared around 1988 and the most used IGBTs are n-channeldoped, but there exist p-channel doped as well. An IGBT transistor is built upwith a vertical design, that is, the current does not flow horizontally as in a normalMOSFET from drain to source. A vertical design is preferable because the horizontalone can only generate around 30% of the current density of the vertical one. IGBTstoday can be made to withstand forward blocking voltages as high as to 6.5 kV, whichmeans the voltage supplied between collector and emitter without any present basevoltage. The IGBT module is built up first by the collector and a hard doped p+

(holes) conduction area, situated at the bottom. The second layer is the drift areaand it is lightly doped n−, with majority carries consisted of electrons. Further up,two p-wells with small hard doped n+wells connected to the two emitters can befound. These layers were all situated in the silicon substrate. Over the substrate,the gate made out of n+-polysilicon is isolated from the Si by a thin layer of SiO2.As can be noticed, the gate has a lateral position which is also known as planar gatestructure. The above section of the IGBT is very similar to a MOSFET. When a

Figure 3.2.: The IGBT transistor with vertical design where the charge distribution isshown during on-state. Additional switching symbols are given (Semikron).

16

Page 35: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

positive gate voltage is applied, an inversion layer in both p-wells is formed. Theelectrons in the p-wells are attracted by the positive gate voltage forming a n-channelbelow the gate. In this way, the electrons will enter the drift area and continue to thecollector. The electrons enter the p+ area and arranging for holes to enter the driftarea. The holes that are injected will directly travel to the p-wells and out throughthe p-contacts of the emitters. The drift area will be filled by holes that supply thecollector current. The positive charged holes will also enter the emitter p-contactthrough the inversion layer, passing the n-well. When the current is increasing, thecollector-emitter voltage VCE will decrease. An IGBT can therefore be seen as aMOSFET supplying a base current to a pnp-transistor. The gate controls the fieldeffect mechanism and electron current, but it can only indirect control the bipolarbehavior of the IGBT, that is, the accumulated charge and hole current. When thegate voltage is brought below the threshold, the electron current will disappear veryquickly in comparison to the hole current, which will decay slowly. The hole currentdepends on the stored carries in the drift region. Therefore, the IGBT transistor istoo slow if fast switching operations are required (Semikron).

3.2.2. Bond wire fatigueBond wire fatigue is the dominating cause for failures that can strike bond wires.Fatigue originates in thermal cycling of the chip where repeated flexure of the wire,repeated shear stress between bond pad and wire, shear stress between bond padand substrate and repeated axial stress in the wire.

3.2.3. Flexure of the wireWhen the wire is exposed to thermal cycling, it contracts and extends which causesthe wire to flexure. Stresses are induced at the heels of the bonds and initiallyproduces small cracks. These cracks grow as the thermal cycling continuous. Theheel area is the weakest part of the bond, this is due to the bonding process whenthe ultrasonic energy vibrations from the bonding tool attaches the wire to thebond pad. (Cracks can also be formed during the bonding process, more about thislater in this report). The first side of the bond is the one where cracks usuallyinitiate their growth, quickly followed by the second side. The difference in thethermal expansion coefficients between the substrate and the bond wire causes theflexure of the wire under operation. The wire can displace several µm causing thebending angle to change at the heel. Bond wires get heated up as soon currentare flowing through them, both in normal consumer operation of a product and inthermal cycling tests. During switching operations the current density is unevenlydistributed causing something known as a skinning effect. When the wire heats up,compressive stresses are built up at both sides of the bonds. During cool down,tensile stresses act on the bonds instead, causing initial cracks to propagate in thewire (Onuki et al., 2000). In IGBTs thick Al bond wires (diameter 300 to 500 µm)are used because of the high power applications, were high currents are normally

17

Page 36: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

present. The ohmic self heating of the wire in these IGBT devices are much higherthan in other electronics and therefore more flexure of the wires can be observed.A thicker wire induces more stress to heel area (Hu et al., 1991). The flexure ofthe wire will eventually result in interconnection failures because the wire will sufferfrom a breakdown. A way to mitigate the failures from the wire flexures in IGBTs isto have the proper loop height of the wire. A rule of thumb is that the loop heighthas to be 25% of the distance between the two bonds (Danielsson, 2000).

3.2.4. Shear of bond pad, wire and substrateThe bond pad is a very thin layer of metallization between the substrate and thebond wire. The purpose of having the bond pad is to have a intermetallic layerthat will even out the thermal mismatch of the bond wire and the substrate and toprovide good conductibility of current. An advantage for using the same material onthe bond pad and the bond wire is that no intermetallic compounds will be formedbetween them. Then it is basically shear stresses between the substrate and thebond pad. When the bond pad is made of a different metal than the bond wire,shear stresses arise both between the bond pad and the bond wire, and the bond padand the substrate. If the materials have large differences in their thermal expansioncoefficients, the stress at the bond wire heel is increased. The shear stress of thebond pad is in-plane stress (horizontal). The shear stress between the bond wireand the substrate increases if the bond pad is made thinner. An out-of-plane stress(longitudinal) acts on the substrate and the wire as well. For IGBTs with aluminiummetallization the stresses act on the Al-wires as well, since the pad is thin and coversthe entire chip surface.

3.2.5. Axial Tension of WireMicrochips that are encapsulated in plastic packages are filled with encapsulant.During thermal cycling axial tension in the wire can arise due to the difference inthermal expansion coefficients between the wire and the encapsulant.

3.2.6. Bond wire lift offBond wire lift off is a relevant failure in the electronic industry. The failure isdue to the thermal mismatch between the wire, bond pad and the substrate. Thedifference in the thermal expansion coefficients can be seen when a thermal cyclingtest is performed. The cracks that eventually lead to the lift off failure are initiatedat the tail of the wedge bond. When the wire heats up, compressive stresses are builtup at both sides of the bonds because the wire expands. During cool down, tensilestresses act on the bonds instead, causing initial cracks to propagate in the wire andnot at the boundary with the bond pad (Onuki et al., 2000). The bond wire willeventually lift off completely from the bond pad as a result of the crack propagation.Bond wire lift off occurs more easily if a bond wire is bonded to a Si-surface, as it

18

Page 37: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

has to do with greater differences in thermal expansion coefficients. Bond wire liftoff never occurs when Al-wires are bonded to Cu-lines, the thermal coefficients aremore equal in respect to each other and they do not experience large temperatureswings, which makes them more suitable (Ciappa, 2000). When a crack propagatethrough the Al-wire, it does it just above the bonding interface where the grain sizesof the Al-wire metal are very small. The grain boundaries between the grains are theweakest sites of the wire and this makes the rupture time shorter because there aremore ways for the crack to take. Bond wire lift off can occur if the bonding processis not optimized, that is not properly adjusted parameters. If the deformation is tostrong during the bonding process between the wire and the substrate/bond pad,the risk of bond wire lift off may increase. There are two ways of dealing with bondwire lift off failure on IGBT modules. The first thing that can be done is to mountmolybdenum-aluminium strain buffers on to the IGBT modules to eliminate thethermal mismatch between Al-wires and Si-substrate. The second thing that can bemade is to glue the bond wires with a polymer. This polymer consist of many layerswith different hardness and is painted directly after the bonding process. This slowsdown the bond wire lift off failure (Ciappa, 2000).

Figure 3.3.: Initiated cracks leading to bond wire lift off.

3.2.7. Bond wire heel crackingHeel cracking is not a common failure for IGBT modules, at least not for the moreadvanced types. This failure is however not that uncommon in the semiconductorindustry and it is worth to give a description of it. The ultrasonic vibration inducescracks in the heels during bonding. This has already been stated before in the flexureof the wire part. The main causes of bond wire heel cracking is often due to impropersetup of the parameters for the bonding equipment, movement of the bonding toolor that bonding tools are contaminated. Improper settings can make the heel areavery thin causing it to break more easily. Contaminated tools can damage the bondcreated, making it less reliable. Other causes that have an influence of the heelof the wire are: the bonding tool is to sharp heeled causing the heel area to beweaker, vibration of the tool during lift-up or to steep movement of the tool. More

19

Page 38: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

severe cracks than normally can in this way be induced to the weak heel area andthe consequences when thermal cycling is performed, is that the heel cracks andinterconnection failures occurs. Heel cracking can occur under normal operation aswell. The heel crack failure is dependent on the flexure of the wire and these twogo hand in hand. When the wire expands and contracts during thermal cycling thewire flexures and cracks propagate through the heel. If the loop formation of thewire is made to high, the motion and expansion that the loop make during thermalexpansion, will induce higher stresses to the heel. Therefore, it is important tominimize this type of motion. A 1 cm long wire can have displacement of 10 µm ofthe loop. This means a change of the bending angle with 0.05°(Ciappa, 2000) at thebond pad. Bond wire lift off normally does not occur when a wire is bonded to Cu-lines in IGBTs. However, if the temperature of the wire is dominated by ohmic selfheating, risk of heel cracking is increased. Asymmetric ohmic heating of multiplebond wires might increase the probability of bond wire heating in comparison tosingle bonds. Experiments show that heel cracking as a failure mechanism is slowerthan bond wire lift off for mounted power electronic modules, e.g. IGBTs (Ciappa,2000). A figure of a heel crack can be seen below, 3.4.

Figure 3.4.: Bond wire heel crack.

3.2.8. Life time estimationThe life time of a device during thermal cycling can be estimated with the Basquinequation.

N = CS−m (3.1)

Where N is the number of cycles to failure, S is the stress amplitude or stress range,C and m are specific material properties that are empirically derived random vari-ables with statistically distributions around mean values. The result can be plottedas a S −N curve. The estimation is good if the number of thermal cycles until fail-ure is > 104 and it is used in failure analysis. The equation predicts the number ofcycles to failure for a number of failure mechanisms. The stated failures: bond wireflexure (leading to bond wire heel cracking), shear of bond pad, shear of substrate

20

Page 39: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

and wire and axial tension of the bond wire, can all act simultaneously on the deviceduring thermal cycling and in normal operation. For every failure mechanism, thenumber of cycles to failure of the device can be predicted. An example is how manythermal cycles can be done until bond wire heel cracking occurs. The followingexpressions are derived in (Hu et al., 1991) and will be used in this section of thereport as well for explanation and estimation of life time. The life time dependson the temperature, the tensile and shear stresses, size of e.g. substrate, bond pador wire and material properties. The first failure mechanism to be explained is theflexure of the wire followed by the other failure mechanisms. The variable namesused have the same meaning in all mathematical expressions and will therefore onlybe described once. It is assumed that all deformations only are present in the elasticregion.

Flexure of the wireThe flexure of the bond wire induces stress to the weakest area of the bond, theheel. The mathematical expression for the stress that is caused by the flexure of thewire is presented. The tensile stress can be estimated as:

σ = 6Ewr

D

(L

D− 1

) 12

(2αs +

αs − αw

1− DL

)∆T (3.2)

Variables in the expression:

σ = Tensile stressEw = Modulus of elasticity of the wire material

r = Cross-sectional radius of the wireD = Half the length between the bondsL = Half of the bond wire lengthαs = Thermal expansion coefficient for the substrate (between the bonds)αw = Thermal expansion coefficient for the wire

∆T = Temperature change during operation

Figure 3.5.: Flexure of bond wire (Hu et al., 1991).

Shear of bond padThe shear of bond pad is in plane stress (x-axis) and the highest stress can be found

21

Page 40: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

at the ends of the bonded interface layer, distance lw in both directions from thecenter of the bond wire. The stress decreases towards the center of the bond pad(x = 0). Forces are built up because of the thermal mismatch between the materials.The deformation due to these forces can be estimated for wire and substrate. Thefollowing deformation expressions are presented:

Deformation of wire:dδw =

Pw(x)dx

EwAw

+ αw∆Tdx (3.3)

Deformation of substrate:

dδs =Ps(x)(1− vs)dx

EsAs

+ αs∆Tdx (3.4)

Variables in the expressions:

δw = Deformation of wireδs = Deformation of substrate

Pw(x) = Force acting on the wirePs(x) = Force acting on the substrate

Es = Modulus of elasticity of the substrate materialAw = Cross-sectional area of the wireAs = Effective cross-sectional area defined as: bs

Wp+Ws

2

vs = Poisson’s ratio for the substrate

Figure 3.6.: Resulting traction that act on each layer (Hu et al., 1991).

The shear stress have the following expression and is valid within the boundarieslw ≤ x ≤ lw.

τ =Gp∆T

bpZ

[(αw − αs)−

(αs − αp)

1 + (EsAs)/[EpAp(1− vs)]

]sinh(Zx)

cosh(Zlw)(3.5)

where

Z =

√Gp

bp

[r

EwAw

+(1− vs)Wp

EsAs

](3.6)

22

Page 41: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

And the variable explanations:

τ = Shear stress in the bond padGp = Shear modulus for the bond pad materialbp = Bond pad thicknessαp = Thermal expansion coefficient for the bond padEp = Modulus of elasticity of the bond pad materialAp = Cross-sectional area of the bond padWp = Bond pad widthThe maximum shear stress will occur at the critical point, which has already been

mentioned as being the distance lw from the center of the bond pad, that is whenx = lw.

τmax = Q∆T (3.7)where

Q =Gp

bpZ

[(αw − αs) +

(αs − αp)

1 + (EsAs)/[EpAp(1− vs)]

](3.8)

Figure 3.7.: Shear model of the shear of bond pad (Hu et al., 1991).

Shear of wire and substrateThe wire and the substrate suffer from shear stresses due to shear stress that affectsthe bond pad from the thermal mismatch. But, the shear in the wire and the sub-strate is also dependent on the longitudinal normal stresses that act on these two.The following expressions will give an ability to estimate the average longitudinalstress in the wire and the substrate:

Average longitudinal stress in wire:

σw =rQ∆T

ZAw

[cosh(Zx)

cosh(Zlw)− 1

](3.9)

Average longitudinal stress in the substrate:

σs =WpQ∆T

ZAs

[1− cosh(Zx)

cosh(Zlw)

]+

(αs − αp)∆T

(1− vs)/Es + As/(EpAp)(3.10)

23

Page 42: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

The variables in these expressions have already been defined. What can be seen isthat the maximum value for the longitudinal normal stresses σw and σs is at thecenter of the bond pad, that is x = 0. The longitudinal stress decreases to zerowhen moving towards the free ends (x → lw). With the expressions of σw and σs,the shear stresses for both the wire and the substrate can be estimated.

Shear of wire:τw(x) =

√1/4σw(x)2 + τ(x)2 (3.11)

Shear of substrate:τs(x) =

√1/4σs(x)2 + τ(x)2 (3.12)

In comparison to longitudinal stress, which has its maximum in the center of thebond pad, the shear stress will increase to some point away from the center. To findwhere on the interface layers the maximum shear can be found for both substrateand wire, the following differential equations are solved.

dτw(x)

dx= 0 (3.13)

anddτs(x)

dx= 0 (3.14)

The solution for the two equations are as follows where the maximum stress can befound. The first distance is for the wire

xw = (±)arc tanh

(Aw

r

)(3.15)

and the second distance is for the substrate

xs = (±)arc tanh

(As

Wp

)(3.16)

When the xw and xs are substituted into the equation 3.11 and 3.12 respectively,the expression for the maximum shear stress can be estimated as follows:

Maximum shear stress for bond wire:

τw,M =

r2

4Z2A2w

[cosh(Zxw)

cosh(Zlw)− 1

]2

+sinh2(Zxw)

cosh2(Zlw)Q2

12

∆T (3.17)

Maximum shear stress for the substrate:

τs,M =

[WpQ

2ZAs

(1− cosh(Zxs)

cosh(Zls)

)+

(αs − αp)

(1− vs)/Es + As/(EpAp)

]2

+

+Q2 sinh2(Zxs)

cosh2(Zls)

12

∆T (3.18)

24

Page 43: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

Axial tension of the wireThe axial tension of the wire is produced because of the different CTE between thewire and the encapsulant. One assumption that can be made however, is that thereis no slippage between the wire and the encapsulant. The forces that act on thewire and the encapsulant are therefore equal. This means:

Pw = Pe (3.19)

where the force acting on the wire is Pw and on the encapsulant Pe. The totaldeformation of the wire and the encapsulant should therefore be equal.

αw∆T lo +Pwlo

EwAw

= αe∆T lo −PeloEeAe

(3.20)

In this expression the lo is the length of the wire, Ee is the modulus of elasticity ofthe encapsulant and the Ae is the cross-sectional area of the encapsulant. The stressin the wire will be the following as shown in the next equation:

σw,axial = Ew(αe − αw)∆T (3.21)

Description of the life timeThe life time can be estimated by the Basquin equation 3.1. The expression can nowbe rewritten with the appropriate stresses that are given in the expressions above.

Ni = CiS−mii (i = 1, ..., 5) (3.22)

In the life time prediction the Ci and mi are correlated random variables and theydescribe the fatigue behavior of the bond wire materials. The variable mi is oftenconsidered to be a constant. However, the variable Ci is considered to be a Weibulldistributed or lognormal distributed random variable. The random variables aregiven C1 = C5 = Cw, m1 = m5 = mw for tensile stress and C2 = Cp′ , C3 = Cw′ ,C4 = Cs′ , m2 = mp′ , m3 = mw′ , m4 = ms′ for shear stress. The Weibull distributionis very suitable to use in failure analysis for a given stress level, because it describesa monotonically hazard function with time. Stress level variables are determinedby the failure mechanisms and from the expressions shown in this section, that isS1 = σ, S2 = τmax, S3 = τw,M , S4 = τs,M and S5 = σw,axial. The Basquin equation3.22 can be rewritten as life time as a function of probability and stress range:

Ni(p, S) = Ci(p)S−mi(p)i (3.23)

The expression 3.23 describes the Weibull distribution, but again, the variable mi

is a constant. The stress range at a critical point can be written as following:

Si = Hi∆T (3.24)

25

Page 44: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

The function Hi reflects the relationship between temperature cycles and stress cy-cles. Or more clearly, it can be seen how much the stress varies with one unit changeof temperature. The definition of the function Hi can be seen below:

H1 = 6EwrD

(LD− 1) 1

2

(2αs + αs−αw

1−DL

)H2 = Q

H3 =

r2

4Z2A2w

[cosh(Zxw)cosh(Zlw)

− 1]2

+ sinh2(Zxw)

cosh2(Zlw)Q2

12

H4 =

[WpQ

2ZAs

(1− cosh(Zxs)

cosh(Zls)

)+ (αs−αp)

(1−vs)/Es+As/(EpAp)

]2+ Q2 sinh2(Zxs)

cosh2(Zls)

12

H5 = Ew(αe − αw)

Hi is also of random character because, the variables in Hi can be seen as ran-dom. For example, the dimension of a bond wire may differ, the length is notalways the same, the distance between the bond pads can differ as well. Due tothese uncertainties in assembly and in material test data, statistical analysis mustbe done to accurately predict the life time. The mean value and variance (eq. 3.25and 3.26) of a multi-random variable function defined as Y = F (x1, x2, ..., xn) canbe estimated with a first order approximation as:

µY = F (µx1, µx2, ..., µxn) (3.25)

and

υY =n∑

i=1

υxi

(δF

δxi

)2

µxi +n∑

i=1

n∑j=1

δF

δxi

δF

δxj

Cov(xi, xj) i 6= j (3.26)

where µY , µxi and υY are mean values and variance of the random function andrandom variables. If the random variables are uncorrelated, the Cov(xi, xj) = 0and only the first term will be used for the variance. The accurate life time Weibulldistribution can now be predicted and the expression for the number of cycles cannow be written as:

Ni = Ci(Hi∆T )−mi (3.27)

A mean life time and the variance of the life time can be estimated for a specificfailure mechanism by the expression:

µNi = µCi(µHi∆T )−µmi (3.28)

with the variance:υNi =

(µNi

µCi

)υCi + mi

(µNi

µHi

)2

υHi (3.29)

A p-S-N curve (probability stress range and life cycle curve) can be drawn withinformation from the expressions. A mean value line is drawn together with lines forstandard deviation of fatigue life σN =

√υN . In this curve plot (figure 3.8) it can be

26

Page 45: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

seen that the σN increases when the stress range decreases. The Weibull distributioncurve can be drawn between the standard deviation lines with a maximum at themean value life time line. If a connection to the bathtub curve is made, the Weibullcurve starts in the wear-out phase of the bathtub curve.

Figure 3.8.: A S-N curve displaying probability stress range and life time (Hu et al., 1991).

3.2.9. Aluminium reconstructionAluminium reconstruction is an effect of compressive and tensile stresses that canbe found in the metallization layer between the Al-bond wire and the Si-chip on theIGBTs because of the thermal mismatch. This also appears in other microelectronicdevices that are built up in the same way, e.g. power MOSFETs. The aluminiumreconstruction can be seen after thermal cycling, specially after pulsed operations.The elastic limit can be exceeded in the Al-thin film and the stress relaxes in differ-ent ways. The deformations that arises as a result from the stress are of the plastictype, that is the material relaxes the stress by dislocation glide. Diffusion creepand grain boundary sliding are also defects that arise from the stress relaxations.Temperatures over 110 on the junctions during thermal cycling always deformsthe grain boundaries plastically and the effect is either extrusion or cavitation atthe grain boundaries. Aluminium reconstruction can also happen as a result frombond wire lift off, as a secondary effect. Where there are double bonds present thismay occur due to that one bond wire has suffered from a breakdown. This meansthat one bond wire has to carry all the current instead of two, causing an increasein the temperature due to ohmic self heating. The result is bond wire lift off anda reconstruction of the metallization film of the remaining bond. The aluminiumreconstruction causes the metallization film to increase the sheet resistance and duethis effect there will be a linear increase of VCE as a function of number of cyclesin the power cycling test. If a passivation layer is used the aluminium reconstruc-tion can be stopped and is an effective way of controlling and preventing the sheetresistance to increase (Ciappa, 2000).

27

Page 46: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

Figure 3.9.: (a) Emitter metallization layer before a thermal cycling test. (b) Recon-structed emitter metallization after 3.2 million thermal cycles (Ciappa, 2000).

3.2.10. Brittle crackingIGBT chips are made from many hard materials. They consist of single crystal Si,thin insulating layers and ceramic substrate. Brittle cracking occurs often wherethere is a present crack or some kind of damage and that the material suffers froma high concentrated stress from an external mechanical source at that location. Asa result, rupture of the material will occur. There is a failure cause called ultimatebrittle cracking, which means that no plastic deformation has occurred, but thedevice suffers from a rupture. The initial crack has a length that exceeds the criticalsize for cracks in that material. Critical size is of importance for brittle materials andit varies for the different materials. The brittle cracking failures can be observed aftermounting the device or when powered on. Cracks smaller than the critical size willpropagate through the material if stress is applied. The crack will propagate untilthe critical size is exceeded. If a crack propagates through the polysiliconoxide-layer(insulating layer) and causes a breakdown, short circuit will be the failure. Brittlecracking can be introduced into the device mainly from different process steps in thesemiconductor manufacturing. There are a number of different sources that causesbrittle cracking e.g. polysiliconoxide failure described in this part originates fromthe bonding process of the device. Bending stress can also be a source of brittlecracking e.g. when the device have a bowed base plate and is going to be mountedon to a completely flat heat sink. Extreme thermal shocks can also be a source ofbrittle cracking because of the fast thermal transient. In this case, the materials donot have the ability to deform plastically and the result are ruptures in the layers(Ciappa, 2000).

3.2.11. CorrosionCorrosion is nothing new in the semiconductor industry, as a matter of fact it isa well known problem. The corrosion affects aluminium easily, the native oxideAl2O3 passivates the metal with a thin layer and is formed immediately when thealuminium is exposed to normal air. Self passivation of aluminium occurs in wateras well and a layer of aluminium hydroxide Al(OH)3 is created around the metalinstead of Al2O3. The Al(OH)3 is amphoteric which means that it dissolves in bothstrong acids and strong bases. This exposes the metal under the passivation layer

28

Page 47: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

to further chemical reactions. As failures, corrosion of bond wires and bond padsmade of aluminium can be found. The corrosion is due to moisture in the packageor environment and from contaminants left from the processing steps of the semi-conductor. Corrosion appears as anodic and cathodic aluminium corrosion types.The anodic corrosion is derived from the contaminants in the form of halides (e.gchloride, bromide, fluoride) that causes the corrosion of the bond pad and the bondwire. The halides can be found in fluxes and are residuals from the manufacturingprocess to improve the wettability before soldering. The chemical formula for anodiccorrosion can be seen as follows (chloride contamination)

Moisture (water) is present together with the contaminant

Al(OH)3 + Cl− −→ Al(OH)2Cl + OH−

Aluminium chloride is formed

Al + 3Cl− −→ AlCl−3 + 3e−

The chloride dissociates and enters the solution

AlCl−3 + 3H2O −→ Al(OH)3 + 3Cl− + 3H+

Cathodic corrosion is not as common as the anodic corrosion in IGBTs, but canhave a significant roll if PSG (phosphosilicated glasses) are used for final passivationlayer. The PSG is doped with phosphor P and this can be a source of corrosionif the concentration of phosphor exceeds 5%. In presence of moisture (water), thephosphor will react with water and form phosphoric acid that corrodes the metal.Examples of other types of corrosion are as follows:

1. Bimetallic corrosion. Forms when there is a electrochemical potential betweentwo materials and the material that is less noble (anodic) will corrode.

2. Pitting corrosion. When passivation layer breaks down locally, the exposedsurface will act as the anode and the passivated areas will act as cathode.This type of corrosion is due to halide contaminants.

3. Stress corrosion cracking. Crack propagation within the material due to com-bined tensile stress and corrosion.

In IGBT packages there are a number of contamination sources that can influence onwhat type of failures that can occur. The modules are built up from different metalsand alloys and sometimes have to withstand big thermal gradients and mechanicalstresses. The packages are often filled with silicon gel. How the gel affects thecorrosion of bond wires and other active devices is not fully understood. Bondwire corrosion is correlated with mechanical stress, which can be seen from thermalcycling. Corrosion that affect bond wires is usually found at the grain boundariesof the bond, that is between the bond pad and bond wire. When the device is in

29

Page 48: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

operation, an increase of resistance will be at the wire bond interconnection (Ciappa,2000).

3.2.12. Inconsistent tailsInconsistent tails is one of the hardest failures to deal with in the wedge bondingprocess. It is also a very common problem in the industry. Inconsistent tails can beformed from a number of reasons. What could be said however is that if the tail isto short, much force is applied on to a small area. This means that the bond suffersfrom a harder deformation and that can lead to e.g. bond wire heel cracking. Thereasons for the inconsistent tails can be dirty wire path through the bonding tools.It can also be incorrect feeding angle of the wire. The feeded bond wire should havea low angle to the bond tool since this gives the best placement control of the bond.High feeding angle tools should only be used where it is really necessary. Otherpossible reasons are high tension of the wire or improper adjustment of the feed andtear mechanism (Lai and Liu, 2000).

3.2.13. CrateringFailures due to cratering are almost exclusively related to the bonding process. Veryoften it has to do with wrong parameters in the settings for the bonding equipment.The failures are not always visible because the bond pad may be intact (if the bondwire is not removed). The underlaying metallization layers and silicon layer can havesevere damages that can cause short circuits. High ultrasonic energies can inducefailures in the lattice of the Si. If bonding force is too high or to low, cratering mayoccur as a result. The best match is to have the bond pad and the wire made out ofthe same material and that the bond pad layer has a thickness of at least 1-3 µm.A harder wire will increase the chances of silicon crates during the bonding process(Lai and Liu, 2000).

Figure 3.10.: Cratering defect created when Al/Cu fibre-reinforced wire was bonded.

30

Page 49: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

3.2.14. Solder fatigue and solder voids in IGBTOne of the main failures that strikes IGBT modules is the solder fatigue betweenthe ceramic substrate and the copper base plate. The biggest difference in thermalexpansion coefficients can be found between these two. The shear strength forcesare also present at a relative large area. One important area that is not to beforgotten is between the Si-chip and the substrate where thermal fatigue stress alsomay occur. During processing, voids can be formed in the solder between the chipdie and the substrate and these voids can have a big impact on crack initiations andthermal flow. The voids in the solder significantly decreases the ability of leadingheat away from the chip die. If a big void is present, a large temperature gradientis built up around it. This means that the thermal resistance is increased. Severalsmaller voids have less impact than a larger one. An insidious problem with voidsis that even though they lower the heat transfer away from the chip, the currentdistribution is not necessarily lowered. During the solder process, vacuum ovensand cleaning processes are applied to avoid gases to be trapped and form voids inthe solder. The most popular solders used for IGBTs are the tin-silver, indium andthe tin-lead alloys. If tin-lead solder is used, intermetallic formations within thesolder will be formed. If a base plate made out of copper is used, a phase withintermetals of Cu6Sn5 is formed. During the solidification of the solder, another twointermetallic phases are created. The first one is a tin-rich phase and the second is alead-rich phase. Due to thermal aging the intermetallic phases coarsen. The copperrich phase is much more brittle than the other two phases and cracks can easilypropagate through that intermetallic formation (figure 3.11c). Between the copperbase plate and the ceramic substrate there is a thin layer of copper to provide theability to solder between the base plate and the ceramic substrate. The thermalmismatch is largest in this area and this is also where the most severe cracks areformed in the copper rich intermetallic phase. The maximum shear stress is to befound at the borders of the solder junctions, where the cracks are also initiated.In the mathematical expression below (Coffin-Manson), the number of estimatedcycles until failure of solder joints can be estimated.

Nf = 0.5

(L∆α∆T

γx

) 1c

(3.30)

In equation 3.30 the variable L stands for lateral solder joint size, ∆α means theCTE mismatch between the upper and the lower plate, c is the fatigue exponent,γ is the ductility factor, x is the thickness and ∆T is the temperature swing. Thevalues of γ = 1.1 and c = −0.49 are already estimated values for the above mentionedsolders. From the equation 3.30 it can be seen that if the solder joint size is reduced,the total thermal expansion is reduced and if the thickness is increased, the numberof cycles to failure will increase. This means longer life time. To decide which solderthat should be used and how to apply it is therefore very important. What is moreimportant is if the components are leadless or not. Leadless components can stress

31

Page 50: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

the solder beyond its yield strength, whereas leaded components with lower leadstiffness are much more reliable. Larger components can be a threat in reliabilityissues, because larger stress is built into the solder joint that is most further awayfrom the center of the component e.g. leads in the corners of QFP (Quad Flat Pack)components. The solder joint area is also of importance. A larger solder joint areafor this type of package reduces stress in the solder joint. However, a large solderarea is not always an option due to the dominating fine pitch mounting technologynowadays. Thermal mismatch is also a very important area to cope with. To largeCTE mismatches will be a threat to the reliability of the device due to high powerdissipation, specially for IGBTs (Ciappa, 2000).

(a) Smaller solder voids. (b) A large solder void. (c) Crack in solder betweentwo layers.

Figure 3.11.: Solder voids and solder crack (Janz, 2002).

3.2.15. Burnout defectsBurnout is a failure that occurs as a wear out or it can occur randomly as well.Burnout is often related to some kind of short circuit in the device. The device isuncontrollable with the gate voltage and eventually leads to the destruction of thedevice. The IGBT however, does not require current snubbering, as it will limit thecurrent. After the failure the current will increase with a rate of 10 kA/µs reachinga maximum of 100 kA. This means 100 MW as a peak power, which decays withina few hundred nanoseconds causing the energy to be dissipated through ohmic selfheating of the bond wires and the Si-chip. The device is, due to the high currents,immediately destroyed. Short circuits may occur from a number of reasons. If thedevice is operating beyond the safe operating area, which means that it is usedfor applications out of its specification, it will significantly shortens its life time andeventually cause a short circuit. The same thing may occur if the device often suffersfrom overheating causing a degradation of its thermal resistance. Another failurethat can cause short circuit is malfunctioning of the gate unit. A short circuitbetween the gate and the emitter can be introduced during the bonding process

32

Page 51: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3.2. Bonding failures and IGBT defects

by the bonding tool. If excessive force is applied to the gate during bonding, theSiO2 layer can be damaged. An important effect that can be related to the abovementioned reasons is the latch-up. This effect is not a matter of reliability, but arobustness issue. How well the device can withstand operations in the non specifiedareas. When latch-up occurs the voltage between collector and emitter collapses andcannot longer be controlled by the gate voltage. The latch-up is a low ohmic shortcircuit of the IGBT’s emitter, collector and gate (figure 5.10). The short circuitinternally of the IGBT can be explained that if the voltage drop exceeds 0.6 V overthe p emitter diffusion, the current is increased through transistor T1, the bipolartransistor T2 will enter the conduction state. The transistor T1 is in turn controlledby the MOS transistor current. During normal operation, the transistor T2 is in anon-conducting state. If the transistor T2 suddenly switches on, the current on T1’sbase will increase and the IGBT will regenerate this self-destructive process leadingto destruction of the device. Latch-up may originate as a wear-out mechanism inform of non-working cells within an IGBT or as bond wire lift off from the module.As stated in this section, the remaining bond wires will melt due to ohmic selfheating. Latch-up can be stimulated with high voltage power cycling tests (Ciappa,2000).

Figure 3.12.: Simplified circuit of an IGBT (Ciappa, 2000).

33

Page 52: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

3. Life time and reliability of Power Electronics

34

Page 53: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4. Experiments and simulationsTo have an ability of measuring temperature without making any contact of the chipsurface is preferable in power cycling tests. In this thesis work, the aim is to developa thermal control system during power-cycling tests using non-contact methods.The temperature of the Si-chip, mounted with bare chip substrate technologies,is altered by controlling the power dissipation in the tested device. The powerthrough the IGBT is dissipated through heat which can be measured using IR-sensors (Infra Red). To find the appropriate parameters for the control system, amodel is presented that represents an IGBT module. The IGBT model parametersmust first be estimated in order to be able to design a control system. In thefollowing sections, the experiments and simulations will be treated.

4.1. ModelingThe modeling of the IGBT module is done in a way were the IGBT is seen asa thermal system with a conduction and dissipation of heat due to high currentsand voltages. The model proposed describes the temperature with applied powerand heat loss to the surrounding environment from the module. The heat loss isdescribed by Newton’s law of cooling which can be seen in 4.1 below.

dT

dt= −k(T − Tamb) (4.1)

Where k is a positive constant, T is the temperature of the body and Tamb is thesurrounding temperature. The temperature is measured in Kelvin. From Newton’slaw of cooling, the physical model can be extended to cover the applied power toIGBT module. The IGBT is heated at a rate proportionally to the power appliedand cooled down proportionally to the temperature difference between the IGBTand the surrounding air. A new equation can be written from 4.1 as:

dT

dt= −k1(T − Tamb) + k2P (4.2)

where P = UCE× ICE is the electric power produced in the IGBT (power loss), UCE

is the collector-emitter voltage and ICE is the collector-emitter current. The k1 andk2 are proportional constants that have to be found for the model. The differentialequation 4.2 can be Laplace transformed and rewritten as:

sT = −k1T + k1Tamb + k2P (4.3)

35

Page 54: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4. Experiments and simulations

which givesT = G(s) (Tamb P )

′(4.4)

where G(s) is the transfer function

G(s) =

(k1

s + k1

k2

s + k1

)(4.5)

The solution for the differential equation in the time domain is the following:

T =k2

k1

P(1− e−k1t

)+ Tamb (4.6)

where T (0) = Tamb. The value of Tamb = 298 K, which means room temperature.The solution of the differential equation and its Laplace transformation are impor-tant, which will be more obvious in the section about simulation. When the modelis proposed, experiments can be done to find the unknown parameters. The ideaand inspiration to the proposed model can be found in (Glad and Ljung, 1989) p.143-144 which deals with a thermal problem. This model is only an estimation ofthe temperature of an IGBT.

4.2. ExperimentsThe experiments were made with six bonded IGBT modules. To be able to performthe experiment, a power cycling equipment was needed. This system was alreadybuilt at IMTEK and consists of a high power supply unit, a control unit with theability of simultaneously drive more IGBT modules when power cycling is performedand a OSX realtime operative control system that controls the power cycling andcollects data from the modules. The OSX control system is a card that is mountedinto a normal PC with its own developed software. The data that is collected bythe OSX system are values from measurements from the IGBT modules. On every

Figure 4.1.: Bonded IGBTs with glued PT-100 elements (blue components) on each sideof the chip.

36

Page 55: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4.3. Simulations

module, two PT-100 (resistive platinum structures) elements are glued on to thechip surface next to each other, that is one PT-100 on the left side and on the rightside (figure 4.1). For the experiment it means 12 PT-100 elements in total. ThePT-100 elements are calibrated and they have a resistance of 100 Ω at 0 . Anincrease of the temperature causes the resistance to be increased as well, with arate of 1 Ω ≈ 2.6 which is an overall value. The values that are measured andcollected by the OSX control system, are the temperature and the ability to detectfailures. These are then gathered and saved into file on the PC. The experimentsthat were made to the IGBT modules are sampled with a frequency of 2 kHz. Tofind the thermal characteristic of the IGBT, different step responses with the powercycling equipment were made. The voltage was held constant at 20 V while thecurrent was varied. The step responses made were:

• I = 10.5A.

• I = 21A.

• I = 31.5A.

• I = 42A.Experimental data that was collected by the OSX system, can be opened and readin MATLAB for analysis. From these collected data, it can be seen that the temper-ature on some modules is not the same over the same chip surface. The informationfrom the step response experiments will be used to build the model in MATLABand to be able to design an appropriate temperature controller.

4.3. SimulationsThe estimated values of k1 and k2 are derived through the least square method.∑

min k1,k2

(Test(t)− Tmeas(t)

)2

(4.7)

where Test(t) is the estimated temperature from 4.6 and Tmeas(t) is the value of thetemperature at time t in the experiment. The parameters k1 and k2 are derived forevery temperature that a PT-100 element measures, that is 12 values for k1 and 12values for k2 in one step response experiment. From the collected experiment data,a curve representing the model is fitted to every PT-100 element in order to findthe right model parameters. In figure 4.2 PT-100 element 8 and 12 are shown. Thefiles used for determining the parameters can be found in Appendix A. From thecalculations, mean values of k1 and k2 are derived with the following values:

k1 = 1.10788 (4.8)k2 = 0.81029 (4.9)

The k1 and k2 are used as the parameters for the model and to design the controller.In the next subsection the simulation models will be presented.

37

Page 56: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4. Experiments and simulations

(a) Step response from PT-100 element 8. (b) Step response from PT-100 element 12.

Figure 4.2.: Step responses from experiments (red crosses) with fitted model curve (bluecurve).

4.3.1. Design of controller in SimulinkThe model parameters for the IGBT characteristic for temperature behavior arefound. A model in MATLAB’s simulation program Simulink can be used to design acontroller. In Simulink, the system can be built up by blocks containing informationabout the model (IGBT) and the controller. The system also contains a block

Controller

voltage

System

feedback

referece signal

u (input signal to the model)

micro controller

Step

Scope

Output PI-reg

ref

Out 5

control

Out 4

time

Out 3

T_chip

Out 2

y

Out 1u

y

Tchip

G(s)

Clock

Figure 4.3.: The Simulink model in MATLAB of the control loop.

representing the temperature IR-sensor. As can be seen in figure 4.3, the overviewof the control loop is the following. The first block contains a step with an initialvalue of 25 to 125 and represent the reference signal to the controller. Thissimulates an immediate temperature rise to the system and it is connected to thesecond block, the controller. The controller’s output signal is a voltage which is sentto the third block, that represents the system (IGBT). From the third system blockthe temperature output can be read, and it also reconnected to the controller andforms the loop. The rest of the blocks that can be seen in the figure 4.3 are usedfor sending information to MATLAB’s workspace for plotting. Inside the system

38

Page 57: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4.3. Simulations

block, two other blocks can be found representing the actual IGBT and the IR-sensor (figure 4.4).

Chip ModuleIR SENSOR

2Tchip

1yIn1

y

Tchip

Temp measurement

Effect T chip

DCB Substrate

1u

Figure 4.4.: The system block in Simulink.

In the IGBT block (chip module block), an amplification factor with the value 60can be found which symbolizes the calculated amplification of the effect, P in theIGBT. The output voltage from the controller is multiplied by this factor and theresult is the electrical power dissipated through the IGBT (figure 4.5). The transfer

120°C / 1V

1T chip

In1

In2

Out1

DCB-Substrat

60

Amplification factor current control

25

Ambient Temp (*C)

1Effect

Figure 4.5.: The IGBT in Simulink.

function G(s) from 4.5 can be rewritten into a state space model. Inputs of the statespace is the signal from the controller and the ambient temperature of the IGBT.This can be seen as the two state space blocks in the DCB substrate block (figure4.6). The state space definition is the following:

x(t) = Ax(t) + Bu(t)

y(t) = Cx(t) + Du(t)

where the x(t) is the derivative. Translated to the IGBT model, u(t) is the inputto the system, x(t) = T (t) so, x(t) = T (t) and y(t) = x(t). The two state spacemodels that can be written for the IGBT are:

From controller

x(t) = −k1x + k2Py(t) = x

(4.10)

Ambient temperature

x(t) = −k1x + k1Tamb

y(t) = x

39

Page 58: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4. Experiments and simulations

P

Tamb

T = (k1/s+k1 k2/s+k2) (Tamb P)´

T1

Out1

x' = Ax+Bu y = Cx+Du

State space modelfor ambient

x' = Ax+Bu y = Cx+Du

State spacePower

Scope 4

2In2

1In1

Figure 4.6.: The state space blocks for IGBT.

In comparison to the definition of the state space, u(t) = P for the first expressionand u(t) = Tamb in the second. In both cases D = 0. The sensor block consistonly of a delay of the signal (figure 4.7). This is due to the characteristic of thesensor that does not "react" instantly on the change in temperature. Delay for thesensor is 80ms, which means that the temperature signal is delayed for that amountof time until it reaches the controller block. The delay is written as e−sL. When

Temperature

2Tchip

1y

Time Delay

1In1

Figure 4.7.: The sensor block.

the whole control loop was finally built in Simulink, the controller block had to bedesigned. The idea of which type of controller that should be used for controllingthe real system and to be used in simulations, was to choose a controller of the PID-family (Proportional-Integral-Derivative Control). The equation that describes aPID-controller in the time domain is the following:

u(t) = K

(e(t) +

1

TI

∫ t

t0

e(τ)dτ + TDde(t)

dt

)(4.11)

where u(t) is the control signal from the controller and e(t) = r(t) − y(t), whichmeans that the error e(t) is the reference signal r(t) minus the feedback signal(output signal from system) y(t). The expression in the Laplace domain can bewritten as:

U(s) = K

(E(s) +

1

TIsE(s) + E(s)TDs

)(4.12)

The choice was to implement a PI-controller (Proportional-Integral) to avoid deriva-tion of noise that may be consisted in the feedback signal from the sensor (Glad andLjung, 1989). To try to find the appropriate parameters of the PI-controller, the

40

Page 59: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4.3. Simulations

Ziegler-Nichols method can be used. The table of how to adjust the parameters canbe seen in table 4.1. In the first step the integral part is completely turned off and

Controller K TI TD

P 0.5K0

PI 0.45K0 T0/1.2PID 0.6K0 T0/2 T0/8

Table 4.1.: Ziegler-Nichols adjustment rules.

only the proportional variable is used. With only the proportional part included,the value is increased until the system oscillates with a constant amplitude. Whenthis occurs, the value is noted as K0 for the proportional variable and the periodtime (in seconds) for the oscillation as T0. The following values where found whenthe constant oscillation occurred:

K0 = 0.5

T0 = 0.315

From the table 4.1, the right values can be calculated for the suitable PI-controller.

K = 0.225

TI = 0.2625

The integral part is then calculated as:

K

TI

= 0.8571

In figure 4.8 the PI-controller model is shown. The proportional and integral parts

PI-controller

1

u (input signal to the model)

error_input

To Workspace

Scope 3

Scope 2

Saturation-K-

K/Ti

-K-

K

1s

Integrator1

Add

2

referece signal

1feedback

Figure 4.8.: The PI-controller block.

of the controller are added together and before the signal is sent to the system,it is tested in a saturation block. This is needed to prevent the output signal tobe to big. Another block that is in the integral part has also a saturation limit

41

Page 60: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4. Experiments and simulations

to prevent a phenomena called reset windup. The reset windup can occur if thereference signal is suddenly changed, from a low to a high value. The integral partis constantly integrated during a step and might reach a high value causing a timedelay when the reference signal eventually is lowered. The simulation results ofthe system can be seen in figure 4.9. PI-controllers with different integral values

0 1 2 3 4 5 6 7 80

20

40

60

80

100

120

140Reference, Sensor output and chip temperature signals (I = 0.8571)

Time (sec.)

Tem

pera

ture

(C)

SensorChipReference

Figure 4.9.: Simulation result of the PI-controller.

were also made to see the difference in the step responses. The values tested wereK/TI = 0.4286 and K/TI = 1.7143 and the following comparison can be seen inthe figure 4.10. However, to really get a good overview of the system stability, the

0 1 2 3 4 5 6 7 80

20

40

60

80

100

120

140Difference in step responses

Time (sec.)

Tem

pera

ture

(C)

ReferenceSystem I = 0.4286System I = 0.8571System I = 1.7143

Figure 4.10.: Differences in simulation results of the PI-controllers with different integralparts.

open loop characteristic can be plotted into a Bode diagram. In the Bode diagram,the amplification and the phase can be seen and it gives also valuable informationabout the gain margin and the phase margin. The open loop gain is written:

G0(s) = F (s)G(s) (4.13)

42

Page 61: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4.3. Simulations

where F(s) is the controller and G(s) is the system. The closed loop can be writtenas:

Gc(s) =G0(s)

1 + G0(s)(4.14)

The Laplace parameter s can be rewritten into the complex domain and a stabilityexpression can therefore be presented. The expression below describes a system,which self oscillates and remains at a constant amplitude, ω is the frequency.

G0(iω) = −1 (4.15)

This means that when |G0(iω)| = 1 (because Bode diagram only have absolutevalues or are expressed in dB). The argument is in this case: arg G0(iω) = −180.The phase margin φm is defined as the distance from the −180 level, at a frequencyωc where |G0(iω)| cuts the value 1 or 0dB in the Bode diagram once, and decreases.The frequency ωc is called the crossover frequency. Mathematically this is writtenas:

φm = arg G0(iωc)− (−180) (4.16)

The gain margin is defined as how much below the |G0(iω)| is from the value 1 or0dB when the phase curve cuts the −180 level and decreasing. The frequency wherethis occurs is called the phase-crossover frequency, ωp. Gain margin is written:

Am =1

|G0(iωp)|(4.17)

As a rule of thumb to be sure that the complete system will not have a chance tooscillate is to have φm > 45 and Am > 2 or > 6dB. Now that this theory hasbeen presented, the open loop characteristics of the system, including controller andIGBT but not the time delay, with different integral parts can be seen in figure 4.11.From the figure 4.11, it is clear to see that all open loop systems have a φm > 45

-40

-20

0

20

40

60

Mag

nitu

de (d

B)

Bode Diagram. Open loop gain

Frequency (rad/sec)10

-110

010

110

2-180

-135

-90

Pha

se (d

eg)

System I = 0.4286System I = 0.8571System I = 1.7143

Figure 4.11.: Bode diagram for the open loop system with different integral parts.

43

Page 62: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4. Experiments and simulations

and all three have a Am = 25dB, which applies with the rule of thumb. From theopen loop systems, the interesting closed loop systems can be seen in the followingfigure 4.12. What is important (not to forget) in the closed loop system, is that

-30

-20

-10

0

10

20

30

Mag

nitu

de (d

B)

10-1

100

101

102

-180

-135

-90

-45

0

45

Pha

se (d

eg)

Bode Diagram

Frequency (rad/sec)

System, I = 0.4286System, I = 0.8571System, I = 1.7143

Figure 4.12.: Bode diagram for the closed loop system with different integral parts.

there is a delay in the feedback signal to the controller. Delays have a negativeinfluence on the phase margin because they produce negative phase shifts. Thismeans that the feedback signal in comparison to the normal output must be writtenGdelay(s) = G(s)e−sL, where L is the time in seconds for the delay. The affections ofthe delays can be seen in figure 4.12 as the φm has decreased in comparison to theopen loop system without delay. A delay does not produce a change in the gain orin the crossover frequency, however, a decrease of the φm is normally the case. Thephase margin change affected by a time delay can be expressed as:

φdelaym = φm − ωcL (4.18)

Of course, by the design of the controller using Ziegler-Nichols method the time delaywas included into the model. To characterize the closed loop system it is often spokenin the terms of bandwidth, ωB. The bandwidth defines the frequency for which theamplification of the output signal is decreased by −3dB or |G(iω)| = 1/

√2. In the

bandwidth, the system will be able to follow the reference signal in a good matter.It can also be noticed that all the closed loop systems have a resonance peak Mp

occurring at a specific frequency called the peak frequency ωp. At ωp the outputsignal of the system will be amplified the most, which can be a problem if the gainis very high. Ideally, one would want to have a system that fully reproduces thereference without modifications, that is always to have the curve on value 1 or 0dB.In figure 4.12 it can also be seen how the value of the integral part of the controlleraffects the output from the system. Higher values on the integral causes higher peaksand a matter of stability issues on the phase. Even though it is not really an issuein this case. The controller with the highest Mp value is not recommended however,

44

Page 63: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4.3. Simulations

due to its high gain at the ωp frequency. As a conclusion, one of the two others leftare much safer to implement in a controller for the given system. The Bode plotsof the closed loop systems, including the time delay, represents an approximatedtime-discrete variant of the system with a time-discrete (digital) PI-controller.

4.3.2. Otto-Smith controllerAn Otto-Smith controller was made and simulated to test how this type of controllercould be used in a system G(s) as the above one. The Otto-Smith controller is usedin systems that have time delays e−sL, as the system in this thesis work. With thistype of controller, the delays can be more or less eliminated, although this is reallynot entirely true because there will always be deviations in the model comparedto the real system. The Otto-Smith controller is mainly used due to its ability ofpredicting future values, without having a derivative part as in an ordinary PID-controller. Instead, the complete outside system is implemented in the controllerand the output signal from the controller and the knowledge of its effect on thesystem is used for future prediction. In such a manner the delay is eliminated. TheOtto-Smith controller can be seen i figure 4.13. The controller block in the Otto-

Otto-Smith Controller

1

u (input to the system)

Subtract

Scope 4

Scope 3

Scope 2

Saturation

u y

Model withoutdelay

u y

Model withdelay

-K-

K/Ti

-K-

K

1s

Integrator1

Add1Add

2referece signal

1feedback

Figure 4.13.: The Otto-Smith controller.

Smith controller consists of the ordinary derived PI-controller from section 4.3.1.The transfer function of the controller can be written as:

FOS =F

1 + (1− e−sL)FG(4.19)

The total closed loop for the Otto-Smith is the following:

GOSc =FG

1 + FGe−sL (4.20)

45

Page 64: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4. Experiments and simulations

The step responses of this system show better performance in comparison to thePI-controller which can be seen in figure 4.14 with almost eliminated overshooting.The Otto-Smith is a interesting controller to use in delay environments, howeverno further investigation of the Otto-Smith controller in this thesis work will beperformed.

0 1 2 3 4 5 6 7 820

40

60

80

100

120

140Reference, Sensor output and chip temperature signals for Otto-Smith Controller

Time (sec.)

Tem

pera

ture

(C)

SensorChipReference

Figure 4.14.: Simulation result for the Otto-Smith controller.

46

Page 65: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermalcontroller

When the simulations were done, the right controller parameters were found andboth the open loop and the closed loop system were plotted in Bode diagrams forstability analysis. From the Bode diagrams, the conclusion was made that two ofthe controllers were suitable for implementation, that is the controllers with inte-gral parts I = 0.4286 and I = 0.8571. A sampling frequency of 100 Hz for thethermal controller in a power cycling application can be seen as enough becauseone temperature cycle is not particulary fast, from seconds to 30 minutes is notunusual depending on what application is going to be tested. An explanation of thecontroller’s operation and how it was designed will be given in this chapter.

5.1. HardwareThere are many ways to implement a thermal controller to be used in power cycling.Research was made to find suitable hardware for building a thermal controller withthe respect to the power cycling equipment. The biggest difference from the simu-lated system is that the signals in the Simulink model, reference and sensor signal,are in form of temperature. For the real controller, those signals are going to bevoltages. This means that a A/D-conversion must be made at some point before thecontroller can calculate the right output value. Further, another difference is thatthe simulated model only calculates the output for one system, that is one IGBTmodule. Preferably, one would like to control the temperature of several IGBTsduring the thermal cycling. The hardware can be seen as the following figure 5.1below. How the hardware is intended to work can be described from the picture as:

1. The reference signal (voltage) is read and converted by A/D conversion intodigital format.

2. The sensor signal (voltage) is converted using A/D conversion to digital format.

3. The controller calculates the proper output signal (voltage) that is going tobe sent to the IGBT.

4. IGBT responds with increasing the current (higher power=increase in temper-ature) or decreasing it (lower power=decrease in temperature).

47

Page 66: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

5. The IR-sensor measures the IR-radiation, which means that an increase oftemperature is an increase of radiation from the IGBT.

6. A voltage representing the temperature is sent from the sensor to the controller.

7. The control loop starts over again running at 100 Hz. This means that thecontroller is sampling, calculating and setting the proper output voltage 100times per second.

PI-controller(Thermal control unit)

Sampling frequency 100 HzChip Module (IGBT)

IR SENSOR

1

Temperature (C)

Temperature (C) (measured)Sensor Voltage (V)

Temp measurement

AnalogInput

Power cycling equipment

Reference voltage (V)

Sensor voltage (V)

Output voltage (V)

Microcontroller with additional hardware

Effect (P) [P=V*I] Temperature (C)

DCB Substrate

Figure 5.1.: Hardware for the PI-controller.

The hardware that was considered suitable for implementing as a thermal controllerfor power cycling was a microcontroller from the company Microchip. These pro-grammable microcontrollers are used in many types of applications around the worldand are relatively friendly to use and reliable. The choice of which microcontrollerfrom Microchip to use, fell on a ordinary 40 pin connection DIP (Dual In Line Pack-age) version of the PIC18F452. The motivation of this choice can be given that thismodel has already built in A/D-conversion capabilities with a resolution of 10-bits.The PIC18F452 has also a relatively big program memory. During the thesis work,two thermal controllers were made. The first one was made due to the simplicityof verifying that a PI-controller could successfully be implemented in the designedthermal control system. The second thermal controller was the final developed sys-tem. In this section, the hardware used for each system will be specified. Both of thesystems were built on PCBs (Printed Circuit Board). Tests were performed beforethe implementation on a PCB was made. The tests consisted of small programs totest the functionality of the microcontroller. Additional program and debugger unitfrom Microchip was used for the microcontroller.

5.1.1. Hardware, prototype unitAs been mentioned above, the first system built was to test the functionality and forverifying that a thermal control system could be implemented. The hardware designfor this system was first made by hand with pencil and paper to draw a schematic

48

Page 67: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5.1. Hardware

overview of the system. Designing the system was made out of recommendationsfrom the data sheets for the components used to built up the control system. Thecomponents used for realizing the first thermal control system can be seen below.

• Microchip PIC18F452 with 40 pins. DIP-40 package size

• 12-bit DAC (Digital to Analog Converter) AD5320 6-lead connection and SOT-23 package size.

• TTL-Oscillator with a frequency of 4 MHz. DIP 14 package size.

• IR thermopile sensor from PerkinElmer model A2TMI 334-L10.6 OAA300 withsmall field of view.

• MC14067B Analog Multiplexers/Demultiplexers is a 16 channel multiplexer/demultiplexerwith 24 pins. Package size is DIP-24.

• Single port modular jack with 6 contacts.

• A reset button with surface mounted contacts.

• Two three pin connectors are used for reference and the sensor voltage input.From the reference connector the supply voltage and ground were providedfor the circuit. The sensor connector provides the sensor signal and supplyvoltage and ground to drive the IR-sensor.

• A two pin connector for the output signal from the circuit to the IGBT withprovided ground signal.

• Two diodes to indicate operation of the circuit.

• Passive components in form resistors and capacitors.

The thermal control system was designed in CAD-program called TARGET 3001.The finished schematic drawn in this program for this circuit can be seen in figure5.2 and the layout extracted from the schematic can be seen in Appendix B. Tocomment some of the connections in the schematic 5.2, the modular jack (K2) andits connections are needed to be able to program the microcontroller. The 33 kΩresistance is a pull-up resistance to clear the microcontroller during programming,which is performed on the pins 39 and 40 on the microcontroller (Microchip, 2005).From the description above of the thermal control system, it can be seen that theoutput from the controller to the IGBT must be a voltage. The PIC18F452 doesnot have a D/A output that directly translates calculated values to voltage. Toovercome this problem, a 12-bit DAC was implemented. The PIC and the DACcommunicate over SPI (Serial Peripheral Interface). Usually SPI only requires threelines to establish a communication between two devices, that is pin 18 (RC3/SCK)synchronized clock, pin 23 (RC4/SDI) SPI data in and pin 24 (RC5/SDO) SPI dataout on the PIC. The advantages with SPI is that it is a synchronized protocol, which

49

Page 68: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

Figure 5.2.: Schematic for the prototype unit.

means that the data is clocked along with the clock signal (SCK). Even if the rateof the clock signal for some reason changes, the data rate will still follow the clockrate. Data will not be disrupted. SPI is a data exchange protocol, one byte at thetime is sent and received at the same time. This means that when data is shifted outfrom the SPI-register in the PIC, data is also shifted in into the same SPI-register.The SPI can be driven i different modes, for the thermal control application it willbe set in a master-slave mode. Master-slave mode means that only one device hascontrol over the clock signal, in this case the PIC, and the DAC is a slave device.A modification to the SPI communication has to be done, because the PIC doesnot have to receive any data. Therefore the pin 23 (SDI) is set to ground and theonly information that will be shifted in will be zeros during SPI communication. Toinitialize communication with the DAC, an enable signal has to be sent to the DACfrom pin 18 on the microcontroller before SPI communication is initiated. As seen inthe list of what components are used, it can be seen that the DAC has a resolutionof 12 bits. This means that two bytes has to be sent to the DAC to get a voltage asan output from it. Inside the DAC, there is a 16-bit shift register. The two MSBs(Most Significant Bit) are "don’t care" bits and does not have any affection whenshifted in. Bit 12 and Bit 13 defines the operation of the DAC, for the operationrequired in this thesis they will be set to zeros which means normal operation. Bit0 to bit 11 are the data bits that defines the voltage output from the DAC (Devices,2005). The output can be calculated as:

Output(V ) =5

4096× x where 0 ≤ x ≤ 4095 (5.1)

50

Page 69: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5.1. Hardware

The multiplexer is used on this thermal control circuit to test the ability of how ananalog multiplexer device would work together with the rest of the system if moresensors were to be connected. The first system is only going to have one sensorconnected, only one channel on the multiplexer will be active at the time.

The IR-sensor from PerkinElmer has a very narrow field of view, 5°. A nicelycovered area of the IGBT chip can therefore be measured without disturbances fromneighboring objects. Of course, a proper height to the IGBT must be consideredto be able to cover the wanted area. From the data sheet of the sensor it can beseen that a temperature of 0 represents an output voltage of 1.156 V from thesensor. The maximum output voltage from the sensor is 4.552 V and this representsa temperature of 300 . A nonlinear expression of how the temperature of an objectcan be calculated from the output voltage of the sensor is seen below (5.2).

Tobj[] = −3.457305V 6 + 62.22643V 5 − 456.30473V 4 + 1747.6987V 3 −−3709.987V 2 + 4250.26V − 1961.62 (5.2)

This expression has been derived by the manufacturer of the sensor (Sequeira,2005). Inside the sensor there is a circuit that compensates the ambient temperatureto ensure proper object measurement. For the power cycling tests in this thesis,the range of the temperature will be from ambient temperature (25 ) to around150-160 , which translated is a range between 1.2 V to 2.0 V of output voltagefrom the IR-sensor. From this information, it would be wise to adopt the referencevoltage from the power cycling equipment to be into the same range. This is possiblebecause the power cycling is controlled by a computer that can specify voltage range,period time for one power cycle and data collection from power cycling tests. Themicrocontroller has to be set up to have a nice resolution when reading the analogsignals. An upper boundary for the maximal range can be set in where the A/Dconversion should take place. This is done with voltage splitting, enabling 2 V tobe set as the maximum voltage on pin 5 for A/D-conversion on the microcontroller.The range is now set to be 2 V, as the lower boundary is set to ground, meaningthat the 10-bit A/D-conversion is restricted into that specific area. Resolution iscalculated as:

Re =V oltage range

210 − 1=

2V

1023= 2mV/bit (5.3)

How the developed software for the first thermal controller operates can be readin the software section of this report. The layout of the prototype was used formanufacturing the first PCB for the thermal controller with a size of 100× 85 mm.Below, a figure (5.3) of the prototype unit is shown.

51

Page 70: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

Figure 5.3.: A photo showing the prototype unit of the PI-controller.

5.1.2. Hardware, final systemThe second system developed was an improvement in comparison to the first one. Anew development of the thermal control system started as soon as analysis showedthat the operation of the prototype was correct. The lack of the first system wasthat no information could be obtained during operation, except through the twodiodes indicating that the controller is working. Interesting information that couldbe valuable to monitor during a power cycle could be the temperature of an IGBT,voltages from the sensors and controller parameters. To realize a system that couldprovide this interesting information, a LCD-display was added. Instead of onlyhave an ability of controlling one IGBT, the controller was redesigned to handletwo IGBTs. The purpose is to sample, calculate and control two IGBTs at 100Hzin comparison to the prototype, where only one IGBT had to be controlled. Theupdated component list for the new controller can be seen below.

• The same microcontroller as on the prototype, PIC18F452.

• Two 12-bit DAC AD5320 6-lead connection and SOT-23 package size are usedinstead of one.

• A two pin crystal oscillator running at 10MHz.

• Two PerkinElmer IR-sensors A2TMI 334-L10.6 OAA300.

• Two MC14067B Analog Multiplexers/Demultiplexers, same model as on theprototype controller.

• A 4×20 Dot-Matrix LCD display from Electronic Assembly, model EA 204B-NLW.

• Single port modular jack with 6 contacts.

• A reset button with surface mounted contacts.

52

Page 71: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5.1. Hardware

• Three connectors with three pins. One more connector is added because twoIR-sensors are now used. Connection configuration the same as for the proto-type.

• Two connectors for the output signals from the circuit to the IGBTs withprovided ground signal. Two pin connectors.

• Two diodes to indicate operation of the circuit.

• Passive components in form resistors and capacitors.

• CMOS Voltage reference REF3020 from Burr Brown with a SOT23-3 packagessize.

Figure 5.4.: Schematic for the final unit.

The new thermal controller has some new features, and of course the biggest dif-ference is the added LCD display. In the schematic 5.4 it can be seen that almostall pins on port B on the microcontroller (pin 33-40) except pin 36 is needed fordriving the display. The LCD can be chosen to work in a 8-bit or 4-bit mode. Theconnector on the schematic is numbered in the same way as the connections on theLCD (Electronic Assembly, 2005). The LCD will be driven in 4-bit mode, wherepin 37-40 represents the data connection, referring to the 4-bit mode. Pin 33-35connects to the register select (RS), read/write (R/W) and to the enable signal

53

Page 72: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

respectively. The enable signal for the DACs is sent from pin 18 on the microcon-troller, but for the new system it is de-multiplexed through a MC14067. The enablesignal is connected to the common in/out (pin 1 on the multiplexer) and in turnconnected to the DACs from pin 8 and pin 9 respectively from the multiplexer. Inthis case, one DAC is enabled at the time in order to get the proper value from themicrocontroller. The (SCK) and (SDO) connections are shared between the DACs.On the second MC14067, the sensor voltages are multiplexed in to the controller.Both multiplexors share the same channel switching connections.

The three resistors mounted on the prototype PCB that provide the upper limitfor the A/D-conversion, were changed in favor for a cmos voltage reference as an in-put on pin 5 on the PIC. An explanation for this change is that the voltage referencedevice can hold a constant voltage better and without disturbances in comparisonto a voltage splitting made by resistors. The output voltage of the voltage referenceis 2.048 V and can vary ±0.2% (from TI, 2003). Due to the many changes made, alarger form factor for the PCB is used, 160× 100 mm.

(a) The final system (top). (b) The final system (side).

Figure 5.5.: Photos showing the final system during operation.

Figure 5.6.: The 4× 20 Dot-Matrix LCD display.

54

Page 73: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5.1. Hardware

5.1.3. SensorsIn the hardware description above the sensors where said to be made of thermopiledesign. A thermopile is build up from two types of materials, where one end isattached to an absorber and the other two free ends are connected to a voltagemeter. The two materials are called a thermocouple. The absorber will pick upheat from the object that emits the IR-radiation, due to this the both materialswill be heated. This causes one material to be colder than the other one becauseof the difference in material properties between them. The temperature differencebetween the two materials will cause a potential to be build up, and a voltage canbe detected (5.7). With semiconductor technology, the thermopile sensors are built

Figure 5.7.: A thermocouple (Schiltz, 2000).

up with around a hundred thermocouples. The thermocouples are made out of Siand Al and they a placed in the center of a membrane which is made from a highlythermoresistive material. Over the thermocouples and the membrane, the absorberlayer is deposited and it is made from a material with high absorption coefficientfor a specific IR-region (figure 5.8). The voltage created by the thermopile is in the

Figure 5.8.: A semiconductor made thermopile (Schiltz, 2000).

millivolt area and is therefore amplified and processed by ASIC circuitry. For thesensor model used in the thesis, the ambient temperature compensation is realizedwith the help of the ASIC. On the top of the sensor is a Si lens mounted to preventthe portion of IR-radiation that is reflected back, to be trapped inside the sensor.In the datasheet for the PerkinElmer IR-sensors A2TMI 334-L10.6 OAA300 sensors

55

Page 74: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

Figure 5.9.: The thermopile sensors used in the thesis (Sequeira, 2005).

(figure 5.9), the test conditions and calibration for sensors were made with an objectthat had 99% emissivity, nearly a black body (Sequeira, 2005). A blackbody absorbsall incoming radiations and for a specific temperature it would emit maximum energypossible for that temperature. The blackbody will emit in all wavelengths, but willhave its maximum at a peak wavelength. The radiation intensity is the highest atthis peak. Depending on the temperature, the peaks are usually situated in the infrared or visible light spectrum. Therefore, the radiation intensity curves are differentfor different temperatures. The equation 5.2 was simplified with MATLAB to thefollowing expression:

Tobj[] = 151.1V 3 − 860.3V 2 + 1737.4V − 1092.5 (5.4)

What is important to know is that the expression 5.4 is only valid from 1.2 V to2.0 V. The purpose of the simplification is to decrease the calculation time for thePIC, because of the floating point operation. In figure 5.10 both equation 5.2 and5.4 are plotted and it can be seen that the simplified equation approximates thereal equation very well. Another expression was derived as well when the prototypesystem was tested. In that case, two PT-100 elements were attached to an IGBTmodule in order to verify that the sensors were measuring the proper temperature. Itturned out that the sensors were only measuring half the temperature in comparisonto the PT-100 elements. The cause of this phenomena can be derived from the shinysurface of the IGBT-chip. A shiny surface does not emit radiation energy well, only0.05 up to 0.2 that is 5 to 20% of a blackbody (Schiltz, 2000). To overcome thisproblem, a re-calibration was made and a new expression was found with the help ofMATLAB. In MATLAB, the 11 values from the measurements made with the PT-100 elements and the sensors were implemented and a new expression was derived:

Tobj[] = 147.5V 3 − 1272.3V 2 + 3083.3V − 2123.3 (5.5)

56

Page 75: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5.2. Software

1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2-20

0

20

40

60

80

100

120

140

160

Voltage (V)

Tem

pera

ture

(C

)

Temperature as a function of voltage

Original3rd grade2nd grade

Figure 5.10.: Simplified equations plotted together with the original. Equation 5.4 is thered curve and 5.2 is the green curve. An approximation with a second degree equationwas also done in order to find the most simplified expression. However, this expressionwas not chosen.

This was implemented in the prototype program as the "voltage To temperature"function. The range where this expression is valid is the same as the above one. Theexpression 5.4 was implemented for the final system and the explanation for this isgiven in chapter 6.

1.25 1.3 1.35 1.4 1.45 1.5 1.55 1.6 1.65 1.720

40

60

80

100

120

140

160

180

Voltage (V)

Tem

pera

ture

(C

)

Temperature as a function of voltage

Measurement curve3rd grade

Figure 5.11.: Plot of the re-calibrated expression 5.5 with the 11 measurement values.

5.2. SoftwareA PIC must be programmed in order to perform the tasks it was intended for. Theprogrammer and debugging unit that was used to program the PIC, was an ICD2device from Microchip. To develop a PI-controller software, ideas and theory from

57

Page 76: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

a book by (Glad et al., 1999) was taken. The integral part of the PI-controller hasto include the sampling period time in order to be calculated properly. The satu-ration blocks found in the model figures from Simulink of the PI-controller, mustalso be implemented in the program to prevent the output signal becoming to bigand occurrence of reset windup. Preventing reset windup, conditional integration isused (Glad et al., 1999). In order to have a constant sampling frequency of 100 Hz,timers within the microcontroller have to be used to ensure that the period timeis held at 10 ms. This was verified in the debugging step when the programmingphase was finished by reading the timer values from the registers in the microcon-troller. Debugging with the ICD2 device is done in real time, by stepping throughthe program code manually. Breakpoints are set in the code to define where theprogram should halt. To test the program in this way before running it normallyis very recommended since most programming failures can here be corrected at anearly stage. In this section, only the program for the final system will be explained,since it is a further development of the prototype program. Program source codescan be found in Appendix C.

The final system uses a 10 MHz crystal as the system clock. However, by usingthe internal PLL-circuit (Phase Locked Loop) in the microcontroller, the frequencyis boosted to 40 MHz. The timers in a microcontroller run at 1/4 of the speed of theclock. But, the timers can be slowed down even more with the help of prescalers.In the program, two timers are used, Timer0 and Timer1. The Timer0 controls theLCD-messages that are going to be written on the LCD. Every eight seconds a newmessage is written and the LCD is updated, but every second the animation runson the last row. Timer1 controls the sampling frequency. If the timers overflow,two interrupt routines are written to take care of the overflows. In fact, the LCD-messages and the animation is controlled due to that Timer0 throws interruptsevery second. Timer1 interrupt is only a security routine if the control loop periodtime would exceed 10 ms, the routine resets Timer1. The calculated frequencies ofthe timers can be seen below, for both timers maximum prescalers were used. ForTimer0 it is 256 and for Timer1 8. Timer0 and Timer1 are represented each as16-bit registers in the microcontroller. Maximum values for both registers are 65535before an overflow occurs.

fTimer0 =40× 106

4× 256= 39063 Hz

fTimer1 =40× 106

4× 8= 1.25 MHz

Therefore, it can be seen how many times the timers have to count during one sec-ond. Timer0 would throw an overflow after 1.67 seconds and Timer1 after 52 ms.However, the initial value for Timer0 is set to 26472 (65535-39063), insuring that anupdate of the display will occur for every second. Timer0 is stopped before everyA/D-conversion and SPI-communication is going to take place for the purpose ofnot throwing any interrupt in those important steps of the program. The update

58

Page 77: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5.2. Software

will of course not be exactly every second due to stopping Timer0, but it can beapproximated to nearly one second. Timer1 counts till 12500 which means 10 ms,this is the time that has to be constant for the control loop. This means that whenall A/D-conversions, calculations and D/A-conversions are done by the program,the program will wait until the timer value will reach 12500. The simplified expres-sion that translates sensor voltage to temperature is implemented as a function andcalled every time a translation has to be made. But that is not the only transfor-mation made, the value from the A/D conversion is scaled to voltage representationby the value from 5.3 before any other operation is made. The output value that isgoing to be sent to the DAC is also scaled from a 10-bit value to a 12-bit to suit theDAC in order to get to desired output voltage. The flowchart for the program canbe seen found in Appendix D, but below follows a description of the program.

The first thing that the program will execute are the preprocessor directives, wherethe base configuration for the PIC is given and standard C header files are imported.The definition header file for the specific microcontroller, PIC 18F452 and the driverfile for the LCD display, LCD420.h are also imported. The interrupt routines aredefined before the main function of the program. All variables (including the globalones) are initialized with the value 0 except for the variables finished, change andscroll which are given the initial value true. The variables at the beginning of themain function are later given proper values before the control loop as well as pin di-rections, A/D-conversion, timer configurations and SPI-communication properties.The A/D-conversion uses the internal clock and the SPI-communication uses thehighest possible synchronization clock for communicating with the DACs. The SPIclock is running at a fourth of the internal frequency, that is 10 MHz. The LCDis initialized and the function lcd_init_cg() defines the characters that are goingto be used for the animation on the LCD. The function can be found in the fileLCDFUNC.H which is included into the main file. In the control loop, the LCD iscleared at the beginning of the loop every time the condition for the variable changeis satisfied. The control loop is divided into three major blocks. The first two blocksare identical with only differences in some variable names and they are controllingone IGBT module each, channel one and channel two. The last block contains themessages that are written on the LCD. At the beginning of the control loop, Timer1is set to 0 and a condition is tested in order to clear the display before the controlalgorithms are performed.

The two control blocks are performing the same the control operations for eachIGBT and their control algorithm is the same. Therefore only one description isneeded. Below, the steps will be given for how the PI-controller was realized.

1. Variable sensor and reference are set to 0 before A/D-conversion starts. Also,Timer0 is stopped and the value from Timer0 is saved. A/D-conversion isfirst performed for the reference signal. Before the variable reference can begiven the value read from the A/D-conversion, a delay of 12 µs is necessary.

59

Page 78: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

This is due to the charge holding capacitor in the A/D circuitry of the micro-controller, to be able to fully charge to the input voltage level. Also, beforeA/D-conversion channel is chosen, a delay has to be inserted.

2. After the delay, the proper channel on the multiplexer is set in order to readfrom either sensor one or two. At the same time, the multiplexer for the enablesignal to the corresponding DAC is also set and prepared. A/D-conversion forthe sensor is made and saved in the sensor variable after the 12 µs delay.

3. The Timer0 is enabled again with the temporary value that was saved be-fore the A/D-conversions. Reference signal and sensor signal are convertedto voltage values by multiplying with the value from expression 5.3. A lowerbound for the reference voltage is defined, because of the voltage to tempera-ture function that is going to be used. This is due to that any voltage valuebelow 1.156 V means minus degrees (). For power cycling, any value below1.156 V is not of any interest.

4. The sensor and reference signals are converted to temperature representationby the voltageTotemperature function.

5. From the temperature conversions, the error signal is created as the differencebetween the reference and sensor signals. Now the static error and the integralpart can be calculated. The integral part has the sampling period included inthe variable constant and is also dependent from old integral values. Initialvalue for old integral part is set to 0 the first time the loop is run.

6. Before the output signal is calculated, the integral part of the controller istested conditionally to prevent the reset windup effect. In this case, the integralpart is only allowed to be 0 ≤ Innewchx < 2.5 where x = 1, 2. WhereInnewchx is the integral part and it is dependent on the old integral valueInoldchx. However, it is not just the integral part that is tested, the outputfrom the controller has also defined levels in which the signal has to be kept.In this, the maximum value that can be sent is 1638 to the DACs representinga maximum output of 2.0 V and the minimum value is 0 which means 0 V.This can be seen as the saturation blocks in the Simulink figures.

7. When the output value is calculated and tested it is divided into two bytes.The four MSBs of the second byte are masked out to suit the value for theDAC, as bit 15 and 14 are "don’t care" and bit 13 and 12 have to be zeros (0s).Timer0 is stopped and the value is saved before the enable signal to the DACis sent. The second byte is sent over the SPI followed by the first byte. Afterfinishing the communication, Timer0 starts counting again and the presentintegral value is saved as the variable Inoldch1 or Inoldch2 depending on whatchannel is used.

60

Page 79: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5.2. Software

The maximum and minimum values for voltages and temperature are recorded forboth sensors and saved, and shown on the LCD for information. The Timer0 updatesthe LCD every second with the animation, and a new message is written every eightseconds. However, depending on what message is displayed, the information issometimes updated three times during the eight seconds message time. The thirdblock of the code are the eight types of information messages that are written onthe display:

1. The first message gives information about the system parameters, that is in-tegral value and static errors for both channels. Updates three times withineight seconds.

2. The second message displays the values that are sent to the both DACs. Up-dates three times within eight seconds.

3. Third message displays the maximum and minimum voltages from sensor onethat are detected during the program execution (power-cycling test). Thesevalues do not change until any difference is detected.

4. Fourth display message shows the maximum and minimum temperatures de-tected from sensor one.

5. The fifth message is the same as number 3 on the list, but for sensor two.

6. For the sixth message, the maximum and minimum temperatures for sensortwo are detected, the same as number 4.

7. The current temperature measured by sensor one is shown in the seventhmessage and it is updated three times in eight seconds.

8. The last message displayed does the same thing as number 7 with the differencethat it is for sensor two.

All the messages that are shown during operation of the controller can be viewedin Appendix E. The next chapter of the thesis work will show the results of theoperation of the controller.

61

Page 80: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

5. Implementation of a thermal controller

62

Page 81: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

6. ResultsIn this chapter the results from the thesis work are presented, discussion and con-clusion are given at the end of the chapter. First the results from the prototype willbe shown followed by the results from the final system.

6.1. Results from prototypeAs explained in chapter 5, the prototype controller could just control one IGBTmodule. To verify the proper function (not in debugger mode) an oscilloscope wasused. The oscilloscope was connected to the sensor output, to be able to record thechange in temperature that the sensor is detecting (increased IR-radiation intensity).The output signal from the controller was connected to the additional equipmentthat supplied current and voltage to the IGBT module. The built up environmentcan be seen in figure 6.1a and how the sensor was mounted on a stand to suit thetest conditions is shown in 6.1b. The IGBT module was mounted on a heat sink to

(a) The test environment for the prototype. (b) The stand used for mounting the sensorand below is the IGBT mounted on a heatsink.

Figure 6.1.: Photos of the test environment for the prototype.

ensure that the cooling of the IGBT is sufficient. Before the test began, the sensorwas placed in a proper position over the IGBT to ensure that only the chip areais measured. To test the behavior of the controller, a step response from a powersupply was applied. In this case, the step response was set to a maximum value of1.40 V, which means that the temperature of the IGBT would reach a temperature

63

Page 82: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

6. Results

of around 100 . The step response from the test can be seen in figure 6.2. Theoscillating behavior can be explained as a bit to aggressive control parameters in themicrocontroller program, which is an easily corrected problem. The IGBT modulehad a voltage supply VCE of 20 V. This is the same as for the experiment done tomodel the system.

Figure 6.2.: The step response from the prototype unit.

6.2. Results from final systemThe final system tested had some differences in comparison with the prototypetesting. Those differences were mainly on the equipment used and on the IGBTmodules. As already known, the final system can control two IGBT modules simul-taneously and is equipped with a LCD for displaying information. The two IGBTmodules where painted black on the chip surface in order to more closely act as ablack body. The purpose was to be able to use equation 5.4 for voltage to tem-perature conversion, however this turned out to be an unsuccessful attempt. Withthe second equation 5.5, the temperature results were better, but not accurate sincethe modules now were painted black and the heat radiations are therefore different.Due to time constraints, a re-calibration was not performed. Therefore, the tem-peratures shown on the display are not accurate, but the controller operation is asexpected. The two IGBT modules were mounted on a water cooled heat sink foroptimal cooling during the power cycle. A disadvantage was that the painted IGBTmodules could not be changed since they were glued on to the heat sink. Over theIGBT modules the sensors were mounted on to a stand to cover the chip area. Theconnections on the heat sink are the voltage supply for the IGBTs and their gatevoltages (figure 6.3a). In this test, the real power cycling equipment was used incomparison to the prototype test (figure 6.3b). The same type of step response wasperformed as for the prototype, up to 1.40 V. However, supply voltages of both 20 Vand 40 V were tested. As can be seen in the figures, both IGBTs are represented astwo voltage curves that are detected from the IR-sensors when the reference voltage

64

Page 83: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

6.2. Results from final system

(a) IGBTs mounted on a water cooled heatsink. The thermopile sensors are placed overthe chip areas of the IGBTs.

(b) The power cycling equipment was used fortesting the final system.

Figure 6.3.: Photos of the water cooled heat sink and the test environment.

is set high. The curves are a bit displaced in order to see how the step responsesdiffer for the IGBT modules and the IR-detection from the sensors. It can clearlybe seen that the control parameters are not optimized for driving the IGBTs at 40V, since the parameters found were based on experiments performed at 20 V (figure6.4). The integral part and proportional parts were set to smaller values than for

(a) Step response when driving the IGBTs at20 V. The yellow curve is representing IGBT 1(sensor 1) and the blue curve IGBT 2 (sensor2).

(b) Step responses when driving the IGBTsat 40 V. IGBT 1 still experiences some os-cillations even though the control parameterswere set to lower values.

Figure 6.4.: Step responses from the IGBTs tested at 20 V and 40 V.

the 20 V testing, because of to aggressive behavior with large overshoots and oscilla-tions. Values that gave a more stable behavior were K = 0.1125 and K/TI = 0.4286,however it can clearly be seen that the there are still oscillations present observedby sensor one. The difference may be related to variations in thermal resistance (ce-ramic to heat sink) and improper chosen work area of the IGBTs. These issues have

65

Page 84: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

6. Results

meantime been solved at IMTEK. Nevertheless, the controller works as intendedand has no problems of controlling the temperature and is robust.

6.3. DiscussionThere is always going to be room for improvements in a work that is time con-strained. One major thing that is considered of great importance is to be able tocontrol more IGBT modules at time, not only two as for the final system. The onlything really to add is to make an update of the circuit design and to update thesoftware. An expansion of controlling 10 IGBT modules is then possible. Further,to improve the temperature control even more, the Otto-Smith controller could beimplemented for better prediction. Also, the sensors must be calibrated. Blackpainted chip dies would make the heat radiation easier to detect as the shiny surfaceis not present. When the calibration is to be performed, small steps have to beused when data is collected in order to fit a nice curve and to extract proper modelparameters from it. Due to time constraints, this calibration was not performed.

6.4. Summary and conclusionThe aim of this thesis work was to develop a controller for active thermal fatiguetests of power integrated circuits mounted with bare-chip substrate technologies.IMTEK, Department for microsystems engineering, University of Freiburg uses thesystem to qualify the reliability of new fibre-reinforced Al/Cu bond wires. Bondwire technology is very reliable and a developed standard in the semiconductorindustry with automated machines that nowadays bond 40 to 50 billion integratedcircuits a year. The dominating method for bonding is the ball-wedge bonding,but power electronics are bonded with wedge-wedge bonding. Wire diameter forwires used in power electronics are between 300-500 µm. The new reinforced wiresmay improve thermo-mechanical properties and are developed with the respect ofincreasing reliability and to withstand failures better related to bond wires. Around25-30% of the operational package related failures of electronics can in average berelated to bond wire interconnections and the main reason is fatigue. The search ofdesigning a proper controller was made from experiments and MATLAB. Hardwaredesign and programming was done for two systems, first for a prototype and thenfor the final system. The prototype was first verified for proper operation before thefinal system was developed. An upgrade was done for the final system in such waythat two modules could be controlled simultaneously and information about controlparameters and temperature could be read on a LCD. For the final system thecontroller is robust and does the specified operation of controlling the temperatureproperly. However the detection of IR-radiation is the problem in this case, butcould easily be overcome if a re-calibration of the sensors is made. The changes areonly software depended which makes it easy to update and to change the parameters

66

Page 85: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

6.4. Summary and conclusion

of the controller. A further development of the system can also be made to havethe ability of controlling up 10 IGBT/MOSFET modules in parallel. The hardwareis in this case still sufficient and the research made in this thesis work would enablesuch an update in minimum time.

67

Page 86: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

6. Results

68

Page 87: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

A. MATLAB code

File for importing data%File for importing the data from the stepresponse experimentfid = fopen(’20V_42A_step.dat’, ’r’);c = fread(fid, 12000,’short’);

size = 12

for i=1:1000pt0(i)=26+0.68*(c(1+(i-1)*size)-3000);pt1(i)=26+0.68*(c(2+(i-1)*size)-3000);pt2(i)=26+0.68*(c(3+(i-1)*size)-3000);pt3(i)=26+0.68*(c(4+(i-1)*size)-3000);pt4(i)=26+0.68*(c(5+(i-1)*size)-3000);pt5(i)=26+0.68*(c(6+(i-1)*size)-3000);pt6(i)=26+0.68*(c(7+(i-1)*size)-3000);pt7(i)=26+0.68*(c(8+(i-1)*size)-3000);pt8(i)=26+0.68*(c(9+(i-1)*size)-3000);pt9(i)=26+0.68*(c(10+(i-1)*size)-3000);pt10(i)=26+0.68*(c(11+(i-1)*size)-3000);pt11(i)=26+0.68*(c(12+(i-1)*size)-3000);

end

t=[0.0060:0.0120:12];

Finding the model parameters%The calculation and fitting of the propsed model with the%respect to the information from the step responses. In this file%the PT-100 element 0 is shown. Files for the other PT-100 elements%are the same.

function [estimates1, model1] = PT_0(t, pt0)tid=t(1:667);ptone=pt0(1:667);%tid=0:0.012:8;

69

Page 88: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

A. MATLAB code

effekt = 20*(42/6); %Power/module

%least square method sum(estimated model - measurment)model1 = @(x)sum((effekt*x(1).*(1-exp(-x(2).*tid))+ 40-ptone).^2);estimates1 = fminsearch(model1, [2 40]);figureplot(tid,ptone,’bx’) %pt1 element is made from blue crosseshold on%plot the resultplot(tid,(effekt*estimates1(1).*(1-exp(-estimates1(2).*tid))+ 40));xlabel(’seconds’);ylabel(’°C’);title(’PT 100 Element 1’)

70

Page 89: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

B. Layout from TARGET 3001

The prototype

1616

1515

1414

1313

1212

1111

1010

9988

77

66

55

44

33

22

11

22

11

12

12

33

22

11

1 2

22

11

33

22

11

22 11 12

22 11 12

12

12

12

4433

2211

6655

121212

12

12

4040

3939

3838

3737

3636

3535

3434

3333

3232

3131

3030

2929

2828

2727

2626

2525

2424

2323

2222

21212020

1919

1818

1717

1616

1515

1414

1313

1212

1111

1010

99

55

66

44

33

88

77

22

11

7788

1414 11

6543

21

2424

2323

2222

2121

2020

1919

1818

1717

1616

1515

1414

13131212

1111

1010

99

55

66

44

33

88

77

22

11

Figure B.1.: The layout of the prototype, form factor 100× 85 mm.

71

Page 90: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

B. Layout from TARGET 3001

The final system

1 2

12

122

1

161615151414131312121111101099

8877665544332211

1 2

3 21

12

12

12

12

22

11

1 2

22

11

654 321

242423232222212120201919181817171616151514141313 1212

1111101099

5566

4433

8877

2211

332211

1 2

12

332211

12

22

11

332211

22111 2

22111 2

12

1212

4433

2211

6655 1 2

12

404039393838373736363535343433333232313130302929282827272626252524242323222221212020

191918181717161615151414131312121111101099

5566

4433

8877

2211

654321

2424 2323 2222 2121 2020 1919 1818 1717 1616 1515 1414 1313

1212111110109955 664433 88772211

Figure B.2.: The layout for the final system, form factor 160× 100 mm.

72

Page 91: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

Prototype program//Prototype version of the controller design (PI), updates in C-code//Tuning PI parameters

#include <18F452.h>#device ADC=10#include <stdio.h>#include <stdlib.h>#include <math.h>#fuses hs,nowdt,nolvp#use delay(clock=4000000)#define MASK 0x0F

short finished = 1;

//Interrupt routine if the timer0 overflows#int_timer0

void overflowing()output_high(pin_c6);output_low(pin_b4); //Light offset_timer0(0); //start timer0

float voltageTotemp(float z);

int main()

long reference = 0, sensor = 0, davalue = 0, outputmax = 0, outputmin = 0;

//Control parametersfloat Inold = 0, Innew = 0, constant = 0, resolution = 0;float temperatureerror = 0, temptodaconvert = 0, outputvalue = 0;

//For calculations

73

Page 92: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

float datransform = 0, floatingref = 0, floatingsens = 0, sensoring = 0;float referencing = 0;

int resultone = 0, resulttwo = 0, junk = 0;

set_tris_b(0); //All pins are outputsset_tris_c(0); //All pins are outputsset_tris_d(0); //All pins are outputsoutput_low(pin_d0); //Inh port on multiplexer, enables the multiplexer

output_low(pin_b4);output_low(pin_c6);

//Timer 0 with prescaler 256, freq: 4000000/(4*256)= 3906,25 Hzsetup_timer_0(rtcc_internal | rtcc_div_256);enable_interrupts(int_timer0); //enables interrupt for timer0enable_interrupts(global); //Global interrups

//Pin A0, Pin A1 and Pin A3 is Vref+.setup_adc_ports(AN0_AN1_VSS_VREF);setup_adc(ADC_CLOCK_INTERNAL);

//Configuration for SPI communicationsetup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_4);

//resolution (10-bits) of the voltage 0.0019550342 V/bitresolution = 0.0019550342;

//Transform resolution for the output value to match the D/A converters//resolution 0.0012210012 V/bitdatransform = 0.0012210012;

//Scale factor for the D/A convertertemptodaconvert = 1.601173021;Inold = 0; //Initial value of the Integrator part

//K*(Ts/Ti) P = 0.225, Sampling = 0.01 s, Ti = 0.2625 integrator valueconstant = (0.225*0.01)/(0.2625*2);

//maximum output to the D/A converter, bit value 1229 = 1.5 Volt,//1638 = 2 Voltoutputmax = 1229; //1638;outputmin = 0; //minimum output to D/A, bit value

74

Page 93: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

output_high(pin_b4);

//Delay 3 second before starting the automation loopdelay_ms(3000);output_low(pin_b4);

while (finished == 1)

set_timer0(0); //start timer0output_high(pin_b4); //Lightreference = 0; //Give the reference variable the value 0sensor = 0; //Give the sensor variable the value 0

set_adc_channel(1); //AN1 for the reference signaldelay_us(13); //Delay 13 us.

//Read the A/D value and save in the reference variablereference = read_adc();

delay_us(15); //Delay 10 (15)us between A/D conversions

//Enabling the multiplexer to read the signal from the sensoroutput_low(pin_d1); //Port A on multiplexeroutput_low(pin_d2); //Port B on multiplexeroutput_low(pin_d3); //Port C on multiplexeroutput_low(pin_d4); //Port D on multiplexerset_adc_channel(0); //An0 for sensor singnaldelay_us(13); //delay 13 us

//Read the A/D value and save it in the sensor variablesensor = read_adc();

//Transformation from value from A/D conversion to voltage//representationfloatingref = reference*resolution; //To voltage

//If voltage is below 1.20086 Volt, means minusdegrees.//1.20086 is 0 degrees C.if (floatingref < 1.20086)

floatingref = 1.20086;

floatingsens = sensor*resolution; //To voltage

75

Page 94: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

//To temperature from voltage representation

//To temperature from reference signalreferencing = voltageTotemp(floatingref);

//To temperature from sensor signalsensoring = voltageTotemp(floatingsens);

//Temperature errortemperatureerror = referencing - sensoring;

if(temperatureerror > 0)output_high(pin_c6);

elseoutput_low(pin_c6);

//Calculate the new intergralpartInnew = Inold + (temperatureerror*constant);

//Test the integrator part to prevent wind up effectif (Innew > 2.5)

Innew = Inold;else if (Innew < 0)

Innew = 0;

//Converted, scaled and rounded off value to suit the D/A//converteroutputvalue = (((0.225*temperatureerror) + Innew) *temptodaconvert)/datransform;

if (outputvalue < 0)outputvalue = 0;//Value smaller than 0 will be set to zero to prevent//unwanted values

davalue = (long) outputvalue;

//Test the outputsignalif(davalue > outputmax)

davalue = outputmax;//davalue = 1638, means that the output signal from the D/A//converter is limited to 2 Volt

else if(davalue < outputmin)davalue = outputmin; //davalue = 0, lowest boundary 0 Volt

76

Page 95: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

else; //keep value

//8 bits (LSB) of the davalue put into an int variableresultone = make8(davalue, 0);

//8 bits (MSB) of the davalue put into an int variableresulttwo = make8(davalue, 1);

//MASK out the important part of the MSB int to be sentresulttwo = resulttwo & MASK;

output_high(pin_c0); //Enable the D/A converterdelay_us(1);output_low(pin_c0);spi_write(resulttwo); //Send the MSB to the D/A converterjunk = spi_read();spi_write(resultone); //Send the LSB to the D/A converterjunk = spi_read();

//Inold is updated from the Innew before the loop starts//over again.Inold = Innew;

while(get_timer0() <= 39);

//Light the diods if program is stopped and exited the automation loopoutput_high(pin_b4);output_high(pin_c6);return 0;

float voltageTotemp(float z)

float partone = 0; //Third degree termfloat parttwo = 0; //Second degree termfloat partthree = 0; //First degree termfloat result = 0;

partone = 147.5*(z*z*z);

77

Page 96: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

parttwo = -1272.3*(z*z);partthree = 3083.3*z;

//Result calculationresult = partone + parttwo + partthree - 2123.3;

return result;

78

Page 97: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Program for the final system with LCD//PI-regulator design with LCD display, Freq 40 MHz, first version//Tuning PI parameters

#include <18F452.h>#device ADC=10#include <stdio.h>#include <stdlib.h>#include <math.h>#fuses h4,nowdt,nolvp#use delay(clock=40000000)#define MASK 0x0F#include "LCD420.H"#include "LCDFUNC.H"

short finished = true;short change = true;short scroll = true;int i = 0,j = 0, a = 0;

//Interrupt routine if the timer0 and timer1 overflows#int_timer0

void overflowing()scroll = true;if (j < 9) //Continue scrolling

j++;else

j = 0;

if(i == 0 && j > 0)

a=j%2;if(a == 1)

change = true;

if(i == 1 && j > 0)

a=j%2;if(a == 1)

change = true;

79

Page 98: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

if(i == 6 && j > 0)

a=j%2;if(a == 1)

change = true;

if(i == 7 && j > 0)

a=j%2;if(a == 1)

change = true;

if(j == 0)

change = true; //Display information has been changedif (i < 8) //What message to be shown

i++;else

i = 0;

set_timer0(26472); //Start timer0 again

#int_timer1void overflowone()

set_timer1(0); //start timer1

float voltageTotemp(float z);void docurve();

int main()

long reference = 0, sensor = 0, davaluech1 = 0, davaluech2 = 0;long outputmax = 0, outputmin = 0, temptimer = 0;

//Regulator parametersfloat Inoldch1 = 0, Innewch1 = 0, Inoldch2 = 0, Innewch2 = 0;

80

Page 99: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

float constant = 0, resolution = 0, temperatureerror = 0;float temptodaconvert = 0, outputvalue = 0;

//For calculationsfloat datransform = 0, floatingref = 0, floatingsens = 0, sensoring1 = 0;float referencing1 = 0, sensoring2 = 0, referencing2 = 0, maxtempch1 = 0;float mintempch1 = 0, maxtempch2 = 0, mintempch2 = 0;

float maxvoltch1 = 0, minvoltch1 = 0, maxvoltch2 = 0, minvoltch2 = 0;int resultone = 0, resulttwo = 0, junk = 0;

//Define the direction for the ports. The port B direction is defined//in the LCD420.h fileset_tris_c(0); //All pins are outputsset_tris_d(0); //All pins are outputsoutput_low(pin_d0); //Inh port on multiplexer, enables the multiplexers

//Setup for the A/D conversionsetup_adc_ports(AN0_AN1_VSS_VREF); //Pin A0, Pin A1 and Pin A3 is Vref+.setup_adc(ADC_CLOCK_INTERNAL);

//Configuration for SPI communication and for LCD displaysetup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_4);lcd_init(); //Initialize LCDlcd_init_cg(); //Define own signs for the display, scrolling

//Values for regulatorresolution = 0.0019550342; //resolution (10-bits) of the voltage

//0.0019550342 V/bit

//Transform resolution for the output value to match the D/A converters//resolution 0.0012210012 V/bitdatransform = 0.0012210012;temptodaconvert = 1.601173021; //Scale factor for the D/A converterInoldch1 = 0; //Initial value of the Integrator part for sensor 1Inoldch2 = 0; //Initial value of the Integrator part for sensor 2

//K*(Ts/Ti) P = 0.225, Sampling = 0.01 s, Ti = 0.2625 integrator valueconstant = (0.225*0.01)/(0.2625*2);

//maximum output to the D/A converter, bit value 1229 = 1.5 Volt,//1638 = 2 Voltoutputmax = 1638;outputmin = 0; //minimum output to D/A, bit value

81

Page 100: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

//Initilize lower boundary with a high appropriate valueminvoltch1 = 2.04;minvoltch2 = 2.04;

//Initilize lower temperature boundary with a high appropriate valuemintempch1 = 189.1;mintempch2 = 189.1;

output_high(pin_c6); //Output high pin c6output_high(pin_c7); //Output high pin c7

//Print on LCDlcd_putc(’\f’); //Clear displaylcd_gotoxy(2,1);printf(lcd_putc,"PI-Regulator v 1.0");lcd_gotoxy(1,2);printf(lcd_putc,"Final Thesis Project");lcd_gotoxy(10,3);printf(lcd_putc,"By");lcd_gotoxy(3,4);printf(lcd_putc,"Daniel Malvestam");delay_ms(7000); //Delay 7 secondslcd_putc(’\f’); //Clear displayoutput_low(pin_c6);output_low(pin_c7);lcd_gotoxy(8,1);printf(lcd_putc,"IMTEK");lcd_gotoxy(4,2);printf(lcd_putc,"Lehrstuhl: AVT");lcd_gotoxy(4,3);printf(lcd_putc,"February 2006");lcd_gotoxy(2,4);printf(lcd_putc,"Automation starts!");delay_ms(3000); //Delay 3 seconds before PI-loop starts

//Configuration for timers and interrupts//Timer 0 with prescaler 256, freq: 40000000/(4*256)= 39063 Hzsetup_timer_0(rtcc_internal | rtcc_div_256);

//Timer 1 with prescaler 8, freq: 40000000/(4*8)= 1.25 MHzsetup_timer_1(T1_INTERNAL | T1_DIV_BY_8);

enable_interrupts(int_timer0); //enables interrupt for timer0

82

Page 101: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

enable_interrupts(int_timer1); //enables interrupt for timer1enable_interrupts(global); //Global interrupsset_timer1(0); //start timer1

//Start timer 0, this means that the time before a interrupt occurs//is one secondset_timer0(26472);

while (finished == 1)

set_timer1(0); //start timer1

if(change == true)lcd_putc(’\f’); //Clear display

//Step 1//Read the reference and sensor 1 signal and calculate the//output signalreference = 0; //Give the reference variable the value 0sensor = 0; //Give the sensor variable the value 0temptimer = get_timer0(); //Save a temp value for timer 0setup_timer_0(rtcc_off); //Stop timer 0, for avoiding LCD interrupt

set_adc_channel(1); //AN1 for the reference signaldelay_us(12); //Delay 12 us.

//Read the A/D value and save in the reference variablereference = read_adc();delay_us(11); //Delay 11 us between A/D conversions

//Enabling the multiplexer to read the signal from sensor 1output_low(pin_d1); //Port A on multiplexeroutput_low(pin_d2); //Port B on multiplexeroutput_low(pin_d3); //Port C on multiplexeroutput_low(pin_d4); //Port D on multiplexerset_adc_channel(0); //An0 for sensor singnaldelay_us(12); //delay 13 us

//Read the A/D value and save it in the sensor variablesensor = read_adc();

setup_timer_0(rtcc_internal | rtcc_div_256);set_timer0(temptimer); //Start timer0

83

Page 102: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

//Transformation from value from A/D conversion to voltage//representationfloatingref = reference*resolution; //To voltage

//If voltage is below 1.15684 Volt, means minusdegreesif (floatingref < 1.15684)

floatingref = 1.15684;

floatingsens = sensor*resolution; //To voltage

//To temperature from voltage representation

//To temperature from reference signalreferencing1 = voltageTotemp(floatingref);

//To temperature from sensor signalsensoring1 = voltageTotemp(floatingsens);

//Temperature errortemperatureerror = referencing1 - sensoring1;

if(temperatureerror > 0)output_high(pin_c6);

elseoutput_low(pin_c6);

//Calculate the new intergralpartInnewch1 = Inoldch1 + (temperatureerror*constant);

//Test the integrator part to prevent wind up effectif (Innewch1 > 2.5)

Innewch1 = Inoldch1;else if (Innewch1 < 0)

Innewch1 = 0;

//Converted, scaled and rounded off value to suit the D/A//converteroutputvalue = (((0.225*temperatureerror) + Innewch1)

*temptodaconvert)/datransform;

if (outputvalue < 0)outputvalue = 0;//Value smaller than 0 will be set to zero to prevent

84

Page 103: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

//unwanted values

davaluech1 = (long) outputvalue; //Cast the value to a long

//Test the outputsignalif(davaluech1 > outputmax)

davaluech1 = outputmax;//davalue = 1229, means that the output signal from the D/A//converter is limited to 1.5 Volt

else if(davaluech1 < outputmin)davaluech1 = outputmin;//davalue = 0, lowest boundary 0 Volt

//Divide the davalue into two bytes that will be send over//the SPI interface

//8 bits (LSB) of the davalue put into an int variableresultone = make8(davaluech1, 0);

//8 bits (MSB) of the davalue put into an int variableresulttwo = make8(davaluech1, 1);

//MASK out the important part of the MSB int to be sentresulttwo = resulttwo & MASK;

output_high(pin_c0); //Enable the D/A converterdelay_us(1);temptimer = get_timer0(); //Save a temp value for timer 0setup_timer_0(rtcc_off); //Stop timer 0, for avoiding LCD//interruptoutput_low(pin_c0);spi_write(resulttwo); //Send the MSB to the D/A converterjunk = spi_read();spi_write(resultone); //Send the LSB to the D/A converterjunk = spi_read();

setup_timer_0(rtcc_internal | rtcc_div_256);set_timer0(temptimer); //Start timer0

//Inold is updated from the Innew before the loop starts//over again.Inoldch1 = Innewch1;

85

Page 104: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

//Save maximum voltage values for sensor 1if (floatingsens > maxvoltch1)

maxvoltch1 = floatingsens;else if (floatingsens < minvoltch1)

minvoltch1 = floatingsens;

//Save maximum temperature values read from sensor 1if (sensoring1 > maxtempch1)

maxtempch1 = sensoring1;else if (sensoring1 < mintempch1)

mintempch1 = sensoring1;

//Step 2//Read the reference and sensor 1 signal and calculate the//output signalreference = 0; //Give the reference variable the value 0sensor = 0; //Give the sensor variable the value 0temptimer = get_timer0(); //Save a temp value for timer 0setup_timer_0(rtcc_off);//Stop timer0, for avoiding LCD interrupt

set_adc_channel(1); //AN1 for the reference signaldelay_us(12); //Delay 12 us.

//Read the A/D value and save in the reference variablereference = read_adc();delay_us(11); //Delay 11 us between A/D conversions

// Enabling the multiplexer to read the signal from sensor 2output_high(pin_d1); //Port A on multiplexeroutput_low(pin_d2); //Port B on multiplexeroutput_low(pin_d3); //Port C on multiplexeroutput_low(pin_d4); //Port D on multiplexerset_adc_channel(0); //An0 for sensor singnaldelay_us(12); //delay 12 us

//Read the A/D value and save it in the sensor variablesensor = read_adc();

setup_timer_0(rtcc_internal | rtcc_div_256);set_timer0(temptimer); //Start timer0

//Transformation from value from A/D conversion to voltage//representationfloatingref = reference*resolution; //To voltage

86

Page 105: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

//If voltage is below 1.15684 Volt, means minusdegreesif (floatingref < 1.15684)

floatingref = 1.15684;

floatingsens = sensor*resolution; //To voltage

//To temperature from voltage representation

//To temperature from reference signalreferencing2 = voltageTotemp(floatingref);

//To temperature from sensor signalsensoring2 = voltageTotemp(floatingsens);

//Temperature errortemperatureerror = referencing2 - sensoring2;

if(temperatureerror > 0)output_high(pin_c7);

elseoutput_low(pin_c7);

//Calculate the new intergralpartInnewch2 = Inoldch2 + (temperatureerror*constant);

//Test the integrator part to prevent wind up effectif (Innewch2 > 2.5)

Innewch2 = Inoldch2;else if (Innewch2 < 0)

Innewch2 = 0;

//Converted, scaled and rounded off value to suit the D/A converteroutputvalue = (((0.225*temperatureerror) + Innewch2)

*temptodaconvert)/datransform;if (outputvalue < 0)

outputvalue = 0;//Value smaller than 0 will be set to zero to prevent//unwanted values

davaluech2 = (long) outputvalue; //Cast the value to a long

//Test the outputsignalif(davaluech2 > outputmax)

87

Page 106: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

davaluech2 = outputmax;//davalue = 1229, means that the output signal from the D/A//converter is limited to 1.5 Volt

else if(davaluech2 < outputmin)davaluech2 = outputmin;//davalue = 0, lowest boundary 0 Volt

//Divide the davalue into two bytes that will be send over//the SPI interface

//8 bits (LSB) of the davalue put into an int variableresultone = make8(davaluech2, 0);

//8 bits (MSB) of the davalue put into an int variableresulttwo = make8(davaluech2, 1);

//MASK out the important part of the MSB int to be sentresulttwo = resulttwo & MASK;

output_high(pin_c0); //Enable the D/A converterdelay_us(1);temptimer = get_timer0(); //Save a temp value for timer 0setup_timer_0(rtcc_off); //Stop timer 0, for avoiding LCD

//interrupt

output_low(pin_c0);spi_write(resulttwo); //Send the MSB to the D/A converterjunk = spi_read();spi_write(resultone); //Send the LSB to the D/A converterjunk = spi_read();

setup_timer_0(rtcc_internal | rtcc_div_256);set_timer0(temptimer); //Start timer0

//Inold is updated from the Innew before the loop starts//over again.Inoldch2 = Innewch2;

//Save maximum voltage values for sensor 2if (floatingsens > maxvoltch2)

maxvoltch2 = floatingsens;else if (floatingsens < minvoltch2)

minvoltch2 = floatingsens;

88

Page 107: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

//Save maximum temperature values read from sensor 2if (sensoring2 > maxtempch2)

maxtempch2 = sensoring2;else if (sensoring2 < mintempch2)

mintempch2 = sensoring2;

if (change == true)

switch(i)

case 0: lcd_gotoxy(1,1);printf(lcd_putc, "SystemParameters");lcd_gotoxy(1,2);printf(lcd_putc, "I-ch1=%1.2fP=0.225", Inoldch1);lcd_gotoxy(1,3);printf(lcd_putc, "I-ch2=%1.2fP=0.225", Inoldch2);break;

case 1: //Only updated 3 times, with//intervals in betweenlcd_gotoxy(2,1);printf(lcd_putc, "Values sentto D/A");lcd_gotoxy(1,2);printf(lcd_putc, "Value 0V=02.0V=1638");lcd_gotoxy(1,3);printf(lcd_putc, "D/A =%luD/A 2=%lu", davaluech1,davaluech2);break;

case 2: lcd_gotoxy(3,1);printf(lcd_putc,"VoltageSensor 1");lcd_gotoxy(2,2);printf(lcd_putc, "MaxVoltage: %1.2fV",maxvoltch1);lcd_gotoxy(2,3);printf(lcd_putc, "Min

89

Page 108: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

Voltage: %1.2fV",minvoltch1);break;

case 3: lcd_gotoxy(1,1);printf(lcd_putc, "TemperatureSensor 1");lcd_gotoxy(1,2);printf(lcd_putc, "Max Temp.:%3.1f", maxtempch1);lcd_gotoxy(17,2);lcd_putc(0xdf); //Degree signlcd_gotoxy(18,2);printf(lcd_putc, "C");

lcd_gotoxy(1,3);printf(lcd_putc, "Min Temp.:%3.1f", mintempch1);lcd_gotoxy(17,3);lcd_putc(0xdf); //Degree signlcd_gotoxy(18,3);printf(lcd_putc, "C");break;

case 4: lcd_gotoxy(3,1);printf(lcd_putc, "VoltageSensor 2");lcd_gotoxy(2,2);printf(lcd_putc, "MaxVoltage: %1.2fV",maxvoltch2);lcd_gotoxy(2,3);printf(lcd_putc, "MinVoltage: %1.2fV",minvoltch2);break;

case 5: lcd_gotoxy(1,1);printf(lcd_putc, "TemperatureSensor 2");lcd_gotoxy(1,2);printf(lcd_putc, "Max Temp.:%3.1f", maxtempch2);lcd_gotoxy(17,2);lcd_putc(0xdf); //Degree signlcd_gotoxy(18,2);printf(lcd_putc, "C");lcd_gotoxy(1,3);

90

Page 109: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

printf(lcd_putc, "Min Temp.:%3.1f", mintempch2);lcd_gotoxy(17,3);lcd_putc(0xdf); //Degree signlcd_gotoxy(18,3);printf(lcd_putc, "C");break;

case 6: lcd_gotoxy(5,1);printf(lcd_putc, "Rightnow...");lcd_gotoxy(1,2);printf(lcd_putc, "TemperatureSensor 1");lcd_gotoxy(8,3);printf(lcd_putc, "%3.1f",sensoring1);lcd_gotoxy(13,3);lcd_putc(0xdf); //Degree signlcd_gotoxy(14,3);printf(lcd_putc, "C");break;

case 7: lcd_gotoxy(5,1);printf(lcd_putc, "Rightnow...");lcd_gotoxy(1,2);printf(lcd_putc, "TemperatureSensor 2");lcd_gotoxy(8,3);printf(lcd_putc, "%3.1f",sensoring2);lcd_gotoxy(13,3);lcd_putc(0xdf); //Degree signlcd_gotoxy(14,3);printf(lcd_putc, "C");break;

change = false;

// ADD VALUE TO CHART

91

Page 110: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

if(scroll == true)

docurve();lcd_gotoxy(1,4);//printf(lcd_putc, "Timer1 = %lu", get_timer1());

scroll = false;

while(get_timer1() <= 12500) //10 ms;

//Light the diods if program is stopped and exited the automation loopoutput_high(pin_b4);output_high(pin_c6);return 0;

//Expression to calculate the temperature from input voltagefloat voltageTotemp(float z)

float partone = 0; //Third degree termfloat parttwo = 0; //Second degree termfloat partthree = 0; //First degree termfloat result = 0;

partone = 151.1*(z*z*z);parttwo = -860.3*(z*z);partthree = 1737.4*z;

result = partone + parttwo + partthree - 1092.5; //Result calculation

return result;

//Draw the animation on the last row the LCDvoid docurve()

lcd_curve_add(rand()%8);lcd_gotoxy(1,4);lcd_curve_print();

92

Page 111: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

4x20 LCD driver from CCS////////////////////////////////////////////////////////////////////////////// LCD420.C// Driver for 4x20 LCD module// -written for PIC18F452// -only write functions// -with busy test//////////////////////////////////////////////////////////////////////////////// lcd_init() Must be called before any other function.//// lcd_putc(char c) Will display c on the next position of the LCD.// The following have special meaning:// \f Clear display// \n Go to start of second line// \b Move back one position//// lcd_gotoxy(int x,int y) Set write position on LCD (upper left is 1,1)//// lcd_send_data(int data) For DD- and CG-RAM write//// lcd_send_instruction(int instr)//////////////////////////////////////////////////////////////////////////////// As defined in the following structure the pin connection is as follows://// B0 rs// B1 rw// B2 enable// B3 unused// B4 D4// B5 D5// B6 D6// B7 D7//// LCD pins D0-D3 are not used.////////////////////////////////////////////////////////////////////////////

93

Page 112: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

void lcd_send_nibble(byte n); // function prototypesbyte lcd_read_byte(); // to make them available beforevoid lcd_send_byte(byte n); // they are definedvoid lcd_send_instruction(int instr);void lcd_send_data(int data);void lcd_gotoxy(byte x,byte y);void lcd_putc(char c);

struct lcd_pin_map // This structure is overlayedBOOLEAN rs; // on to an I/O port (B) to gainBOOLEAN rw; // access to the LCD pins.BOOLEAN enable; // rs will be pin B0BOOLEAN unused;int data : 4;

lcd;

#byte lcd = 0x0F81 // This puts the entire structure// on to port B (at address 0x0F81)

#define lcd_type 2 // 0=5x7, 1=5x10, 2=2 lines

//These bytes need to be sent to the LCD to start it up.BYTE const LCD_INIT_STRING[4] = 0x20 | (lcd_type << 2), 0xc, 1, 6;

//The following are used for setting the I/O port direction register.

//For write mode all pins are outstruct lcd_pin_map const LCD_WRITE = 0,0,0,0,0;

//For read mode data pins are in (busy test)struct lcd_pin_map const LCD_READ = 0,0,0,0,15;

BYTE lcdline; //represents the currend active lcd-line

//initializes the LCDvoid lcd_init()

BYTE i;set_tris_b(LCD_WRITE);lcd.rs = 0;lcd.rw = 0;lcd.enable = 0;

lcd.unused = 0;

94

Page 113: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

delay_ms(15);for(i=1;i<=3;++i)

lcd_send_nibble(3);delay_ms(5);

lcd_send_nibble(2);for(i=0;i<=3;++i)

lcd_send_instruction(LCD_INIT_STRING[i]);

//this function can also be used to print strings (chars will be sent//sequentially)void lcd_putc( char c)

switch (c) case ’\f’ : lcd_send_instruction(1);

lcdline=1;//delay_ms(2);

break;case ’\n’ : lcd_gotoxy(1,++lcdline); break; //new linecase ’\b’ : lcd_send_instruction(0x10); break; //one position

//backdefault : lcd_send_data(c); break; //print c

//command for setting x,y plus ram locationvoid lcd_gotoxy( BYTE x, BYTE y)

BYTE address;

switch(y) case 1 : address=0x80;break;case 2 : address=0xc0;break;case 3 : address=0x94;break;case 4 : address=0xd4;break;

address+=x-1;lcd_send_instruction(address);

//neccessary for reading busy bitvoid lcd_send_data(int data) lcd.rs = 0;

while ( bit_test(lcd_read_byte(),7) ) ;lcd.rs = 1; // 1 -> datalcd_send_byte(data);

95

Page 114: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

void lcd_send_instruction(int instr)lcd.rs = 0; // 0 -> datawhile ( bit_test(lcd_read_byte(),7) );lcd_send_byte(instr);

void lcd_send_byte( BYTE n ) lcd.rw = 0;delay_cycles(1);lcd.enable = 0;lcd_send_nibble(n >> 4); // higher nibble of nlcd_send_nibble(n & 0xf); // lower nibble of n

BYTE lcd_read_byte() BYTE low,high;set_tris_b(LCD_READ); // sets data lines as inputslcd.rw = 1; // readdelay_cycles(1);lcd.enable = 1;delay_cycles(1);high = lcd.data; // reads high nibblelcd.enable = 0;delay_cycles(1);lcd.enable = 1;//delay_us(1);delay_cycles(1);

low = lcd.data; // reads low nibblelcd.enable = 0;set_tris_b(LCD_WRITE);return( (high<<4) | low);

void lcd_send_nibble( BYTE n ) lcd.data = n;delay_cycles(1);lcd.enable = 1;delay_us(2);lcd.enable = 0;

96

Page 115: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Animation driver for LCD////////////////////////////////////////////////////////////////////////////// LCDFUNC.C// Subroutines for using the 4x20 LCD module with the PI-Regulator// -written for PIC18F452//////////////////////////////////////////////////////////////////////////////// lcd_init_cg() initializes the Graphic Generator RAM// must be called in order to make user defined chars available//// lcd_curve_add(int value) adds an element to the curve, shifts the// curve one char to the left, the leftmost char is dropped//// lcd_curve_print() prints the history curve////////////////////////////////////////////////////////////////////////////

int curve[20];

void lcd_print_binary8(int data)int i;for(i=0;i<8;i++)

if(bit_test(data,i))lcd_putc("0");

elselcd_putc("1");

void lcd_curve_print()int i;for(i=0;i<20;i++)

lcd_send_data(0x00+curve[i]);

97

Page 116: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

C. C program source codes

void lcd_curve_add(int data)int i;for(i=0;i<19;i++)

curve[i]=curve[i+1];curve[19]=data;

void lcd_init_cg()int i,j, instr;instr=0x40; //CG RAM Adress setinstr+=0x00; //starting at char 0lcd_send_instruction(instr);for(i=8;i>0;i--)

for(j=0;j<8;j++)if(i<(j+2))

lcd_send_data(0xFF); else

lcd_send_data(0x00);

int read_a()return input_a() & 0x3F;

98

Page 117: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

D. Flowchart for the final systemprogram

Figure D.1.: Flowchart 1.

99

Page 118: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

D. Flowchart for the final system program

Figure D.2.: Flowchart 2.

100

Page 119: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Figure D.3.: Flowchart 3.

101

Page 120: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

D. Flowchart for the final system program

Figure D.4.: Flowchart 4.

102

Page 121: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Figure D.5.: Flowchart 5.

103

Page 122: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

D. Flowchart for the final system program

104

Page 123: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

E. LCD information messages duringpower cycling

(a) Message 1 shows information about thestatic errors and the values of the integralparts.

(b) Message 2 gives calculated values that aresent from the PIC to the DACs.

Figure E.1.: Message 1 and 2 on the LCD.

(a) Message 3 shows the maximum and mini-mum output voltages from sensor 1 through-out the power cycle.

(b) Message 4 shows the maximum and min-imum temperatures detected by sensor 1throughout the power cycle.

Figure E.2.: Message 3 and 4 on the LCD.

105

Page 124: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

E. LCD information messages during power cycling

(a) Message 5 shows the maximum and mini-mum output voltages from sensor 2 through-out the power cycle.

(b) Message 6 shows the maximum and min-imum temperatures detected by sensor 2throughout the power cycle.

Figure E.3.: Message 5 and 6 on the LCD.

(a) Message 7 shows the current temperaturedetected by sensor 1.

(b) Message 8 shows the current temperaturedetected by sensor 2.

Figure E.4.: Message 7 and 8 on the LCD.

106

Page 125: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Bibliography

Failure analysis techniques for semiconductors and other devices. Manufacturingtechniques of semiconductors. URL http://semiconductorbases.net/04.html.Acc. 2005-10-09.

Mauro Ciappa. Some Reliability Aspects of IGBT Modules for High-Power Applica-tions. Hartung-Gorre, Konstanz (Germany), 2000. ISBN 3-89649-657-3.

Richard Clark. Application note an-1061 bare die: Die attach and wire bondingguidance for setting up assembly processes. Technical report, International Rec-tifier, 2004. URL http://www.irf.com/technical-info/appnotes/an-1061.pdf. Acc. 2005-08-30.

Luis Cupido. Wire bonding (for microwave and millimeter-wave, on a low budget).Internet. URL http://w3ref.cfn.ist.utl.pt/cupido/articles.html. Acc.2005-08-29.

Johan Dalin, Andreas Knauber, Rolf Reiter, V. Wesling, and Jürgen Wilde. Novelaluminium/copper reinforced bond wires for power electronics. ESTC 2006 -Electronic Systemintegration Technology Conference, 2006.

Hans Danielsson. Byggsätt för elektronik. Industrilitteratur AB, 2000. ISBN 91-7548-563-X.

Analog Devices. 12-bit dac ad5320 data sheet, 2005. URL http://www.analog.com/UploadedFiles/Data_Sheets/465995391AD5320_c.pdf.

GmbH Electronic Assembly. Blau negativ mit weisser led, April 2005. Data sheetfor LCD EA 204B-NLW.

Burr-Brown Products from TI. CMOS Voltage Reference SOT23-3, March2003. URL http://www.alldatasheet.com/datasheet-pdf/pdf/82935/TI/REF3020AIDBZT.html.

Torkel Glad and Lennart Ljung. Reglerteknik Grundläggande teori. Studentlitter-atur, 2 edition, 1989. ISBN 91-44-17892-1.

Torkel Glad, Svante Gunnarsson, Lennart Ljung, and Tomas McKelvey. Dig-ital Styrning Kurskompendium. Institutionen för systemteknik, March 1999.Linköpings Universitet.

107

Page 126: Implementation of an In-situ Non-contact Temperature ... · Diploma Thesis Implementation of an In-situ Non-contact Temperature Controller for Active Thermal Fatigue Tests of Power

Bibliography

Jun Ming Hu, Michael Pecht, and Abhijit Dasguta. A probabilistic approach forpredicting thermal fatigue life of wire bonding in microelectronics. Journal ofElectronic Packaging, 113, September 1991.

Dirk Janz. Zuverlässigkeit diskreter leistungsbauelemente mit bleifreienlotverbindungen, 2002. IMTEK, Lehrstuhl AVT in Zusammenarbeit mit Daim-lerChrysler SIM Tech. Shanghai VR China.

Zonghe Lai and Johan Liu. Wire bonding, 2000. URL http://extra.ivf.se/ngl/A-WireBonding/ChapterA.htm. Acc. 2005-08-29.

Microchip. MPLAB ICD2 In-Circuit Debugger User’s Guide, July 2005. URL http://ww1.microchip.com/downloads/en/devicedoc/51331b.pdf.

Wire Bond Website NASA Goddard Space Flight Center. Basic information. URLhttp://nepp.nasa.gov/wirebond/Basic%20Info.htm.

Jin Onuki, Masahiro Koizumi, and Masateru Suwa. Reliability of thick al wirebonds in igbt modules for traction motor drives. IEEE TRANSACTIONS ONADVANCED PACKAGING, 23(1), February 2000.

Jürgen Schiltz. Thermoelectric infrared sensors (thermopile) for remote temper-ature measurements; pyrometry, July 2000. URL http://optoelectronics.perkinelmer.com/content/whitepapers/pyrometry.pdf. PerkinElmer Opto-electronics GmbH.

Semikron. Power mosfet and igbt. URL http://www.semikron.com/internet/webcms/objects/applica_help/e/1_2-1_2_1.pdf. Acc. 2006-01-16.

V. Sequeira. PerkinElmer A2TPMI data sheet, 4 edition, July 2005. EngineeringSample Specification.

Jürgen Wilde. Untersuchungen zum dickdrahtbonden mit neuen faserverbundwerk-stoffen in der leistungselektronik im hinblick auf hohe wechselbeständigkeit. 26thof April 2006. FA-10 Sitzung in Düsseldorf.

Dennis J. Wilkins. The bathtub curve and product failure behavior part one - thebathtub curve, infant mortality and burn-in, 2002. URL http://www.weibull.com/hotwire/issue21/hottopics21.htm. Acc. 2005-10-10.

Cheng-Wen Wu. Chapter 1 introduction. Lab for Reliable Computing (LaRC), EE,NTHU.

108