DESIGN AND IMPLEMENTATION OF DIGITAL CONTROLLERS FOR BUCK AND BOOST CONVERTERS USING LINEAR AND NONLINEAR CONTROL METHODS Except where reference is made to the work of others, the work described in this thesis is my own or was done in collaboration with my advisory committee. This thesis does not include proprietary or classified information. ____________________________ Liping Guo Certificate of Approval: ____________________________ Victor P. Nelson Professor Electrical and Computer Engineering ____________________________ R. M. Nelms, Chair Professor Electrical and Computer Engineering ____________________________ John Y. Hung Associate Professor Electrical and Computer Engineering ____________________________ Stephen L. McFarland Acting Dean Graduate School DESIGN AND IMPLEMENTATION OF DIGITAL CONTROLLERS FOR BUCK AND BOOST CONVERTERS USING LINEAR AND NONLINEAR CONTROL METHODS Liping Guo A Dissertation Submitted to the Graduate Faculty of Auburn University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy Auburn, Alabama August 7, 2006 iii DESIGN AND IMPLEMENTATION OF DIGITAL CONTROLLERS FOR BUCK AND BOOST CONVERTERS USING LINEAR AND NONLINEAR CONTROL METHODS Liping Guo Permission is granted to Auburn University to make copies of this dissertation at its discretion, upon request of individuals or institutions and at their expense. The author reserves all publication rights. ______________________________ Signature of Author ______________________________ Date of Graduation v DISSERTATION ABSTRACT DESIGN AND IMPLEMENTATION OF DIGITAL CONTROLLERS FOR BUCK AND BOOST CONVERTERS USING LINEAR AND NONLINEAR CONTROL METHODS Liping Guo Doctor of Philosophy, August 7, 2006 (M.S., Auburn University, 2001) (B.S., Beijing Institute of Technology, 1997) 128 Typed Pages Directed by R. M. Nelms Issues in the design and implementation of digital controllers for a buck converter and a boost converter using linear and nonlinear control methods were investigated in this dissertation. The small signal models of the buck and boost converters, obtained using standard state space averaging techniques, were utilized in the dissertation. Analog PID and PI controllers were designed for generic buck and boost converters using standard frequency response techniques. The controllers were then transformed into digital controllers. The small signal models of the converters change with the variations of the operating point. Since the linear controllers were designed based on the small signal vi models, they were not able to respond effectively to changes in operating point. To achieve a stable and fast response, nonlinear control methods were applied to the buck and boost converters. Since fuzzy controllers don?t require a precise mathematical model, they are well suited to nonlinear, time-variant systems. Fuzzy controllers were designed for the buck and boost converters. Two structures of fuzzy controllers are investigated in this dissertation. Only one structure was applied to the buck converter, and both structures were applied to the boost converter to obtain satisfactory response. The second nonlinear control method investigated in this dissertation was sliding mode fuzzy controller. The sliding mode fuzzy controller combined the advantages of both fuzzy controllers and sliding mode controllers. Sliding mode fuzzy controllers are designed for the boost converter. The digital controllers designed using linear and nonlinear control methods were implemented on a TI DSP. Experimental results for the buck and boost converters were presented and compared. Experimental results verify that nonlinear controllers have superior performance over linear controllers under the change of operating points. vii ACKNOWLEDGEMENTS This research was supported by the Center for Space Power and Advanced Electronics with funds from NASA grant NCC3-511, Auburn University, and the Center?s industrial partners. The author wishes to thank her major professor Dr. R. M. Nelms most deeply for his guidance through her graduate studies. The author would like to thank Dr. John Y. Hung and Dr. Victor P. Nelson for many insightful suggestions which they have offered. Finally, the author would like to extend her heartfelt gratitude to her parents and her husband for their love, support and encouragement while pursuing her course of study. viii Style Manual or Journal Used: Bibliography conforms to those in the Institute of Electrical and Electronics Engineers Transactions on Power Electronics Computer Software Used: Microsoft ? Windows XP Operating Systems Microsoft ? Word 2002 Microsoft ? Excel 2002 MATLAB ? Version 6.5 Simulink Version 5.0 Visio ? 2000 for Microsoft Windows TI C2000 Code Composer Studio IDE Acrobat Distiller 4.0 ix TABLE OF CONTENTS LIST OF FIGURES ........................................................................................................... xi LIST OF TABLES............................................................................................................ xv 1 INTRODUCTION .......................................................................................................... 1 1.1 Switch-Mode DC-DC Converters............................................................................. 2 1.1.1 Buck Converter .................................................................................................. 2 1.1.2 Boost Converter ................................................................................................. 4 1.2 Control of DC-DC Converters.................................................................................. 5 1.3 Literature Review...................................................................................................... 6 2 EXPERIMENTAL TESTBED ..................................................................................... 14 2.1 Hardware................................................................................................................. 14 2.2 TMS320F2812 DSP Evaluation Module................................................................ 18 2.2.1 TMS320F2812 Overview ................................................................................ 18 2.2.2 Memory Map ................................................................................................... 19 2.2.3 Analog-to-Digital Converter Module .............................................................. 19 2.2.4 Event Manager Module.................................................................................... 21 2.2.5 Interrupts.......................................................................................................... 23 2.2.6 Code Development Tool.................................................................................. 25 3 LINEAR CONTROL DESIGN FOR DC-DC CONVERTERS................................... 29 3.1 State-Space Averaged Model for DC-DC Converters............................................ 30 3.1.1 Buck Converters............................................................................................... 31 3.1.2 Boost Converters.............................................................................................. 34 3.2 Digital Controller Design for DC-DC Converters Using Frequency Response Techniques .................................................................................................................... 37 3.2.1 Buck Converters............................................................................................... 40 3.2.1.1 PID Controller Design for Buck Converters............................................. 41 3.2.1.2 PI Controller Design for Buck Converters................................................ 42 3.2.2 Boost Converters.............................................................................................. 43 3.2.2.1 PID Controller Design for Boost Converters............................................ 43 3.2.2.2 PI Controller Design for Boost Converters............................................... 44 3.2.3 Transformation from an Analog Controller to a Digital Controller ................ 44 3.3 Implementation of Digital Controllers.................................................................... 45 3.3.1 Program Structure ............................................................................................ 46 x 3.3.2 Implementation of Digital PID and PI Controllers.......................................... 48 4 FUZZY CONTROLLER DESIGN FOR DC-DC CONVERTERS ............................. 52 4.1 Introduction to Fuzzy Control................................................................................. 53 4.2 Fuzzy Control Design for DC-DC Converters........................................................ 54 4.2.1 Fuzzification .................................................................................................... 57 4.2.2 Rule Base ......................................................................................................... 59 4.2.3 Inference Mechanism....................................................................................... 59 4.2.4 Defuzzification................................................................................................. 60 4.3 Implementation of Fuzzy Controllers ..................................................................... 60 5 SLIDING MODE FUZZY CONTROLLER DESIGN FOR DC-DC CONVERTERS 66 5.1 Design of Sliding Mode Fuzzy Controller for DC-DC Converters ........................ 68 5.1.1 Switching Functions ........................................................................................ 69 5.1.2 Inputs and Their Scaling Factors ..................................................................... 72 5.1.3 Rule Base ......................................................................................................... 74 5.1.4 Inference Mechanism and Defuzzification Method......................................... 76 5.2 Implementation of Sliding Mode Fuzzy Controller................................................ 77 6 EXPERIMENTAL RESULTS...................................................................................... 79 6.1 Experimental Results for PID and PI Controllers................................................... 79 6.1.1 Buck Converter ................................................................................................ 79 6.1.2 Boost Converter ............................................................................................... 81 6.2 Experimental Results for Fuzzy Controllers........................................................... 82 6.2.1 Buck Converter ................................................................................................ 82 6.2.2 Boost Converter ............................................................................................... 86 6.3 Experimental Results for Sliding Mode Fuzzy Controllers.................................... 90 6.3.1 Boost Converter ............................................................................................... 90 6.3.2 Buck Converter ................................................................................................ 92 6.4 Comparison of Experimental Results of Linear and Nonlinear Control Methods.. 95 6.4.1 Buck Converter ................................................................................................ 95 6.4.2 Boost Converter ............................................................................................. 102 7 CONCLUSION AND FUTURE WORK ................................................................... 104 BIBLIOGRAPHY........................................................................................................... 109 xi LIST OF FIGURES 1.1 Buck Converter ............................................................................................................ 3 1.2 PWM signal to control the switches in the DC-DC converters ................................... 3 1.3 Equivalent circuit of the buck converter when the switch is closed............................ 4 1.4 Equivalent circuit of the buck converter when the switch is open .............................. 4 1.5 Boost converter ............................................................................................................5 1.6 Equivalent circuit of the boost converter when the switch is closed ........................... 5 1.7 Equivalent circuit of the boost converter when the switch is open.............................. 5 2.1 Circuit schematic of digital control system of the buck converter ............................ 15 2.2 Circuit schematic of digital control system of the boost converter ........................... 15 2.3 Functional diagram of HCPL-3180 high speed gate drive optocoupler .................... 17 2.4 F2812 memory map ................................................................................................... 20 2.5 Flowchart of the operation for CPU maskable interrupts .......................................... 26 2.6 Flow chart for code development in CCStudio IDE.................................................. 27 3.1 Bode plot of the state-space averaged model of the buck converter.......................... 33 3.2 Frequency response of the buck converter obtained by the analog analyzer............. 33 3.3 Bode plot of the state-space averaged model of the boost converter......................... 36 3.4 Comparison of the actual and theoretical frequency response of the boost converter36 3.5 Comparison of the frequency response obtained using the analog analyzer and from the generated transfer function.......................................................................................... 37 xii 3.6 Bode plot of PID controller compensated buck converter......................................... 41 3.7 Bode plot of PI controller compensated buck converter............................................ 42 3.8 Bode plot of PID controller compensated boost converter........................................ 43 3.9 Bode plot of PI controller compensated boost converter........................................... 44 3.10 Overview of the program structure for digital controllers....................................... 47 3.11 Block diagram of digital PID controller .................................................................. 49 3.12 Flowchart of digital PID and PI controller .............................................................. 51 4.1 Block diagram of fuzzy control system ..................................................................... 54 4.2 Simulink model of the fuzzy controller for the DC-DC converters Method 1: (d[k] = d[k-1]+h*?d[k].)................................................................................................................ 56 4.3 Simulink model of the fuzzy controller with a linear integrator for the DC-DC converters Method 2:(d[k] = K I *I[k]+h*?d[k])................................................................. 57 4.4 Membership functions of the inputs e[k] and ce[k] for the buck converter............... 58 4.5 Membership functions of the inputs e[k] and ce[k] for the boost converter .............. 58 4.6 Flowchart of fuzzy controller using method 1........................................................... 61 4.7 Flowchart of fuzzy controller with a linear integrator............................................... 62 5.1 Switching function of the sliding mode fuzzy controller for boost converter ........... 71 5.2 Step response of the switching function for boost converter..................................... 71 5.3 Step response of switching function for buck converter............................................ 72 5.4 Membership functions of the inputs e[k] and ce[k] for the boost converter .............. 73 5.5 Function between ci and s(x) ..................................................................................... 75 5.6 Simulink model of the system using sliding mode fuzzy controller for the DC-DC converters.......................................................................................................................... 78 6.1 Start up transient response of the buck converter using the linear PID and PI control method............................................................................................................................... 80 xiii 6.2 Transient response for the buck converter using the linear PID and PI control method when the load changed from 1.364 A to 0.16 A ............................................................... 80 6.3 Start up transient response of the boost converter using the linear PID and PI control method............................................................................................................................... 81 6.4 Transient response for the boost converter using the linear PID and PI control method when the load changed from 0.24 A to 0.48 A .................................................... 82 6.5 Start up transient response of the buck converter using the second fuzzy control method with 17*17 rule base ............................................................................................ 84 6.6 Transient response for the buck converter using the second fuzzy control method with 17*17 rule base when the load changed from 1.364 A to 0.16 A............................. 85 6.7 Start up transient response of the buck converter using the second fuzzy control method with 7*7 rule base ................................................................................................ 85 6.8 Transient response for the buck converter using the second fuzzy control method with 7*7 rule base when the load changed from 1.364 A to 0.16 A................................. 86 6.9 Start up transient response of the boost converter using the second fuzzy control method............................................................................................................................... 87 6.10 Transient response for the boost converter using the first fuzzy control method when the load changed from 0.24 A to 0.48 A ................................................................. 89 6.11 Start up transient response of the boost converter using sliding mode fuzzy control with different input voltage............................................................................................... 91 6.12 Transient response of the boost converter using sliding mode fuzzy control when the load current changed from 0.24 A to 0.48 A .............................................................. 91 6.13 Start up transient response of the buck converter using sliding mode fuzzy controller with different input voltage .............................................................................. 93 6.14 Steady-state response of the buck converter with the PWM signal......................... 94 6.15 Load transient response of the buck converter using sliding mode fuzzy controller when the load changed from 0.96 A to 0.48 A with different input voltage .................... 94 6.16 Load transient response of the buck converter using sliding mode fuzzy controller when the load changed from 0.48 A to 0.96 A with different input voltage .................... 95 xiv 6.17 Start up transient response of the buck converter using ordinary fuzzy controller with different input voltage............................................................................................... 96 6.18 Load transient response using ordinary fuzzy controller when the load changed from 0.96A to 0.48A with different input voltage............................................................ 97 6.19 Load transient response using ordinary fuzzy controller when the load changed from 0.48 A to 0.96 A with different input voltage.......................................................... 97 6.20 Start up transient response of the buck converter using PID/PI controller with different input voltage....................................................................................................... 99 6.21 Load transient response using PID/PI controller when the load changed from 0.96 A to 0.48 A with different input voltage............................................................................... 99 6.22 Load transient response using PID/PI controller when the load changed from 0.48 A to 0.96 A with different input voltage............................................................................. 100 xv LIST OF TABLES 2.1 Configuration of event-manager modules EVA and EVB ........................................ 22 5.1 7?7 Rule base of the sliding mode fuzzy controller .................................................. 76 6.1 Comparison of Performance of Sliding Mode Fuzzy Control vs. Ordinary Fuzzy Control vs. PID/PI Control for Buck Converter ............................................................. 101 6.2 Comparison of Performance of PID Control, Fuzzy Control, and Sliding Mode Fuzzy Control for the Boost Converter ..................................................................................... 103 1 CHAPTER 1 INTRODUCTION Switch mode DC-DC converters efficiently convert an unregulated DC input voltage into a regulated DC output voltage. Compared to linear power supplies, switching power supplies provide much more efficiency and power density. Switching power supplies employ solid-state devices such as transistors and diodes to operate as a switch: either completely on or completely off. Energy storage elements, including capacitors and inductors, are used for energy transfer and work as a low-pass filter. The buck converter and the boost converter are the two fundamental topologies of switch mode DC-DC converters. Most of the other topologies are either buck-derived or boost-derived converters, because their topologies are equivalent to the buck or the boost converters. Traditionally, the control methodology for DC-DC converters has been analog control. In the recent years, technology advances in very-large-scale integration (VLSI) have made digital control of DC-DC converters with microcontrollers and digital signal processors (DSP) possible. The major advantages of digital control over analog control are higher immunity to environmental changes such as temperature and aging of components, increased flexibility by changing the software, more advanced control techniques and shorter design cycles. Generally, DSPs have more computational power than microcontrollers. Therefore, more advanced control algorithms can be implemented on a DSP. 2 1.1 Switch-Mode DC-DC Converters Switch-mode DC-DC converters are used to convert the unregulated DC input to a controlled DC output at a desired voltage level. Switch-mode DC-DC converters include buck converters, boost converters, buck-boost converters, Cuk converters and full-bridge converters, etc. Among these converters, the buck converter and the boost converter are the basic topologies. Both the buck-boost and Cuk converters are combinations of the two basic topologies. The full-bridge converter is derived from the buck converter. There are usually two modes of operation for DC-DC converters: continuous and discontinuous. The current flowing through the inductor never falls to zero in the continuous mode. In the discontinuous mode, the inductor current falls to zero during the time the switch is turned off. Only operation in the continuous mode is considered in this dissertation. 1.1.1 Buck Converter The buck converter, shown in Figure 1.1, converts the unregulated source voltage Vin into a lower output voltage Vout. The NPN transistor shown in Figure 1.1 works as a switch. The ratio of the ON time ( ONt ) when the switch is closed to the entire switching period (T) is defined as the duty cycle D = ON T t . The corresponding PWM signal is shown in Figure 1.2 [1]. 3 + - Vin iin Diode Inductor Capacitor Load Vout + _ Gate Drive Figure 1.1 Buck Converter Switching Period (T) tON Figure 1.2 PWM signal to control the switches in the DC-DC converters The equivalent circuit in Figure 1.3 is valid when the switch is closed. The diode is reverse biased, and the input voltage supplies energy to the inductor, capacitor and the load. When the switch is open as shown in Figure 1.4, the diode conducts, the capacitor supplies energy to the load, and the inductor current flows through the capacitor and the diode [2]. The output voltage is controlled by varying the duty cycle. During steady state, the ratio of output voltage over input voltage is D, which is given by (1.1). Vout D Vin = (1.1) 4 + - Vin iin Inductor Capacitor Load Vout + - Figure 1.3 Equivalent circuit of the buck converter when the switch is closed Inductor Capacitor Load Vout + _ Figure 1.4 Equivalent circuit of the buck converter when the switch is open 1.1.2 Boost Converter The boost converter, shown in Figure 1.5, converts an unregulated source voltage Vin into a higher regulated load voltage Vout. When the switch is closed as shown in Figure 1.6, the diode is reverse biased and the input voltage supplies energy to the inductor while the capacitor discharges into the load. When the switch is opened as shown in Figure 1.7, the diode conducts and both energy from the input voltage and energy stored in the inductor are supplied to the capacitor and the load; thus the output voltage is higher than the input voltage [3]. During steady state operation, the ratio between the output and input voltage is 1 1 D? , which is given in (1.2). The output voltage is controlled by varying the duty cycle. 5 + - Vin Diode Inductor Capacitor Load Vout + _ Gate Drive Figure 1.5 Boost converter + - Vin Inductor Capacitor Load Vout + _ Figure 1.6 Equivalent circuit of the boost converter when the switch is closed + - Vin Inductor Capacitor Load Vout + _ Figure 1.7 Equivalent circuit of the boost converter when the switch is open 1 1 Vout Vin D = ? (1.2) 1.2 Control of DC-DC Converters The output voltage of the switch-mode DC-DC converters are regulated to be within a specified range in response to changes in the input voltage and the load current. 6 There are two control methods for DC-DC converters: voltage mode control and current mode control [2]. In voltage mode control, the converter?s output voltage is compared with a reference to generate the voltage error signal. The duty cycle is adjusted based on the error signal to make the output voltage follow the reference value. Frequency response methods are usually used in the design of voltage mode controllers for DC-DC converters. Small signal models of the converters are first obtained by linearizing the power stage of the converters around an operating point, then a compensator is designed based on the small signal model. Typical compensators include phase-lead compensator, phase-lag compensator and lead-lag compensator. In analog control, the compensators are implemented using operational amplifiers and appropriate values of resistors and capacitors to obtain the desired transfer function. In digital control, the control algorithm is implemented on a microcontroller or DSP. Current mode control for a DC-DC converter is a two-loop system. An additional inner current loop is added to the voltage loop. The current loop monitors the inductor current and compares it with its reference value. The reference value for the inductor current is generated by the voltage loop. 1.3 Literature Review The research problem addressed in this dissertation is the design and implementation of digital controllers for buck and boost converters on a DSP using linear and nonlinear control methods. Digital controllers were implemented on a TI DSP. Experimental results for the controllers have been evaluated and compared for prototype buck and boost converters. 7 Digital control for DC-DC converters is theoretically interesting because it is a multi-disciplinary research. Theory in the areas of power electronics, systems and control, and computer systems are all needed to conduct research in digital control of DC-DC converters. The increasing interest in digital control of switch mode power supplies is shown in international conference proceedings and journal publications in the past few years. Duan and Jin from University of British Columbia made a thorough evaluation of different digital control design methods for DC-DC converters [4]. The methods include direct and indirect design approaches. In the direct design approach, small signal models of the converters are first converted into discrete-time models, and digital controllers are directly designed based on the discrete-time models. In the indirect design approach, analog controllers are first designed based on the small signal models of the converters, and then converted into digital controllers. The best approach is determined based on a comparison of experimental results. It was concluded that the direct design approach is better than an indirect design approach. Backward integration methods were suggested to be a better discretization method for the indirect design approach. Bibian and Jin from the University of British Columbia studied two prediction techniques for the compensation of digital control time delay in DC-DC converters. Modified predictor and simplified predictor were developed to increase the bandwidth of the control loop [5]. Vallittu, Suntio and Ovaska studied the opportunities and constraints of digital control of power supplies. The advantages and disadvantages of analog and digital control of power supplies were compared in [6]. Linear controller design methods mainly include frequency response and root locus techniques [7]. The small signal models of buck and boost converters are obtained 8 using standard state space averaging techniques [2, 3]. Linear controllers are designed using frequency response techniques and root locus techniques. In this dissertation, analog PID and PI controllers were first designed using standard frequency response techniques based on the small signal model of the converters. The analog controllers were then transformed into digital controllers. When using the root locus techniques, the small signal models are first transformed into discrete-time models. Digital controllers are then designed based on the discrete-time models using the root locus method. A digital controller was designed for a buck converter based on root locus techniques in [8]. The analog plant consists of the buck converter?s model, the pulse width modulator, and the A/D converter. The analog plant was transformed into a discrete-time transfer function, and then a digital controller was directly designed. The small signal models for the converters change due to variations in operating point. The boost converter?s small signal model is a nonlinear function of the operating point, while only the magnitude of the buck converter?s small signal model shifts with the change of operating point [3]. The linear controllers were designed only for the nominal operating point. To achieve a stable and fast response under varying operating points, there are two possible solutions. One is to develop a more accurate model for the converter. However, the model may be too complex to use in controller development. A second solution is to use a nonlinear controller [9]. After designing and implementing linear controllers for the buck and boost converters, nonlinear controllers were designed and implemented for the converters. 9 Among the various techniques of artificial intelligence, the most popular and widely used technique in control systems is fuzzy control [9]. Fuzzy controllers are designed based on the general knowledge of the converters. The controller is then tuned using a trial and error method to obtain satisfactory response. Since a fuzzy controller is a nonlinear controller, it can adapt to a varying operating point. Many researchers have investigated fuzzy controllers for DC-DC converters. Viswanathan, Srinivasan and Oruganti studied the development of a universal fuzzy controller for a boost converter [9]. Simulation results were compared with the results of a PI controller under varying operating points. The performance of the fuzzy controller was superior to the performance of the PI controller. Mattevelli and Spiazzi investigated a general-purpose fuzzy controller for DC-DC converters [10]. The fuzzy controller improved performance in terms of overshoot limitations and sensitivity to parameter variations compared to standard controllers. Simulation results for buck-boost and Sepic converters were presented. Perry and Sen proposed a design procedure that integrated linear control techniques with fuzzy logic [11]. The small signal model for the converters and linear design techniques were used in the initial stages of fuzzy controller design. Simulation and experimental results were presented and compared with results of a digital PI controller. Butkiewicz investigated steady-state error of a system with fuzzy controllers [12]. Wang and Lee designed a fuzzy controller for basic DC-DC converters and then compared the computer simulation results with those for current-mode control in buck, boost and buck-boost converters [13]. It was concluded from the comparison of start-up responses and load regulation tests that the current-mode controlled buck converter had a faster transient response and better load regulation, while the fuzzy 10 controller for both boost and buck-boost converters had less steady-state error and better transient response. J. Arias, A. Arias, et al. proposed a design procedure for a fuzzy logic controller for a buck converter [14]. The control rules were derived from analysis of the system dynamics in the state plane. This design procedure can be applied to other converter topologies. Gomariz, Guinjoan, et al. applied the describing function techniques to a two-rule fuzzy controller for boost converters [15]. Scaling factors boundaries were established to avoid oscillatory behavior in the system. This technique facilitated theoretical design and analysis of fuzzy controllers. Simulation results for the boost converter were presented in order to validate the considerations. Campo and Tarela investigated the consequences of the finite word length on the performance of a digital fuzzy logic controller [16]. There were three types of error as a result of the finite word length: AD conversion errors, membership function errors and arithmetic errors. Simulation results showed that bias and limit cycles were generated due to the quantization. The bias and limit cycles were difficult to predict because of the nonlinear nature of the both quantization and fuzzy controllers. Many studies of fuzzy controllers for DC-DC converters have only been supported by simulation results, and have not been verified by experimental results. In this dissertation, experimental results of the fuzzy controllers for buck and boost converters have been obtained and compared with the results for linear controllers. Two structures of fuzzy controllers have been studied. The first structure is more prevalently used than the second structure [17,18,19]. In this dissertation, only the second method was applied to the buck converter to obtain satisfactory response, while for the boost converter, a combination of both methods was applied to obtain the desired response. 11 Sliding mode control of DC-DC converters has been widely investigated by researchers [20-33]. A sliding mode is achieved by forcing the system trajectory on a properly designed switching function using high speed switch control. Sliding mode control is a powerful method that can yield a very robust closed-loop system under plant uncertainties and external disturbances. The sliding mode can be entirely independent of the effects of modeling uncertainties, parameter fluctuations and disturbances. Hung, Gao and Hung had a very thorough tutorial about variable structure control with sliding mode [20]. Fundamental theory, main results and practical applications of sliding mode control were introduced. Mahdavi, Emadi and Toliyat designed sliding mode controllers for buck, boost, buck-boost and Cuk converters based on the state-space-averaging method [21]. The controllers were simulated, and satisfactory simulation results were obtained. Cortes and Alvarez investigated several sliding surface designs for boost converters [22]. They proposed sliding surfaces that do not depend on the load to eliminate the necessity for current measurement. Vidal-Idiarte, Martinez-Salamero, et al. presented a two-loop control for a boost converter [23]. An inner loop controlled the inductor current using sliding mode control. The outer loop used a fuzzy controller to implement the voltage loop. The controller implementation used analog components for the inner loop and an 8- bit microcontroller for the outer loop. Orosco and Vazquez analyzed discrete sliding mode control for DC-DC converters [24]. The analysis included the reaching condition, proof of the existence condition of the sliding mode and stability conditions. Simulation results were presented. Shi and Sen conducted a study of different types of PID-like fuzzy logic controllers for application to DC-DC converters [25]. Raviraj and Sen performed a comparative evaluation of the PI, sliding mode and fuzzy logic controllers 12 for application to DC-DC converters. Ahmed, Kuisma et al. presented implementation of a sliding mode controller for a buck converter [26]. Most research on sliding mode controllers for DC-DC converters has been limited to continuous time, and only simulation results have been presented. Furthermore, several disadvantages exist for sliding mode control. Because infinitely fast switching of the control action is impossible in practice, chattering always occurs in steady state. A constant switching frequency can?t be guaranteed. This issue has prevented sliding mode control from being extensively applied to DC-DC converters. In this dissertation, a sliding mode fuzzy controller was proposed to control a DC- DC boost converter. The sliding mode fuzzy controller combines the advantages of both fuzzy controllers and sliding mode controllers [34]. It is more robust than an ordinary sliding mode controller. The sliding surface in a sliding mode fuzzy controller is rendered by rule bases and scaling factors, rather than a function. The sliding mode fuzzy control has advantages of its own that cope with the problems in the sliding mode control and fuzzy control design and implementation. All the digital controllers discussed here were implemented on a TI TMS320F2812 DSP. The F2812 DSP is a 32-bit, fixed point DSP. The clock frequency is 150 MHz. It supports peripherals used for embedded control applications, such as event manager modules for PWM output and a dual 12-bit, 16 channel ADC. Described in Chapter 2 of this dissertation is the experimental testbed including hardware configuration and main features of the DSP controller from Texas Instruments. In Chapter 3, digital controllers are designed for DC-DC converters using linear control methods. Frequency response techniques are applied to design digital controllers for the 13 buck and boost converters. The transformation from analog controller to digital controller and implementation of digital controllers are also discussed in Chapter 3. The design and implementation of fuzzy controllers for DC-DC converters is discussed in Chapter 4. Design and implementation of sliding mode fuzzy controllers is presented in Chapter 5. Laboratory results for the buck and the boost converters are presented and compared in Chapter 6. In Chapter 7, the research is summarized and suggestions for future work are made. 14 CHAPTER 2 EXPERIMENTAL TESTBED Implementation of digital controllers for the buck and the boost converters required both hardware and software. Described in this chapter are the hardware components, including the DC-DC converters, the gate drive and the digital signal processor (DSP). In the first section of this chapter, the hardware configuration of the experimental testbed is described. In the second section of this chapter, detailed information about the Texas Instrument DSP is presented. The control algorithms of linear and nonlinear controllers were all implemented on the TI DSP. 2.1 Hardware The complete circuit schematics of the digital control system of the buck and boost converters are shown in Figure 2.1 and Figure 2.2, respectively. The schematics can be divided into four functional blocks: the DC-DC converter, the input to the ADC, the digital signal processor (DSP) and the gate drive. The buck converter block is the common topology of the buck converter. It consists of the source voltage, two input filter capacitors (470 ?F and 0.47 ?F), a fast recovery diode (MBR3045PT), a MOSFET (IRFZ34N) as the switching device, output capacitors and a load resistor of 10 ?. The output capacitors are made of four capacitors in parallel to reduce the equivalent series resistance (ESR). The total value of the output capacitor C is 1000 ?F. The ESR is estimated to be 30 m? [18,19]. 15 Vin=20V 470uF 0.47uF L=150uH 470uF 330uF 100uF 100uF Load= 10 Ohm TMS320F2812 T2PWM GNDA VCC HCPL-3180 1 2 3 4 8 7 6 5 NC ANODE CATHODE NC Vcc Vo Vo GND Buck Converter Digital Signal Processor Gate Drive DC 15VMM74HC04 3.3V 150 Ohm 0.5uF 1.3 KOhm IRFZ34N 51 Ohm MBR3045PT 56 KOhm 3V OP184F Input to ADC 10KOhm GND ADCINA3 8.2 KOhm Figure 2.1 Circuit schematic of digital control system of the buck converter Load= 25 Ohm TMS320F2812 T2PWM GNDA VCC HCPL-3180 1 2 3 4 8 7 6 5 NC ANODE CATHODE NC Vcc Vo Vo GND Boost Converter Digital Signal Processor Gate Drive DC 15VMM74HC04 3.3V 150 Ohm 0.5uF 1.3 KOhm 51 Ohm 47KOhm 3V OP184F Input to ADC 10KOhm GND ADCINA3 8.2 KOhm 220uF 0.1uF 330uF 330uF 330uF 33uF 33uF IRFZ14N Vin=5V MBR1545CTL=260uH Figure 2.2 Circuit schematic of digital control system of the boost converter 16 The input to the analog to digital converter is connected to a voltage divider and a unity gain buffer. The ADC of the DSP is able to receive an input voltage as high as 3 V, but the output voltage of the buck converter is targeted at 12 V. The output voltage of the buck converter is divided by the ratio of 6.6 1 , and thus limited to be under 3 V before it is applied to the ADC. The function of the unity gain buffer is protection for the ADC. The operational amplifier OP184F features rail-to-rail input and output. Since the voltage supply for the operational amplifier is 3 V, the output of the op amp will be less than or equal to 3 V. The third block is the gate drive. The MOSFET requires proper external gate signals for turn-on and turn-off. The switch will be on when gate-to-source voltage VGS is greater than the threshold voltage Vth, and off when VGS is less than Vth. The gate is voltage controlled. Generally, Vth is about 2 to 4 V. In a practical gate drive design, a higher V GS is more applicable in the converter design. In the buck converter, the ground of the gate drive should be floating to avoid a short circuit. To achieve this, an optocoupler was used to isolate the gate drive?s ground from the circuit?s common ground. As is shown in the gate drive block in Figure 2.1, an HCPL-3180 high speed gate drive optocoupler from Agilent Technologies was used. The HCPL-3180 is an optocoupler integrated with a high speed gate drive. It features 2.0 A maximum peak output current, 250 kHz maximum switching speed, 200 ns maximum propagation delay, wide operating temperature range of -40 o Cto 100 o C, wide Vcc operating range of 10 V to 20 V and 20 ns typical pulse width distortion. It is well suited to supply high frequency gate signals for the MOSFETs and IGBTs used in high performance DC-DC converters 17 and switching power supply applications. The functional diagram of the HCPL-3180 is shown in Figure 2.3 [35]. The LED across pins 2 and 3 is optically coupled to an integrated circuit with a power stage. Figure 2.3 Functional diagram of HCPL-3180 high speed gate drive optocoupler In Figure 2.1, at the input of the HCPL-3180, a CMOS inverter MM74HC04 serves as an interface between the DSP and the optocoupler. The MM74HC04 has a typical propagation delay of only 8 ns. It is very small compared to the switching period of 6.67 ?s. In the digital control system of the boost converter shown in Figure 2.2, the block for the boost converter is a generic boost converter. The block includes the source voltage, two input filter capacitors (220 ?F and 0.1 ?F), a fast recovery diode (MBR1545CT), a MOSFET (IRFZ14N) as the switching device, an output capacitor and a load resistor of 25 ?. The output capacitor C is made of five capacitors in parallel to reduce the ESR. The total value of the capacitors is 1056 ?F. Details about the TMS320F2812 DSP controller will be presented in the next section. 18 2.2 TMS320F2812 DSP Evaluation Module The TMS320 family of digital signal processors (DSP), produced by Texas Instruments, is composed of fixed point, floating point and multiprocessor DSPs. The TMS320 family has three DSP platforms: the TMS320C6000 TM DSP, the TMS320C5000 TM DSP, and the TMS320C2000 TM DSP. The TMS320C2000 TM DSP platform is optimized for control applications. The TMS320F2812 DSP belongs to the TMS320C28x generation, which is the newest member of the TMS320C2000 TM DSP platform. By integrating the DSP core and on-chip peripherals, the TMS320C28x DSP generation offers a high-performance solution to digital control. It targets a wide variety of digital control applications including industrial control, motor control and automobile control applications. 2.2.1 TMS320F2812 Overview The TMS320F2812 is a 32-bit fixed point DSP controller with on-board flash memory [36]. The CPU operates at 150 MHz. The C28x DSP generation is efficient in executing C and C++ programs, hence enabling control algorithms to be developed in high level languages. The F2812 supports the peripherals used for embedded control and communication, such as an event manager module for pulse-width-modulation (PWM) and a dual 12-bit, 16-channel analog-to-digital converter (ADC). . The TMS320F2812 DSP controller comes in a 176 pin package. The pins can be categorized according to function: address and data bus, interface control signals, ADC inputs, bit I/O and shared functions bits, serial communication interface, compare signals, interrupts signals, clock signals and test signals. 19 2.2.2 Memory Map The C28x uses 32-bit data addresses and 22-bit program addresses. This allows for a total address reach of 4G words in data space and 4M words in program space. Memory blocks on all C28x designs are uniformly mapped to both program and data space. Therefore, memory blocks can be used to execute code or for data variables. The memory map for the TMS320F2812 is shown in Figure 2.4. The memory map is divided into three segments: on-chip program/data memory, CPU interrupt vectors and reserved memory. The memory blocks M0 and M1 are single access on-chip RAM (SARAM). Each of these blocks is 1K words in size. M0 is mapped at address 00 0000 16 ? 00 03FF 16 and M1 is mapped at addresses 00 0400 16 ? 00 07FF 16 . L0 and L1 are two blocks of 4K words SARAM. H0 is a block of 8K words SARAM. In total, there are five blocks of SARAM with 18K words in size. There is a block of 128K words FLASH mapped at addresses 3D 8000 16 ? 3F 7FF8 16 . 2.2.3 Analog-to-Digital Converter Module The Analog-to-Digital Converter (ADC) module is a dual 12-bit, 16-channel ADC [37]. The 12-bit ADC has a built-in sample-and-hold circuit. The 16 channels provide multiplexed inputs to the ADC, as there is only one converter in the ADC module. The channels can be configured as two independent 8-channel modules or cascaded to form a 16-channel module. Autosequencing capability provides up to 16 autoconversions in a single session. Each conversion can be programmed to select any 1 of 16 input channels. Autosequencing allows the system to convert the same channel multiple times, allowing the user to perform over-sampling algorithms. This gives 20 increased resolution over traditional single-sampled conversion results. The conversion time is 200 ns for a single conversion and 60 ns for pipelined conversions. Data Space Program Space M0 Vector ? RAM (32x32) (Enabled if VMAP = 0) M0 SARAM (1Kx16) M1 SARAM (1Kx16) Peripheral Frame 0 (2Kx16) PIE Vector ? RAM (256x16) (Enabled if VMAP=1, ENPIE=1) Reserved Reserved Reserved Peripheral Frame1 (4Kx16) Peripheral Frame2 (4Kx16) Reserved L0 SARAM (4Kx16, secure block) L1 SARAM (4Kx16, secure block) Reserved OTP (1Kx16, secure block) Reserved (1K) FLASH (128Kx16, secure block) 128-bit password H0 SARAM (8Kx16) Reserved Boot ROM (4Kx16) BROM Vector ? ROM (32x32) Figure 2.4 F2812 memory map The analog input is limited from 0 to 3 V. The digital value of the ADC can be represented by (2.1), where ADCLO is the ground reference value for ADC. Digital value =4095 ? 3 log ADCLOVoltageAnaInput ? (2.1) 0x00 0000 0x00 0040 0x00 0400 0x00 0800 0x00 0D00 0x00 0E00 0x00 2000 0x00 6000 0x00 7000 0x00 8000 0x00 9000 0x00 A000 0x3D 7800 0x3D 7C00 0x3D 8000 0x3F 7FF8 0x3F 8000 0x3F A000 0x3F F000 0x3F FFC0 21 Multiple triggers serve as sources for the start of an A/D conversion sequence. The triggers are: (1) software immediate start, (2) event manager A (multiple event sources within EVA), (3) event manager B (multiple event sources within EVB), and (4) external pins. 2.2.4 Event Manager Module The event-manager (EV) modules provide a broad range of functions that are particularly useful in motor control and power converter control applications [38]. The EV modules include general-purpose (GP) timers, full-compare/PWM units, capture units, and quadrature-encoder pulse (QEP) circuits. The two EV modules, EVA and EVB, are identical peripherals, intended for multi-axis/motion-control applications. Up to eight PWM waveforms (outputs) can be generated simultaneously by each EV module: three independent pairs (six outputs) by the three full compare units with programmable deadbands and two independent PWMs. The complete configuration of the event- manager modules EVA and EVB is shown in Table 2.1. There are two GP timers in each EV module. The GP timer x (x=1 or 2 for EVA; x=3 or 4 for EVB) includes: a 16-bit timer, up/down counter, TxCNT, for reads or writes, a 16-bit timer-compare register, TxCMPR, for reads or writes, a 16-bit timer-period register TxPR, for reads or writes, a 16-bit timer-control register, TxCON, for reads or writes, selectable internal or external input clocks, a programmable prescaler for internal or external clock inputs, control and interrupt logic, for four maskable interrupts- underflow, overflow, timer compare, and period interrupts, and GP timer output pin TxCMP (x=1,2,3,4). The two GP timers can be used in applications such as: the generation of sampling period for digital control system, providing a time base for the 22 operation of compare units and PWM outputs, and providing a time base for the capture units and the QEP units. Table 2.1: Configuration of event-manager modules EVA and EVB EVA EVB Event Manager Modules Module Signal Module Signal GP Timer 1 T1PWM/T1CMP GP Timer 3 T3PWM/T3CMP GP Timers GP Timer 2 T2PWM/T2CMP GP Timer 4 T4PWM/T4CMP Compare 1 PWM1/2 Compare 4 PWM7/8 Compare 2 PWM3/4 Compare 5 PWM9/10 Compare Units Compare 3 PWM5/6 Compare 6 PWM11/12 Capture 1 CAP1 Capture 4 CAP4 Capture 2 CAP2 Capture 5 CAP5 Capture Units Capture 3 CAP3 Capture 6 CAP6 QEP1 QEP1 QEP3 QEP3 QEP2 QEP2 QEP4 QEP4 QEP channels QEPI1 CAP3 QEPI2 CAP6 Direction TDIRA Direction TDIRB External Clock Inputs External Clock TCLKINA External Clock TCLKINB Each GP timer has four modes of operation: (1) stop/hold mode, (2) continuous up-counting mode, (3) directional up/down counting mode, and (4) continuous up/down counting mode. The mode of operation is determined by the bit pattern in the timer control register TxCON. In the stop/hold mode, the GP timer stops and holds at its current value. In the continuous up-counting mode, the GP timer counts up according to 23 the scaled input clock until the value of the timer counter reaches the period register?s value. On the next rising edge of the clock, the GP timer resets to zero and starts to count again. The continuous up counting mode is very useful for the generation of edge- triggered or asymmetric PWM signals or a sampling period in a digital control system. In the directional up/down counting mode, the GP timer counts up or down according to the TDIRA/B input pin. When the TDIRA/B is held high, the GP timer counts up from zero to the period register?s value, then resets to zero and continues to count up. On the other hand, when the TDIRA/B input is low, the GP timer counts down from the period register?s value to zero, then it reloads the period?s register value and continues to count down. The continuous up/down counting mode is the same as the directional up/down counting mode, but the TDIRA/B pin has no effect on the counting direction. The counting direction only changes from up to down when the timer reaches the period value, and only changes from down to up when the timer reaches zero. To generate an asymmetric PWM signal, the GP timer needs to operate in continuous up-counting modes. And, to generate a symmetric PWM signal, the GP timer should be in the continuous up/down counting modes. When the value of the GP timer matches that of the compare register, the output of the GP timer toggles. For the continuous up-counting mode, the length of the active phase (the output pulse width) is represented by [(TxPR) - (TxCMPR) + 1] cycles of the scaled input clock. 2.2.5 Interrupts The C28x CPU supports 32 CPU interrupt vectors [38, 39]. Each vector is a 22-bit address that is the starting address for the associated interrupt service routine (ISR). 24 Maskable interrupts include INT1-INT14, DLOGINT and ROTSINT. INT1-INT14 are 14 general-purpose interrupts. Nonmaskable interrupts include software interrupts (INTR and TRAP instructions), hardware interrupt NMI , illegal-instruction trap and hardware reset interrupt RS . The maskable interrupts are supported by three dedicated registers: the interrupt flag register (IFR), the interrupt enable register (IER), and the debug interrupt enable register (DBGIER). The 16-bit IFR contains flag bits that indicate which of the corresponding interrupts are pending. The IER and DBGIER registers each contain bits to individually enable or disable a maskable interrupt. An interrupt can be enabled by setting the corresponding bit to 1. All maskable interrupts can be globally enabled by clearing the INTM bit, or globally disabled by setting it. Since the CPU does not have enough capability to respond to all peripheral requests at the CPU level, a centralized peripheral interrupt expansion (PIE) controller is used to arbitrate the interrupt requests from different resources such as peripherals and other external pins. Eight PIE interrupts are grouped into one CPU interrupt. The PIE block can support 96 individual interrupts that are grouped into blocks of eight. Each group is fed into one of 12 interrupt lines (INT1 to INT12). For multiplexed interrupt sources, each interrupt group in the PIE block has an associated flag bit (PIEIFRx.y) and enable bit (PIEIERx.y). In addition, there is an acknowledge bit (PIEACK) for every PIE interrupt group INT1-INT12. The flowchart for the CPU to process maskable interrupts is shown in Figure 2.5. When an interrupt request is sent to the CPU, the CPU level interrupt flag register IFR bit corresponding to INTx is set. The CPU then checks if the interrupt is enabled in the CPU 25 interrupt enable register IER and the global interrupt mask INTM bit. The CPU then prepares to service the interrupt. In preparation, the corresponding CPU IFR and IER bits are cleared, EALLOW and LOOP are cleared, INTM and DBGM are set, the pipeline is flushed, the return address is stored, and the automatic context save is performed. The CPU is then loaded with the fetched interrupt vector, and the interrupt service routine is executed. 2.2.6 Code Development Tool The TMS320C2000 Code Composer Studio (CCS) is a Windows-based integrated development environment (IDE). The CCStudio IDE includes software tools for project managing and editing, code generation, debugging, code optimization, real time kernel and analysis. The flowchart to develop code on the CCStudion IDE is shown in Figure 2.6. A new project needs to be created first. The project type can be selected to be Executable (.out) or Library (.lib). Executable indicates that the project generates an executable file, while library means that an object library will be built. After creating a new project, the files of the source code, object libraries and linker command files are added to the project list. Header files do not need to be added independently. They will be automatically added when the source code is scanned for dependencies. The source files can be edited, built and run on the CCStudio IDE. The code generation tools include an optimizing C/C++ compiler, an assembler, a linker and utilities. The optimizing C/C++ compiler translates C/C++ program into TMS320 assembly source code [41]. The compiler tool includes an optimization tool that reduces the size of the C/C++ program and reduces the execution speed. 26 Interrupt request sent to CPU Set corresponding IFR flag bit Interrupt Enabled in IER? Interrupt Enabled by INTM bit ? Clear corresponding IFR bit Empty pipeline Increment and temporarily store PC Fetch interrupt vector Increment SP by 1 Perform automatic context save Clear corresponding IER bit Set INTM and DBGM . Clear LOOP , EALLOW , and IDLESTAT Load PC with fetched vector Execute interrupt service routine Program continues No No Yes Yes Figure 2.5 Flowchart of the operation for CPU maskable interrupts 27 Design conceptual planning Code & build Create project, Write source code, Configuration file Debug Syntax Checking Probe points, logging, etc. Analyze Real-time debugging Statistics, tracing Figure 2.6 Flow chart for code development in CCStudio IDE The optimization tool performs such tasks as simplifying loops, reagrranging statements and expressions and allocating variables into registers. The operation of optimization includes cost-based register allocation, alias disambiguation, data flow optimization, expression simplification, in-line expansion of run-time support library, induction variable optimizations and strength reduction, loop-invariant code motion, loop rotation and register tracking and targeting. The optimization can be chosen to perform on the file level or the program level. Optimization on the file level only optimizes a single file. With program level optimization, all the source files are compiled into a 28 module file. The compiler uses the module file to optimize the entire program. Several optimizations are only applied in the program level; for example, if a return value of a function is never used, the compiler removes the return code in the function. And, if a function is not called directly or indirectly, the compiler deletes the function. 29 CHAPTER 3 LINEAR CONTROL DESIGN FOR DC-DC CONVERTERS Presented in this chapter is the control design for DC-DC converters using linear control methods. An accurate model is essential to design linear controllers. Small signal models for buck and boost converters were obtained using the standard state-space averaging techniques. The actual frequency response was also measured to compare with the small signal model. For the buck converter, the actual frequency response matches the small signal model, while for the boost converter, there was a clear discrepancy between them. Therefore, for the buck converter, the control design was based on the small signal model, and for the boost converter, the measured frequency response was used for controller design. Frequency response and root locus methods [44] may be utilized to design linear controllers. In the frequency response method, analog PID and PI controllers were designed based on the converters? small signal models [43]. The system was compensated to achieve high loop gain, wide bandwidth and sufficient phase margin. The PID and PI controllers were then transformed into digital controllers using the backward integration method. State-space averaged models for DC-DC converters are described in the first section of this chapter. Control design using frequency response techniques is presented 30 in the second section. In the third section of this chapter, implementation of digital PID and PI controllers is presented. 3.1 State-Space Averaged Model for DC-DC Converters Linear controllers for DC-DC converters are often designed based on mathematical models. To obtain a certain performance objective, an accurate model is essential. A number of AC equivalent circuit modeling techniques have appeared in the literature, including circuit averaging, averaged switch modeling, the current injected approach, and the state-space averaging method. Among these methods, the state-space averaged modeling is most widely used to model DC-DC converters. The state-space averaged model of DC-DC converters uses inductor current and capacitor voltage as two independent state variables. It is a canonical form of writing the differential equations to describe DC-DC converters. This method combines the advantage of both state-space and averaging methods. It provides an accurate small signal model at relatively lower frequencies. It is assumed that the output filter?s cutoff frequency is much lower than the switching frequency. The procedure to obtain a state-space averaged model is described as follows. First, the linear equivalent circuit for each state or switch position of the converter is drawn. In the continuous conduction mode, there are two states; while in discontinuous conduction mode, there are three states. Second, the circuit equations for each equivalent circuit are derived. Third, each set of equations is averaged by using the duty cycle of the switch as a weighting factor. The sets of equations are combined into a single set by summation. Fourth, the average equation is perturbed to produce DC and small signal terms. Nonlinear cross product terms are eliminated. Fifth, the small signal terms from 31 step 4 are transformed into the complex frequency domain. Thus, the state-space averaged model of DC-DC converters is obtained. 3.1.1 Buck Converters The buck converter?s small signal control-to-output transfer function, derived by the standard state-space averaging technique, is given by (3.1). [] 2 () 1 ? () 1// ?oo C C CL LL sV sR LRRD ds sRC R R C sLC RR RR v ?? ?? + ?? = ?? + ???? ?? ++ + + ???? ++ ???? ?? (3.1) The small signal input-to-output transfer function is given by (3.2): [] 2 () 1 () 1// ? ? oC Cin L CL LL sDR sRC LRRsRR sRC R R C sLC RR RR v v ?? ?? + ?? = ?? ++ ?????? ++ + + ???? ++ ???? (3.2) In the transfer functions, Vin and Vo are the input and output voltages respectively. ??(), () oin vsv s and )( ? sd are the small variations of the output voltage, input voltage and duty cycle, respectively. D is the duty cycle, C is the output capacitance, L is the inductance, and R is the load resistance. R C and R L are the ESR of C and L, where these components can be found in Figures 2.1 and 2.2. The control-to-output transfer function is utilized to design the controller. It is a common two-pole low pass filter, with a left half plane zero introduced by the ESR of the filter capacitance [3]. The cutoff frequency of the low pass filter is ? c = LC 1 . The magnitude falls with a slope of ?40 dB/decade at the cutoff frequency. The phase 32 associated with it is a ?180 degree phase delay. The zero is at CR C 1 ? . There is a 20 dB/decade magnitude rise at that frequency and the phase shift is 90 degrees. The magnitude of the transfer function depends on the duty cycle D. When D increases, the magnitude decreases; when D decreases, the magnitude increases. However, variations of D don?t change the shape of the magnitude plot of the transfer function. It only shifts the magnitude upward or downward. The buck converter?s nominal operating point is as follows: Vin = 20 V, Vo = 12 V, and D = 0.6. The capacitance C is 1000 ?F, L is 150 ?H, and R is 10 ?. The parasitic elements RC and RL are estimated to be 30 m? and 10 m?, respectively [18, 19]. This buck converter was used as a prototype buck converter in this dissertation. The control- to-output transfer function at the nominal operating point is given by (3.3): -4 -7 2 -5 ( ) 6*10 s+20 ? 1.503*10 s +5.4975*10 s+1 () ?o s ds v = (3.3) The Bode plot of the transfer function is shown in Figure 3.1. The model has complex conjugate poles at ?615.9 ? j2481.5, which causes a 180 degrees phase delay at the approximate frequency of 2500 radians/s. The model also has a zero at 33,333 radians/s. Frequency response data for the prototype buck converter was measured using a Model 102B analog network analyzer by AP Instruments. Figure 3.2 shows the frequency response of the buck converter near the nominal operating point. It compares favorably with the theoretical model; thus linear controllers can be designed based on the theoretical model. 33 10 2 10 3 10 4 10 5 10 6 -50 -30 -10 10 30 50 Frequency (rad/sec) Ga i n d B 10 2 10 3 10 4 10 5 10 6 -200 -150 -100 -50 0 Frequency (rad/sec) P h as e de g D decreases D increases Two conjugate poles of the low pass filter -40dB/dec -20dB/dec zero introduced by ESR Figure 3.1 Bode plot of the state-space averaged model of the buck converter 10 2 10 3 10 4 10 5 -60 -40 -20 0 20 Frequency (rad/sec) Ga in d B 10 2 10 3 10 4 10 5 -200 -150 -100 -50 0 Frequency(rad/sec) P h as e deg Figure 3.2 Frequency response of the buck converter obtained by the analog analyzer 34 3.1.2 Boost Converters The output-to-control small signal transfer function of the boost converter is given by (3.4): CLCRL DRDR CRL DRDR ss RRCsR R sL CLD V sd sv ee OCOL e OCOL CC e eO Oo 1)/()/(1)/()/( )1/)(1( )( ? )(? 22 2 + + + ? ? ? ? ? ? + + + ++? = (3.4) where 2 /(1 )Le L D=?, and D o = 1-D. For the experiment, the input voltage Vin is 5 V, the output voltage Vo is 12 V, and the duty cycle D is 63%. Capacitance C is 1056 ?F, inductance L is 250 ?H, and load resistance R is 25 ?. The parasitic elements RC and RL are estimated from data sheets to be 30 m? and 10 m?, respectively. The Bode plot of the boost converter?s transfer function is shown in Figure 3.3. The transfer function is a common two-pole low pass filter with two zeros. The low pass filter?s cut off frequency is at ? c = 1-D LC . The zero in the left half plane is ? zl = CR RR C C /1+ ? , and the zero in the right half plane is ? zr = 2 (1 )DR L ? . Variables ? c and ? zr are functions of nominal duty cycle D. In a closed-loop-voltage-control system, the filter element will change as the duty cycle changes, which means the model will change accordingly. This makes the transfer function a nonlinear function of the duty cycle [3]. It makes the control design for the boost converter more challenging from the point of view of stability and bandwidth. The zero in the right half plane is caused by switching action, and it introduces a 90 degree phase delay in the plant [3]. The physical phenomenon of the RHP zero is that when there is a step increase in duty cycle, the initial slope of the output voltage (dvo/dt) is negative, which means that the output voltage will drop 35 instantaneously. The RHP zero seriously complicates the problem of stabilizing the control loop [3]. Special attention is required when designing the compensator for the system to have adequate gain and phase margins. Similar to the buck converter, the frequency response of the boost converter prototype when operating in steady state is also obtained using the analog network analyzer. Figure 3.4 shows the frequency response obtained compared to the Bode plot of the theoretical transfer function. There are clear discrepancies between them. The zeros of the theoretical model are 3.6801?10 4 radians/s and -3.1604?10 4 radians/s, and the poles are (-0.1324? j1.1769)?10 2 radians/s. Part of the discrepancy is because there is more damping in the actual plant than in the theoretical model. A transfer function for the boost converter is generated by fitting the experimental frequency response data using Matlab. The experimental frequency response and this transfer function are plotted in Figure 3.5. Note that there is good agreement between the two curves. The generated transfer function is given in (3.5): -3 2 2 6 22 5 ( ) -5.6956*10 s - 2.5589*10 s + 4.9831*10 ? s + 8.2525*10 s + 5.4241*10 () ?o s ds v = (3.5) The transfer function in (3.5) has two zeros at -5.961?10 4 radians/s and 1.468?10 4 radians/s, and two complex conjugate poles are (-4.126? j6.1)?10 2 radians/s. The control design will be based on the actual frequency response determined by the analog network analyzer. 36 10 1 10 2 10 3 10 4 10 5 10 6 10 7 -40 -20 0 20 40 Frequency (rad/sec) Ga i n d B 10 1 10 2 10 3 10 4 10 5 10 6 10 7 -200 -150 -100 -50 0 Frequency (rad/sec) P h as e deg Two conjugate poles of the low pass filter Zero in LHP Zero in RHP -180 degrees phase shift caused by the conjugate poles D increases D decreases -40dB/dec D increases D decreases D decreases D increases 90 degree phase shift by LHP zero 90 degree phase delay by RHP zero -20dB/dec Figure 3.3 Bode plot of the state-space averaged model of the boost converter 10 2 10 3 10 4 10 5 -50 -30 -10 10 30 50 Frequency (rad/sec) Gai n dB Actual frequency response Theoretical frequency response 10 2 10 3 10 4 10 5 -250 -200 -150 -100 -50 0 Frequency (rad/sec) P h as e deg Figure 3.4 Comparison of the actual and theoretical frequency response of the boost converter 37 10 1 10 2 10 3 10 4 10 5 -60 -40 -20 0 20 40 Frequency (rad/sec) Ga i n d B Frequency Response of the Actual Model Bode Plot of the Transfer Function Generated 10 1 10 2 10 3 10 4 10 5 -400 -300 -200 -100 0 Frequency (rad/sec) P h as e deg Figure 3.5 Comparison of the frequency response obtained using the analog analyzer and from the generated transfer function 3.2 Digital Controller Design for DC-DC Converters Using Frequency Response Techniques In DC-DC converters, the output voltage is a function of the input line voltage, the duty cycle and the load current. It is desirable to have a constant output voltage in the event of disturbances such as a sudden change of input voltage or load current. Negative feedback control is applied to DC-DC converters to automatically adjust the duty cycle to obtain the desired output voltage with high accuracy in spite of disturbance [9]. In this section, frequency response techniques are used to design digital controllers for DC-DC converters. The compensated system is expected to have the following characteristics [45]. Firstly, the loop gain should be high at lower frequencies to minimize steady-state error and increase rejection to disturbances of input voltage and load current variations. Secondly, the crossover frequency should be as high as possible, 38 but about an order of magnitude below the switching frequency to allow the DC-DC converter to respond quickly to the transients. Thirdly, the phase margin should be sufficient to ensure the system?s stability. When the phase margin of the loop gain is positive, the system is stable. A phase margin of 45 o to 60 o is desirable. Phase margin determines the transient response of the DC-DC converter. An increase of the phase margin makes the system more stable with less ringing and oscillation. There is a qualitative relationship between the phase margin and the closed- loop damping factor Q. To obtain Q = 1, a phase margin of 52 o is required, and to obtain Q = 0.5, a phase margin of at least 76 o is needed. The damping factor Q determines the shape of the transient response. When Q is equal to 0.5, the closed-loop system has two real poles at the same frequency, and the system is critically damped. The transient response will be fast without overshoot. When Q is larger than 0.5, there are two complex conjugate poles, and the system is underdamped. The transient response will have an oscillatory-type waveform with decaying magnitude. The higher Q, the higher overshoot the transient response will have. When Q is less than 0.5, the closed-loop system has two real poles at two different frequencies, and the system is overdamped. The transient response is a decaying exponential function of time with the time constant determined by the pole at the lower frequency. When Q is very low, the low-frequency pole results in a slow transient response. To design a controller using the frequency response method, phase-lead, phase- lag or lead-lag compensation is usually used. A proportional-derivative (PD) controller is phase-lead compensation. PD controllers are used to increase the phase margin and improve the cross-over frequency. A zero is placed at frequency ? Z far below the cross- 39 over frequency to improve the phase margin. The transfer function of a PD controller is shown in (3.6). )1( )1( )( P z CC s s KsG ? ? + + = (3.6) The pole at ? P is placed well below the switching frequency to avoid amplification of the switching noise. The maximum phase shift occurs at the geometric mean of the pole ? P and the zero ? Z. To obtain maximum phase margin improvement, the maximum phase shift should be placed at the cross-over frequency. A proportional-integral (PI) controller is a phase-lag controller. A PI controller is used to increase the low frequency loop gain, thus reducing steady-state error. The transfer function of a PI controller is shown in (3.7). s KsK s K KsG IPI PC + =+=)( (3.7) The PI controller has a pole at the origin. Both PD and PI controllers are first-order controllers. By using a lead-lag compensator, the advantages of lead compensation and lag compensation can be combined to obtain sufficient phase margin, high loop gain and wide control bandwidth. A proportional-integral-derivative (PID) controller is a lead-lag compensator. It is the most widely used compensator in feedback control systems. The PID controller is defined by (3.8), where e(t) is the compensator input and m(t) is the compensator output. 0 () () () ( ) t PI D de t mt Ket K e d K dt ??=+ + ? (3.8) 40 The Laplace transform of (3.8) yields the transfer function in (3.9). sK s K K sE sM sG D I PC ++== )( )( )( (3.9) The integral term is phase-lag and the derivative term is phase-lead. The low frequency gain is improved by the integral term, and the low-frequency components of the output voltage are accurately regulated. At high frequency, the phase margin and cross-over frequency are improved by the derivative term, which improves the system?s stability and the speed of the transient response. An increase in the proportional term will increase the speed of system response; however, too much proportional gain will make the system unstable. A PID controller and a PI controller were designed for both the buck converter and the boost converter in the following sections. 3.2.1 Buck Converters A PID and a PI controller were designed for the buck converter for operation during a startup transient and steady state, respectively. The derivative term in a PID controller is susceptible to noise and measurement error of the system, which could result in oscillation of the duty cycle during steady state. However, during a transient, the derivative term is needed to reduce the settling time by predicting the changes in error. Therefore, the system switches between PID and PI controllers during transient and steady state to obtain the desired response. The PID controller is applied during start up to obtain a fast transient response. The PI controller is applied during steady state to reduce oscillation of the duty cycle and improve the system?s stability. 41 3.2.1.1 PID Controller Design for Buck Converters A PID controller was designed for the buck converter to improve the loop gain, cross-over frequency and phase margin. One zero was placed an octave below the cutoff frequency (approximately 260 radians/s) and the other one at 4600 radians/s. The transfer function of the PID controller is given by (3.10): s s sG c 000119.0 4.142 5786.0)( ++= (3.10) The Bode plot for the compensated system is shown in Figure 3.6. As can be seen in this plot, the gain at low frequency is high, the phase margin is 107 degrees and the bandwidth is 19100 radians/s. Figure 3.6 Bode plot of PID controller compensated buck converter 42 3.2.1.2 PI Controller Design for Buck Converters A PI controller was also designed for the control of the buck converter at steady state to reduce steady-state oscillation. One pole was placed at the origin, and one zero was placed at 800 radians/s. The DC gain of the controller was adjusted to obtain sufficient phase margin and high cross-over frequency. The transfer function of the PI controller is given by (3.11): s sG c 600 75.0)( += (3.11) The Bode plot for the PI compensated system is shown in Figure 3.7. The Bode plot shows that the phase margin is 15.4 degrees and the bandwidth is 10600 radians/s. Figure 3.7 Bode plot of PI controller compensated buck converter 43 3.2.2 Boost Converters A PID and a PI controller were designed for the boost converter for operation during a start-up transient and steady state, respectively. The controllers were designed based on the measured small signal model of the boost converter using frequency response techniques. 3.2.2.1 PID Controller Design for Boost Converters For the PID controller, one zero was placed at 260 radians/s, and the other zero is placed at 2600 radians/s. The transfer function of the PID controller is shown in (3.12). s s sG c 000198.0 13.134 567.0)( ++= (3.12) The bode plot of the PID compensated boost converter is shown in Figure. 3.8. Figure 3.8 Bode plot of PID controller compensated boost converter 44 The bandwidth of the PID-compensated system is 1.83?10 3 radians/s, and the phase margin is 50 degrees. 3.2.2.2 PI Controller Design for Boost Converters A PI controller was designed for the steady state to reduce oscillations of the duty cycle. A pole was placed at the origin and a zero was placed at 600 radians/s. The Bode plot of the PI-controller-compensated system is shown in Figure. 3.9. The bandwidth of the PI compensated system is 1010 radians/s, and the phase margin is 26.3 degrees. Figure 3.9 Bode plot of PI controller compensated boost converter 3.2.3 Transformation from an Analog Controller to a Digital Controller The design in the continuous-time domain was transformed into the discrete-time domain using the backward integration method (Euler Method) [45, 46]. Using the Euler method, the transfer function of a numerical integrator is shown in (3.13). 45 )( 1 )( zE z Tz zM ? = (3.13) The transfer function of a numerical differentiator is the reciprocal of the transfer function of the numerical integrator shown in (3.13). Therefore, by substituting (3.13) and its reciprocal into the PID controller?s s-domain transfer function in (3.9), the digital PID controller?s transfer function is shown in (3.14). Tz zK z TzK KzG DI PC )1( 1 )( ? + ? += (3.14) Similarly, by substituting (3.13) and its reciprocal into the PI controller?s s-domain transfer function in (3.7), the digital PI controller?s transfer function is shown in (3.15). 1 )( ? += z TzK KzG I PC (3.15) 3.3 Implementation of Digital Controllers Digital controllers were implemented on the eZdsp F2812 from Texas Instruments. The eZdsp F2812 was introduced in Chapter 2. The eZdsp F2812 is a stand- alone evaluation module. This module features a TMS320F2812 Digital Signal Processor (DSP) with 150 MIPS operating speed. The DSP has a fixed point 32-bit CPU, 128K on- chip flash memory and a dual 12-bit, 16 channel ADC. The conversion rate of the ADC is 80 ns. The sampling and the switching frequency of the controllers implemented on the TMS320F2812 DSP was 150 kHz. The faster clock frequency and ADC conversion time of the F2812 DSP allow a faster sampling and switching frequency. The one switching period delay between sampling the converter?s output voltage and updating the duty cycle is modeled by the function e -Ts , where T is the switching period of the DC-DC converter. When the switching frequency is 150 kHz, T = 6.67 ?s. 46 3.3.1 Program Structure The overall program structure is shown in Figure 3.10. Once the program starts to run, the first task was to initialize the DSP. Macros such as clearing bit, setting bit and setting a certain amount of delay time were defined. The interrupt vector address mapped the subroutines corresponding to each level of interrupts. The global variables were declared and given initial values. The event manager module was initialized to define the sampling and switching frequency, which was determined by the period of the general purpose timers. Then certain bits were set to start the PWM. The analog to digital conversion was set to be in the continuous conversion mode. After the configuration of the DSP was complete, an interrupt was enabled to allow the main algorithm to run. Each time when the value of the general purpose timer equaled the timer?s period value, an interrupt was requested and directed to the corresponding interrupt subroutine. The sampling period was equal to the period of the general purpose timer. The interrupt subroutine was executed every sampling period. The subroutine acquired a sample once every sampling period, utilized a digital controller algorithm to calculate a new duty cycle, and updated the new duty cycle at the start of the next switching period. Different digital control algorithms, including PID and PI controllers and fuzzy and sliding mode fuzzy controllers, were all implemented as interrupt subroutines. 47 Power On Run Program Initialization Macro Definition Interrupt Vector Address Declarations Initialize Local Variables Configure CPU and System Clock Clear Module Error Flags Initialize RAM Set Up Digital I/O Port Set Up Event Manager Module Set Up Interrupt Registers Start PWM Set ADC Into Continuous Conversion Mode Enable Masked Interrupts Interrupt Subroutine Wait Until ADC Complete Obtain ADC Value Digital Control Algorithm Update PWM Return to Main Program Interrupt Condition Met? Yes No Figure 3.10 Overview of the program structure for digital controllers 48 3.3.2 Implementation of Digital PID and PI Controllers In Section 3.2, PID and PI controllers were first designed using the frequency response techniques based on the small signal models of the DC-DC converters, then transformed into digital controllers using the backward integration method. The z-domain transfer function of a digital PID controller is shown in (3.14), and the z-domain transfer function of a digital PI controller is shown in (3.15). The difference equation to calculate a new duty cycle for the digital PID controller is written in (3.16). ? = ??++= k i D IP keke T K ieTKkeKku 0 ]}1[][{][][][ (3.16) And the difference equation to calculate a new duty cycle for the digital PI controller is given in (3.17). ? = += k i IP ieTKkeKku 0 ][][][ (3.17) In the difference equation, u[k] is the controller output for the kth sample, and e[k] is the error of the kth sample. The error e[k] is calculated as e[k] = Ref-ADC[k], where ADC[k] is the converted digital value of the kth sample of the output voltage, and Ref is the digital value corresponding to the desired output voltage. ? = k i ie 0 ][ is the sum of the errors and {e[k]-e[k-1]} is the difference between the error of the kth sample and the error of the (k-1)th sample. The block diagram for the difference equation (3.16) is shown in Figure 3.11. It is noted that when K D is equal to zero, the PID algorithm changes into a PI algorithm. 49 Proportional Gain Integral Gain Derivative Gain Controller Output e(k-1) e(k) ADC(k) Ref Kp kiT kd/T 1/z 1/z u Figure 3.11 Block diagram of digital PID controller The flowchart for the digital PID and PI controller is shown in Figure 3.12. At the start of each sampling period, there was a 2 ?s delay before taking the analog to digital conversion. Because the sampling and PWM switching frequency were the same and their periods were synchronous, the start of the sampling and switching periods happened at the same time. The switching action of the MOSFET in the DC-DC converter produces a glitch in the converter output voltage which can be measured by the A/D converter. Measurement of this glitch will produce oscillation in the duty cycle calculated by the digital PID controller. The sample was taken after the start of the switching period instead to avoid sampling the switching glitches. When both the absolute value of the error of the kth sample e[k] was less than ?, and the absolute value of the difference between the error of the kth sample and the error of the (k-1)th sample de[k] was less than ?, the converter was considered to be operating in steady state. The values ? and ? can be determined based on experimental results of the converters. The PI controller was applied in steady state to reduce oscillation of the duty 50 cycle. The gain of the integrator K D was assigned to be zero, and the proportional and integral gains K P and K I were assigned according to the design of the PI controller. The result of the PID controller was a sum of the proportional, derivative and integral controllers. The duty cycle of the PWM signal in the digital control system for the buck converter was limited between 10% and 90%. This prevents the MOSFET from being turned on or off for a full switching period. In the digital control system for the boost converter, the duty cycle was further limited to be between 20% and 80%, since the digital controller for the boost converter tends to oscillate more than the digital controller for the buck converter. After updating the new duty cycle, and the error of the (k-1)th sample, the interrupt subroutine returned to the main program and waited for a request for the next interrupt. The difference equations in (3.16) and (3.17) are linear combinations of feedback and control signals. A series of scalar multiplification and addition instructions can be used to implement the linear PID and PI controllers on the TMS320F2812. In order to compare the experimental results using different control methods, experimental results of the buck and boost converters using digital PID and PI controllers will be presented in Chapter 6. 51 e[k]=Ref-ADC[k] Yes PID=K+I+P PID>90%? PID<10%? PID=90% PID=10% Duty Cycle = PID e[k-1]=e[k] Yes No No Update Duty Cycle of PWM Wait On Until Next Interrupt Interrupt Subroutine Ends ADC Conversion Complete Delay 2 us Interrupt Subroutine Starts Yes de[k]=e[k]-e[k-1] Assign values for PI controller gains Kp, Ki. KD=0 Yes Assign values for PID controller gains KP, KI and KD P=KP*e[k] D=KD/T*de[k] 1 00 () () ( ) kk ii ei ei ek ? == =+ ?? ?][ ??ke ?][ ??kde ? = = k i I ieTKI 0 )( No No Figure 3.12 Flowchart of digital PID and PI controller 52 CHAPTER 4 FUZZY CONTROLLER DESIGN FOR DC-DC CONVERTERS Linear controllers for DC-DC converters are usually designed based on mathematical models. To obtain a certain performance objective, an accurate model is essential. In the previous chapter, linear controllers were designed for buck and boost converters based on each converter?s small signal model using frequency response and root locus design methods. The small signal model changes due to variations in operating point. Changes in the duty cycle only affect the magnitude of the buck converter?s small signal model. While for the boost converter?s small signal model, the poles and a right- half plane zero, as well as the magnitude of the frequency response, are all dependent on the duty cycle D. This makes the transfer function of the boost converter?s small signal model a nonlinear function of the duty cycle. The right-half plane zero and the nonlinear nature of the boost converter?s small signal model makes the control design for this converter more challenging from the point of view of stability and bandwidth [3]. To achieve a stable and fast response, two solutions are possible. One is to develop a more accurate model for the converter. However, the model may become too complex to use in controller development. A second solution is to use a nonlinear controller [9]. Since fuzzy controllers don?t require a precise mathematical model, they are well suited to nonlinear, time-variant systems. The design of fuzzy controllers is presented in this chapter. The first section introduces the concept of fuzzy control. The second section is 53 mainly focused on the design of a fuzzy controller for the buck and boost converters. Implementation of fuzzy controllers is presented in the third section of this chapter. 4.1 Introduction to Fuzzy Control Fuzzy control is an artificial intelligence technique that is widely used in control systems. It provides a convenient method for constructing nonlinear controllers from heuristic information. Conventional controllers are designed based on a mathematical model. Closed- loop control specifications include disturbance rejection properties, insenstivity to plant parameter variations, stability, rise time, overshoot and settling time and steady-state error. Based on these specifications, conventional controllers are designed. Major conventional control methods include classical control methods (frequency response and root locus techniques), state-space methods, optimal control, robust control, adaptive control, sliding mode control and other nonlinear control methods such as feedback linearization and backstepping. These conventional control methods provide a variety of ways to utilize information from mathematical models on how to obtain good control. Different from conventional control, fuzzy control is based on the expert knowledge of the system. Fuzzy control provides a formal methodology to represent and implement a human?s heuristic knowledge about how to control the system. A block diagram of a fuzzy control system is shown in Figure. 4.1. A fuzzy controller contains four main components: (1) the fuzzification interface that converts its inputs into information that the inference mechanism can use to activate and apply rules, (2) the rule base which contains the expert?s linguistic description of how to achieve good control, (3) the inference mechanism that evaluates which control rules are relevant in the current 54 situation, and (4) the defuzzification interface which converts the conclusion from the inference mechanism into the control input to the plant [48]. Inference Mechanism Fuzzification Defuzzification Rule Base Fuzzy Controller Reference Input r(t) Plant Input u(t) Output y(t) Figure 4.1 Block diagram of fuzzy control system The performance objectives and design constraints are the same as those for conventional control. Design of fuzzy controllers involves the following procedures: (1) choose the fuzzy controller?s inputs and outputs, (2) choose the preprocessing for the controller inputs and postprocessing for the controller outputs, and (3) design each of the four components of the fuzzy controller shown in Figure 4.1. 4.2 Fuzzy Control Design for DC-DC Converters A fuzzy controller for a DC-DC converter has two inputs. The first input is the error in the output voltage e[k]=Ref-ADC[k], where ADC[k] is the converted digital value of the k th sample, and Ref is the digital value corresponding to the desired output voltage. The second input, ce[k]=e[k]-e[k-1], is the difference between the error of the k th sample and the error of the (k-1) th sample. The two inputs are multiplied by the scaling factors g0 55 and g1, respectively, and then fed into the fuzzy controller. The output of the fuzzy controller is the change in duty cycle ?d[k]. It is scaled by a linear gain h. The scaling factors g0, g1 and h can be tuned to obtain a satisfactory response. There are two methods to calculate the new duty cycle from the fuzzy controller?s output ?d[k]. In the first method, the output of the fuzzy controller, scaled by the output gain h, is added to the previous sampling period?s duty cycle d[k-1], which is written in (4.1). d[k] = d[k-1]+h*?d[k] (4.1) The integration of the fuzzy controller?s output increases the system type and improves steady-state error. The Simulink model of the fuzzy controller using (4.1) to calculate the duty cycle d[k] is shown in Figure 4.2. The disadvantage of this method is that the output gain h has to be tuned to be very small to avoid oscillation in steady state. Since the change in duty cycle is accumulated every sampling period, the duty cycle varies around its nominal value during steady state, which could lead to oscillation. Quantization errors in digital controllers increase the magnitude of the oscillation, because digital controllers are restricted to a finite set of values. Oscillation between the maximum and minimum values of the duty cycle may even occur if h is relatively large compared to the duty cycle range. A very small output gain h tends to increase the transient response time because more sampling periods are necessary to arrive at the desired duty cycle [49]. A second method to calculate the new duty cycle is to add the output of the fuzzy controller scaled by h to the output of a linear integrator, which is shown by (4.2), d[k] = Ki*I[k]+h*?d[k] (4.2) 56 where I[k] is the output of the linear integrator of the error e[k], and K I is the gain of the integrator. The linear integrator is applied to eliminate steady-state error. The Simulink model of the fuzzy controller using (4.2) to generate the duty cycle d[k] is shown in Figure 4.3. In this method, the output gain h can be increased because the fuzzy controller?s output is not accumulated every sampling period. In order to prevent the MOSFET from being turned on or off for a full switching period, the duty cycle d[k] is limited to be between 10% and 90% for the buck converter, and further limited to be between 20% and 80% for the boost converter. From the literature, the first method in Figure 4.2 is more prevalently used than the second method in Figure 4.3 [9, 10]. In this dissertation, only the second method was applied to the buck converter to obtain satisfactory response, while for the boost converter, a combination of both methods was applied to get the desired response. Figure 4.2 Simulink model of the fuzzy controller for the DC-DC converters Method 1: (d[k] = d[k-1]+h*?d[k].) 57 Figure 4.3 Simulink model of the fuzzy controller with a linear integrator for the DC-DC converters Method 2:(d[k] = K I *I[k]+h*?d[k]) 4.2.1 Fuzzification First, the linguistic values are quantified using membership functions. Each universe of discourse is divided into fuzzy subsets. There were 17 fuzzy subsets in the fuzzy controller for the buck converter: N8, N7, N6, N5, N4, N3, N2, N1, Z, P1, P2, P3, P4, P5, P6, P7 and P8, where N indicates negative, Z represents zero, and P indicates positive. The membership functions for e[k] and ce[k] are shown in Figure 4.4. The variables ? e (e[k]) and ? ce (ce[k]) are the membership degrees assigned to each fuzzy subset to quantify the certainty that the input can be classified linguistically into the corresponding fuzzy subsets. A triangle-shaped membership function was used for this controller design for the ease of implementation. Of the 17 subsets, there were 8 subsets for the positive parts and 8 subsets for the negative parts of the universe of discourse, respectively. For the purpose of implementation, the computation time and code size of the fuzzy controller can be reduced when the number of subsets for the positive and negative parts is a power of 2, because shift instructions can be used to calculate the membership degrees instead of division functions. 58 For the boost converter, each universe of discourse was divided into 33 fuzzy subsets: N16, N15, N14, ?, N1, Z, P1, ?, P14, P15, P16. The membership functions for e[k] and ce[k] for the boost converter are shown in Figure 4.5. There were 16 fuzzy subsets for the negative parts and 16 fuzzy subsets for the positive parts of the universe of discourse in order to reduce the computation time. The number of fuzzy subsets was determined based on the experimental results of buck and boost converters. 17 fuzzy subsets for the buck converter and 33 fuzzy subsets for the boost converter were the smallest number of fuzzy subsets in order to obtain satisfactory results. Figure 4.4 Membership functions of the inputs e[k] and ce[k] for the buck converter Figure 4.5 Membership functions of the inputs e[k] and ce[k] for the boost converter 59 4.2.2 Rule Base The rule base is derived from general knowledge of DC-DC converters, and adjusted based on experimental results. There is a tradeoff between the size of the rule base and the performance of the controller. A 7*7 rule base was also designed and implemented for the buck converter. Experimental results indicate that the fuzzy controller with a 17*17 rule base exhibited less oscillation during steady state, and faster transient response was achieved by increasing the output gain h. For the same universe of discourse, more membership functions resulted in finer control. The output of the controller had less variation when either of the inputs had small changes, and a more accurate control was achieved; chattering and oscillation were reduced [48]. The nonlinear property of the boost converter?s small signal model and its right- half plane zero makes the controller design for the boost converter more difficult than for the buck converter. From laboratory experiments, oscillation occured in steady state when a 17*17 rule base was used for the boost converter. Therefore, a larger rule base than the buck converter was derived for the boost converter in order to obtain fast transient response and reduce steady-state oscillations. There were 33*33 rules in the rule base for the boost converter. 4.2.3 Inference Mechanism The results of the inference mechanism include the weighing factor w i and the change in duty cycle c i of the individual rule [4]. The weighing factor w i is obtained by Mamdani?s min fuzzy implication of ? e (e[k]) and ? ce (ce[k]), where w i = min{? e (e[k]), ? ce (ce[k])} and ? e (e[k]), ? ce (ce[k]) are the membership degrees [10]. c i is taken from the rule table. The change in duty cycle inferred by the i th rule, z i is written in (4.3). 60 iceeiii ckcekecwz ?=?= ])}[(]),[(min{ ?? (4.3) 4.2.4 Defuzzification The center of average method is used to obtain the fuzzy controller?s output ?d[k], which is given in (4.4). When using triangle-shaped membership functions, there are at most four rules that are effective at any one time; therefore, N=4. [] ? ? = = ? = N i i N i ii w cw kd 1 1 ? (4.4) 4.3 Implementation of Fuzzy Controllers Implementation of fuzzy controllers on the DSP had quite different issues from implementation of linear controllers. The implementation of linear controllers usually involves difference equations, which are linear combination of feedback and control signals. A series of scalar multiplication and addition instructions can be used to implement a linear digital controller. DSPs are usually optimized for such operations. The TI TMS320F2812 DSP has several instructions to multiply a number by a constant and add a previous product in a single instruction. Therefore, the implementation of the linear controllers in real time was quite straightforward. The flowcharts of the fuzzy controllers are shown in Figure 4.6 and Figure 4.7. Figure 4.6 shows the flowchart of the fuzzy controller using the first method to calculate the new duty cycle, which corresponds to the Simulink model in Figure 4.2. Figure 4.7 shows the flowchart of the fuzzy controller with a linear integrator, which corresponds to the Simulink model in Figure 4.3. 61 e[k]=Ref-ADC[k] d[k]>90%? d[k]<10%? d[k]=90% d[k]=10% e[k-1]=e[k] Yes No No Update Duty Cycle of PWM Wait On Until Next Interrupt Interrupt Subroutine Ends ADC Conversion Complete Delay 2 us Interrupt Subroutine Starts Yes ce[k]=e[k]-e[k-1] e[k]=g0*e[k] ce[k]=g1*de[k] Calculate centers and membership degrees ? e (e[k]) for e[k] Calculate centers and membership degrees ? ce (ce[k]) for ce[k] d[k-1]=d[k] ])}[(]),[(min{ kcekew ceei ??= ? ? = = ? = 4 1 4 1 ][ i i i ii w cw kd? ][]1[][ kdhkdkd ??+?= Figure 4.6 Flowchart of fuzzy controller using method 1 62 e[k]=Ref-ADC[k] d[k]>90%? d[k]<10%? d[k]=90% d[k]=10% e[k-1]=e[k] Yes No No Update Duty Cycle of PWM Wait On Until Next Interrupt Interrupt Subroutine Ends ADC Conversion Complete Delay 2 us Interrupt Subroutine Starts Yes ce[k]=e[k]-e[k-1] e[k]=g0*e[k] ce[k]=g1*de[k] Calculate centers and membership degrees ? e (e[k]) for e[k] Calculate centers and membership degrees ? ce (ce[k]) for ce[k] d[k-1]=d[k] ?? = ? = +== k i k i keieiekI 0 1 0 ][][][][ ])}[(]),[(min{ kcekew ceei ??= ? ? = = ? = 4 1 4 1 ][ i i i ii w cw kd? ][][][ kdhkIKkd I ??+?= Figure 4.7 Flowchart of fuzzy controller with a linear integrator 63 A fuzzy controller is a nonlinear algorithm. It requires frequent use of multiplication and division instructions with high accuracy. Most DSPs are not optimized for nonlinear algorithms. There were unique challenges to implement a fuzzy controller on a DSP. When implementing a fuzzy controller in real time, two main issues are the amount of time it takes to compute the output of fuzzy controllers, and the amount of memory used. In each sampling period of the controller computations, centers in the membership function and their corresponding membership degrees need to be calculated. When there are many inputs to the fuzzy controller or each input has many membership functions, the efficiency of the implementation of fuzzy controllers becomes even more important. The reason is that the number of rules increases exponentially with the increase of the number of inputs. For the fuzzy controller designed for the boost converter, there were two inputs, and each input had 33 membership functions. Therefore, there were totally 33 2 =1089 rules. In real time, it was prohibitive to calculate the 1089 membership degrees and to sum up 1089 values in the numerator and denominator in equation (4.4). The sampling frequency of the fuzzy controller would have to be quite low because of the long computation time. Triangle-shaped membership functions were used to solve this problem. For triangle-shaped membership functions, there are at most four rules that are effective at any time. Therefore, only four centers and four membership degrees need to be calculated instead of going through all the rules in the rule base. The reduction of the computation time is significant especially when the rule base is large. It is much more efficient to calculate only four centers and corresponding membership degrees rather than 1089. 64 Of the 33 subsets, there were 16 subsets for the positive and negative parts of the universe of discourse, respectively. The computation time and code size of the fuzzy controller can be reduced when the number of subsets for the positive and negative parts is a power of 2, because shift instructions can be used to calculate the membership degrees instead of division functions. There was a trade off between the size of the rule base and the performance of the fuzzy controller. A 17?17 rule base was designed and implemented for the boost converter. Experimental results indicated that the fuzzy controller with a 33?33 rule base exhibited less oscillation during steady state and faster transient response was achieved by increasing the output gain h. More membership functions resulted in finer control for the same universe of discourse. The output of the controller had less variation when either of the inputs changed slightly. Therefore, more accurate control was achieved and chattering and oscillation were reduced. However, increasing the rule base resulted in a larger amount of memory used. The size of the rule base was determined based on the balance of the performance of the controller and the amount of memory used. Generally, the implementation of a linear controller was less demanding than the implementation of a fuzzy controller. Most DSPs are optimized for implementation of digital filters. On the contrary, more computational power and memory are required to implement a fuzzy controller than a linear controller. To reduce the computation time and amount of memory used, several techniques have been utilized. A digital signal processor (DSP) with fast computation speed and high computation power is more appropriate for the implementation of fuzzy controllers in real time. 65 For comparison purposes, experimental results of the buck and boost converters using fuzzy controllers will be presented in Chapter 6. 66 CHAPTER 5 SLIDING MODE FUZZY CONTROLLER DESIGN FOR DC-DC CONVERTERS Sliding mode control is a method for controlling systems with parametric uncertainties and external disturbances. A sliding mode is achieved by forcing the system trajectory on a properly designed switching function using high speed switch control. Sliding mode control is able to provide a very robust closed-loop system. In sliding mode control, invariance can be achieved, which means that the system can be entirely independent of plant uncertainties and disturbances. There are two steps to design a sliding mode controller. First, a switching surface ?(x) = 0 in the state plane that has x as coordinates is designed to specify desired closed-loop system dynamics. Then a variable structure switching control u is designed to drive the state trajectory to the switching surface in finite time. The control u is shown in (5.1): u = u + when ?(x) > 0 u = u - when ?(x) < 0 (5.1) The period of time in which the state trajectory moves toward and reaches the switching surface is called the reaching mode. The reaching condition is the sufficient condition for a reaching mode. When the state trajectory stays on the switching surface, it is in a sliding mode. In sliding mode control, the state trajectory follows the desired dynamics that are described by the switching function. 67 Theoretically, sliding mode control is very suitable for the control of DC-DC converters. Because DC-DC converters change from one state to another when the switch is turned on or off, sliding mode control is able to move the state trajectory onto the switching surface by controlling the switch. However, several disadvantages exist for sliding mode control. First of all, a basic assumption for sliding mode control is that the control can be switched infinitely fast from one state to another. In practice, this is impossible due to the time delay for control computation and physical limitations of switching devices. As a result, chattering always occurs in steady state and appears as an oscillation in steady state. The oscillation may excite unmodeled high-frequency dynamics of the system [20]. Therefore, chattering is very undesirable. The second disadvantage is that the sliding mode controller will generate an ON-OFF control for DC- DC converters, and the switching frequency is not regulated. Hysteresis can be used to regulate the switching frequency, but a constant switching frequency can not be guaranteed. With hysteresis, there is always some chattering in the sliding mode. The third disadvantage is when the sliding mode control is implemented in discrete-time, the control action (in this case, ON or OFF of the switch) can only be activated at each sampling instant and the control effort is constant over each sampling period. Thus, the system is able to approach the sliding mode but not able to stay on it. The practical issues above prevent the sliding mode control from being extensively applied to DC-DC converters. Fuzzy controllers were applied to control DC-DC converters in Section 4.2. Design of fuzzy controllers does not require an exact mathematical model and is well suited to nonlinear time-variant systems. However, fuzzy controllers are usually designed 68 based on expert knowledge of converters, and extensive tuning is required based on a trial and error method. The tuning can be quite time-consuming. In addition, the response is not easy to predict. In this chapter, a sliding mode fuzzy controller is used to control buck and boost converters. The sliding mode fuzzy controller combines the advantages of both fuzzy controllers and sliding mode controllers. It is like a modified sliding mode controller, and it is more robust than an ordinary sliding mode controller. The sliding surface in a sliding mode fuzzy controller is rendered by rule bases and scaling factors, rather than a function. Sliding mode fuzzy control has advantages of its own that cope with the problems in the sliding mode control and fuzzy control design and implementation. Design of sliding mode fuzzy controllers for buck and boost converters is described in detail in the next section. Implementation of sliding mode fuzzy controllers is presented in the second section. 5.1 Design of Sliding Mode Fuzzy Controller for DC-DC Converters A sliding mode fuzzy controller has several advantages that make it applicable to control of DC-DC converters. First of all, the chattering problem is eliminated by incorporating a boundary layer into the rule base. The second advantage is that the sliding mode fuzzy controller can be implemented like a regular fuzzy controller. The output from the sliding mode fuzzy controller is duty cycle directly; therefore, constant switching frequency is achieved. Last but not the least, since sliding mode fuzzy controllers can be designed systematically based on the principles of sliding mode control, the amount of time needed for tuning is significantly reduced, and the system?s response can be predicted. Like a regular fuzzy controller, a sliding mode fuzzy 69 controller includes four main components: (1) the fuzzification interface that converts the inputs into information that the inference mechanism can use to activate and apply rules, (2) the rule base which contains the expert?s linguistic description of how to achieve good control, (3) the inference mechanism that evaluates which control rules are relevant in the current situation, and (4) the defuzzification interface which converts the conclusion from the inference mechanism into the control input to the plant. There are four steps involved in the design of a sliding mode fuzzy controller: (1) a switching function that represents a desired system dynamics is first designed, (2) from the switching function, inputs to the sliding mode fuzzy controller and their scaling factors can be determined, (3) a rule base is designed according to the switching function, and (4) other parts of the sliding mode fuzzy controller such as the inference mechanism and defuzzification method are designed. These four steps will be followed to design sliding mode fuzzy controllers for buck and boost converters. 5.1.1 Switching Functions A switching function defines the desired dynamics of the system. Switching functions for the buck converter and boost converter are presented in this section. A switching function is often of lower order than the plant. Since a boost converter?s small signal model is second order, a first-order switching function is designed, which is shown in (5.2). eees ?+= &)( (?>0) (5.2) When s(e) = 0, dynamics on the sliding surface are shown in (5.3). 0=+ ee ?& (5.3) 70 In the s domain, (5.3) becomes s+?=0. A stable first-order system with a pole at ?? is represented by the dynamics in (5.3). The time constant ? is 1/ ? seconds, and the settling time is 4/ ? seconds. For the boost converter, to obtain a settling time of 10 ms, the time constant ? should be 2.5 ms. Because ? =1/ ?, ? is 400. The switching function designed for the sliding mode fuzzy controller is given by (5.4). s(e)=0 is called the switching line, and it is plotted in Figure 5.1. The step response of (5.4) is simulated and shown in Figure 5.2. The settling time of the step response is 10 ms, and there is no overshoot. eees 400)( += & (5.4) In a digital implementation, e& was approximated as shown in (5.5), where e[k] is the error of the k th sample of the output voltage, and T is the sampling period. In this experiment, the sampling frequency was chosen to be 150 kHz, and T was 6.67?s. Substituting (5.5) into (5.4) yields (5.6), which is the switching function when the sliding mode fuzzy controller is implemented in discrete-time, where ce[k] is the difference between e[k] and e[k-1]. T keke e ]1[][ ?? =& (5.5) ][400 ][ ][400 ]1[][ )( ke T kce ke T keke es +=+ ?? = (5.6) 71 s(e)=0 e& e Figure 5.1 Switching function of the sliding mode fuzzy controller for boost converter Figure 5.2 Step response of the switching function for boost converter For the buck converter, to obtain a settling time of 1 ms, the time constant ? should be 0.25 ms, and ? =1/? = 4000. The switching function designed for the sliding mode fuzzy controller for the buck converter is given in (5.7). The step response of (5.7) was simulated and is shown in Figure 5.3. The settling time of the step response is 1 ms, and there is no overshoot. eees 4000)( += & (5.7) 72 Figure 5.3 Step response of switching function for buck converter Substituting (5.5) into (5.7) yields (5.8), which is the switching function for the sliding mode fuzzy controller in discrete-time. In this equation, ce[k] is the difference between e[k] and e[k-1]. ][4000 ][ ][4000 ]1[][ )( ke T kce ke T keke es +=+ ?? = (5.8) 5.1.2 Inputs and Their Scaling Factors From the switching function in (5.6), it can be determined that the sliding mode fuzzy controller for the boost converter has two inputs. The first input is the error in the output voltage e[k]=ADC[k]-Ref, where ADC[k] is the converted digital value of the kth sample, and Ref is the digital value corresponding to the desired output voltage. The second input ce[k]=e[k]-e[k-1] is the difference between the error of the kth sample and the error of the (k-1)th sample. The two inputs are multiplied by the scaling factors g0 and g1 respectively, and then fed into the fuzzy controller. The membership functions for e[k] 73 and ce[k] are shown in Figure 5.4. Each universe of discourse was divided into 33 fuzzy subsets: N16,N15,N14,?,N1,Z,P1,?,P15,P16, where N indicates negative, Z represents zero and P indicates positive. The variables ? e (e[k]) and ? ce (ce[k]) are the membership degrees assigned to each fuzzy subset to quantify the certainty that the input can be classified linguistically into the corresponding fuzzy subsets. A triangle-shaped membership function was used for this controller design for the ease of implementation. Of the 33 subsets, there were 16 subsets for the positive and negative parts of the universe of discourse, respectively. For the purpose of implementation, the computation time and code size of the fuzzy controller can be reduced when the number of subsets for the positive and negative parts is a power of 2, because shift instructions can be used to calculate the membership degrees instead of division functions. From experimental results, 33 fuzzy subsets was the smallest number of fuzzy sets in order to obtain satisfactory response for the boost converter. Figure 5.4 Membership functions of the inputs e[k] and ce[k] for the boost converter The two input scaling factors g0 and g1 have a significant impact on the controller?s performance, and usually require extensive tuning. In designing the fuzzy sliding mode controller, g0 and g1 can be directly determined from the switching 74 function in (5.6). Laboratory observation of the boost converter indicated that if the scaling factor g0 of e[k] is less than 1, the precision of the measured output voltage was reduced, which can lead to steady state error. Therefore, g0 was chosen to be 1, and the scaling factor g1 of ce[k] becomes 1/(400T), which equals 375 when the sampling frequency is 150 kHz. 5.1.3 Rule Base In a regular fuzzy controller, the rule base is often designed from an in-depth knowledge of the plant using a trial and error approach, which is very time-consuming. In the sliding mode fuzzy controller design, the rule base is derived from the switching function. After scaling the inputs e[k] and ce[k] by g0 = 1 and g1 = 375, respectively, the diagonal line from upper left corner to bottom right corner in the rule base represents the switching line s(e) = 0. To avoid drastic changes in the controller output, a boundary layer was introduced, which was designed in the rule base. The principles to design the rule base are summarized as follows: (1) ci should be negative above the switching line, and positive below it, where ci is the center in the rule base that represents change in duty cycle. (2) ci should increase as the distance between the actual state and the switching line s(e) = 0 increases. (3) ci should increase as the distance between the actual state and the line perpendicular to the switching line increases, so that discontinuities close to the switching line can be reduced. 75 (4) when e[k] and ce[k] fall out of the state plane, the maximum value of ci should cover those states with their respective signs, which incorporates a boundary layer into the rule base. The relationship between ci and the switching function s(e) is shown in Figure 5.5. According to the principles above, the phase plane is divided into two semi-planes by the switching line. Within each semi-plane, positive and negative control outputs are applied, respectively. The magnitude of the control output is associated with the distance of the state vector to the switching line. A boundary layer was incorporated into the rule base to eliminate chattering in steady state. Outside the boundary layer, the control had a relay characteristic, and within the layer, the control was a high-gain linear control. A small 7?7 rule base for the sliding mode fuzzy controller is shown in Table 5.1 for illustration purposes. In the table, N stands for negative, P stands for positive, and Z represents zero. B means big, M means medium and S stands for small. For example, NB means negative big. ci s(e) -L L Figure 5.5 Function between ci and s(e) 76 Table 5.1: 7?7 Rule base of the sliding mode fuzzy controller Change in error (CE) NB NM NS Z PS PM PB PB Z NS NM NM NB NB NB PM PS Z NS NM NM NM NB PS PM PS Z NS NS NM NB Z PM PM PS Z NS NM NM NS PB PM PS PS Z NS NM NM PB PM PM PM PS Z NS Error (E ) NB PB PB PB PM PM PS Z A 33?33 rule table was derived for the sliding mode fuzzy controller for the boost converter based on the principles above. There was a trade off between the size of the rule base and the performance of the sliding mode fuzzy controller. More membership functions resulted in finer control. The output of the controller had less variation when either of the inputs had small changes, and a more accurate control was achieved. 5.1.4 Inference Mechanism and Defuzzification Method The results of the inference mechanism include the weighing factor w i and the change in duty cycle c i of the individual rule [4]. The weighing factor w i was obtained by Mamdani?s min fuzzy implication of ? e (e[k]) and ? ce (ce[k]), where w i = min{? e (e[k]), ? ce (ce[k])} and ? e (e[k]), ? ce (ce[k]) are the membership degrees [10]. c i was taken from the rule base. The change in duty cycle inferred by the i th rule z i is written in (5.9). iceeiii ckcekecwz ?=?= ])}[(]),[(min{ ?? (5.9) The center of average method was used to obtain the sliding mode fuzzy controller?s output ?d[k], which is given in (5.10). When using triangle-shaped 77 membership functions, there are at most four rules that are effective at any one time; therefore, N = 4. The output of the sliding mode fuzzy controller was added to the previous sampling period?s duty cycle d[k-1]. The integration of the controller?s output increases the system type and improves the steady-state error. [] ? ? = = ? = N i i N i ii w cw kd 1 1 ? (5.10) 5.2 Implementation of Sliding Mode Fuzzy Controller A Simulink model for a sliding mode fuzzy controller for DC-DC converters is shown in Figure 5.6. Implementation of the sliding mode fuzzy controller had similar issues as the implementation of an ordinary fuzzy controller. When implementing the sliding mode fuzzy controller, a Gaussian low-pass filter was added to ce[k] in steady state to filter out the undesired high frequency noise to smooth the controller?s output. The noise was mainly introduced by the quantization errors and the switching action in the converter circuit. The change in error was calculated using ce[k]=e[k]-ev[k-1], where ev[k-1] = e[k-1]/4 + e[k-2]/2 + e[k-3]/4 and was obtained using the Gaussian low-pass filter. The coefficients of the Gaussian filter were [1/4 1/2 1/4]. The Gaussian filter reduced the high frequency noise, and it was characterized by narrow bandwidth, sharp cutoff frequency and low overshoot. The filter was very simple to implement on the TI DSP. Because the coefficients of the filter were 1/2 and 1/4, a shift instruction was used instead of calling the function to divide two numbers, thus reducing the computation time. 78 The sliding mode fuzzy controllers for buck and boost converters were also implemented on the TI TMS320F2812 DSP. Experimental results will be presented in the next chapter. Figure 5.6 Simulink model of the system using sliding mode fuzzy controller for the DC- DC converters 79 CHAPTER 6 EXPERIMENTAL RESULTS Experimental results for the DSP-controlled buck and boost converters are presented in this chapter. 6.1 Experimental Results for PID and PI Controllers Design and implementation of the PID and PI controllers for the buck and the boost converters were presented in Sections 3.2 and 3.3, respectively. Experimental results for the buck and the boost converters are presented in this chapter. PID and PI controllers were switched between transient and steady state to obtain desired responses. The PID controller was applied during start up to obtain a fast transient response. The PI controller was applied during steady state to reduce oscillation of the duty cycle and improve the system?s stability. The sampling and switching frequencies of both PID and PI controllers were 150 kHz. 6.1.1 Buck Converter The start up transient response is shown in Figure 6.1. The settling time is about 1 ms without any overshoot. The load transient response is shown in Figure 6.2 when the load current changed from 1.364 A to 0.16 A. The settling time was about 2 ms, and the maximum transient error was 120 mV. 80 Figure 6.1 Start up transient response of the buck converter using the linear PID and PI control method (5 V/div, 500 ?s/div) Figure 6.2 Transient response for the buck converter using the linear PID and PI control method when the load changed from 1.364 A to 0.16 A (100 mV/div, 500 ?s/div) 81 6.1.2 Boost Converter The start up transient response is shown in Figure 6.3. The rise time is 15 ms, with about 10% overshoot. The transient response when the load changed from 0.24 A to 0.48 A using the PID and PI control method is shown in Figure 6.4. The settling time was about 10 ms. There was a 100 mV steady-state error. Figure 6.3 Start up transient response of the boost converter using the linear PID and PI control method (2 V/div, 5 ms/div) 82 Figure 6.4 Transient response for the boost converter using the linear PID and PI control method when the load changed from 0.24 A to 0.48 A (200 mV/div, 2 ms/div) 6.2 Experimental Results for Fuzzy Controllers Design and implementation of fuzzy controllers for the buck and the boost converters were presented in Sections 4.2 and 4.3, respectively. Experimental results of the fuzzy controllers for the buck and the boost converters are presented in this section. 6.2.1 Buck Converter For the buck converter, the fuzzy controller shown in Figure 4.3 was implemented. It produced the duty cycle d[k] by adding a linear integrator to the output of the fuzzy controller shown in (4.2). The input scaling factors g0, g1 and the output scaling factor h of the fuzzy controller for the buck converter were tuned to be 1, 1, and 1, respectively, based on experimental results and simulation by Simulink. Experiments from the buck converter indicated that if the scaling factor g0 of e[k] was less than 1, the precision of the measured output voltage was reduced. Therefore, g0 was chosen to be 1. g1 was tuned to 83 be 1 based on simulation and experimental result. The output scaling factor h was tuned to 1 to achieve a fast transient response without overshoot. The gain of the linear integrator K I was chosen to be 0.000381. Because the error of the output voltage was accumulated every sampling period and the sampling period was only 6.67 ?s, a small value of K I was chosen. The start up transient response is shown in Figure 6.5. The settling time was about 1 ms with a little overshoot. The load transient response is shown in Figure 6.6 when the load current changed from 1.364 A to 0.16 A. The settling time was about 2 ms. The maximum transient error was 140 mV. A fuzzy controller with a 7*7 rule base was also designed and implemented for the buck converter. The start up transient response is shown in Figure 6.7. The settling time is about 1 ms with a little overshoot, which is very similar to the start up transient response in Figure 6.5. The load transient response is shown in Figure 6.8 when the load current changed from 1.364 A to 0.16 A. The settling time was about 7 ms, and the maximum transient error was 300 mV. A comparison between Figure 6.6 and Figure 6.8 indicates that a much shorter settling time and smaller maximum transient error was obtained by using the 17*17 rule base. Experimental results verified that the addition of more membership functions and rules can provide a more accurate control, which can reduce chattering and oscillation. Experimental results of linear PID and PI controllers for the buck converter were presented in the first section of this chapter. They are compared with the experimental results of the fuzzy controllers for the buck converter. Comparisons between Figure 6.1 and Figure 6.5 and between Figure 6.2 and Figure 6.6 show that the linear PID and PI 84 controller obtained similar results as the fuzzy controller using the 17*17 rule base. The poles and zero of the buck converter?s small signal model don?t change when the operating point varies. The change in the operating point only has impact on the magnitude of the buck converter?s small signal model. Therefore, the linear PID and PI controller was able to achieve similar response as the fuzzy controller. Figure 6.5 Start up transient response of the buck converter using the second fuzzy control method with 17*17 rule base (5 V/div, 500 ?s/div) 85 Figure 6.6 Transient response for the buck converter using the second fuzzy control method with 17*17 rule base when the load changed from 1.364 A to 0.16 A (100 mV/div, 500 ?s/div) Figure 6.7 Start up transient response of the buck converter using the second fuzzy control method with 7*7 rule base (5 V/div, 500 ?s/div) 86 Figure 6.8 Transient response for the buck converter using the second fuzzy control method with 7*7 rule base when the load changed from 1.364 A to 0.16 A (100 mV/div, 1 ms/div) 6.2.2 Boost Converter For the boost converter, the fuzzy controller shown in Figure 4.3 was also implemented. It produced the duty cycle d[k] by (4.2). Based on simulation by Simulink and experimental results, the scaling factors g0, g1 and h of the fuzzy controller for the boost converter were tuned to be 1.5, 1, and 1, respectively, and the gain of the integrator K I was chosen to be 0.000122. The start up transient response is shown in Figure 6.9. The settling time was about 6ms with no overshoot. However, when the load current changed, there was 200 mV steady-state error. To eliminate the steady-state error, the first method to get the duty cycle d[k] was used, which is shown in Figure 4.2. The new duty cycle was calculated by (4.1). In this method, the output of the fuzzy controller was added to the previous 87 sampling period?s duty cycle d[k-1]. The integration of the fuzzy controller?s output increased the system type and improved the steady-state error. In addition, a Gaussian low-pass filter was added to decrease the noise in the difference of error ce[k] at steady state. The noise was mainly introduced by the quantization errors and the switching action in the converter circuit. The change in error was calculated using ce[k]=e[k]-ev[k-1], where ev[k-1] = e[k-1]/4 + e[k-2]/2 + e[k-3]/4. ev[k-1] was obtained by the Gaussian low-pass filter. The coefficients of the Gaussian filter were [1/4 1/2 1/4]. The Gaussian filter reduced the high frequency noise, and it was characterized by narrow bandwidth, sharp cutoff frequency and low overshoot. The filter was very simple to implement on the TI DSP. Because the coefficients of the filter were 1/2 and 1/4, a shift instruction was used instead of calling the function to divide two numbers, therefore reducing the computation time. Figure 6.9 Start up transient response of the boost converter using the second fuzzy control method (2 V/div, 5 ms/div) 88 When using the fuzzy controller configuration in Figure 4.2, the output gain h had to be tuned to be very small to avoid oscillation during steady state. Scaling factors g0, g1 and h were tuned to be 3, 2 and 0.0001373, respectively. The transient response of the boost converter when the load changed from 0.24 A to 0.48 A is shown in Figure 6.10. The settling time was about 10 ms. The maximum transient error was about 400 mV. Both structures in Figure 4.2 and Figure 4.3 should result in zero steady-state error, because both have integrators to eliminate the steady-state error. However, experimental results from the boost converter indicated that steady-state error was observed during load transients by using the structure in Figure 4.3. In the first structure in Figure 4.2, the integration was realized by accumulating the fuzzy controller?s output. The controller is a pure nonlinear controller. While for the topology shown in Figure 4.3, the linear integrator and the fuzzy controller were in parallel. It was a combination of linear and nonlinear controller. The reason why the second topology resulted in steady- state error during load transients requires further investigation. A comparison of the boost converter?s experimental results obtained using the fuzzy control method shown in Figure 6.9 and Figure 6.10 and those obtained using the linear PID and PI control method shown in Figure 6.3 and Figure 6.4 indicates that fuzzy control was able to achieve faster transient response without overshoot, better rejection to load variation, more stable steady-state response and less dependence on the operating point. The advantage of the fuzzy control method applied to the boost converter was much more obvious than application to the buck converter. An examination of the buck converter and the boost converter?s small signal models suggests that the boost converter?s small signal model is a nonlinear function of 89 the operating point, while only the magnitude of the buck converter?s small signal model shifts with the change of operating point [3]. The linear PID and PI controller was designed only for the nominal operating point. When the operating point varies, both the shape and the position of the bode plot of the boost converter?s small signal model changes. Therefore, the linear controller was not able to respond well for the boost converter. On the other hand, since the fuzzy controller doesn?t require an exact mathematical model, it was not designed based on a specific operating point. It responded to the line and load variations more effectively than the linear controller. However, one disadvantage of the fuzzy control method was that it required extensive tuning by the trial and error method. Simulation by Simulink can provide some guidance and help to reduce the amount of time needed for tuning. Figure 6.10 Transient response for the boost converter using the first fuzzy control method when the load changed from 0.24 A to 0.48 A (200 mV/div, 2 ms/div) 90 6.3 Experimental Results for Sliding Mode Fuzzy Controllers Experimental results of the sliding mode fuzzy controllers for both the buck converter and the boost converter are presented and evaluated in this section. 6.3.1 Boost Converter The start up transient response of the boost converter using sliding mode fuzzy control when the input voltage varied from 4 V to 7 V is shown in Figure 6.11. The settling time was about 8 ms with very little overshoot at the nominal input voltage of 5 V. As the input voltage increased from 4 V to 7 V, the settling time decreased. When the input voltage was 7 V, the settling time was only 5 ms. The transient response of the boost converter using sliding mode fuzzy control when the load changed from 0.24 A to 0.48 A at different input voltages is shown in Figure 6.12. The settling time was about 10ms at nominal input voltage. The maximum transient error is about 400 mV. When the input voltage increased from 4 V to 7 V, the settling time decreased and the maximum transient error decreased. Transient responses in Figure 6.11 and Figure 6.12 indicate that the experimental result?s settling time and overshoot at nominal input voltage matched the desired dynamics represented by the switching function in (5.4). A settling time of less than or equal to 10 ms was achieved. When the input voltage increased, the settling time for both the start up and load transient response decreased. The output voltage was stable in steady state. 91 Figure 6.11 Start up transient response of the boost converter using sliding mode fuzzy control with different input voltage (2 V/div, 5 ms/div) Figure 6.12 Transient response of the boost converter using sliding mode fuzzy control when the load current changed from 0.24 A to 0.48 A (200 mV/div, 2 ms/div) 1?Vin=4V 2?Vin=5V 3?Vin=6V 4?Vin=7V 1 2 3 4 1 2 3 4 1?Vin=4V 2?Vin=5V 3?Vin=6V 4?Vin=7V 92 When using ordinary fuzzy controllers, two structures of fuzzy controllers were applied to the prototype boost converter during start up and steady state to obtain both fast transient and stable steady-state response without steady-state error. While for the sliding mode fuzzy controller, only one structure was used for all operating points. This indicates that the sliding mode fuzzy controller is able to perform well under operating point variations. 6.3.2 Buck Converter The start up transient response using the sliding mode fuzzy controller when the input voltage varies from 17 V to 23 V is shown in Figure 6.13. The settling time is about 2 ms with very little overshoot at a nominal input voltage of 20 V, while the designed settling time is only 1 ms. The reduction of the speed of the transient response was mainly caused by the parallel linear integrator. As the input voltage increased from 17 V to 23 V, the settling time remained the same. The overshoot at the nominal input voltage was 3.3%, and increased a little when the input voltage increases. The steady-state response of the buck converter and the PWM signal are shown in Figure 6.14 Note that there is no oscillation of the duty cycle in steady state. The load transient response of the buck converter when the load decreased from 0.96 A to 0.48 A is shown in Figure 6.15. When the input voltage varied from 17 V to 23 V, the settling time remained at about 4 ms. The maximum transient error was about 160 mV when the input voltage was 17 V, and was about 140 mV when the input voltage was 23 V. When the load increased from 0.48 A to 0.96 A, the load transient response of the buck converter is shown in Figure 6.16. The settling time remained at about 4 ms, which 93 is the same as the settling time when the load current decreases. The maximum transient error was about 140 mV when the input voltage was 17 V, and was about 120 mV when the input voltage was 23 V. From the load transient responses in Figure 6.15 and Figure 6.16, it can be observed that variations in settling time and the maximum transient error with changes in the input voltage were small. Figure 6.13 Start up transient response of the buck converter using sliding mode fuzzy controller with different input voltage (2 V/div, 1 ms/div) 1 2 1?Vin=17V 2?Vin=20V 3?Vin=23V 3 94 Figure 6.14 Steady-state response of the buck converter with the PWM signal (5 V/div, 5 ?s/div) Figure 6.15 Load transient response of the buck converter using sliding mode fuzzy controller when the load changed from 0.96 A to 0.48 A with different input voltage (100 mV/div, 1 ms/div) 1 2 3 1?Vin=17V 2?Vin=20V 3?Vin=23V 95 Figure 6.16 Load transient response of the buck converter using sliding mode fuzzy controller when the load changed from 0.48 A to 0.96 A with different input voltage (100 mV/div, 1 ms/div) 6.4 Comparison of Experimental Results of Linear and Nonlinear Control Methods Experimental results of linear and nonlinear control methods applied to buck and boost converters are compared in this section. 6.4.1 Buck Converter For comparison purposes, the experimental results of the buck converter using the ordinary fuzzy controller when the input voltage changed were evaluated. The start up transient response when the input voltage varied from 17 V to 23 V is shown in Figure 6.17. The settling time at the nominal input voltage of 20 V was about 8 ms with about 7% overshoot. When the input voltage increased from 17 V to 23 V, the settling time remained the same. The overshoot increased when the input voltage increased from 17 V to 23 V. 3 21 1?Vin=17V 2?Vin=20V 3?Vin=23V 96 The load transient response of the buck converter using the ordinary fuzzy controller when the load current decreased from 0.96 A to 0.48 A is shown in Figure 6.18. When the input voltages changed from 17 V to 23 V, the settling time remained at about 0.8 ms and maximum transient error remained at about 60 mV. The load transient response of the buck converter when the load current increased from 0.48 A to 0.96 A is shown in Figure 6.19 When the input voltage increased from 17 V to 23 V, the settling time remained at about 1 ms, and the maximum transient error remained at about 60 mV. Figure 6.17 Start up transient response of the buck converter using ordinary fuzzy controller with different input voltage (2 V/div, 1 ms/div) 1?Vin=17V 2?Vin=20V 3?Vin=23V 3 21 97 Figure 6.18 Load transient response using ordinary fuzzy controller when the load changed from 0.96 A to 0.48 A with different input voltage (100 mV/div, 1 ms/div) Figure 6.19 Load transient response using ordinary fuzzy controller when the load changed from 0.48 A to 0.96 A with different input voltage (100 mV/div, 1 ms/div) 3 1 1?Vin=17V 2?Vin=20V 3?Vin=23V 2 1?Vin=17V 2?Vin=20V 3?Vin=23V 3 1 2 98 For comparison purposes, a PID/PI controller was also implemented for the buck converter. The derivative term in a PID controller is susceptible to noise and measurement error of the system, which could result in oscillation of the duty cycle during steady state. However, during transient operation, the derivative term is needed to reduce the settling time by predicting the changes in error. Therefore, PID and PI controllers are switched between transient and steady state to obtain fast response without oscillation in steady state. The start up transient response using the PID/PI controller is shown in Figure 6.20 The settling time was about 4 ms when the input voltage was 20 V. Both the settling time and overshoot increase when the input voltage increased from 17 V to 23 V. The load transient response using the PID/PI controller is shown in Figures 6.21 and 6.22, respectively. When the load decreased from 0.96 A to 0.48 A as shown in Figure 6.21, the settling time remained at about 1 ms, and the maximum transient error remained at about 60 mV. When the load increased from 0.48 A to 0.96 A as shown in Figure 6.22, the settling time remained at about 1 ms, and the maximum transient error remained in the range of 40 to 60 mV. 99 Figure 6.20 Start up transient response of the buck converter using PID/PI controller with different input voltage (2 V/div, 1 ms/div) Figure 6.21 Load transient response using PID/PI controller when the load changed from 0.96 A to 0.48 A with different input voltage (100 mV/div, 1 ms/div) 1 2 1?Vin=17V 2?Vin=20V 3?Vin=23V 3 1?Vin=17V 2?Vin=20V 3?Vin=23V 3 2 1 100 Figure 6.22 Load transient response using PID/PI controller when the load changed from 0.48 A to 0.96 A with different input voltage (100 mV/div, 1 ms/div) A comparison of the performance between the sliding mode fuzzy control, ordinary fuzzy control and PID/PI control for the buck converter is quantified in Table 6.1. An examination of the experimental results shows that the sliding mode fuzzy control obtained the shortest settling time and smallest overshoot during a start up transient. Furthermore, it can be observed that the start up transient response varied the least using sliding mode fuzzy control when the input voltage changed from 17 V to 23V. 1?Vin=17V 2?Vin=20V 3?Vin=23V 1 3 2 101 Table 6.1: Comparison of Performance of Sliding Mode Fuzzy Control vs. Ordinary Fuzzy Control vs. PID/PI Control for Buck Converter Experimental results Sliding mode fuzzy control Ordinary fuzzy control PID/PI control Settling time (ms) 2 8 4 Start up transient response Overshoot(%) 3.3 7 10 Settling time (ms) 4 0.8 1 Load decrease Maximum error(mV) 150 60 60 Settling time (ms) 4 1 1 Load Transient response Load increase Maximum error(mV) 110 60 40 Experimental results for load transients using different control methods were also evaluated and compared. Ordinary fuzzy control and PID/PI control obtained very similar load transient response for both load increase and load decrease. When the input voltage changed from 17 V to 23 V, the load transient response varied very little. On the other hand, the settling time obtained using sliding mode fuzzy control was much longer than the settling time obtained using the other two control methods. The maximum transient error was also the largest for the sliding mode fuzzy control among all three control methods. The comparison indicates that sliding mode fuzzy control obtained a more satisfactory start up transient response than ordinary fuzzy control and PID/PI control methods, while the load transient response using sliding mode fuzzy control was less satisfactory than the other two control methods. During a start up transient, the small 102 signal model of the converter changes dramatically. Because sliding mode fuzzy control can yield a very robust closed-loop system under plant uncertainties like ordinary sliding mode control, it is able to respond to start up transient more effectively than ordinary fuzzy control and PID control. On the other hand, during load transients, the small signal model of a buck converter changes less dramatically than during a start up transient. Therefore, linear controllers such as PID control are able to respond more effectively than sliding mode fuzzy control. A possible reason that ordinary fuzzy control obtained faster load transient response than sliding mode fuzzy control is that the ordinary fuzzy controller had been tuned extensively using a trial and error method, while it takes much less time to tune the sliding mode fuzzy controller. 6.4.2 Boost Converter Experimental results obtained using linear and nonlinear control methods are compared for the buck and boost converters. For the buck converter, linear and nonlinear control methods obtained similar experimental results. While for the boost converter, there was a clear difference between the results from the linear and nonlinear control methods. Table 6.2 compares the performance of PID control, fuzzy control and sliding mode fuzzy control for the boost converter. Both start up transient response and load transient response are compared. For the start up transient response, the fuzzy controller obtained the shortest settling time, while the PID controller had the longest settling time. There was a 10% overshoot with the PID control and no overshoot for the fuzzy and sliding mode fuzzy control. For the load transient response, all three control methods obtained the same settling time. The maximum transient error was actually smaller for the 103 PID control, but there was a 100 mV steady-state error for the PID control. The fuzzy control and sliding mode fuzzy control obtained very similar experimental results for the boost converter. However, the design of sliding mode fuzzy control was more systematic, and system?s response was easier to predict. An examination of the small signal models for the converters shows that only the magnitude of the buck converter?s small signal model shifts with the change of operating point. But for the boost converter, both the shape and the position of the frequency response changes. Therefore, the linear PID controller was not able to respond well for the boost converter. Since the fuzzy controller is nonlinear and adaptive in nature, it responded to the line and load disturbances more effectively than linear controllers. Table 6.2: Comparison of Performance of PID Control, Fuzzy Control, and Sliding Mode Fuzzy Control for the Boost Converter Experimental Results PID control Fuzzy control Sliding mode fuzzy control Settling time (ms) 15 6 8 Start up transient response Overshoot (%) 10 0 0 Settling time (ms) 10 10 10 Maximum transient error (mV) 200 400 400 Load transient response Steady-state error (mV) 100 0 0 104 CHAPTER 7 CONCLUSION AND FUTURE WORK Issues in the design and implementation of digital controllers for buck and boost converters have been discussed in this dissertation. There are many control methods that may be used to design digital controllers for DC-DC converters. Generally, these methods fall into two categories: linear and nonlinear control methods. Both linear and nonlinear techniques have been reported in this dissertation. Analog PID and PI controllers were designed using the frequency response method based on the small signal models of buck and boost converters. The PID and PI controllers were then converted into discrete time. Advantages of frequency response techniques are: design and analysis are relatively easy and implementation is straightforward on a DSP. The disadvantages are: performance of the controller is dependent on the operating point and the controller needs to be modified to obtain both fast and stable response. The performance of a linear controller is dependent on the load and working point. Since small signal models obtained using state space averaging techniques are linear approximations of the local behavior of the system, the small signal models change due tochanges in operating points. Linear controllers are designed based on the small signal models. Therefore, their performance is dependent on the working point, the parasitic elements, and the load and line conditions. 105 To achieve a stable steady-state response and fast transient response under varying operating points, nonlinear controllers were used to control buck and boost converters. In this dissertation, nonlinear control techniques, including fuzzy controllers and sliding mode fuzzy controllers, were applied to buck and boost converters. Among the various techniques of artificial intelligence, the most popular and widely used technique in control systems is fuzzy control. Fuzzy controllers were designed based on the general knowledge of the converters. The controller was then tuned using a trial and error method to obtain satisfactory response. Since a fuzzy controller is a nonlinear controller, it is able to adapt to varying operating points. The second nonlinear control method is sliding mode fuzzy control. Sliding mode fuzzy control combines the advantage of sliding mode control and fuzzy control. It also has advantages of its own that cope with the problems in the sliding mode control and fuzzy control design and implementation. The advantages of fuzzy controllers are: exact mathematical models are not required for the design of fuzzy controllers, complexities associated with nonlinear mathematical analysis are relatively low, and fuzzy controllers are able to adapt to changes in operating points. The disadvantages of fuzzy controllers are: extensive tuning may be required based on trial and error method and the system?s response is not easy to predict. The advantages of sliding mode fuzzy controllers are: the design of sliding mode fuzzy controller is more systematic and the system?s response is easier to predict. The disadvantage is that some tuning may still be required. All the digital controllers were implemented on a TI TMS320F2812 Digital Signal Processor (DSP). The F2812 DSP is a 32-bit, fixed point DSP. Experimental results 106 obtained using linear and nonlinear control methods were compared for the buck and boost converters. For the buck converter, linear and nonlinear control methods obtained similar experimental results. While for the boost converter, there was a clear difference between the results from the linear and nonlinear control methods. Nonlinear control methods obtained more satisfactory responses for the boost converter. Several areas for future research are possible. Fuzzy control for DC-DC converters could continue to be investigated. It is interesting to see how the fuzzy controller will respond to a large variation of input voltage, and if it can be modified for large line disturbances. Adaptive fuzzy controllers could be investigated. In order to obtain both fast transient response and stable steady-state response, the gains and rule table of the fuzzy controller could be switched between transient and steady state. Other nonlinear control methods such as neural network, genetic algorithm and adaptive control can be applied to DC-DC converters. Neural networks have learning and self-organizing abilities to adapt to nonlinear systems. The network can be trained on typical signals and then tested on an experimental testbed. Simulation results may be compared with experimental results for DC-DC converters. Digital current-mode control could also be investigated. Current-mode control is typically a two loop system: an inner current loop and outside voltage loop. The dynamics of the voltage loop are much slower than that of the current loop. Therefore voltage loop can be easily implemented using digital signal processors (DSP) or microcontrollers. However, it is quite challenging to implement digital control for the current loop due to delay of the sampling and computation process. To solve this problem, the inductor current was estimated to achieve predictive digital current-mode 107 control [51]. With the advance of VLSI technology, DSPs with faster clock frequency and analog-to-digital converters are becoming available. Therefore, it would be interesting to investigate digital current-mode control that uses directly measured inductor current values. Sampling algorithms may be developed in order to obtain values of inductor current in real time. Another research issue is related to the efficiency of the converters. Since intelligence can be conveniently included in DSPs, the converter can be controlled in such a way that optimum efficiency is achieved under various operating points. The operating mode can also be shifted between continuous mode and discontinuous mode by changing the switching frequency. In addition, a digital controller could monitor the temperature of different parts of the converter to perform thermal management. Functions of control regulation, thermal management and supervision can all be integrated on a single DSP chip. The advantage is tremendous over analog control. It will also be interesting to investigate digital control of transformer isolated converters, such as forward converters, flyback converters and push-pull converters. Implementation issues of digital controllers may be investigated. Besides DSPs, FPGAs and custom designed integrated circuits are also viable solutions for the implementation of digital controllers. FPGAs tend to be more flexible than DSPs because the user is able to specify their size, speed and price. Nowadays many FPGAs also have built-in DSP function in order to improve their computation capability. Digital controllers may be implemented on both FPGAs and DSPs in order to compare the advantage and disadvantage of each implementation method. 108 To summarize, several issues in digital control may be investigated in the future. In the past, research in digital control was mainly conducted in universities and research institutes. In the recent years, there are rapidly increasing interests in digital control from the industry in order to achieve small space and high efficiency in DC-DC converters. Therefore, collaboration between the academia and the industry could achieve tremendous development and application of digital control in the future. 109 BIBLIOGRAPHY [1] Y. S. Lee, Computer-Aided Analysis and Design of Switch-Mode Power Supplies, Marcel Dekker, Inc., New York, Basel, Hong Kong, 1993. [2] N. Mohan, T. M. Undeland, W. P. Robbins, Power Electronics: Converters, Applications, and Design, John Wiley&Sons, Inc., 1995. [3] R. P. Severns and G. Bloom, Modern DC-to-DC Switchmode Power Converter Circuits, Van Nostrand Reinhold Company, New York, 1985. [4] Y. Duan, H. Jin, ?Digital Controller Design for Switchmode Power Converters?, Conference Proceedings of IEEE Applied Power Electronics Conference and Exposition, pp. 967-973, 1999. [5] S. Bibian, H. Jin, ?A Simple Prediction Technique for the Compensation of Digital Control Time Delay in DC Switchmode Power Supplies?, Conference Proceedings of IEEE Applied Power Electronics Conference and Exposition, pp. 994-1000, 1999. [6] P. Vallittu, T. Suntio and S. J. Ovaska, ?Digital Control of Power Supplies- Opportunities and Constraints?, The 24th Annual Conference of the IEEE Industrial Electronics Society (IECON?98), Vol. 1, pp. 562-567, 1998. [7] C. L. Phillips and R. D. Harbor, Feedback Control Systems, Prentice-Hall, Inc., New Jersey, 1996. [8] A. Prodic, D. Maksimovic and R. W. Erickson, ?Design and implementation of a digital PWM controller for a high-frequency switching DC-DC power converter?, The 27th Annual Conference of the IEEE Industrial Electronics Society (IECON?01), Vol. 2, pp. 893 - 898, Nov 2001. [9] K. Viswanathan, D. Srinivasan and R. Oruganti, ?A Universal Fuzzy Controller for a Non-linear Power Electronic Converter?, IEEE International Conference on Fuzzy Systems, Vol. 1, pp. 46-51, 2002. [10] P. Mattavelli and G. Spiazzi, ?General-purpose fuzzy controller for DC-DC converters?, IEEE Transactions on Power Electronics, Vol. 12, No. 1, pp. 79-86, January 1997. 110 [11] A. Perry, G. Feng, Y. Liu and P. C. Sen, ?A new design method for PI-like fuzzy logic controllers for DC-DC converters?, 35 th Annual IEEE Power Electronics Specialists Conference, Aachen, Germany, pp. 3751-3757, 2004. [12] B. S. Butkiewicz, ?Steady-State Error of a System with Fuzzy Controller?, IEEE Transaction on Systems, Man, and Cybernetics ? Part B: Cybernetics, Vol. 28, No. 6, pp. 855 ? 860, December 1998. [13] F. H. Wang and C. Q. Lee, ?Comparison of Fuzzy Logic and Current-Mode Control Techniques in Buck, Boost and Buck/Boost Converters?, 1995 IEEE 26 th Annual Power Electronics Specialists Conference, Vol. 2, pp. 1079 ? 1085, June 1995. [14] J. Arias, A. Arias, S. Gomariz and F. Guinjoan, ?Generating design rules for buck converter-based fuzzy controllers?, 1996 IEEE International Symposium on Circuits and Systems, Vol. 1, pp. 585 ? 588, May 1996. [15] S. Gomariz, F. Guinjoan, E. Vidal-Idiarte, L Martinez-Salamero, A. Poveda, ?On the Use of the Describing Function in Fuzzy Controllers Design for Switching DC-DC Regulators?, 2000 IEEE International Symposium on Circuits and Systems, Vol. 3, pp. 247 ? 250, May 2000. [16] I. Campo and J. M. Tarela, ?Consequences of the Digitization on the Performance of a Fuzzy Logic Controller?, IEEE Transaction on Fuzzy Systems, Vol. 7, No. 1, pp. 85-92, Feb 1999. [17] T. Gupta, R. R. Boudreaux, R. M. Nelms and J. Y. Hung, ?Implementation of a Fuzzy Controller for DC-DC Converters Using an Inexpensive 8-b Microcontroller?, IEEE Trans on Industrial Electronics, Vol. 44. pp. 661-669, October 1997. [18] W. C. So, C. K. Tse and Y. S. Lee, ?Development of a Fuzzy Logic Controller for DC/DC Converters: Design, Computer Simulation, and Experimental Evaluation?, IEEE Transaction on Power Electronics, Vol. 11. pp. 24-32, January 1996. [19] M. Smyej, M. Saneba and A. Cheriti, ?A Fuzzy Controller for a DC to DC Converter Using a Digital Integrator?, Canadian Conference on Electrical and Computer Engineering, Vol. 1, pp. 7-10, 2000. [20] J. Y. Hung, W. Gao and J. C. Hung, ?Variable Structure Control: A Survey?, IEEE Transaction on Industrial Electronics, Vol. 40, No. 1, pp. 2-22, Feb 1993. [21] J. Mahdavi, A. Emadi and H. A. Toliyat, ?Application of State Space Averaging Method to Sliding Mode Control of PWM DC/DC Converters?, 32 nd IEEE Industry Applications Society Annual Meeting, pp. 820-827, Oct 1997. [22] D. Cortes, J. Alvarez and J. Alvarez, ?Robust Sliding Mode Control for the Boost Converter?, VIII IEEE International Power Electronics Congress, pp. 208-212, Oct 2002. 111 [23] E. Vidal-Idiarte, L. Martinez-Salamero, F. Guinjoan, J. Calvente and S. Gomariz, ?Sliding and Fuzzy Control of a Boost Converter using an 8-bit Microcontroller?, IEE Proceedings of Electric Power Applications, Vol. 151, pp. 5-11, Jan 2004. [24] R. Orosco, N. Vazquez, ?Discrete Sliding Mode Control for DC/DC Converters?, VII IEEE International Power Electronics Congress, pp. 231-236, Oct 2000. [25] Y. Shi and P. C. Sen, ?Application of Variable Sturcture Fuzzy Logic Controller for DC-DC Converters?, The 27 th Annual conference of the IEEE Industrial Electronics Society, pp. 2026-2031, Nov 2001. [26] M. Ahmed, M. Kuisma, K. Tolsa and P. Silventoinen, ?Implementing Sliding Mode Control for Buck Converter?, 2003 IEEE 34 th Annual Power Electronics Specialist Conference, Vol. 2, pp. 634-637, June 2003. [27] G. Venkataramanan and D. Divan, ?Discrete Time Integral Sliding Mode Control for Discrete Pulse Modulated Converters?, 21 st Annual IEEE Power Electronics Specialist Conference, pp. 67-73, June 1990. [28] Q. Hu, Z. Liang, H, Yu, G. Xia and X. Yang, ?Application of Sliding Mode Control in Control of Power Electronic Converters?, Proceedings of the Fifth International Conference on Electrical Machines and Systems, Vol. 1, pp. 608-611, Aug 2001. [29] W. Gao, Y. Wang and A. Homaifa, ?Discrete-Time Variable Structure Control Systems?, IEEE Transactions on Industrial Electronics, Vol. 42, No. 2, pp. 117 ? 122, April 1995. [30] J. Matas, L. G. Vicuna, O. Lopez, M. Lopez and M. Castilla, ?Discrete Sliding Mode Control of a Boost Converter for Output Voltage Tracking?, 8 th International Conference on Power Electronics and Variable Speed Drives, pp. 351-354, Sep 2000. [31] P. Mattavelli, L. Rosseto and G. Spiazzi, ?General-purpose Sliding-Mode Controller for DC/DC Converter Applications?, 24th Annual IEEE Power Electronics Specialists Conference, pp. 609-615, June 1993. [32] S. Muthu and J. M-S. Kim, ?Discrete-Time Robust Sliding Mode Control for Switching Power Converters?, 28th Annual IEEE Power Electronics Specialists Conference, Vol. 1, pp. 210 ? 216, June 1997. [33] A. G. Perry, G. Feng, Y. Liu and P. C. Sen, ?A New Sliding Mode Like Control Method for Buck Converter?, 2004 IEEE 35 th Annual Power Electronics Specialists Conference, Vol. 5, pp. 3688 ? 3693, June 2004. [34] D. Driankov, H. Hellendoorn and M. Reinfrank, An Introduction to Fuzzy Control. Springer 1996. 112 [35] Agilent HCPL-3180 2 Amp Output Current, High Speed IGBT/MOSFET Gate Drive Optocoupler Data Sheet. [36] TMS320C28x DSP CPU and Instruction Set Reference Guide, Texas Instruments, 2004. [37] TMS320x281x Analog-to-Digital Converter (ADC) Reference Guide, Texas Instruments, 2004. [38] TMS320x281x Event Manager (EV) Reference Guide, Texas Instruments, 2004. [39] TMS320x281x System Control and Interrupts Reference Guide, Texas Instruments, 2004. [40] TMS 320C28x DSP CPU and Instruction Set Reference Guide. [41] TMS320C28x Optimizing C/C++ Compiler User's Guide, Texas Instruments, 2001. [42] eZdsp F2812 Technical Reference, Spectrum Digital, 2003. [43] L. Guo, J. Y. Hung, and R. M. Nelms, ?PID controller modifications to improve steady-state performance of digital controllers for buck and boost converters?, Conference Proceedings of IEEE Applied Power Electronics Conference and Exposition, pp. 381 ? 388, Feb 2002. [44] L. Guo, J. Y. Hung, and R. M. Nelms, ?Digital Controller Design for Buck and Boost Converters Using Root Locus Techniques?, The 29th Annual Conference of the IEEE Industrial Electronics Society (IECON?03), Vol. 2, pp. 1864 - 1869, Nov 2003. [45] R. W. Erickson, D. Maksimovic, Fundamentals of Power Electronics, Kluwer Academic Publishers, Massachusetts, 2001. [46] K. Ogata, Discrete-Time Control Systems. Prentice-Hall, Inc., New Jersey, 1987. [47] C. L. Phillips, H. T. Nagle, Digital Control System Analysis and Design, Prentice Hall, New Jersey, 1995. [48] K. M. Passino, S. Yurkovich, Fuzzy Control. Addison-Wesley 1997. [49] L. Guo, J. Y. Hung, and R. M. Nelms, ?Experimental evaluation of a Fuzzy Controller Using a Parallel Integrator Structure for DC-DC Converters?, Proceedings for the IEEE International Symposium on Industrial Electronics (ISIE?05). Vol. 2, pp. 20-23, June 2005. [50] L. Guo, J. Y. Hung, and R. M. Nelms, ?Digital Implementation of Sliding Mode Fuzzy Controllers for Boost Converters?, Conference Proceedings of IEEE Applied Power Electronics Conference and Exposition, pp. 1424 ? 1429, March 2006. 113 [51] J. Chen, A. Prodic, R. W. Erickson and D. Maksimovic, ?Predictive digital current programmed control?, IEEE Trans. On Power Electronics, Vol. 18, No. 1, pp. 411-419, January 2003.