IMPROVED DYNAMIC PERFORMANCE OF DIRECT TORQUE CONTROL OF INDUCTION MACHINES AUZANI BIN JIDIN UNIVERSITI TEKNOLOGI MALAYSIA IMPROVED DYNAMIC PERFORMANCE OF DIRECT TORQUE CONTROL OF INDUCTION MACHINES AUZANI BIN JIDIN A thesis submitted in fulfilment of the requirements for the award of the degree of Doctor of Philosophy (Electrical Engineering) Faculty of Electrical Engineering Universiti Teknologi Malaysia MAY 2011 iii To my beloved wife, son, daughters and all my family members for their enduring love, motivation and support iv ACKNOWLEDGEMENT I would like to express my deep gratitude to my supervisor Associate Prof. Dr. Nik Rumzi Bin Nik Idris for his invaluable suggestions, guidance and consistent support towards the completion of this thesis. Special thank to my co supervisors Prof. Ir. Dr. Halim Mohd. Yatim and Prof. Malik Elbuluk for valuable guidance and generous encouragement throughout the project duration. I would like to thank the many people who have contributed to this thesis. In particular, to the members of academic and technical staff of the Energy Conversion Department (ENCON), Universiti Teknologi Malaysia for the cooperation and technical help. I also wish to express my gratitude to the Universiti Teknikal Malaysia Melaka (UTeM) and the Ministry of Higher Education for providing the sponsorship to undertake this study. Finally, I would like to thank my parents, my wife Nurul Adibah, my son Amirul Haziq, my daughters ‘Alya Insyirah and Aisyah Humaira for their loves, encouragement and moral support. v ABSTRACT This thesis proposes simple methods to improve the dynamic performances of a Direct Torque Control (DTC) of induction machines. The principles of direct control of torque and flux based on the selection of appropriate voltage vectors are reviewed. In DTC, the torque is directly controlled by the slip angular frequency which is determined by the irregular motion of stator flux vector. The stator flux is always forced to follow its circular reference by the application of active voltage vectors. During a large torque demand, no zero voltage vector is used. However, the active voltages are switched more often to increase (or decrease) rapidly the slip and the output torque as well. Moreover, this method does not give the fastest dynamic torque response because one of the two possible active voltage vectors switched during torque dynamic is not optimal. The effect of selecting two different voltages on torque dynamic response is investigated and evaluated. Based on the investigation, the most optimized voltage is identified, and it is used to perform a dynamic overmodulation to produce the fastest torque dynamic control. The improved torque dynamic control is verified by simulation and experimental results. Owing to the intrinsic characteristic of DTC switching, it is not possible for stator voltage to perform a six-step mode. The thesis proposes a simple overmodulation strategy for hysteresis-based DTC by transforming the flux locus into a hexagonal shape. This is accomplished by modifying the flux error status before it is being fed to a look-up table. In this way, a smooth transition of stator voltage from Pulse Width Modulation to the six-step mode is achieved as the number of application of zero voltage vectors, i.e. during the motor acceleration, is gradually dropped to zero. With the six-step voltage operation, it allows the DTC to extend a constant torque region and hence results in higher torque capability in a field weakening region. To verify the improvement of the proposed method, simulation and experimentation as well as comparison with the conventional DTC scheme are carried out. It can be shown that the improvement about 20% (in terms of extension of constant torque region) can be achieved through the proposed method. The improvements mentioned above can also be achieved in the DTC with constant frequency torque controller that offers constant switching frequency and reduced torque ripple. The improvements are verified by experimental results. vi ABSTRAK Tesis ini mencadangkan kaedah mudah untuk meningkatkan prestasi dinamik bagi sebuah Kawalan Dayakilas Terus (DTC) untuk mesin aruhan. Prinsip kawalan terus dayakilas dan fluks berpandukan pemilihan vektor voltan yang sesuai, diulangkaji. Dalam DTC, dayakilas dikawal secara langsung oleh frekuensi sudut gelincir yang ditentukan oleh pergerakan tidak teratur oleh vektor fluks pemegun. Fluks pemegun sentiasa dipaksa untuk mengikut rujukan membulat dengan aplikasi vektor voltan aktif. Semasa permintaan daya kilas yang besar, tiada vektor voltan sifar digunakan. Tetapi, pensuisan voltan-voltan aktif lebih kerap untuk meningkatkan (atau mengurangkan) dengan pantas gelinciran dan juga keluaran dayakilas. Tambahan lagi, kaedah ini tidak memberikan sambutan dayakilas dinamik yang terpantas kerana salah satu daripada dua kemungkinan voltan aktif yang dipilih semasa dinamik dayakilas adalah tidak optimum. Kesan bagi pemilihan dua voltan yang berbeza terhadap sambutan dayakilas dinamik, diselidik dan dinilai. Berdasarkan penyelidikan ini, voltan yang paling optimum dikenalpasti, dan digunakan untuk operasi dinamik permodulatan lebih bagi menghasilkan kawalan dayakilas dinamik terpantas. Peningkatan kawalan dayakilas dinamik ini disahkan oleh keputusan simulasi dan eksperimen. Disebabkan ciri-ciri semulajadi pensuisan DTC, ianya tidak memungkinkan untuk voltan pemegun untuk beroperasi pada mod enam langkah. Tesis ini mencadangkan strategi pemodulatan lebih yang ringkas bagi DTC berasaskan histeresis dengan mengawal lokus fluks kepada bentuk heksagon. Ini dapat dilakukan dengan mengubahsuai status kesalahan fluks sebelum dimasukkan ke dalam jadual pemilihan. Melalui cara ini, kelancaran peralihan voltan pemegun dari Pemodulatan Lebar Denyut ke mod enam langkah dicapai apabila jumlah aplikasi vektor voltan sifar, iaitu semasa pecutan motor, diturunkan secara perlahan-lahan kepada sifar. Dengan operasi voltan enam langkah, ia membolehkan DTC memperluaskan kawasan dayakilas tetap dan seterusnya menghasilkan keupayaan dayakilas yang lebih tinggi di dalam kawasan pelemahan medan. Untuk mengesahkan penambahbaikan oleh cadangan kaedah, simulasi dan eksperimen serta perbandingan dengan skim konvensional DTC dijalankan. Dapat ditunjukkan bahawa penambahbaikan sekitar 20% (dalam hal memperluaskan kawasan dayakilas tetap) boleh dicapai melalui kaedah yang dicadangkan. Penambahbaikan yang disebut di atas juga boleh dicapai dalam DTC dengan pengawal dayakilas frekuensi tetap yang menawarkan frekuensi pensuisan malar dan pengurangan riak dayakilas. Penambahbaikan ini disahkan oleh keputusan eksperimen. vii TABLE OF CONTENTS TITLE CHAPTER 1 PAGE DECLARATION ii DEDICATION iii ACKNOWLEDGEMENTS iv ABSTRACT v ABSTRAK vi TABLE OF CONTENTS vii LIST OF TABLES xii LIST OF FIGURES xiii LIST OF SYMBOLS AND ABBREVIATIONS xxiii LIST OF APPENDICES xxvi INTRODUCTION 1 1.1 1 A Look Back on Development of Vector Control Induction Machine Drives 1.2 Direct Torque Control of Induction Machines 2 1.2.1 The Control Structure of Basic DTC 2 1.2.2 Improvements of DTC Performance 4 1.2.3 The Popularity Versus The Complexity of 9 DTC-SVM based induction machines 1.3 Thesis Objectives and Contributions 10 1.4 Methodology of Research 12 1.5 Organisation of the Thesis 14 viii 2 OVERVIEW OF CONVENTIONAL DIRECT 16 TORQUE CONTROL OF INDUCTION MACHINES 2.1 Introduction 16 2.2 Mathematical Model of Induction Machine 16 2.2.1 Complex Space Vector Equations 18 2.2.2 d-q Axis Equations 20 2.3 Basic Principles of Direct Torque Control 22 2.3.1 22 3-Phase Voltage Source Inverter Space Vectors 2.3.2 Direct Flux Control 24 2.3.3 Direct Torque Control 28 2.3.4 De-coupled Control of Torque and Flux in 34 DTC-hysteresis based Induction Machine 2.3.5 Estimations of stator flux and electromagnetic 35 torque 2.4 2.5 3 Major Problems in Hysteresis-Based DTC 37 2.4.1 Variable inverter switching frequency 37 2.4.2 High Torque Ripple 38 2.4.3 The Need of High Speed Processor 39 Chapter Conclusions ENLARGING SWITCHING FREQUENCY TO 42 43 MINIMIZE TORQUE RIPPLE UTILIZING A CONSTANT FREQUENCY TORQUE CONTROLLER 3.1 Introduction 43 3.2 DTC with Constant Frequency Torque Controller 44 3.3 Design Procedure of Constant Frequency Torque 46 Controller in DTC 3.4 Experimental Set-up 49 3.5 Experimental Results 52 3.6 Chapter Conclusions 57 ix 4 AN OPTIMIZED SWITCHING STRATEGY FOR 58 QUICK TORQUE DYNAMIC CONTROL 4.1 Introduction 58 4.2 Dynamic Torque Control in the Hysteresis-Based 59 DTC 4.3 Effect of Selecting Different Voltage Vectors on 59 Torque Dynamic Performance in the Hysteresis-Based DTC 4.4 The Proposed Torque Dynamic Control 63 4.4.1 63 An Optimized Voltage Vector for Quick Torque Dynamic Control 4.4.2 4.5 The Proposed Control Structure 66 Simulation and Experimental Results 68 4.5.1 69 Simulation of the Proposed Torque Dynamic Control 4.5.2 Experimental Set-up 73 4.5.3 Improved Torque Dynamic Control for 74 Hysteresis-based DTC 4.5.4 Improved Torque Dynamic Control for 80 Constant Switching Frequency-based DTC 4.5.5 Behavior of Motor Currents during Torque 83 Dynamic Condition 4.6 5 Chapter Conclusions A WIDE-SPEED HIGH TORQUE CAPABILITY 85 86 UTILIZING OVERMODULATION STRATEGY FOR DIRECT TORQUE CONTROL OF INDUCTION MACHINES 5.1 Introduction 86 5.2 Torque Capability in DTC 87 5.3 Improved Torque Capability with the Proposed 90 Overmodulation Strategy 5.3.1 Extending the Stator Voltage Operation to 90 x Six-Step Mode 5.3.2 Extending the Limit of Stator Flux Angular 93 Frequency 5.3.3 5.4 Flux Weakening with Six-Step Mode 93 The Proposed Hybrid DTC Scheme 95 5.4.1 96 Hexagonal Flux Control in the Proposed Hybrid Scheme 5.4.2 Definition of Dynamic Condition 5.5 Simulation and Experimental Results 5.5.1 Simulation of the Proposed Overmodulation 102 104 104 and Flux Weakening Strategy in the Hybrid DTC Scheme 5.5.2 Experimental Set-up mproved Torque 110 Capability for Constant Switching Frequencybased DTC 5.5.3 Improved Torque Capability for Hysteresis- 112 based DTC 5.5.4 Improved Torque Capability for Constant 117 Switching Frequency-based DTC 5.6 6 Chapter Conclusions 121 DESCRIPTION OF THE EXPERIMENTAL SET-UP 122 6.1 Introduction 122 6.2 DS1102 Controller Board 124 6.3 Altera Field Programmable Gate Array – APEX20KE 129 6.4 Gate Drivers and 3-Phase Voltage Source Inverter 132 (VSI) 7 6.5 Induction Machines 135 6.6 Chapter Conclusions 137 CONCLUSION AND FUTURE WORK 138 7.1 Conclusions 138 7.2 Future Work 139 xi REFERENCES 142 Appendices A-G 151-187 xii LIST OF TABLES TABLE NO. TITLE PAGE 2.1 Voltage vectors selection table as proposed in [13] 35 3.1 Induction machine parameters 51 3.2 PI controllers gains and crossover frequency 52 4.1 DTC-Hysteresis based system and induction machine 73 parameters 5.1 DTC-Hysteresis Based/Hybrid Systems and Induction 111 Machine Parameters 6.1 Induction machine parameters 136 xiii LIST OF FIGURES FIGURE NO. 1.1 TITLE Control structure of basic DTC-hysteresis based PAGE 4 induction machine 1.2 Variations of modified reference voltage vectors 7 which is applied during dynamic overmodulation mode 1.3 A general block diagram of generation of switching in 10 DTC-SVM 2.1 Cross-section of a single pole-pair three-phase 17 machine 2.2 A space vector x in the three-phase symmetric system 19 (based on (2.1)) 2.3 Schematic diagram of Voltage Source Inverter (VSI) 23 2.4 Voltage space vectors of a 3-phase inverter with the 24 corresponded switching states 2.5 Control of flux magnitude using a 2-level hysteresis 25 comparator 2.6 Typical waveforms of the stator flux, the flux error 26 xiv and the flux error status for the two-level hysteresis flux comparator 2.7 Definition of six sectors of the stator flux plane 27 2.8 Two possible active voltages are switched for each 27 sector to control the stator flux within its hysteresis band 2.9 The variation of δsr with application of (a) active 29 voltage vector, (b) zero or radial voltage vector, (c) reverse voltage vector 2.10 The application of voltage vectors in controlling the δsr 31 as well as the output torque for 4-quadrant operation 2.11 Control of torque using a 3-level hysteresis comparator 33 2.12 Typical waveforms of the torque, the torque error and 33 the torque error status for the three-level hysteresis torque comparator 2.13 A de-coupled control structure of DTC-hysteresis 34 based induction machine 2.14 The waveforms of output torque sampled at DT in the 39 hysteresis comparator for (a) low speed, (b) middle speed and (c) high speed 2.15 Experimental results of control of output torque utilizing three-level hysteresis comparator (in hysteresis based-DTC). (a) Hysteresis band = 2HBTe, sampling time=2DT, (b) hysteresis band = HBTe, 41 xv sampling time=2DT and (c) Hysteresis band = HBTe, sampling time=DT 3.1 Constant frequency torque controller (CFTC) 45 3.2 Typical waveforms of the constant frequency torque 45 controller 3.3 Generated upper triangular waveform using DSP 46 (sampled at DT µs) 3.4 Averaged and linearized torque loop (as proposed in 49 [32]) 3.5 Generated upper triangular waveforms sampled at 55 51 µs. (a) DTC-CSF1, (b) DTC-CSF2 and (c) DTC-CSF3 3.6 Bode plot of loop gain with PI controller for (a) DTC- 52 CSF1, (b) DTC-CSF2 and (c) DTC-CSF3 3.7 Experimental results of phase current frequency 54 spectrum and output torque for the basic DTC, DTCCSF1, DTC-CSF2 and DTC-CSF3 at the speed about (a) 20 rad/s (b) 30 rad/s and (c) 55 rad/s 3.8 Experimental results for step response of torque in (a) DTC-hysteresis based, (b) DTC-CSF1, (c) DTC-CSF2 and (d) DTC-CSF3. (1) is output torque, (2) is reference torque, (3) is torque error, (4) is output of PI controller, (5) is upper triangular waveform, (6) is torque error status. (x-axis or time scale: 2 ms/div.) 55 xvi 3.9 The zoomed image (zoomed area indicated by '↔’) of 56 the waveforms of upper triangular and output of PI controller for (a) DTC-CSF1, (b) DTC-CSF2 and (c) DTC-CSF3, corresponds the results obtained in Figure 3.8 (b),(c) and (d). (Time scale: 1 ms/div.) 3.10 Experimental results of output torque, motor speed and 57 d-axis flux component for a square-wave speed reference for (a) the basic DTC and (b) DTC-CSF2 based induction machine drives 4.1 The selection of two possible active voltage vectors in 60 controlling the flux in Sector III 4.2 Space vectors of the applied voltage, the stator flux 61 and the rotor flux 4.3 Inconsistent torque slope due to selection of different 62 voltage vectors 4.4 Effects of selecting different switching modes under 64 torque dynamic conditions (a) when the stator flux is about to enter sector h, (b) when the stator flux is at the middle of sector h 4.5 Comparison of the load angle, ∆δsr for three different 65 modes of switching under torque dynamic conditions (a) when the stator flux is about to enter sector h (b) when the stator flux is at the middle of sector h 4.6 Structure of DTC-hysteresis based induction machine with the proposed modification of flux error status 67 xvii 4.7 The proposed digital outputs in modified flux error 68 status correspond to the optimized voltage vectors for every subsector in each sector 4.8 Simulink blocks of the DTC drive with the proposed 70 block of modification of flux error status 4.9 Identification of flux sector and determination of the 71 appropriate flux error status in the block of modification of flux error status 4.10 Generation of reference torque from 1.5 Nm to 9 Nm 72 at a specific flux positions (i.e. case1 at the middle Sector II or case2 at the boundary Sector I and II) 4.11 Experimental Set-up (DTC with torque control loop) 74 4.12 Comparison by simulation and experimental of 76 dynamic torque performance between (a) DTC1 and (b) DTC2, when a dynamic torque control occurs as the stator flux position at αh=π/24 rad. 4.13 Comparison by simulation and experimental of 77 dynamic torque performance between (a) DTC1 and (b) DTC2, when a dynamic torque control occurs as the stator flux position at αh=π/6 rad. (at the middle of Sector II) 4.14 Comparison of stator flux locus obtained in (a) DTC1 and (b) DTC2 (for one complete flux wave cycle) when a dynamic torque condition occurs at αh=π/24 rad. 78 xviii 4.15 Comparison of stator flux locus obtained in (a) DTC1 79 and (b) DTC2 (for one complete flux wave cycle) when a dynamic torque condition occurs at αh=π/6 rad. 4.16 Structure of DTC-constant switching frequency (DTC- 80 CSF) based induction machine with the proposed modification of flux error status block 4.17 Comparison by experimental of dynamic torque 81 performance for (a) DTC1, (b) DTC2 and (c) DTCCSF2 when a dynamic torque control occurs as the stator flux position at αh=π/24 rad.. (1) is stator flux (Wb), (2) is flux error status, (3) is output torque (Nm) and (4) is torque error status 4.18 Comparison by experimental of dynamic torque 82 performance for (a) DTC1, (b) DTC2 and (c) DTCCSF2 when a dynamic torque control occurs as the stator flux position at αh=π/6 rad.. (1) is stator flux (Wb), (2) is flux error status, (3) is output torque (Nm) and (4) is torque error status 4.19 The behavior of motor currents since the flux 84 magnitude suddenly distorted due to the proposed switching strategy as the dynamic torque occurs at αh=π/24 rad. and αh=π/6 rad. The dynamic torque control is applied at three different speed operations for (a) at around 100 rpm (b) at around 300 rpm (c) at around 540 rpm 5.1 Phasor diagrams of vectors of stator voltage, ohmic voltage drop and back-emf for (a) low speed operation and (b) base speed operation 88 xix 5.2 The mapping of the voltage vector and the stator flux 92 trajectories 5.3 The comparison of the performances of stator voltage 92 and torque capability for (a) DTC without the proposed overmodulation and (b) DTC with the proposed overmodulation (Time scale: 162.5 ms/div.) 5.4 More rapid motor acceleration achieved with the 95 proposed overmodulation and flux weakening strategy when a step change of reference speed is applied at time t1 5.5 The structure of hybrid DTC of induction motor drive 97 with the proposed block of ‘modification of flux error status’ 5.6 Ideal case of hexagonal flux control based on Ψs- 98 5.7 Effect of ohmic voltage drop on the trajectory of stator 100 flux vector. (a) stator flux locus (b) phasor diagram of (5.3) 5.8 Flux keeps the increase as it enters to subsector ii until it reaches to the point c. (i.e. path b-c) with the Ψs,mod 101 - =0 5.9 State diagram of finite state machine that establishes 101 the modified flux error status (Ψs,mod-) for proper hexagonal flux locus operation 5.10 The selection of flux error status in the block of modification of flux error status. (a) Original flux 103 xx error status Ψs+ for circular locus (b) Modified flux error status Ψs,mod- for hexagonal locus 5.11 Block diagram of a PI speed controller and flux 103 weakening algorithm 5.12 Simulink blocks of the DTC drive with the proposed 107 block of modification of flux error status and the block of a PI speed controller and a flux weakening algorithm 5.13 Identification of flux sector and determination of the 108 appropriate flux error status Ψs,mod- (based on Figure 5.9), in the block of modification of flux error status 5.14 Generation of references of torque and stator flux from 109 a PI speed controller and flux weakening algorithm 5.15 Experimental Set-up (DTC with speed control loop) 110 5.16 Comparison of capability of torque obtained in (a) 113 DTC-HYS1 and (b) DTC-HYS3 (Time scale: 400ms/div.) 5.17 Comparison of torque control as the speed reaches its 115 target for (a) DTC-HYS2 and (b) DTC-HYS3 (Time scale: 400ms/div.) 5.18 Stator flux locus correspond to the results obtained in Figures 5.16 and 5.17 for (a) DTC-HYS1, (b) DTCHYS2 and (c) DTC-HYS3 116 xxi 5.19 Comparison performances of torque capability, current 119 wave shape and torque ripple in (a) DTC-HYS1, (b) DTC-HYS3, (c) DSC and (d) DTC-CSF2 5.20 Comparison by experimentation of torque capability in 120 flux weakening region obtained in (a) DTC-HYS1, (b) DTC-HYS3 and (c) DTC-CSF2 (Time scale: 400ms/div.) 5.21 Comparison of torque dynamic performance in a flux 121 weakening region, obtained in (a) DTC-HYS1, (b) DTC-HYS3 and (c) DTC-CSF2 (which is corresponded to the results obtained in Figure 5.20) (Time scale: 40ms/div.) 6.1 Complete drive system (a) picture of the experiment 123 set-up, (b) functional block diagram of the experiment set-up 6.2 Identifying sectors of the stator flux (a) definition of 125 Ψsq,1, (b) determining sector based on threshold values, i.e. 0 and Ψsq,1 6.3 Identifying sectors of the stator flux (a) definition of 127 Ψsq,1, (b) determining sector using Ψsq,1 6.4 Altera FPGA (APEX20KE) 129 6.5 Block diagram of voltage vectors selection table and 131 blanking time generation 6.6 Block diagram of blanking time generation for a single leg (i.e. phase a) 131 xxii 6.7 Timing diagram of blanking time generation for a 132 single leg (i.e. phase a) 6.8 Schematic of the gate driver circuit 133 6.9 Schematic of the IGBT module with the capacitor 134 Snubbers 6.10 Gate drivers and VSI 134 6.11 A coupling between induction machine (right) and DC 136 machine (left) xxiii LIST OF SYMBOLS AND ABBREVIATIONS AC - Alternating Current ADC - Analog to digital converter B - Viscous friction CFTC - Constant Frequency Torque Controller Cupper - Upper triangular carrier Clower - Lower triangular carrier Cp-p - Peak to peak value of the triangular carrier d,q - Direct and quadrature axis of the stationary reference frame dΨs, q Ψs - Direct and quadrature axis of the estimated stator flux reference frame DAC - Digital to analog converter DC - Direct Current DSP - Digital Signal Processor DTC - Direct Torque Control DSC - Direct Self Control emf - Electromotive force fc - Carrier frequency fsw - Switching frequency FOC - Field Oriented Control FPGA - Field Programmable Gate Array I.E - Incremental Encoder I.M - Induction Machine isg, irg - Stator and rotor current space vectors in general reference frame is, ir - Stator and rotor current space vectors in stationary reference frame ird, irq - d and q components of the rotor current in stationary xxiv reference frame isd, isq - d and q components of the stator current in stationary reference frame J - Moment of inertia kp - Proportional gain of the PI controller for CFTC kpw - Proportional gain of the PI controller for speed controller ki - Integral gain of the PI controller for CFTC kpw - Integral gain of the PI controller for speed controller Lm - Mutual inductance Ls - Stator self-inductance Lr - Rotor self-inductance P - Number of pole pairs PI - Proportional - Integral p.p.r - Pulse per revolution PWM - Pulse Width Modulation Rs, Rr - Stator and rotor resistance r.m.s - Root mean squared SVM - Space Vector Modulation Sa, Sb, Sc - Switching states of phase a, b, c Te - Electromagnetic torque Te,rated - Torque rated Te,ref - Reference torque TPI - Output of PI controller for the CFTC Tstat Torque error status ttri - Period of Cupper or Clower THD - Total Harmonic Distortion VDC - DC link voltage vsg - Stator voltage space vector in general reference frame vs - Stator voltage space vector in stationary reference frame vsd, vsq - d and q components of the stator voltage in stationary reference frame VHDL - VHSIC hardware description language VSI - Voltage Source Inverter αh - Angle within sector h xxv θr - Angle with respect to rotor axis θs - Angle with respect to stator axis δsr - Difference angle between stator flux linkage and rotor flux linkage Ψsg, Ψrg - Stator and rotor flux linkage space vectors in general reference frame Ψs, Ψr - Stator and rotor flux linkage space vectors in stationary reference frame Ψs Ψsd, Ψsq Ψs Ψsd , Ψsq Ψs - Estimated stator flux linkage - d and q components of stator flux in stationary reference frame - d and q components of stator flux in stator flux reference frame ωr - Rotor electrical speed in rad./s ωe - Steady state synchronous frequency in rad./s ωm - Rotor mechanical speed in rad./s ωslip - Steady state slip frequency in rad./s σ - Total flux leakage factor τr - Rotor time constant xxvi LIST OF APPENDICES APPENDIX TITLE PAGE A Derivation of torque and flux equations 151 B Derivation of torque rate equation 153 C Derivation of the relationship between the 156 angle δsr and the slip angular frequency D Simulation of DTC 158 E DSP source code listings 164 F VHDL code 178 G List of Publications 184 CHAPTER 1 INTRODUCTION 1.1 A Look Back on Development of Vector Control Induction Machine Drives In the past decades, DC machines have been used extensively in many applications due to its simplicity and offers high performance torque control. Their mechanical commutation action forms the torque and flux components that are always orthogonal, which allows high performance control achieved under optimal conditions. Despite their excellent performance and simple control structure, the construction using the mechanical commutator and brush cause some limitations. For examples, they require regular maintenance and cannot be operated in the dirty or explosive environment, their speed is limited and they are expensive. Unlike DC machines, the induction machines are robust, require less maintenance, cheaper and able to operate at higher speed. The induction machines became popular and gradually replacing DC machine drives in many industrial applications as the Field Oriented Control (FOC) introduced by F. Blachke in 1970’s can produce comparable performance to that obtained in DC machines [1]. Moreover, their popularity is also assisted by the rapid development in power semiconductor devices and the emergence of high-speed microprocessor and digital signal processors [2]. FOC of induction machines can provide a decoupled control of torque and flux using their respective producing current components, which is similar to the DC machine control method. This is possible by considering the stator current vector in the rotating reference frame so that the orthogonal components of the stator current (represent as torque and flux producing current components) appear as DC 2 quantities. The rotating reference frame refers to the rotating space vector quantity which can be either rotor flux or stator flux. The one which is based on rotor flux (referred as Rotor Flux Oriented Control (RFOC)) is sensitive to the parameter variations, and also it requires the knowledge of rotor speed. The improvements of the FOC performance were reported in many technical papers; these include the areas of robust control [3-5], improved flux estimator [6-9] and sensorless speed control [10-12]. 1.2 Direct Torque Control of Induction Machines Over the past years, Direct Torque Control (DTC) scheme for induction motor drives [13] has received enormous attention in industrial motor drive applications. It was also used as the main platform for the ABB inverter technology, and the first DTC drive was marketed by ABB in 1996 [14-15]. Its popularity increases since it offers a faster instantaneous dynamic control and its control structure is simpler compared to the field-oriented control (FOC) scheme [13, 16-17]. In DTC, the torque and flux are controlled independently, in which their demands are satisfied simultaneously using optimum voltage vectors. Unlike the FOC drives, where the torque and flux are controlled corresponded to their producing current components (i.e. d and q axis components of stator current) which requires frame transformer, knowledge of machine parameters and current regulated Pulse Width Modulation (PWM). 1.2.1 The Structure of Basic DTC The simple control structure of DTC proposed by Takahashi [13] is shown in Figure 1.1. It contains a pair of hysteresis comparators, torque and flux estimators, switching table for voltage vectors selection and a 3-phaseVoltage Source Inverter (VSI). A decoupled control structure is provided in the scheme, wherein the electromagnetic torque and the stator flux can be controlled independently using 3- 3 level and 2-level hysteresis comparators, respectively. To satisfy the torque and flux demands, the appropriate voltage vector for a particular flux sector should be chosen, either to increase torque or to reduce torque and at the same time either to increase stator flux or to decrease stator flux; based on torque error status, flux error status and flux orientation. In fact, high performance control in DTC drive with proper selection of voltage vectors can be established if the flux as well as torque is estimated accurately. A combination of the voltage model and the current model using a first-order lag network was implemented in [13] to obtain a proper flux estimator for entire speed range operations. The use of the current model is superior in estimating the flux at very low speed operations, but it requires the knowledge of motor speed, which in turns requires an observer or a speed sensor from the motor shaft. On the other hand, the implementation of the voltage model provides better flux estimation for high speed operations and requires only stator resistance and terminal quantities (i.e. stator voltages and stator currents), which leads to the robust control of DTC. However, the digital implementation of this model utilizing microprocessor or digital signal processor introduces some problems, i.e. the integration drift and initial condition problems [18-20]. In hysteresis-based DTC, the switching frequency of VSI is totally contributed by the switching in the hysteresis comparators. It was highlighted in [2123] that the slopes of torque and flux, which relatively affect the switching in their hysteresis comparators, vary with the operating conditions (i.e. rotor speed, stator and rotor fluxes and DC link voltage). This causes the switching frequency of VSI also varies with the operating conditions. The variation in the switching frequency as a result produces unpredictable harmonic current flow. For this reason, the switching devices cannot be fully utilized to its maximum frequency capability for most operating conditions, since the selection of hysteresis band’s width is based on the worst condition. 4 Te,ref + Switching Sa, Sb, Sc table Ψs,ref + Voltage source inverter (VSI) IM Te Ψs sector Stator flux and electromagnetic torque estimators (i.e. only using the voltage model) ia,ib,ic va,vb,vc Figure 1.1 Control structure of basic DTC-hysteresis based induction machine 1.2.2 Improvements of DTC Performance Since DTC was first introduced in 1986 [13], several variations to its original structure (which referred to as DTC hysteresis-based) were proposed to improve the performance of DTC of induction machines. Noticeably, most researches in last decades aimed to overcome the inherent disadvantages of hysteresis-based DTC schemes, such as variable switching frequency and high torque ripple. In addition, some recent researches interested to facilitate the DTC to be operated in overmodulation mode that will improve the dynamic performance and the power output of DTC of induction machines. To relate the study of this thesis, some reviews on improvements of DTC are concentrated into three following research areas: Torque Ripple Reduction or/and Constant Switching Frequency Basically, the output torque ripple can be reduced by reducing the band width of hysteresis comparator to the appropriate value. The selection of the appropriate 5 band width is based on the worst operating conditions [24]. This will ensure the switching frequency of switching devices do not exceed its limit (or thermal restriction). It is also desirable to use a high speed processor to keep the ripple within the band, in such a way the discrete hysteresis controller will perform like the analog one. Instead of decreasing the hysteresis band and using a high speed processor, the ripple can be minimized by injecting high-frequency triangular waveforms to the errors of torque and flux [25]. This method is called dithering technique, which is simple and effective to minimize the torque ripple even performing DTC at limited sampling frequency. However, it still produces unpredictable switching frequency since the torque and flux slopes which are related to the switching frequency, do vary with operating conditions [23, 26]. Several methods had been proposed to provide a constant switching frequency as well as reduced output torque ripple [22, 27-38]. In [27], a constant switching frequency is established in the hysteresis-based DTC by adjusting the band width of the hysteresis comparators according to the changes in operating conditions. The adjustable of band width is based on a PI controller and a pulse counter, for each comparator. This, consequently, increases the complexity of the DTC drive. Moreover, this technique does not guarantee reduction of torque ripple as it is inevitable in the implementation of discrete hysteresis controllers. Another approach to minimize the torque ripple is to control the DTC switching based on optimal switching instant that satisfies the minimum-torque ripple condition [22, 29-30]. In this way, the term so called a duty ratio is determined so that the appropriate active state is switched for some portion of a switching period, and the zero vector is selected for the rest of the period. It was shown in [24] that the switching frequency is strongly affected by the torque hysteresis band. Thus, it makes sense that the almost constant switching frequency as well as reduced torque ripple can be achieved if the control of torque error is performed at a higher and a constant frequency. As proposed by [32], the principal operation of torque controller using the hysteresisbased is replaced with a triangular carrier-based. The improvement is achieved and at the same time retains the simple control structure of DTC. The most common 6 approach to solve the problems is using the space vector modulation [28, 31, 33-35]. In this approach, the switching period is subdivided into three or more states, to synthesize the desired voltage vector in order to produce the minimum torque ripple. Recently, predictive control strategy to DTC has gain considerable amount of attention particularly due to its ability to reduce the torque ripple and switching frequency [36-39]. In particular model predictive control (MPC) which was applied in [38] and [36] uses the hysteresis comparators but with the switching table replaced with online optimization algorithm. Fast Torque Dynamic Control through Dynamic Overmodulation Strategy Without the need to use any extra hardware, the torque dynamic performance can be improved by fully utilizing the available DC link voltage through overmodulation. To perform the DTC under the overmodulation mode, it is preferable to use the Space Vector Modulation (SVM) [28, 40-44] rather than other techniques (for example, [45-46] use the triangular carrier based). This is because, the SVM is more flexible to be adopted for advanced motor control where only a single reference voltage vector vs,ref is employed to define the mode of overmodulation. During large torque demand, it is inevitable that the reference voltage vs,ref exceeds the voltage vector limits enclosed by the hexagonal boundary. Under this condition, the SVM has to be operated in what is termed as dynamic overmodulation mode. The voltage reference vector vs,ref has to be modified such that it will lie on the hexagonal boundary. Several methods [28, 43, 47-49] have been proposed and to some extent, these methods have managed to minimize the voltage vector error as well as obtained a fast torque response. Figure 1.2 compares some modified voltage references, v[i] (e.g. when i =1, proposed in [1]) with respect to the original voltage reference vector, 7 vs,ref, which is beyond the hexagonal boundary of the voltage vectors. Note that, voltage vector components are not drawn to scale. It can be seen that (from Figure 1.2), [42] and [50] switched only single voltage vector which is vs,h+2 during dynamic overmodulation. This single selection of vector shows the occurrence of a six-step operation that produces the fastest dynamic torque control as will be discussed later in Chapter 4. While the other methods result in slower dynamic torque response since two active states are alternately switched during the dynamic condition. For example, [28] used two active states utilizing dead-beat control in order to maintain the magnitude of stator flux under control for any condition. Later, [43] was proposed to simplify the complexity control structure in [28], (where it does not provide a dead beat control of the magnitude flux as a transient torque encountered) and hence results in a faster dynamic torque control. In this way, the modified voltage vector, v[43] has the same angle, γ as the original reference voltage, vs,ref but with a modified magnitude. In [47], the reference voltage, vs,ref was modified to v[47] such that the error between the magnitude of v[47] and vs,ref is minimized. This means the modified voltage vector, v[47] should be closest to the original reference vector vs,ref by ensuring that a line joining the vs,ref and v[47] is orthogonal to the hexagon boundary. *Note: v[i] proposed in [i] v[42], v[50] vs,ref v[47] vs,h+2 v[43] v[28] vs,h+1 Hexagonal boundary h+1 ΔΨs ≈ v[28].Δt γ h+2 h h+3 Ψs h+4 h-1 Locus of flux reference Figure 1.2 Variations of modified reference voltage vectors which is applied during dynamic overmodulation mode 8 Enhanced Torque Capability using Flux Weakening or/and Overmodulation Strategy A wide-speed high torque capability is a very important feature in many electric motor drive applications. In automotive applications, it is usually referred to as a high ‘Constant Power Speed Range’ (CPSR). The availability of wide range of speed operations with the maximum capability of torque is of main concern, especially for the road electric vehicles where multiple gears have to be avoided. In practice, a flux weakening strategy is normally used to extend the motor speed operations beyond the base speed and to enhance the capability of torque. Several papers were published [42, 50-63] proposing the solution of achieving maximum torque capability in field weakening region. The common approach adopted is to estimate the optimal flux level of the motor based on the maximum values of inverter voltage and inverter current. Typically, the algorithms require frame transformer, knowledge of machine parameters and space-vector modulator. For examples, [53] used Field Oriented Control-Space Vector Modulation (FOCSVM) while [63] used Direct Torque Control-Space Vector Modulation (DTCSVM), and they consider voltage and current limit conditions to compute the controllable currents (in stator flux reference frame) in achieving the appropriate flux level in field weakening region. Besides that, some papers had been reported to provide a robust field weakening strategy so that any variations of machine parameters used in calculating the optimal flux can be compensated [55, 59, 61-62]. In order to achieve the fastest torque dynamic response as well as high torque capability in a flux weakening region, the DTC needs to have the capability to operate in six-step mode. However, only a few schemes have the ability to perform this; i.e. [42] used DTC-SVM with the predictive-deadbeat control and [50] used Direct Self Control with hexagonal flux operation. 9 1.2.3 The Popularity Versus The Complexity of DTC-SVM based induction machines The most popular variation of DTC of induction motor drives is the one that is based on space vector modulation (SVM), which normally referred to as DTCSVM [28, 33, 40, 42, 64-66]. As mentioned previously, the advantages provided by this scheme not only solve the inherent problems in hysteresis-based DTC but also facilitate the DTC performs under overmodulation region. Moreover, the study of the SVM itself in the area of overmodulation strategy improvement for 3-phase VSI was reported by many researchers [41, 46-47, 49, 66-73]. All these evidences show that the implementation of SVM to operate under overmodulation region is well established, and widely adopted for advanced motor control. The major difference between DTC hysteresis-based and DTC-SVM is the way the stator voltage is generated. In DTC hysteresis-based the applied stator voltage depends on voltage vectors, which are selected from a look-up table. The selections are based on the requirement of the torque and flux demand obtained from the hysteresis comparators. On the other hand, in DTC-SVM, a stator voltage reference is calculated or generated within a sampling period, which is then synthesized using the space vector modulator. The stator voltage reference vector is calculated based on the requirement of torque and flux demands. Due to the regular sampling in SVM, the DTC-SVM produces constant switching frequency as opposed to the variable switching frequency in hysteresis-based DTC however, at the expense of more complex implementation. The generation of reference voltage vs,ref often involves complex calculation. For examples; [28] used dead-beat control with several complicated equations (i.e. quadratic equations) to generate the reference voltage in real-time and [64] utilized predictive control of stator flux error vector to estimate the reference voltage and needed extra calculation on the synchronous angular velocity. While the others include the use of proportional-integral current controller [40], stator flux vector error [65, 74-75], proportional-integral torque and flux controllers [33, 76-77], predictive and dead-beat controllers [42-43]. Moreover, the implementation of DTC- 10 SVM becomes complicated as the reference voltage needs to modify whenever it passes outside the hexagon (due to the physical constraint of inverter as the vs,ref defines mode of overmodulation), particularly during a large torque demand. Some modified reference voltages as mentioned previously are shown in Figure 1.2. Figure 1.3 shows a general block diagram of generation of switching in DTC-SVM, which contains three main components and the functional of the two of them are as mentioned above. Ultimately, all of the proposed methods [28, 33, 40, 42-43, 64-65, 74-77] complicate the basic control structure of DTC drive systems as originally proposed in [13]. Te,ref + Te ωΨs vsd,mod vsd,ref Reference voltage generation vsq,ref Reference voltage modification SVM modulator Sa, Sb, Sc vsq,mod Ψs,ref + Ψs Figure 1.3 A general block diagram of generation of switching in DTC-SVM 1.3 Thesis Objectives and Contributions The objective of this thesis is to study, implement and improve the performance of the DTC of induction machines. Despite the improvements, the proposed methods also aim to preserve the simple control structure of DTC drive. The thesis proposes a simple, yet significant, method of overmodulation strategy employed in the DTC-hysteresis based induction machine to improve torque dynamic control and to enhance torque capability for a wide speed range operation. 11 The thesis also shows that the proposed methods can be implemented using a constant switching controller [32] (which has a similar control structure with the hysteresis-based DTC), in order to give extra advantages of providing a constant switching frequency and reduced torque ripple. While doing the research, the thesis makes the following contributions: It shows the reduction of torque ripple in [32] can be further reduced by enlarging the constant frequency of triangular carriers. This is achieved without the need of reducing the sampling period which is useful for the DSP or microprocessor with a limited sampling frequency. It analyses the effect of different voltage vectors selection on the performance of torque dynamic control in DTC induction machine drive. Although the hysteresis-based DTC is well established to give a high performance torque control, there is still room to further improve the performance based on the observation of the analysis. It introduces a modification block of flux error status in the hysteresis-based DTC drive which is responsible to perform dynamic overmodulation. This technique is very simple, yet it gives the fastest torque dynamic control. The introduced block can also be implemented in [32] to verify the improvements. It justifies the extension of constant torque region and hence improvement of torque capability can be obtained by controlling the locus of flux into hexagonal shape. With this method, the stator voltage in the DTC drives (i.e. in [32] and hysteresis-based DTC) can be transformed with a smooth transition from PWM to the six-step mode. It describes the modification of flux error status to establish the control of hexagonal flux locus, particularly during dynamic conditions (i.e. large torque demand or motor acceleration). The hybrid DTC is proposed to operate the control of flux into dual mode, i.e. circular flux locus as 12 performed in DTC during the steady state (that produces lower current’s THD) and hexagonal flux locus as performed in Direct Self Control (DSC) when dynamic condition encountered (that gives superior dynamic performance). The feasibility of the proposed method is verified using the hysteresis-based DTC and the scheme proposed by [32]. It improves dynamic performances in flux weakening region. With the proposed overmodulation strategy, the fastest torque dynamic control and higher torque capability are achieved with the complete six-step voltage. It introduces a step reduction of reference flux to ensure proper torque control when a motor speed reaches its target in a flux weakening region. This is to avoid an inappropriate level of reference flux (i.e. too high flux level) as the hexagonal flux changes to the circular. It develops a simulation and experimental set-up to verify the proposed improvements on the DTC drive. The simulation is based on Matlab and Simulink program from Mathworks inc.. The experimental set-up consists of a DS1102 DSP controller board as the main processor and APEX20KE Altera FPGA. The combined controller board is implemented so that the sampling period of the DSP can be minimized by distributing some of the tasks to the FPGA. 1.4 Methodology of Research A novelty of the overmodulation strategy was developed by investigating various overmodulation strategies, particularly associated with the SVM approach. The switching pattern of the voltage vectors in overmodulation region was translated or mapped onto the stator flux plane since there is no reference voltage vector in the hysteresis-based DTC. A thorough investigation on the various flux weakening 13 strategies, constant switching frequency and reduced torque ripple strategy was also carried out. The development of the overmodulation strategy for the hysteresis-based DTC is based on the modification of flux error status on the stator flux plane. To achieve the fastest torque dynamic control, the most optimized voltage vector is switched and held. The selection of the voltage is determined by the modified flux error status. To enhance torque capability, the proposed overmodulation and flux weakening strategies are utilized in the hybrid DTC scheme. This scheme performs the control of flux in dual mode operations. This is established using the introduced block named as ‘block of Modification of Flux Error Status’. The improvements using the proposed methods also can be achieved with the extra advantages, i.e. reduced torque ripple and constant switching frequency using the scheme proposed by [32]. Once the algorithm for the overmodulation and field weakening was developed, it had to be applied to the DTC drive and simulated using large signal model. The Matlab/SIMULINK simulation package was used for this purpose. The proposed overmodulation and field weakening strategies utilizing a hybrid DTC scheme had been verified and evaluated for its feasibility and effectiveness through hardware implementation. A state-of-the-art digital signal processor and field programmable gate array devices (DS1102 controller board and APEX20KE Altera FPGA) were used to implement the DTC controllers including the overmodulation and field weakening strategies. A standard induction machine with suitable loads and IGBT-based VSI had been used for this purpose. 14 1.5 Organisation of the Thesis The rest of the thesis is organised as follows: Chapter 2 describes the mathematical modeling of induction machine and the basic principle of DTC of induction machines. The inherent problems in discrete implementation of hysteresis-based DTC such as variable switching frequency, high torque ripple and the need of high speed processor are also discussed. Chapter 3 suggests to use the simple method proposed by [32] to perform a constant switching frequency and to reduce output torque ripple, instead of using the common approach that is SVM. A quick guide to design or to obtain a proper controller of the Constant Frequency Torque Controller (CFTC) is presented. Further improvement in reducing the torque ripple can be achieved by extending the triangular carrier frequency to its maximum (which is equal to one-quarter of the maximum sampling frequency achieved by the DSP). Chapter 4 proposes a simple dynamic overmodulation to achieve the fastest torque dynamic control. The effect of selecting two possible voltage vectors on the torque dynamic performance is analyzed. Based on the observation, the most optimized voltage vector is identified, and it is used to produce the fastest torque dynamic response. Simulation and experimental results are presented to show the effectiveness of the proposed method. Experimental results on the proposed method implemented in [32] is also presented. Chapter 5 proposes a simple overmodulation and flux weakening strategy utilizing hybrid DTC scheme. The hybrid DTC scheme is constructed to facilitate the DTC drive to operate similar to that of DSC, which is based on hexagonal flux locus. By controlling the locus flux into hexagonal shape, the limit of stator voltage can be reached up to the six-step mode as the motor operates in flux weakening region. As a result, the hybrid DTC performs at higher torque capability and hence gives a lesser motor acceleration time. Simulation and experimentation as well as comparison with 15 the conventional DTC scheme to verify the feasibility of the proposed method, are presented. Experimental results on the proposed method implemented in [32] is also presented. Chapter 6 describes the experimental set-up used in the thesis. Details information of each hardware component and the implementation of the tasks are given. Chapter 7 gives the conclusion of the thesis and possible directions of further research. CHAPTER 2 OVERVIEW OF CONVENTIONAL DIRECT TORQUE CONTROL OF INDUCTION MACHINES 2.1 Introduction This chapter presents an overview of the conventional DTC of induction machines. At first, the theory on space vectors and the modeling of induction machine are presented. Then the principal of DTC of induction machine is given. The major problems in hysteresis-based DTC such as variable switching frequency, high torque ripple and the need of high speed processor are also discussed. 2.2 Mathematical Model of Induction Machine It is desirable to obtain the mathematical model of induction machine in studying the dynamic behavior of the DTC drives. When describing the DTC performances of a 3-phase induction machine, the following assumptions are made [78-80]: • The three-phase motor is symmetrical. The stator windings are Y-connected, and it is electrically isolated to the neutral point. The rotor is assumed to be a squirrel cage type. • The permeability of the iron parts is assumed to be infinity and the effects of anisotropy, magnetic saturation, iron losses and eddy current are neglected. 17 • The air-gap between the smooth surfaces of the stator and rotor has a constant radial length. The flux density is radial in the air-gap. • Only the fundamental harmonic is considered, while the higher harmonics of the flux density and magnetomotive force (mmf) in the air gap are negligible. • The rotation of space vector is considered to be positive rotation in the counterclockwise direction. For any reference frame (i.e. stationary, rotor or stator flux reference frame), the real axis of the reference winding coincides with the phase A winding axis. The cross-section view of the symmetrical two-pole machine with the above assumptions is illustrated in Figure 2.1. As shown by this figure, it should be noted that the d and q are the real and imaginary axis of the stationary stator, while the dr and qr are the real and imaginary axis of the rotor. q qr sA θr dr sC’ sB’ rA’ rB α rC θs d rC’ rA rB’ sB sC sA’ Figure 2.1 Cross-section of a single pole-pair three-phase machine 18 2.2.1 Complex Space Vector Equations The performance analysis of induction machine is easier to describe using the machine equations in terms of complex space vector or space phasor quantities [7881]. With this method, the number of dynamic equations of three phase variables (i.e. currents, voltages, mmf or fluxes) can be reduced to a single vector which can be represented in various rectangular coordinate systems. In general a space vector quantity can be defined as: x= 2 2 x + a xb + a x c 3 a (2.1) where xa, xb, xc are the three phase quantities, a equals to ej2π/3 (complex unit vector), the coefficient 2/3 in (2.1) corresponds to the non-power invariant definition of the space phasor [80]. The space vector x and its phase quantities given in (2.1) can be drawn as illustrated in Figure 2.2. The space vector x in the coordinate system shown in Figure 2.2 can be expressed in terms of d-axis and q-axis components by separating the real and imaginary terms of (2.1), i.e., 1 1 2 2 x d = Re [x ] = Re x + a x + a 2 x = x − x − x a b c a b 3 2 2 c 3 (2.2) 1 2 x q = Im[ x ] = Im x + a x + a 2 x = x −x a b c 3 b c 3 (2.3) ( ) 19 q 3x/2 a2xc x a 2 π rad. 3 axb 1 d xa 2 π rad. 3 a2 Figure 2.2 A space vector x in the three-phase symmetric system (based on (2.1)) Based on the definition of space vector given above, the induction machine equations in terms of complex space phasor quantity in the general reference frame can be expressed as follows [80]: v sg = R s i sg + 0 = R r i rg + d Ψ sg + jω g Ψ sg dt d Ψ rg + j (ω g − ω r )Ψ rg dt (2.4) (2.5) Ψ sg = L s i sg + Lm i rg (2.6) Ψ rg = Lr i rg + L m i sg (2.7) Te = 3 P Ψ sg × i sg 2 (2.8) 20 J dωm 2 dωr =J = Te − Tload dt p dt (2.9) where P is the number of pole pairs, ωr is the rotor electric angular speed in rad./s, ωm is the motor speed in rad./s, J is the total moment of inertia, Ls, Lr and Lm are the motor inductances, Rs is the stator resistance and Rr is the rotor resistance. Note that, the superscript ‘g’ in the above equations indicates the quantity is referred to the general reference frame, which rotates at ωg. 2.2.2 d-q axis Equations The electrical transient model of induction machine is based on (2.4) to (2.7). Converting these equations to their equivalent d-q axis forms in the stationary reference frame (ωg=0), the following equations are obtained: v sd = Rs isd + d Ψ sd dt (2.10) v sq = R s isq + d Ψ sq dt (2.11) v rd = Rr ird + d Ψ rd + ωrΨ rq dt (2.12) v rq = R r i rq + d Ψ rq − ω rΨ rd dt (2.13) Ψ sd = Lsl isd + Lm (isd + ird ) = Ls isd + Lm i rd (2.14) Ψ rd = Lrl ird + Lm (isd + ird ) = Lr ird + Lm i sd (2.15) Ψ md = Lm (i sd + i rd ) (2.16) 21 Ψ sq = L sl isq + Lm (i sq + irq ) = L s i sq + L m irq (2.17) Ψ rq = Lrl irq + Lm (i sq + irq ) = Lr irq + Lm irq (2.18) Ψ mq = L m (isq + irq ) (2.19) These equations ((2.10) to (2.19)) can be re-arranged to obtain a matrix form as given by (2.20). v sd v sq = v rd v rq Rs + sL s 0 sLm − ω r Lm 0 sL m R s + sL s 0 ω r Lm sL m Rr + sLr ωr L r i sd sL m i sq ωr Lr i rd Rr + sL r i rq 0 (2.20) where ‘s’ is the Laplace operator which represents the d/dt. For the purpose of simulation, the equations (2.10) to (2.19) should be transformed into state space forms where the currents are set to be the state vectors while the stator voltages become the control or input vectors. This is obtained by re-arranging (2.20) and is given by (2.21) [79,82]. • i sd • i sq 1 • = 2 i rd L m − L r L s • i rq Rs Lr 2 ω r Lm −R L s m − ω r L m L s - ω r L2m − R r Lm Rs Lr ω r Lm Lr ω r Lm L s Rr Ls − R s Lm − ωr Lr Ls − ω r L m L r i sd − R r L m i sq 1 + ω r L r L s i rd L2m − L r L s R r L s i rq − L r 0 Lm 0 0 L r v sd . 0 v sq L m (2.21) 22 From equation (2.8), the torque equation in stationary reference frame can be expressed as: Te = 3 3 P Ψ s × i s = P (L s i s + L m i r ) × i s 2 2 (2.22) In terms of d and q axis components, the torque equation in (2.22) can be written as Te = 2.3 3 PL m (i rd i sq + i rq i sd ) 2 (2.23) Basic Principles of Direct Torque Control This section reviews the basic principles of hysteresis-based Direct Torque Control (DTC) of induction machine. First, the 3-phase VSI and its voltage space vectors are briefly explained. It will be shown that the direct control of flux and direct control of torque can be performed by employing the appropriate voltage vectors of eight possible switch configurations in the 3-phase VSI. A decoupled control of stator flux and torque is obtained, which allows the DTC to produce fast instantaneous torque and flux controls, with a simple control structure. The simplest form of flux estimation known as voltage model is also presented. 2.3.1 3-Phase Voltage Source Inverter Space Vectors A 3-phase voltage source inverter (VSI) contains six numbers of power switching devices (i.e. IGBTs, GTOs, etc.) which serves to transform the available DC link voltage to the desired AC voltage. Figure 2.3 shows the 3-phase VSI that is connected to the Y windings of induction machine. Note that the selector switch for 23 each leg (or phase) of VSI is the representation of the upper and lower switches which are complementary to each other. This means the switching state of each phase, i.e. Sa, Sb or S c equals to 1 when the upper switch of the leg is ON and the lower switch is OFF, otherwise, the switching state equals to 0. From Figure 2.3, it can be shown that the combination of switching states in the VSI can provide eight possible switch configurations, which define the eight different voltage space vectors. In general, the phase voltage space vectors of the 3phase VSI in terms of switching states are given by (2.24). v s,k = 2 VDC S a + a S b + a 2 S c 3 ( ) 1 + VDC - where a=ej2π/3 and k=0,1,2,….7. Sa 0 VSI 1 va Sb 0 (2.24) 1 vb Sc 0 vc q IM vn d Figure 2.3 Schematic diagram of Voltage Source Inverter (VSI) The phase voltage space vectors are drawn based on (2.24) and are shown in Figure 2.4. For convenience, the corresponded switching states for each voltage are given in the square bracket, i.e. [SaSbSc]. There are six non-zero space phasors that each has the same magnitude (i.e. 2VDC/3) but with a different phase angle, and the two zero voltage vectors at the origin of the voltage plane. 24 q vs,4 [010] vs,3 [110] vs,0 [000] vs,5 [011] vs,7 [111] vs,6 [001] vs,2 [100] d vs,1 [101] Figure 2.4 Voltage space vectors of a 3-phase inverter with the corresponded switching states 2.3.2 Direct Flux Control The space vectors in the stator voltage equation given in (2.4) can be represented in the stationary reference frame as given by (2.25). v s = Rs is + dΨs dt (2.25) The effect of ohmic drop voltage in (2.25) is too small compared to the applied voltage. Thus, if the ohmic drop voltage is neglected, over a small period of time, equation (2.25) can be written as ∆ Ψ s = v s ∆t (2.26) 25 Equation (2.26) indicates that the variation in the stator flux linkage is directly controlled by the stator voltage space vector. The control of a trajectory of stator flux vector to form a desired flux locus can be established by selecting appropriate voltage vectors according to its demand and orientation. In DTC, the magnitude of flux space vector is controlled at its reference by limiting its error within its hysteresis band. As shown by Figure 2.5, the estimated stator flux is subtracted from the corresponding reference value to obtain the error, which is then fed to the hysteresis comparator. When the error touches its upper or lower hysteresis band, an appropriate voltage vector is selected to reduce or to increase it, respectively. The hysteresis comparator will produce a signal named as flux error status Ψ+, which can be either 1 or 0. The flux error status is equal to 1 when the stator flux error touches its lower band which means the stator flux needs to be decreased. Otherwise it is equal to 0 when the stator flux error touches its upper band which indicates that the flux needs to be increased. The typical waveforms of stator flux, stator flux error and flux error status for the hysteresis flux controller are illustrated in Figure 2.6. Flux error Ψs,ref + Flux error status, Ψ+ _ ∆HBΨ Ψs Figure 2.5 Control of flux magnitude using a 2-level hysteresis comparator 26 Ψs,ref + ∆HBΨ/2 Flux Ψs,ref t Ψs,ref - ∆HBΨ/2 ∆HB Ψ/2 Flux error 0 t - ∆HBΨ/2 Flux error status 1 0 t Figure 2.6 Typical waveforms of the stator flux, the flux error and the flux error status for the two-level hysteresis flux comparator The stator flux space vector is forced to track a circular path reference by selecting the appropriate voltage vectors according to the flux positions. The positions of flux are equally divided into six sectors as defined in Figure 2.7. By definition of the sectors, the circular flux control for each sector can be performed using two possible active voltage vectors, either to increase or to decrease the flux. For example, Figure 2.8 illustrates on how the flux is increased and decreased with the use of voltage vectors vs,2 and vs,3 when it lies in Sector I and the flux is increased and decreased with the use of voltage vectors vs,3 and vs,4 when it lies in Sector II. It should note that, the radial voltage vectors (i.e. vs,1 and vs,4 in the case of Sector I or vs,2 and vs,5 in the case of Sector II) which can be used either to get a very quick increase or decrease the flux, are normally avoided [83]. 27 q Sector IV Sector III 60 0 60 0 Sector V 60 0 60 0 Sector II 60 0 60 Sector VI d 0 Sector I Figure 2.7 Definition of six sectors of the stator flux plane vs,4 vs,3 Sector II Sector I vs,3 vs,2 Hysteresis band Figure 2.8 Two possible active voltages are switched for each sector to control the stator flux within its hysteresis band 28 2.3.3 Direct Torque Control The instantaneous torque equation in (2.8) can be written into another expression, which in terms of stator and rotor flux linkages as given by (2.27). The derivation of this equation is attached in Appendix A. L L 3 3 Te = − P m Ψ sg × Ψ rg = P m Ψ sgΨ rg sinδsr 2 σLs Lr 2 σLs Lr (2.27) where δsr is the angle difference between the stator and rotor flux vectors. The relationship between the rotor flux vector and the stator flux vector in the rotor flux reference frame (as derived in Appendix A) is given by (2.28). Ψ rr = Lm Ls Ψ sr 1 + pσ τ r (2.28) Equation (2.28) indicates that the rotor flux vector lags behind the stator flux vector with a time constant στr as both vectors are assumed rotates in a same direction (i.e. forward motoring mode). According to (2.26), it can be noted that the angular frequency of stator flux is irregular because of the nonlinear switching behavior in the hysteresis controller. However, the angular frequency of rotor flux can be assumed continuous due to the low pass filtering action as given in (2.28). In fact, the effect of filtering action in (2.28) is significant since the time constant value is much larger than the switching period. Figure 2.9 shows the space vectors of stator flux and rotor flux at time t1 and t1+∆t. Both space vectors are drawn in the rotor flux reference frame (where the rotor flux vector is aligned to the direct- or real-axis dΨr). Taking into account that, the rotor flux moves continuously, while the stator flux moves irregularly with the applied voltage vectors as mentioned above. From Figure 2.9(a), it can be noticed that the δsr will increase as the stator flux rotates advance forward when the active voltage vector which has the same direction as the rotor flux rotation is applied. This voltage vector is usually referred as active forward voltage vector. Applying zero (or 29 radial) voltage vectors ideally (or almost) halt the stator flux rotation, thus decreasing the δsr as the rotor flux rotates continuously as depicted in Figure 2.9(b). Note that, in the case of application of zero voltage vectors the magnitude of stator flux may reduce due to the small stator resistance drop. Figure 2.9(c) illustrates that the stator flux space vector rotates in the opposite direction when a reverse voltage vector is applied. This causes δsr to decrease rapidly. qΨr t = t1+∆t Ψs (a) 0 δsr dΨr Ψr t = t1 qΨr Rotates continuously qΨr t = t1+∆t (b) Ψs 0 Ψs Rotates continuously δsr Ψr 0 Ψr d Rotates continuously δsr dΨr Ψr qΨr t = t1+∆t (c) Ψs 0 δsr Ψr Rotates continuously dΨr Figure 2.9 The variation of δsr with application of (a) active voltage vector, (b) zero or radial voltage vector, (c) reverse voltage vector 30 The magnitudes of stator flux and rotor flux in (2.27) can be assumed constant since the control of circular flux locus (as described previously), in practice performs within a small switching period. Thus, the output torque as given in (2.27) is mainly affected by the δsr which plays a vital role in controlling the output torque. The above discussion indicates that the δsr varies accordingly to the selected voltage vectors. Hence, controlling the δsr to increase or decrease with suitable voltage vector causes the torque to increase or decrease, respectively. Figure 2.10 demonstrates the use of appropriate voltage vectors in controlling the δsr as the stator flux lies in the sector k, for 4-quadrant operation in the DTC induction machine drives. Note that, the machine is under motoring mode when the rotor flux lags behind the stator flux, and both fluxes rotate in the counterclockwise direction. For convenience, the identification of appropriate voltage vectors to control the δsr as well as the torque is concentrated for the first of two quadrant operations (i.e. forward motoring and forward braking modes). These voltages as mentioned previously can be classified as follows: • The active forward voltage vector is identified as vs,h+1 or vs,h+2 for forward motoring (or braking) operation which is used to increase (or decrease) the δsr as well as the output torque. • The active reverse voltage vector is identified as vs,h-1 or vs,h-2 which is used to decrease rapidly the torque as its reference suddenly changes the polarity (i.e. the forward motoring mode of the machine is suddenly switched to the forward braking mode). The application of the voltages causes the rotor flux vector leads the stator flux vector. • The zero voltage vector (vz) can be either v0 or v7, which is used to decrease the δsr as well as the output torque, when the output torque satisfies its demand. 31 It should note that, the application of radial voltage vectors can cause rapid variations in flux which in turns may increase the switching frequency of power switch devices exceeds to their limit. Due to this reason the selection of radial voltage vector is normally avoided [13,30,83,84]. ωm Quadrant II Forward braking Tload Te Quadrant I Forward motoring Te Tload ωm ωm q q Ψr 0 δsr Sec. h vs,h+2 vs,h+1 Ψs vz d 0 vs,h+2 vs,h+1 Sec. h Ψs d δsr vz vs,h-2 vs,h-1 Ψr Te Quadrant IV Reverse braking Te Tload Quadrant III Reverse motoring Tload Te ωm ωm q q Ψr vs,h+2 vs,h+1 0 vz δsr Sec. h Ψs vs,h-2 vs,h-1 d 0 Sec. h Ψs d vz δsr vs,h-2 vs,h-1 Ψr Figure 2.10 The application of voltage vectors in controlling the δsr as well as the output torque for 4-quadrant operation 32 In DTC, the output torque is controlled by limiting its error within its hysteresis band. The three-level hysteresis comparator as shown in Figure 2.11, is employed to facilitate the DTC performs in motoring mode as well as braking mode [13]. When the torque error touches its upper or middle hysteresis band (during motoring mode), an appropriate voltage is selected to reduce or to increase it, respectively. The occurrence of the torque error to touch its lower band happens when the torque error is too large, such as during speed reversal or braking. The output of the comparator which named as torque error status Tstat will generate a digitized signal which can be either 1, 0 or -1. Concentrating the same quadrant operations (as mentioned above), the outputs of torque error status Tstat that determine the appropriate voltage vectors can be classified by the following conditions. • The Tstat = 1 when the actual torque needs to be increased (or when the torque error touches the upper band). Thus, active forward voltage vector is selected. • The Tstat = 0 when the actual torque needs to be decreased (i.e. when the torque error touches the middle band which means the torque is satisfied to its demand). Thus, zero voltage vector is selected. • The Tstat = -1 when the actual torque needs to be decreased rapidly (i.e. when the torque error touches the lower band). Thus, active reverse voltage vector is selected. For convenience, the typical waveforms of the output torque, the torque error and the torque error status under forward motoring and forward braking modes are shown in Figure 2.12. 33 Torque Error, ETe Te,ref + Torque error status, Tstat 1 0 _ -1 2 x ∆HBTe Te Figure 2.11 Control of torque using a 3-level hysteresis comparator Torque reference Torque ∆HBTe t ∆HBTe Torque error 2 x ∆HBTe t Speed 1 0 t Torque error status t -1 Figure 2.12 Typical waveforms of the torque, the torque error and the torque error status for the three-level hysteresis torque comparator 34 2.3.4 De-coupled Control of Torque and Flux in DTC-hysteresis based Induction Machine In DTC, a de-coupled control of torque and stator flux is established by selecting suitable voltage vectors that can simultaneously and independently control both torque and stator flux. Thus, the de-coupled control in DTC allows a fast instantaneous control of torque and flux. Figure 2.13 shows the de-coupled control structure of hysteresis-based DTC as proposed by [13]. The selection of suitable voltage vectors or switching states [Sa, Sb, Sc] are obtained from the look-up table as given in Table 2.1. These switching states are selected based on the requirement as to whether the torque and the stator flux need to be increased or decreased and also on the stator flux sector. The decisions as to whether the torque and/or the flux need to be increased or otherwise comes from the three-level and two-level hysteresis comparators for the torque and stator flux, respectively. HBTe Te,ref + 1 0 -1 ETe - Ψs,ref 1 EΨ + + VDC Tstat Sa Lookup Table Ψs+ Voltage source inverter (VSI) Sb Sc 0 HBΨ i a i b ic sector Sector Voltage detection calculation Ψsd Ψsq vsd vsq Ψs Te Stator flux and electromagnetic torque estimators IM isq isd d-q current calculation Figure 2.13 A de-coupled control structure of DTC-hysteresis based induction machine 35 Table 2.1 : Voltage vectors selection table as proposed in [13] Stator flux error status, Ψs+ Torque error status, Tstat Sector I Sector II Sector III Sector IV Sector V Sector VI 1 [100] [110] [010] [011] [001] [101] 0 [000] [111] [000] [111] [000] [111] -1 [001] [101] [100] [110] [010] [011] 1 [110] [010] [011] [001] [101] [100] 0 [111] [000] [111] [000] [111] [000] -1 [011] [001] [101] [100] [110] [101] 1 0 2.3.5 Estimations of stator flux and electromagnetic torque It is very important to accurately estimate the stator flux and motor torque in high performance DTC drives. The simplest form of a stator flux estimator, referred as the voltage model [7,84,85] is reviewed as this model is implemented for the DTC drives described in this thesis. With this model, only stator resistance and terminal quantities (voltages and currents) are required. The stator flux vector in (2.4) can be expressed in the stationary reference frame and is given by (2.29). Ψ s = ∫ ( v s − i s Rs ) dt (2.29) Under sinusoidal steady state condition, Equation (2.29) reduces to Ψs = v s − i s Rs jωe (2.30) 36 In practice, the pure integrator used in estimating the stator flux is usually replaced with a low pass filter to avoid the integration drift problem due to the dc offset or measurement noise. With the added low pass filter, Equation (2.30) becomes: Ψs = v s − i s Rs jωe + ωc (2.31) where ωc is the cut-off frequency of the low pass filter in rad./s which is very small compared to synchronous angular frequency ωe. The stator flux vector given in (2.31) is separated into d-axis and q- axis components as given in (2.32) and (2.33), respectively. Ψ sd = Ψ sq = v sd − i sd R s jωe + ωc (2.32) v sq − i sq R s (2.33) jωe + ωc The voltage components in (2.32) and (2.33) can be obtained from the switching pattern of the 3-phase voltage source inverter as follows. 1 v sd = VDC (2Sa − S b − S c ) 3 v sq = 1 3 VDC (S b − S c ) (2.34) (2.35) If two of the three-phase stator currents (i.e. phase a and phase b) are known, then after applying the Clarke Transformation, the d-axis and q-axis components of stator current vector are obtained as isd = ia (2.36) 37 isq = (ia + 2 ib ) / 3 (2.37) The calculation of output torque given in (2.8) is then written in the stationary reference frame and in d-q coordinates. Hence, Equation (2.38) is obtained. Te = 2.4 3 P(Ψ sd isq − Ψ sqisd ) 2 (2.38) Major Problems in Hysteresis-Based DTC Despite its simplicity, the DTC based on hysteresis controller causes some major problems such as variable inverter switching frequency, high torque ripple and high sampling requirement for digital implementation. Figure 2.14 illustrates the waveforms of torque at three different speed operations, which can be used to highlight the problems. Consider the control of torque based on the hysteresis comparator is implemented in DSP or microprocessor with a sampling period of DT. Through the observation from this figure, the problems are identified and the reason of each problem can be briefly described as follows. • Variable inverter switching frequency As briefly mentioned in Chapter 1, the switching frequency of VSI is influenced by the slopes of torque and flux, which vary with operating conditions [23,24,27]. Consider the torque slope in a discrete form which was derived in [23] and is given by (2.39). Te,n +1 − Te,n 1 L 1 3 + P m [(v s,n − jωr Ψ s,n ) • jΨ r,n ] = − Te,n + ∆t στ s στ r 2 σLs Lr (2.39) 38 Equation (2.39) indicates that the torque slope depends on the stator flux, rotor flux, the speed and the stator voltage. The slopes of torque in Figure 2.14 are drawn based on (2.39) and only consider the effect of operating speed and the applied voltage. For the positive torque slope, the active voltage vector is applied, otherwise the zero voltage vector is selected. It can be noticed from this figure that the slopes of torque (i.e. for positive and negative slopes) varies with operating speeds. For this reason, the switching frequency of hysteresis comparator as well as VSI is unpredictable. In fact, the switching frequency will be more difficult to predict when the other operating conditions are considered. The unpredictable switching frequency somehow complicates the improvements of DTC in terms of current THD and optimization of switching devices. • High torque ripple: In digital implementation, the output torque is calculated, and the appropriate switching states are determined at fixed sampling time (which is DT). This, however, causes a delay between the instant the variables are sampled (i.e. the instant torque is calculated) and the instant the corresponded switching status pass to the inverter. Because of that, the torque ripple cannot be restricted exactly within the hysteresis band. If the band is set too small, this, however, does not minimize the torque ripple. This is because, the incidents of overshoot in the estimated torque above the torque hysteresis band may occur and hence causes the reverse voltage vector is selected. The selection of the reverse voltage vector as mentioned previously causes the torque decreases rapidly and as a result the torque ripple increases. This situation can be described as illustrated in Figure 2.14(a). Note that, the torque overshoot conditions normally occur when the motor operates at low speeds at which the positive slope of the torque is large. 39 • The need of high speed processor: Reducing torque ripple by lowering the band width of hysteresis comparator would be fruitless when the processor used has a limited sampling frequency. All the constraints which have been mentioned above can be eliminated if a high-speed processor is utilized, where the discrete hysteresis controller perform similar to the analog based comparator. As shown in Figure 2.14(a), the rapid decrease of torque due to the selection of reverse voltage can be avoided if the sampling time (DT) is sufficiently decreased. Te,ref + ∆HB Te Te,ref (a) Te,ref - ∆HBTe Te,ref + ∆HB Te Te,ref (b) Te,ref - ∆HBTe Te,ref + ∆HB Te Te,ref (c) Te,ref - ∆HBTe DT DT DT DT DT DT DT DT DT DT DT Figure 2.14 The waveforms of output torque sampled at DT in the hysteresis comparator for (a) low speed, (b) middle speed and (c) high speed 40 Some experimental results of output torque ripple obtained in hysteresisbased DTC at different applied sampling frequency and/or torque hysteresis band are presented as shown in Figure 2.15. For each case, the control of torque at 6 Nm was performed at the same load torque condition so that the rotor speed operated at around 400 rpm. The nominal level of torque hysteresis band is HBTe (0.9 Nm) and the minimum sampling time achievable using the DSP is 55µs, i.e. DT = 55µs (more information on the values of machine and control system parameters are given in Chapter 6). From Figure 2.15(a), as expected, the output torque ripple is high when the torque hysteresis band is set to twice of HBTe. Thus, to reduce the torque ripple of the DTC hysteresis-based, one can ideally reduce the hysteresis band. Figure 2.15(b) shows the results of output torque control when the torque hysteresis band reduces to HBTe. However, due to the sampling time used in Figure 2.15(b) (and also in Figure 2.15(a)) is twice of the nominal DT (i.e. 110µs), practically, this leads to the incorrect or reverse voltage vector selections (where Tstat = -1) that causes rapid decreases in output torque and hence increases the torque ripple, as noticed in Figure 2.15(b). Therefore, to eliminate the reverse voltage vector selections, the sampling time need to be reduced which is demonstrated in Figure 2.15(c) whereby the sampling is set to DT. Obviously, as seen in Figure 2.15(c), the output torque ripple decreases and no active voltage vector is selected to reduce the torque. 41 Zoomed image Te 2DT Te 4HBTe ETe ETe (a) Te 2DT Te 2HBTe ETe ETe (b) Te DT Te ETe (c) 2HBTe ETe Figure 2.15 Experimental results of control of output torque utilizing three-level hysteresis comparator (in hysteresis based-DTC). (a) Hysteresis band = 2HBTe, sampling time=2DT, (b) hysteresis band = HBTe, sampling time=2DT and (c) Hysteresis band = HBTe, sampling time=DT 42 2.5 Chapter Conclusions This chapter has presented an overview of the hysteresis-based DTC of induction machines. The theory of space vectors and the modeling of induction machine have been presented. It has been shown that, a de-coupled control of torque and flux is achieved, by limiting the torque and flux errors within their hysteresis bands. Finally, some major drawbacks associated with the hysteresis-based DTC have been addressed. CHAPTER 3 ENLARGING SWITCHING FREQUENCY TO MINIMIZE TORQUE RIPPLE UTILIZING A CONSTANT FREQUENCY TORQUE CONTROLLER 3.1 Introduction This chapter suggests the use of the constant frequency torque controller (CFTC) in direct torque control (DTC) of induction machines to reduce the output torque ripple with a constant switching frequency as proposed in [32]. A quick guide to the design of the CFTC will be presented. Some extensions to the study of utilizing CFTC in DTC will be highlighted in this chapter to show that; • with the suitable PI-controller gains, excellent control of output torque can be achieved for different triangular carrier frequency, • a high switching frequency to further reduce the output torque ripple can be established with the CFTC, by extending the triangular carrier frequency to its maximum (which is equal to one-quarter of the maximum sampling frequency achieved by the DSP). The extension of a constant switching frequency is particularly useful for a system which has limited/low sampling frequency. The feasibility of the use of CFTC in DTC in reducing the torque ripple (at three different carrier frequencies) is verified through experimentation as well as comparison with the conventional DTC scheme. 44 3.2 DTC with Constant Frequency Torque Controller An attempt has been made to provide constant switching frequency and reduced torque ripple in DTC by replacing the torque hysteresis controller with constant frequency torque controller (CFTC) as depicted in Figure 3.1 [32]. The constant frequency torque controller (as shown in Figure 3.1) consists of two triangular generators, two comparators and a proportional-integral (PI) controller. In principle, the function of torque error status Tstat generated from the CFTC is similar to that of the three-level hysteresis comparator [13], which can be either of three states; -1, 0 or 1. Note that, no modification in the original look-up table is required. In this way, the decouple control structure as well as the simple control structure of the hysteresis-based DTC can be retained. Figure 3.2 shows the typical waveforms of the constant frequency torque controller. The torque error status Tstat generated from the constant frequency torque controller can be described by the following equation Tstat Tc ≥ C upper 1 for = 0 for C lower < Tc < C upper − 1 for Tc ≤ C lower (3.1) where Tc is output of Proportional-Integral (PI) control, Cupper and Clower are the upper and lower triangular waveforms, respectively. Note that, the two triangular waveforms (Cupper and Clower) are 1800 out of phase with each other. In order to establish a constant switching frequency the frequency and peak to peak of upper and lower triangular waveforms are set at fixed values. It is desirable to set at high triangular waveform frequency in minimizing the output torque ripple. For PI torque controller, the gain values of kp and ki are restricted to ensure the absolute slope of the output signal, Tc does not exceed the absolute slope of triangular waveform. This is to ensure proper operation of control of torque at constant switching frequency and at the same time, avoids the occurrence of selection of reverse voltage vectors, for a wide range of operating conditions. 45 ttri Cupper + 11 0 + Tc ETe Tstat + 00 PI control + -1 - Clower Figure 3.1 Constant frequency torque controller (CFTC) Te t(s) 0 Cp-p Cupper Tc t(s) 0 -Cp-p Clower Tstat 1 0 t(s) Figure 3.2 Typical waveforms of the constant frequency torque controller 46 3.3 Design Procedure of Constant Frequency Torque Controller in DTC This section presents a quick guide to design the PI controller for CFTC for DTC of induction machines. Briefly, there are three steps to obtain the proper operation of CFTC. Detail explanation on how the related equations (as shown later) derived and some assumptions made, can be found in [32]. Step 1: Select the appropriate frequency of triangular waveforms It is desirable to have a large triangular frequency in order to acquire a large torque loop bandwidth hence faster torque response. Moreover, with a higher triangular frequency the output torque ripple will be reduced. The triangular waveforms are generated by the software sampled at the maximum sampling rate to execute the algorithms (i.e DTC including CFTC) limited by the DSP speed. For example, the upper triangular waveform produced by the DSP is depicted in Figure 3.3, whereby DT is the sampling period of the DSP. In this particular example, a complete triangular waveform is completed in eight DSP sampling time. DT µs Carrier frequency, ftri = (8xDT)-1 Hz Cp-p ∆Cp-p 4xDT Figure 3.3 Generated upper triangular waveform using DSP (sampled at DT µs) Step 2: Determine the gain value of kp The absolute slope of Tc must be ensured not to exceed the absolute slope of the triangular waveforms, which in turns, are mainly determined by the proportional 47 gain (kp) of the PI controller. The absolute slope of the triangular waveform (as shown in Figure 3.3) can be simply obtained as < absolute slope of the triangular waveform > = C p− p (3.2) 4DT According to [32]; for the positive slope of Tc, the following condition must be satisfied: < absolute slope of the triangular waveform > ω slip + ≥ − ATe + BVsΨs + K1 ( − ω +r )k p d (3.3) meanwhile, for the negative slope, the following condition must be satisfied: < absolute slope of the triangular waveform > ≥ − ATe − K 1ω -r k p − (3.4) where, 1 1 A = + στ στ s r B= 6PL m Ψs 4σ L s L r K1 = d= 3P L m (Ψ s Ψ r ) 2 σL s L r ATe − K 1ω slip BVsΨ s (3.5) (3.6) (3.7) (3.8) In (3.5) to (3.7), σ is the total leakage factor, given by (1-Lm2/(LrLs)). τr and τs is the rotor and stator time constants, respectively. The term VsΨs in (3.3) and (3.8) is the voltage vector magnitude, given by (2VDC/3). 48 It should be noted that, the occurrence of extreme slope of Tc (either positive or negative slope) depends on operating conditions. Consider the motor operates at worst-case conditions, (i.e. torque and flux are operated at rated conditions), it is therefore, according to (3.3) (or (3.4)), the maximum kp+ (or kp-) that limits the slope of Tc (or absolute slope of Tc) to its maximum, is assumed to occur at zero rotor speed (or at base rotor speed) and at rated slip. That is, ωr+ = 0 for (3.3) and ωr- is set at base speed for (3.4). Thus, to ensure proper operation the proportional gain (kp) is obtained as { k p = min k +p , k −p } (3.9) Step 3: Determine the gain value of ki Figure 3.4 depicts a block diagram of the linearized torque loop, as proposed in [32]. The dashed box in Figure 3.4 represents the constant frequency torque controller (CFTC). To select the gain constants of the PI controller in the torque loop which results in a phase margin of 65 o (or higher), the zero of the PI controller is chosen to be the same as the pole of the open-loop gain (or pole in the torque slope transfer function). Under this condition, the integral gain ki is calculated as ki = kpA (3.10) In this way, an infinite DC gain due to the presence of an integrator in PI controller will reduce the steady state error to zero. Based on the linear control theory, the obtained values of kp and ki (from (3.9) and (3.10)), are then, must be adjusted such that the torque loop gain crossover frequency approximately smaller than one-half of the carrier frequency. For a clearer picture, the determination of the PI controller’s gains with numerical values based on the actual motor parameters is presented in the next section. 49 CFTC Tref(s) + ETe(s) kp (s + ki/kp) - s PI controller Tc(s) 1 Cp-p d(s) BVsΨs Te(s) s+A Slope of torque Figure 3.4 Averaged and linearized torque loop (as proposed in [32]) 3.4 Experimental Set-up The feasibility of the CFTC in DTC, in providing constant switching frequency and reduced torque ripple has been realized with a complete drive system. The control algorithm is implemented on a DSPACE 1102 and Altera FPGA (APEX20KE). Some of the main tasks of the DTC (i.e. look-up table and blanking time) are implemented utilizing a FPGA, in such manner; the DSP (DSPACE 1102) is able to execute the DTC algorithm including the CFTC operation at the minimum sampling period which is at 55 µ s. More details description on hardware components are given in Chapter 6. Based on the previous discussion, in order to obtain a maximum reduction in the torque ripple, the switching frequency needs to be increased. Normally this can be achieved by using a high-speed DSP system. For example, the use of SVM technique in DTC requires a fast processor to calculate the duty cycles or voltage vectors for every sampling period. With a small sampling period, the reduction of output torque ripple is accomplished since more switching states applied within a switching period. This thesis, on the other hand, suggests a simple method in utilizing CFTC to extend the switching frequency. By using this method, the increase of triangular frequency can be established without requiring the reduction of the sampling period of the DSP. 50 To verify this, the comparison of output torque ripple obtained in three schemes were carried out; where each of scheme performed at three different triangular frequencies but at the same sampling period, DT=55µ s. For convenience of identification, these schemes are referred as; • DTC-CSF1 - DTC with CFTC at 2.2727 kHz triangular frequency, • DTC-CSF2 - DTC with CFTC at 3.0303 kHz triangular frequency, • DTC-CSF3 - DTC with CFTC at 4.5454 kHz triangular frequency. The generated upper triangular waveforms for each scheme can be illustrated as depicted in Figure 3.5. For example, if we consider for the case of DTC-CSF1, eight steps per cycle of the triangular are used, that is for 100 units peak-peak the corresponding vertical resolution of the triangular waveform is 25 units per step, as noticed in Figure 3.5(a). From the figure, it can be seen that the frequency of the triangular waveform is about 2.2727 kHz and the slope of the triangular is equal to 454545.45s-1. The actual parameters of an induction motor are as shown in Table 3.1. The DC voltage was limited to 240V, which means that the based speed is reduced to 546 rpm. With the values of machine parameters listed in Table 3.1, the suitable values of kp and ki for each scheme, were determined as explained previously in the Section 3.3. The open-loop Bode plot with the PI controllers’ gains for each scheme, are shown in Figure 3.6. The gains for the PI controllers and the approximated crossover frequency (as noticed in Figure 3.6) for each scheme, are given in Table 3.2. 51 55 µs ∆Cp-p=25 (a) Cp-p= 100 ∆Cp-p=30 Cp-p= 90 (b) ∆Cp-p =45 Cp-p= 90 (c) Figure 3.5 Generated upper triangular waveforms sampled at 55 µs. (a) DTC-CSF1, (b) DTC-CSF2 and (c) DTC-CSF3 Table 3.1 : Induction machine parameters Stator resistance, Rs 5.5 Ω Rotor resistance, Rr 4.45 Ω Stator self inductance, Ls 313.9 mH Rotor self inductance, Lr 313.9 mH Mutual inductance, Lm 299 mH Number of pole pairs, P 4 Stator flux rated, Ψs,rated 0.892 Wb Torque rated, Te,rated 9 Nm Voltage vector magnitude, VsΨs 160 V Slip rated, ωslip 9.42 rad./s Base speed, ωbase 546 rpm. 52 Table 3.2 : PI controllers gains and crossover frequency Schemes PI Controller gains kp ki Crossover freq. fc (kHz) DTC-CSF1 29 9937.5 0.719 DTC-CSF2 34.9 11925 0.86 DTC-CSF3 52.3 17887 1.3 (c) (a) (b) (b) (c) (a) Figure 3.6 Bode plot of loop gain with PI controller for (a) DTC-CSF1, (b) DTCCSF2 and (c) DTC-CSF3 3.5 Experimental Results Figure 3.7 depicts the frequency spectrum of the phase current obtained from the experimental results for the basic DTC (i.e. hysteresis-based DTC scheme), DTCCSF1, DTC-CSF2 and DTC-CSF3 at the speed of 20 rad/s, 30 rad/s and 55 rad/s while the output torque is controlled at 2 Nm. It can be seen that the phase current in 53 schemes of DTC with CFTC (i.e. DTC-CSF1, DTC-CSF2 and DTC-CSF3) contains dominant harmonics at their respective triangular frequency regardless of the speed, as opposed to the DTC hysteresis-based which has a frequency spectrum which is spread out and depends on the operating speed. From this figure, it can also be noticed that, a higher capability of torque in the DTC with proper CFTC (DTCCSF1, DTC-CSF2 or DTC-CSF3) is achieved as compared to that obtained in the basic DTC. Moreover, the output torque ripple in the DTC with proper CFTC can be reduced further when higher triangular frequency is applied. For example, in the case of speed about 30 rad./s, the DTC-CSF1 , DTC-CSF2 and DTC-CSF3 give the percentage reduction of torque ripple of the hysteresis-based DTC about 21%, 26% and 50%, respectively. Figure 3.8 shows the comparison by experimental of output torque ripple when a step change of torque reference is applied, in the basic DTC, DTC-CSF1, DTC-CSF2 and DTC-CSF3. To make a fair comparison, the step torque change for each scheme was performed under the same load torque condition so that the rotor speed operated at around 370 rpm. From the figure, it can be seen that, the largest torque ripple is produced with the hysteresis-based DTC. To reduce the torque ripple, the CFTC is utilized, and as mentioned earlier, the output torque can be reduced further when higher triangular frequency is applied. Obviously, the output torque ripple in DTC-CSF3 is greatly reduced with a constant and the highest switching frequency. The generated waveforms of the upper triangular for each different frequency (as shown in Figure 3.8) can be clearly seen by using a larger scale as depicted in Figure 3.9. 54 (a) (b) (c) Figure 3.7 Experimental results of phase current frequency spectrum and output torque for the basic DTC, DTC-CSF1, DTC-CSF2 and DTC-CSF3 at the speed about (a) 20 rad./s (b) 30 rad./s and (c) 55 rad./s (2) (1) (4) (5) (unit) (unit) (3) (Nm) (1) (unit) (2) (Nm) (Nm) 55 (6) (6) (b) (4) (5) (Nm) (1) (unit) (2) (unit) (unit) (unit) (Nm) (a) (6) (c) (2) (1) (4) (5) (6) (d) Figure 3.8 Experimental results for step response of torque in (a) DTC-hysteresis based, (b) DTC-CSF1, (c) DTC-CSF2 and (d) DTC-CSF3. (1) is output torque, (2) is reference torque, (3) is torque error, (4) is output of PI controller, (5) is upper triangular waveform, (6) is torque error status (x-axis or time scale: 2 ms/div.) 56 55µs Cupper (unit) (a) ∆Cp-p = 25 Tc 55µs (b) (unit) Cupper ∆Cp-p = 30 Tc 55µs (c) (unit) Cupper Tc ∆Cp-p =45 Figure 3.9 The zoomed image (zoomed area indicated by '↔’) of the waveforms of upper triangular and output of PI controller for (a) DTC-CSF1, (b) DTC-CSF2 and (c) DTC-CSF3, corresponds the results obtained in Figure 3.8 (b),(c) and (d) (Time scale: 1 ms/div.) Finally, to verify the proper operation CFTC in regulating the output torque, a square-wave speed command is applied in the basic DTC and the DTC-CSF2. The waveforms of the output torque, rotor speed (measured using a speed sensor) and daxis stator flux for each scheme are as shown in Figure 3.10. From the figure, it can be seen that, the dynamic torque and speed profiles are comparable to that of the hysteresis-based DTC, however, with added advantages of a reduced torque ripple and constant switching frequency. Motor speed (p.u) (b) (a) d-axis flux component (Wb) d-axis flux component (Wb) Motor speed (p.u) Output torque (Nm) Output torque (Nm) 57 (b) Figure 3.10 Experimental results of output torque, motor speed and d-axis flux component for a square-wave speed reference for (a) the basic DTC and (b) DTCCSF2 based induction machine drives 3.6 Chapter Conclusions This chapter has suggested the simple way to provide a high constant switching frequency and hence reduces torque ripple, by replacing the torque hysteresis controller with the CFTC in the basic DTC structure. It has been shown that with the limited sampling frequency, the carrier frequency utilized in the CFTC can be increased further to its maximum (which is at one-quarter of the maximum sampling frequency). Some experimental results have been presented to show that the significant reduction of output torque ripple can be established with the proper PI-controller gains and selection of triangular frequency in CFTC. CHAPTER 4 AN OPTIMIZED SWITCHING STRATEGY FOR QUICK TORQUE DYNAMIC CONTROL 4.1 Introduction In hysteresis-based DTC scheme, the stator flux vector is forced to follow its circular locus despite under dynamic conditions. For instance, during a large torque demand, the DTC algorithm maintains the flux control by selecting only active voltage vectors, owing to its intrinsic characteristic. The selection of voltage vectors at the same time is used to increase the δsr as well as the torque to reach its demand (as discussed in Chapter 2). The selection of voltage vectors for some extent somehow does not produce the quickest flux change or the largest rate of change of δsr, for achieving the fastest torque dynamic. This chapter will look at the effect of the selection of possible active voltage vectors on the performance of torque dynamic of DTC drive. Based on the observation, the most optimized voltage vector that produces the largest rate of change of δsr, which provides the fastest torque dynamic, is identified. A simple dynamic overmodulation is proposed that utilizes the most optimized voltage and improves on the dynamic torque performance of DTC drive. The feasibility of the proposed dynamic overmodulation strategy is verified through simulation and experimentation as well as comparison with the conventional DTC scheme. 59 4.2 Dynamic Torque Control in the Hysteresis-Based DTC During large torque demand, torque hysteresis comparator will produce only a single status (i.e. Tstat = 1) that requires an increase of torque to meet its reference. This means, under this condition, no zero vectors are selected to reduce the torque. At the same time, the flux hysteresis will regulate the flux to follow the circular path using two active voltage vectors. This is similar to a condition in DTC-SVM in which stator voltage reference vector follows the hexagonal boundary in overmodulation mode, which is the reference voltage v[28] in Figure 1.2, as given in Chapter 1. Since no zero voltage vectors are applied, rapid changes in the flux vector position and hence a quick dynamic torque response is achieved. However, this method does not give the fastest dynamic torque response because one of two possible active voltage vectors switched during torque dynamic may not be optimum. 4.3 Effect of Selecting Different Voltage Vectors on Torque Dynamic Performance in the Hysteresis-Based DTC In DTC, each sector of flux has different set of two active voltage vectors, in which one is used to increase the flux and the other one to reduce the flux. For example, in the case of sector III, the two active voltages are vs,4 and vs,5 as shown in Figure 4.1. vs,4 and vs,5 are used for the flux to increase and to decrease, respectively. Between these two voltages, there is one voltage gives a faster torque dynamic, and it is referred as the most optimized voltage. 60 q vs,4 vs,3 α3 = π/6 rad. (at t= t2) vs,5 vs,2 vs,6 Ψs vs,1 α3 = 0 rad. Sector IV Sector III (at t= t1) ωΨs Sector II d 0 Hysteresis band Figure 4.1 The selection of two possible active voltage vectors in controlling the flux in Sector III To identify the most optimized voltage, an equation of torque rate in terms of applied voltage vector, which was derived in [86] is used. According to the analysis in [86], the rate of change of torque at the instant in which a voltage vector is applied is given by: dTe = C Ψ r [Vs sin(θ k − θ r,0 ) − ωΨ s,0 cos(θ s,0 − θ r,0 )] dt (4.1) where C is some constant which depends on the machine parameters and Vs is the magnitude of the applied voltage. θk, θr,0, and θs,0 are the stator voltage vector angle, initial rotor flux angle and initial stator flux angle, respectively. Ψ r and Ψ s,0 are rotor flux magnitude and initial stator flux magnitude respectively. These parameters are shown in Figure 4.2. The derivation of Equation (4.1) is given in Appendix B. The second term in (4.1) is independent of the applied voltage vector. Thus, the maximum rate of change of torque is determined by the first term of (4.1) which can be written as dTe {sin(θ k − θ r,0 )} dt = max k max (4.2) 61 The rotor flux angle in (4.1) can be assumed equivalent to the stator flux angle, since the slip angular velocity, in practice, is too small. q vs,k Ψs,1 Ψs,0 ωΨr θk δsr Ψr,0 ωrt + θr,0 0 d Figure 4.2 Space vectors of the applied voltage, the stator flux and the rotor flux Equation (4.2) indicates that the fastest torque response is achieved when the voltage angle is 90o with respect to the stator flux angle. In other words, to obtain the fastest torque response, a voltage vector that has the largest tangential component has to be selected. For studying the effect of selection two different voltages, the trajectory of stator flux vector in the stator flux plane shown in Figure 4.1 is mapped to the output torque and stator flux magnitude (with respect to time) shown in Figure 4.3. It is assumed that the space vector of the stator flux linkage moving in the counterclockwise direction and the variation of the stator flux vector is approximately proportional to the voltage vector applied (i.e vs,4 and vs,5). The behavior of torque dynamic in DTC is investigated by applying a step change of torque reference at the time t=t1, as illustrated in Figure 4.3 or when the stator flux vector is about to enter Sector III, i.e. at α3 = 0 rad. as defined in Figure 62 4.1. According to (4.2), higher torque rate can be achieved when the vs,4 is switched during the torque dynamic (as the flux vector moves from angle α3=0 to α3=π/6 rad.). Thus, as noted in Figure 4.3, the torque slope under dynamic condition is steeper when the vs,4 is used (or flux increases) than the slope when the vs,5 is switched (or flux decreases). The figure shows that the basic DTC may not give the fastest torque dynamic response since vs,5 is switched more often as the flux vector approaches towards the middle of sector. Sector III Stator flux Hysteresis band Ψs Ψs,ref 0 Time Applications of the non-optimized voltage Torque Te,ref,2 Te Te,ref Hysteresis band Te,ref,1 0 Figure 4.3 t1 t2 Time Inconsistent torque slope due to selection of different voltage vectors 63 It should be noted that, the identification of the optimized voltage vector (between two possible voltages) to achieve the highest torque rate depends on flux position. In general, if the sector h is subdivided into subsectors, i and ii based on (4.3), vector vs,h+1 will result in a higher torque slope throughout subsector i and vs,h+2 will give a higher torque slope throughout subsector ii. Note that the αh in (4.3) is the angle within a sector h such that 0 ≤ αh < π/3 rad. 0 ≤ αh < π/6 rad. π/6 ≤ αh < π/3 rad. 4.4 for subsector i for subsector ii (4.3) The Proposed Torque Dynamic Control Clearly, the above discussion indicates that the highest torque rate is achieved if the most optimized voltage is selected. In the proposed dynamic overmodulation method, this voltage is switched and held during the torque dynamic to produce the fastest torque dynamic control. The improvement of performance of torque dynamic control in DTC drive utilizing the proposed method is discussed. Then, the implementation of the proposed method in the DTC drive is briefly discussed. 4.4.1 An Optimized Voltage Vector for Quick Torque Dynamic Control Figure 4.4 illustrates the space vectors of the stator flux and rotor flux linkages moving in the counterclockwise direction utilizing three different switching modes, for two cases of torque dynamic control. Case 1 is when the stator flux is about to enter sector h (at αh = 0 rad.) while case 2 is when the stator flux is at the middle of sector h (at αh = π/6 rad.). It is assumed that the variation of stator flux is proportional to the applied voltages. Under the torque dynamic conditions, the motions of the stator flux are dictated by the three control modes of switching vs,h+1, vs,h+2 and vs,DTC. The vs,DTC is the DTC switching operation where two possible 64 active voltages vs,h+1 and vs,h+2 in sector h are alternately switched for the stator flux to keep track its circular reference. From Figure 4.4, it can be noticed that the vs,h+1 has the largest tangential component to the circular flux locus in case 1, on the other hand the vs,h+2 in case 2. Based on the previous discussion, the selection of the voltage is expected to give the fastest torque dynamic response. Case 1 Case 2 qΨs q Ψs αh≈π/3rad. αh=π/3 rad. h+1 h+2 h vs,h+2 vs,DTC vs,h+1 h+3 δsr h+4 h-1 ωΨs Ψr d Ψs δsr h Ψr h+3 Ψs h+4 vs,h+1 ωΨs dΨs h-1 Ψs αh = 0 rad. αh= 0 rad. (a) vs,DTC h+1 vs,h+2 h+2 (b) Figure 4.4 Effects of selecting different switching modes under torque dynamic conditions (a) when the stator flux is about to enter sector h, (b) when the stator flux is at the middle of sector h The performance of torque dynamic response can also be evaluated by looking at the effect of applying different modes of switching on the angle ∆δsr. For this purpose, the vectors in Figure 4.4 are redrawn as shown in Figure 4.5. To make the comparisons fair, these vectors are drawn with the assumption that the duration of application of each switching mode is same. This means, vs,h+1 and vs,h+2 are drawn at the same magnitude, while, vs,DTC (i.e. the length trajectory on the circular reference) is drawn by considering the total usage of the two possible voltages (as indicated by the dotted line with arrowhead shown in Figure 4.5). Note that, ∆δsr,1, ∆δsr,2 and ∆δsr,DTC are the respective angle of vs,h+1, vs,h+2 and vs,DTC. Based on the continuous rotation of the rotor flux as compared to the irregular rotation of stator 65 flux (as mentioned in Chapter 2), it can be seen that ∆δsr,1 is the largest when vs,h+1 is switched for case 1 and on the other hand, ∆δsr,2 is the largest when vs,h+2 is switched for case 2. In fact, if the sector is subdivided into subsectors i and ii based on (4.3), vector vs,h+1 will result in a larger ∆δsr throughout subsector i and vs,h+2 will give a larger ∆δsr throughout subsector ii. qΨs Case 1 0 ∆δsr,2 δsr vs,h+1 ∆δsr,DTC vs,h+2 ∆δsr,1 vs,DTC (a) ωΨs Ψs Ψr dΨs vs,h+2 vs,DTC vs,h+1 Case 2 qΨs (b) ωΨs 0 ∆δsr,2 ∆δsr,DTC ∆δsr,1 dΨs Ψs δsr Ψr Figure 4.5 Comparison of the load angle, ∆δsr for three different modes of switching under torque dynamic conditions (a) when the stator flux is about to enter sector h (b) when the stator flux is at the middle of sector h 66 According to the Equation (2.27), with a larger ∆δsr, vs,h+1 and vs,h+2 will give a faster dynamic torque response in the subsector i and ii, respectively. Thus, the proposed dynamic overmodulation method will only use the vs,h+1 when the flux is in the subsector i, otherwise it will only select the vs,h+2. The selection of the voltage is similar to that used in [42,50] that actually performs the stator voltage at the six-step mode. However, [42] uses complex DTC-SVM and [50] gives high current total harmonic distortion (THD) even operating at steady state conditions, as mentioned in Chapter 1. 4.4.2 The Proposed Control Structure In the proposed dynamic overmodulation method, the most optimized voltage vector that produces the largest tangential to the circular flux locus, is switched and held (instead of selecting two active voltage vectors) during torque dynamic to achieve the fastest dynamic torque control. As discuss in the previous section, if sector hth is considered, this would be vector vs,h+1 in subsector i and vector vs,h+2 in subsector ii. Figure 4.6 shows the structure of DTC-hysteresis based induction machine with the proposed modification of flux error status. Notice that all components of the DTC hysteresis-based scheme are retained, except for the inclusion of the ‘modification of flux error status’ block which is responsible to perform the dynamic overmodulation mode. The selection of the optimized voltage vector to give the fastest torque response can be simply done by modifying the flux error status (Ψs+) to a new flux status (Ψs-) before it is being fed to the look-up table. It is activated when the torque error ETe is greater than twice of the hysteresis band of torque controller, HBTe. On the other hand, the DTC will operate to the normal DTC switching operation (i.e. Ψs- = Ψs+) when the error of torque ETe reduces to zero. In doing so, the current distortion can only occur during torque transient which is relatively in very short period of time. 67 When the ‘modification of flux error status’ block is activated, the output of this block Ψs- depends on the flux position within a sector as shown in Figure 4.7. If it is in subsector i (i.e. in sector h), Ψs- = 0 hence vs,h+1 is selected and if it is in subsector ii Ψs- = 1, vs,h+2 is selected. The border of the sectors and subsectors can be easily calculated using the threshold values of Ψs,q, denoted as Ψsq,1 and Ψsq,2, which can be calculated as ( ) = Ψ sin (60 ) = Ψ ( ) tan (60 ) Ψ sq,1 = Ψ s sin 30 0 = Ψ sd tan 30 0 Ψ sq,2 0 s (4.4) 0 sd (4.5) Detail description on the hardware implementation of the modification of flux error status is presented in Chapter 6. + VDC Te,ref + ETe - Ψs,ref + EΨ - Torque hysteresis controller ΨsFlux Ψs+ Modification hysteresis of flux error sector controller status Ψsd Ψs Te Tstat Sa Lookup Table Ψsq Sb Sc Voltage source inverter (VSI) ia ib ic Voltage calculation vsd vsq Stator flux and electromagnetic torque estimators IM isq isd d-q current calculation Figure 4.6 Structure of DTC-hysteresis based induction machine with the proposed modification of flux error status 68 q Sector IV Sector III vs,5 Ψsq,2 Ψsq,1 Sector V Ψs- = 0 Ψs- = 1 vs,4 Ψs = 0 Ψ-=1 s vs,6 Ψs - = 0 Ψs- = 1 Ψs- Ψs- =1 Ψs- = 0 vs,1 Sector II =0 Ψs - = 1 vs,3 Ψs- = 1 Ψs- = 0 d Ψsq,1 Ψsq,2 vs,2 Sector VI Sector I Figure 4.7 The proposed digital outputs in modified flux error status correspond to the optimized voltage vectors for every subsector in each sector 4.5 Simulation and Experimental Results A brief description of the simulation method and experimental set up of the proposed dynamic overmodulation are presented. The simulations of the hysteresisbased DTC of induction motor, including the proposed method were performed using Matlab/Simulink package. The parameters of the DTC drive and induction machine used in the actual system are the same as the parameters used for the simulation. The feasibility of the proposed dynamic overmodulation to produce the fastest torque dynamic control in the DTC drive system was verified through simulations and experiments. Details of the simulation method and experimental set-up are given in Appendix D and Chapter 6, respectively. 69 4.5.1 Simulation of the Proposed Torque Dynamic Control The Simulink blocks of the DTC drive with the proposed block of ‘modification of flux error status’ are shown in Figure 4.8. The blocks of the DTC drive can perform into the dual mode of switching operations by toggling the Manual Switch 1. When the Manual Switch 1 is switched to the position DTC2, it will pass through the torque error signal ETe to the block of Modification of flux error status for detection of torque dynamic condition. In this case, the DTC drive works with the proposed dynamic overmodulation method. When the Manual Switch 1 selects to the position DTC1, the blocks of the DTC drive will never change the flux error status since the torque error ETe is assumed always zero, thus, the DTC will operate as usual. The block of Modification of flux error status has two main functions, i.e. to detect flux sectors and to perform dynamic overmodulation. Some block components inside this block are depicted in Figure 4.9. For identification, the tasks of the proposed block are grouped into two areas as marked in the Figure 4.9. The upper group area is responsible to determine the appropriate flux error status according to the flux sector and the threshold value of Ψsq,2 (as given in Figure 4.7). The bottom group area is assigned to determine the flux sector and the threshold values for each sector. The dynamic overmodulation mode is activated when a sudden large torque error detected by the Relay block (as hysteresis comparator) requests the Switch2 (as selector) to select the appropriate flux error status (i.e. Fstatnew = f-), otherwise, the Switch2 will select the original flux error status (i.e. Fstatnew = f+). Figure 4.8 Simulink blocks of the DTC drive with the proposed block of modification of flux error status 70 71 f- Figure 4.9 Identification of flux sector and determination of the appropriate flux error status in the block of modification of flux error status In order to set-up a step change of reference torque at a specific flux position, the quadrature-axis flux component is measured with the threshold value. For convenience, the evaluation of torque dynamic performance is considered only for flux positions in Sector II. As noticed in Figure 4.10, a step change of reference torque (i.e. from 1.5 Nm to 9 Nm) can be performed at two different flux positions by toggling the Manual Switch2. When the case1 is selected the step torque change 72 will occur as the flux at the middle of Sector II. If the case2 is chosen the step change of torque will occur as the flux is about to enter the Sector II (i.e. at the boundary of Sector I and Sector II). For a fair comparison and optimized DTC performance, the evaluation of torque dynamic performance is carried out as the control of flux is established at its rated condition (to avoid the test during the flux build-up or motor start-up). This can be simply done using a Step block where a step unit is applied to the Switch block so that any change reference torque from the output of Switch1 block is allowed to be selected by the Switch block as the Step block produces a signal 1. Figure 4.10 Generation of reference torque from 1.5 Nm to 9 Nm at a specific flux positions (i.e. case1 at the middle Sector II or case2 at the boundary Sector I and II) 73 4.5.2 Experimental Set-up This section briefly describes the experimental set-up used to verify the feasibility of the proposed dynamic overmodulation in the DTC drive. The detail description of the experimental set-up is given in Chapter 6. The experimental set-up as shown Figure 4.11 consists of a DS1102 DSP controller board, an Altera FPGA (APEX20KE), an IGBT inverter, gate drivers and isolation, an induction machine with a DC generator as a load. The control algorithm is implemented on a DSPACE 1102 and Altera FPGA (APEX20KE). The sampling period of the DTC scheme, including the proposed dynamic overmodulation is 55 µs. The DTC hysteresis-based system and induction machine parameters are given in the Table 4.1. Table 4.1 : DTC-Hysteresis based system and induction machine parameters Induction machine Rated power, P 1.5 kW Rated voltage, Vline,rated 400 V Rated current, is,rated 3.39 A Rated speed, ωm,rated 1410 rpm Rated torque, Te,rated 9 Nm Rated flux, Ψs,rated 0.892 Wb Stator resistance, Rs 5.5 Ω Rotor resistance, Rr 4.51 Ω Stator self inductance, Ls 306.5 mH Rotor self inductance, Lr 306.5 mH Mutual inductance, Lm 291.9 mH Number of pole pairs, P 4 DTC-Hysteresis based System Flux hysteresis band, HBΨ 0.045 Wb Torque hysteresis band, HBTe 0.9 Nm DC link voltage, VDC 240 V 74 Torque and flux input commands Tstat DS1102 DSP-Board Ψs+ sector ALTERA FPGA (APEX20KE) Oscilloscope Sa ,Sb,Sc Gate drive signals ia ib DC Gen. I.M Sa IGBTbased VSI Sa Sb Sb Sc Gate driver & isolation Sc Figure 4.11 Experimental Set-up (DTC with torque control loop) 4.5.3 Improved Torque Dynamic Control for Hysteresis-based DTC Some tests have been carried out to compare the performance of torque dynamic control in the basic DTC hysteresis-based with and without the proposed dynamic overmodulation. For the sake of identification, the DTC without the proposed overmodulation is referred as DTC1, while the one with the proposed dynamic overmodulation strategy is referred as DTC2. The dynamic torque control is performed by applying a step change of torque reference from 1.5 Nm to 9.0 Nm at two different stator flux positions. Based on Ψsd and Ψsq, a step change in the reference torque is introduced at α2=π/24 rad. (subsector i within Sector II) and at α2= π/6 rad. (subsector ii within Sector II). To make a fair comparison, the dynamic torque control in both DTC schemes were performed under the same load torque condition so that the rotor speed operated at around 410 rpm. The DTC hysteresisbased system and induction machine parameters are same to the parameters used for the simulation as given in the Table 4.1. 75 The simulation and experimental results for dynamic torque control introduced at α2=π/24 rad. and α2= π/6 rad. are shown in Figure 4.12 and Figure 4.13, respectively. As shown by these figures, the experimental results under these two conditions are in close agreement with that obtained through simulations. It can also be seen that for DTC1, two active voltage vectors are selected during the torque dynamic; this is indicated by the flux error status waveform which switches between 1 and 0. For the proposed overmodulation (DTC2), single flux error status is held hence only single vector is selected during the torque dynamic. The selected voltage vector, as discussed in the previous section, provides the fastest torque response. The effect of the proposed overmodulation on the stator flux locus for the two different stator flux positions can be seen from the simulation and experimental results as shown in Figure 4.14 and Figure 4.15. The shape and hence the magnitude of the stator flux are affected since single voltage vector is switched during the dynamic overmodulation. When the torque dynamic occurs in subsector i, single voltage vector that produces the fastest torque response is selected. This vector also increases the flux causing the flux locus to deviate from the circular locus momentarily as shown in Figure 4.14. On the other hand, when the torque dynamic occurs in subsector ii, a single voltage vector that gives the fastest torque response and at the same time reduces the flux is selected. This is indicated by the stator flux locus shown in Figure 4.15. For both cases, the deviation in the flux locus from the circular locus occurs momentarily during the torque dynamic. 76 Simulation results Experimental results Figure 4.12 Comparison by simulation and experimental of dynamic torque performance between (a) DTC1 and (b) DTC2, when a dynamic torque control occurs as the stator flux position at αh=π/24 rad. 77 Simulation results Experimental results Figure 4.13 Comparison by simulation and experimental of dynamic torque performance between (a) DTC1 and (b) DTC2, when a dynamic torque control occurs as the stator flux position at αh=π/6 rad. (at the middle of Sector II) 78 Simulation results Dynamic overmodulation Experimental results Dynamic overmodulation Figure 4.14 Comparison of stator flux locus obtained in (a) DTC1 and (b) DTC2 (for one complete flux wave cycle) when a dynamic torque condition occurs at αh=π/24 rad. 79 Simulation results Dynamic overmodulation Experimental results Dynamic overmodulation Figure 4.15 Comparison of stator flux locus obtained in (a) DTC1 and (b) DTC2 (for one complete flux wave cycle) when a dynamic torque condition occurs at αh=π/6 rad. 80 4.5.4 Improved Torque Dynamic Control for Constant Switching Frequency- based DTC The proposed dynamic overmodulation also can be incorporated in the DTC with a constant frequency torque controller (DTC-CSF). As discussed in Chapter 3, this scheme offers a constant switching frequency and reduced torque ripple [32]. Moreover, this scheme has a similar control structure with the hysteresis-based DTC, where all the components of the DTC are retained except the replacement of the torque controller. For a clearer picture, the control structure of DTC-CSF with the proposed block of ‘modification of flux error status’ is shown in Figure 4.16. For verifying the improvement of the proposed method in the DTC-CSF scheme the type of DTC-CSF2 as characterized in Chapter 3 is utilized. To make identification easier for this chapter, consider the DTC-CSF2 works with the proposed method. + VDC Te,ref + ETe - Ψs,ref + EΨ - CFTC (Figure 3.1) ΨsFlux Ψs+ Modification hysteresis of flux error sector controller status Ψsd Ψs Te Tstat Sa Lookup Table Ψsq Sb Sc Voltage source inverter (VSI) ia ib ic Voltage calculation vsd vsq Stator flux and electromagnetic torque estimators IM isq isd d-q current calculation Figure 4.16 Structure of DTC-constant switching frequency (DTC-CSF) based induction machine with the proposed modification of flux error status block 81 The experimental results of the DTC-CSF2 for a step change of torque from 1.5 Nm to 9.0 Nm at α2=π/24 rad. (subsector i within Sector II) and at α2= π/6 rad. (subsector ii within Sector II) are given in Figures 4.17 and 4.18, respectively. Note that, the step torque change for each case is performed under the same conditions as done for Figures 4.12 and 4.13. For the purpose of comparison, the experimental results obtained in the Figures 4.12 and 4.13 are presented again to the Figures 4.17 and 4.18, respectively. From these figures, it can be noticed that the DTC-CSF2 produces fast torque dynamic control, which is comparable to that of the basic DTC with the proposed method (DTC2). Furthermore, this scheme offers more advantages such that reduced torque ripple and constant switching frequency. (1) (2) (3) (4) (a) (b) (c) Figure 4.17 Comparison by experimental of dynamic torque performance for (a) DTC1, (b) DTC2 and (c) DTC-CSF2 when a dynamic torque control occurs as the stator flux position at αh=π/24 rad.. (1) is stator flux (Wb), (2) is flux error status, (3) is output torque (Nm) and (4) is torque error status 82 (1) (2) (3) (4) (a) (b) (c) Figure 4.18 Comparison by experimental of dynamic torque performance for (a) DTC1, (b) DTC2 and (c) DTC-CSF2 when a dynamic torque control occurs as the stator flux position at αh=π/6 rad.. (1) is stator flux (Wb), (2) is flux error status, (3) is output torque (Nm) and (4) is torque error status 83 4.5.5 Behavior of Motor Currents during Torque Dynamic Condition It is quite interesting to observe the behavior of motor currents as the flux magnitude is suddenly distorted due to the proposed switching strategy during torque dynamic condition. Figure 4.19 highlights the behavior of motor currents in the DTC2 when the torque dynamic control is applied at α2=π/24 rad. and α2=π/6 rad., at three different speed operations. From this figure, it can be seen that the three-phase stator currents show rapid change during torque dynamic, which relatively occurs in a very short period of time especially when the motor runs at about 100 rpm. Thus, the possibility of facing over-current problem is not serious as the sharp increases of currents occur within a very short period. It can also be noticed that the performance of dynamic torque control decreases (i.e produces slower torque response) as the motor speed operation increases. This is due to the fact that the rate of change of torque depends on operating conditions (i.e DC voltage, load torque, speed) which has been discussed in [23,26]. Nevertheless, regardless of the speed of operation, the torque response with the proposed dynamic overmodulation would give faster torque response when compared with the conventional DTC that uses two voltage vectors during torque dynamic. 84 Stator flux (Wb) Torque (Nm) Stator flux (Wb) Torque (Nm) (a) Case 2: αh=π/6 rad. Stator currents (A) Stator currents (A) Case 1: αh=π/24 rad. Time-axis 15ms/div Stator currents (A) Stator flux (Wb) Torque (Nm) Torque (Nm) (b) Stator flux (Wb) Stator currents (A) Time-axis 15ms/div Time-axis 15ms/div Stator currents (A) Stator flux (Wb) Torque (Nm) Torque (Nm) (c) Stator flux (Wb) Stator currents (A) Time-axis 15ms/div Time-axis 15ms/div Time-axis 15ms/div Figure 4.19 The behavior of motor currents since the flux magnitude suddenly distorted due to the proposed switching strategy as the dynamic torque occurs at αh=π/24 rad. and αh=π/6 rad. The dynamic torque control is applied at three different speed operations for (a) at around 100 rpm (b) at around 300 rpm (c) at around 540 rpm 85 4.6 Chapter Conclusions In this chapter, a simple dynamic overmodulation to achieve the fastest dynamic torque response in DTC hysteresis-based induction machine has been proposed. It has been shown that the fastest torque response can be achieved by selecting the most optimized voltage vector that produces the largest tangential to the circular flux locus. The selection of the optimized voltage vector is simply obtained by modifying the flux error status before it is being fed to the look-up table. The effectiveness of the proposed dynamic overmodulation method in the hysteresisbased DTC has been verified by simulation and experimentation as well as comparison with the conventional DTC. It is shown that the improvement of the proposed method can also be achieved in the DTC-CSF. CHAPTER 5 A WIDE-SPEED HIGH TORQUE CAPABILITY UTILIZING OVERMODULATION STRATEGY FOR DIRECT TORQUE CONTROL OF INDUCTION MACHINES 5.1 Introduction Until now, no study has been reported to carry out the overmodulation strategy in DTC hysteresis-based structure mainly due to the fact that in DTC hysteresis-based structure, unlike the DTC-SVM, there is voltage reference available. This chapter presents a simple overmodulation strategy employed in hysteresis-based DTC for induction machine drives. It is shown that the inverter voltage can be gradually transformed from PWM to six-step mode by changing the stator flux locus from circular to hexagonal shapes. In this way, an extension of a constant torque region can be achieved and hence results in higher torque capability in a field weakening region. The dual-mode control of flux locus (i.e. circular and hexagonal locus) is accomplished by modifying the flux error status in the proposed hybrid DTC. The improvement of the proposed strategy is verified through simulation and experimental results. 87 5.2 Torque Capability in DTC In practice, the maximum capability of torque can be achieved by operating induction machines at rated stator flux and inverter current limit (i.e. 150-200% of rated current machine). The maximum output torque at these operating conditions can be retained as long as the motor speed (or the stator flux angular frequency ωs) does not exceed its base speed (or ωs limit). This operating region is normally referred to as a constant torque region. In a constant torque region, the control at the maximum torque is determined by the slip angular frequency (ωs-ωr). It was shown in [59] that the angle δsr which plays a vital role in controlling the output torque is highly depending on the slip angular frequency (ωs-ωr). The relation of the angle δsr and the slip angular frequency as derived in [59] is given by (5.1). dδ sr λ Ψs + sin δsr = ωs − ωr dt στ r Ψ r (5.1) where τr is the rotor time constant, σ is the total leakage factor and λ is the ratio between mutual and stator inductances. The derivation of (5.1) is also given in Appendix C. Since the angle δsr mainly depends on the slip angular frequency, to maintain the output torque to its maximum value, the slip angular frequency must be always kept to its maximum value. This is typically established for speeds below the base speed. Figure 5.1 shows a phasor diagram of stator voltage equation (as given in (2.25)) under steady state conditions for operations below base speed (Figure 5.1(a)) and at base speed (Figure 5.1(b)). From this figure, it can be seen that the capability of torque decreases as the motor speed increases approaching the base speed. In the case of low speed operation, the stator flux angular frequency as well as the backemf, jωsΨs is small enough such that sufficient stator voltage can be generated to control both stator flux and torque, simultaneously. This means that the stator 88 voltage is sufficient to provide higher stator flux angular frequency for maintaining the maximum slip at this operating speed. At base speed (Figure 5.1(b)), the stator voltage vector touches the hexagonal stator voltage boundary limit. In this case, the stator flux angular velocity also reaches to its limit as the number application of zero voltages, which is ideally used to halt the flux, is almost zero. In fact, the usage of active voltage vectors becomes dominant (used to increase the ωs) at higher stator voltage and at the time the DTC algorithm gives more priority in controlling the flux compared to the torque at higher speed operations. If the motor speed is allowed to increase higher than the base speed, the slip will reduce and as a result the torque capability reduces. Hexagonal boundary limit Hexagonal boundary limit qΨs vs,h+1 vs,h+2 Current limit qΨs isRs vs,h+1 vs,h+1 Current limit isRs vs jωsΨs vs jωsΨs Ψs δsr Ψs dΨs δsr Ψr (a) dΨs Ψr (b) Figure 5.1 Phasor diagrams of vectors of stator voltage, ohmic voltage drop and back-emf for (a) low speed operation and (b) base speed operation 89 Hence, there are two options to further increase the speed beyond the base and at the same time to maintain the maximum torque capability: • Weaken the flux (in normal practice to be inversely proportional with speed), so that the magnitude of the vector jωsΨs is retained as the frequency increases. However, the d Ψs component of the stator current will be reduced. Under this condition, the average stator voltage will stay on the hexagonal boundary and the stator flux is regulated using two active voltage vectors. This is what happens in the DTC hysteresis-based drive where the flux locus is circular and no overmodulation is exploited in the stator voltage. • Operate the inverter in overmodulation mode, thus the average stator voltage will go beyond the hexagonal boundary limit. In normal practice, to obtain the maximum voltage vector (i.e. six step mode), the voltage vector reference of the space vector modulation is modified [40,41,42]. Once the six-step voltage is reached, to further increase the speed, the flux will have to be weakened. This method can be performed for the DTC based on space vector modulation. This method cannot be applied in DTC hysteresis-based drive because no stator voltage reference is available to implement the overmodulation. Basically both methods will ensure that (ωs-ωr) is kept to the maximum value. In the first method, the zero voltage vector is not used hence the angular speed of the stator flux will be increased. As the speed is increased, a more tangential voltage vector is selected hence higher stator flux angular speed is achieved. In the second method, the zero voltage vector is also not used. The angular speed of the stator flux is increased since instead of alternating between two vectors, a single voltage vector is gradually applied as the waveform gradually changed from PWM to six step mode. The flux will only be weakened once the sixstep voltage is reached. This means that in the second method, the constant torque region is extended since the voltage capability is increased. 90 The discussion above indicates that the control of maximum torque for a wider speed range is very much related to the ability to extend the limit of stator flux angular frequency or the stator voltage limit. In this thesis, a method that uses an overmodulation strategy is proposed. However, unlike other modulation strategies which used space vector modulation, the proposed method is based on the DTC hysteresis-based structure, which contains no voltage vector reference. 5.3 Improved Torque Capability with the Proposed Overmodulation Strategy This section presents the proposed overmodulation strategy to provide an extension of a constant torque region and hence improves capability of torque for a wide speed range operation. The overmodulation is achieved by gradually transforming the PWM voltage waveform to six-step mode. The method is different from the SVM based system where the reference stator voltage is available and overmodulation is achieved by modifying the reference voltage. 5.3.1 Extending the Stator Voltage Operation to Six-Step Mode In SVM based system, the overmodulation starts when the reference voltage vector goes beyond the stator voltage hexagonal trajectory. The reference voltage will be modified whenever it goes outside the hexagonal limits [41]. If the modified reference voltage moves along the hexagonal trajectory, the synthesized voltage will have no zero voltage vector. In DTC hysteresis-based drive, zero voltage vectors will not be selected when the actual (or estimated) torque does not reach the reference torque. In order to fully utilize the DC voltage, the stator voltage magnitude has to go beyond this limit and operate in six-step mode. However with the conventional hysteresis-based structure DTC drive, this is not possible. 91 With regards to the stator flux locus, when the reference voltage is sinusoidal, i.e. within the hexagon, the locus of the stator flux is circular (Figure 5.2(a)). As a matter of fact, when the stator voltage vector trajectory moves along the hexagon without any zero voltage vector application, the stator flux locus is still circular (Figure 5.2(b)). This is because without the zero vectors, the stator flux is still regulated by the two active vectors and hence will follow the circular locus reference, with limited stator voltage and angular flux frequency. To go around this problem what we need to do is to modify the output of the stator flux hysteresis comparator so that the selected voltage vector will transform stator voltage to six-step waveform. In the proposed overmodulation strategy, the stator flux locus is controlled to form hexagonal shape during motor acceleration. By doing so, lower harmonic components in stator current due to the hexagonal flux locus and six-step operations occur but only during acceleration (or deceleration). The proposed control structure to establish the hexagonal flux locus utilizing a hybrid DTC scheme will be explained in Section 5.4. When the motor accelerates, the back-emf increases therefore larger stator voltage is needed to satisfy the torque demand. The demand will be naturally fulfilled by the controller which will gradually drop the applications of zero voltage vectors as the speed increases. As the speed is further increased and no more zero voltage vector is available, the selection of voltage vector will naturally transform to six-step mode (Figure 5.2(c)). In other words by transforming the stator flux locus to the hexagonal shape, we provide the room for the stator voltage to increase beyond the hexagonal boundary and the torque demand will naturally transform the stator voltage from PWM to six-step mode. Figure 5.3 depicts the simulation results to compare the performance of stator voltage and torque capability for hysteresis-based DTC with and without the proposed overmodulation strategy. Apparently, a smooth transition of stator voltage from PWM to six-step mode is achieved with the proposed overmodulation strategy and hence extending the constant torque region. 92 Circular stator voltage locus confined within hexagon with two active and zero vectors Stator voltage moves along the hexagon limits with or without the zero voltage application Six-step mode: voltage vector stays momentarily at tips of hexagon vs,ref Controlled by two active and one zero voltage vectors (a) Ψs vs,ref (b) Ψs (c) Controlled by two active vectors and possibly with or without zero vector Stator flux moves from one tip to another as single voltage vector is applied Ψs (b) Phase voltage (V) Torque (p.u) (a) Phase voltage (V) Torque (p.u) Figure 5.2 The mapping of the voltage vector and the stator flux trajectories Figure 5.3 The comparison of the performances of stator voltage and torque capability for (a) DTC without the proposed overmodulation and (b) DTC with the proposed overmodulation (Time scale: 162.5 ms/div.) 93 5.3.2 Extending the Limit of Stator Flux Angular Frequency In the proposed method, the limit of the stator flux angular velocity is extended (via overmodulation) once the actual torque does not fulfill the demand. The overmodulation is initiated by transforming the stator flux locus to hexagonal shape. The core of the proposed method is to transform the stator flux locus from the circular to the hexagonal shaped and this is discussed in the next section. Once the locus is transformed to the hexagonal shape, only two voltage vectors (one active and one zero vectors) are used to control the stator flux. The zero voltage vectors will be gradually dropped as the stator flux angular speed need to be increased to maintain maximum torque capability as the motor accelerates. In other words, by dropping the zero voltage vectors, the angular speed of the stator flux will be naturally increased until finally six-step mode is reached. 5.3.3 Flux Weakening with Six-Step Mode In the flux weakening region, a higher capability of torque can be achieved as the proposed overmodulation strategy operates stator voltage in the six-step mode by continuously controlling the flux vector to form hexagonal locus. This thesis uses a conventional flux-weakening method [87] (in order to retain the simple control structure) but with a minor modification. Using the proposed method, the magnitude of the hexagonal stator flux is inversely proportional to the rotor speed when the motor operates beyond the base speed. However, a step reduction of 13.4% in the flux magnitude is applied as the hexagonal flux locus is immediately changed back to the circular locus when the motor speed reaches its target. The percentage of the step reduction is actually the maximum difference in magnitude of a hexagonal flux locus. For a clearer picture, the control of stator flux magnitude and its corresponding locus for a step change of reference speed from ωm,1 to ωm,2 is illustrated in Figure 5.4. This reduction is to ensure that the output torque can be well-regulated to its reference. In fact, higher level of flux reference (for this case which is without a step reduction) particularly at very high speed operations gives insufficient stator flux angular frequency (or appropriate slip) which may degrade the 94 output torque control, as discussed in [51]. In general, the reference flux in a flux weakening region can be written as: Ψ s,ref = Ψ s,rated ω base (1 − α.cos(π/6)) ωm (5.2) where Ψs,rated is the stator flux rated, ωm is the motor speed, ωbase is the base speed and α is used to activate the step reduction when α equals to 1 otherwise it is 0. For circular flux operation, α always equals to 0 and the base speed is denoted as ωbase,cir, that is ωbase = ωbase,cir. For hexagonal flux operation, the determination of α is based on motor speed as mentioned above and the base speed is denoted as ωbase,hex, thus ωbase = ωbase,hex. Taking into account that the base speed for each control method is defined as the maximum speed at which the maximum torque can be retained at the rated flux condition. Since the proposed overmodulation strategy (with hexagonal flux locus) offers an extended constant torque region and a wider speed range, so ωbase,hex is higher than ωbase,cir. 95 Notes: *performed/achieved in the proposed method. Motor speed ωm,2 Basic DTC with the proposed overmodulation and flux weakening strategy *ωbase,hex ωbase,cir Basic DTC with the conventional flux weakening method ωm,1 0 Stator flux reference t1 Time *∆trr,2 Stator flux plane ∆trr,1 q Ψs,rated (5.2) ∆13.4% Ψs α=0 *α=1 0 Time *Extension of constant torque region *Six-step mode Flux weakening region d Figure 5.4 More rapid motor acceleration achieved with the proposed overmodulation and flux weakening strategy when a step change of reference speed is applied at time t1 5.4 The Proposed Hybrid DTC Scheme The hybrid DTC scheme is proposed to facilitate the hysteresis-based DTC drive to operate in dual-mode flux control as follows. • Hexagonal flux control in which the operation is similar to the DSC [50]. This operation is utilized to achieve superior dynamic performance and to allow the DTC performs with the complete sixstep voltage (as mentioned previously). • Circular flux control which is the normal operation in DTC. This operation provides much lower current THD compared to that obtained in hexagonal flux control (or DSC operation). 96 In the proposed method, the hybrid DTC will only perform the hexagonal flux control during the dynamic conditions (i.e. motor acceleration or torque dynamic condition). In doing so, the current distortion due to the hexagonal flux control can only occur within a very short period. This section will discuss on how the control of hexagonal locus is established in hysteresis-based DTC. Then, the mechanism and condition for the transition between the circular and hexagonal stator flux locus is presented. 5.4.1 Hexagonal Flux Control in the Proposed Hybrid Scheme In general, it is possible to establish the control of hexagonal flux locus in the hysteresis-based DTC by modifying the lookup table as well as redefining the stator flux sector. This means that it is possible to interchangeably operate between DTC and DSC using the same control hardware. This method however is not suitable, especially when frequent switching and smooth transitions between the two schemes is required. To overcome this, the proposed hybrid scheme uses a simple technique to establish the hexagonal flux locus without the need to modify the lookup table and redefine the stator flux sector. Figure 5.5 shows the control structure of the hybrid DTC, which is similar to the conventional DTC control structure, however with an inclusion of the ‘modification of flux error status’ block. When the ‘modification of flux error status’ block is activated, the output of the hysteresis controller (i.e. the input to the block), Ψs+ is modified and becomes Ψsnew, thus, the stator flux locus will be transformed to hexagonal. Otherwise, when the block is not activated, Ψsnew follows the original flux error status Ψ+ and the flux locus remains circular. The activation of the block is performed whenever a dynamic condition is encountered and this is discussed further in Section 5.4.2. It can be shown that the generation of the appropriate flux error status Ψsnew and detection of six sectors as required in the conventional DTC operation can be merged in the same block. Hence, the DTC algorithm, including the modification of flux error status can be simplified to retain the simple algorithm. 97 + VDC Torque hysteresis controller Te,ref + - Tstat Eω Ψs,ref + EΨ - Ψsnew Flux Ψs+ Modification hysteresis of flux error sector controller status Ψsd Ψs Te Sa Lookup Table Ψsq Sb Sc Voltage source inverter (VSI) ia ib ic Voltage calculation vsd vsq Stator flux and electromagnetic torque estimators IM isq isd d-q current calculation Figure 5.5 The structure of hybrid DTC of induction motor drive with the proposed block of ‘modification of flux error status’ Figure 5.6 illustrates the formation of hexagonal locus based on the modified flux error status Ψs- as proposed in Chapter 4. Each sector in the stator flux plane is divided into two sub sectors; subsector i (unshaded area) subsector ii (shaded), the same as defined in Chapter 4. Ideally, to produce a hexagonal flux locus, the new stator flux error status Ψsnew has to be set according to Ψs- as illustrated in Figure 5.6. For an example, voltage vector vs,4 should be selected whenever the flux is located between middle of Sector II and middle of Sector III. From middle of Sector III to middle of Sector IV, voltage vector vs,5 should be chosen, and so forth. 98 q Ψs- = 1 Ψs- = 0 Sector III Sector IV ωs vs,5 Sector V vs,4 Ψs vs,6 vs,3 Sector II d vs,1 vs,2 Sector VI Sector I Figure 5.6 Ideal case of hexagonal flux control based on Ψs- However, in practice the use of Ψs- to attain the desired hexagonal flux locus as described above will not work. The locus of flux may “shrink” as the speed increases although the motor should be operated in a constant flux region. This problem is illustrated by a simulation result as shown in the Figure 5.7(a). In the simulation, the transition from circular to hexagonal locus starts at a (middle of Sector II). At point b (middle of Sector III), the flux fails to reach to its reference. The reduction will continue as the flux moves from one vertex to another, and eventually, the size of the hexagonal reduces. The shrinking of the hexagonal stator flux is due to the effect of ohmic voltage drop that causes the trajectory of flux motion not to align with the direction of the applied voltage vector. To explain this, consider the motion of flux from the point a (at the middle of Sector II) to the point b (at the middle of Sector III) as the vector vs,4 employed. A phasor diagram of the related component vectors (i.e. change of flux vector, applied voltage vector and ohmic voltage drop) is drawn based on the stator voltage equation (i.e. (2.25)), as 99 depicted in Figure 5.7(b). In this case the change of flux vector from a to b can be expressed as: ∆Ψ a − b = v s,z ⋅ ∆T z + v s,4 ⋅ ∆T 4 − i s R s ⋅ ∆T (5.3) where vs,z is the zero voltage vector (can be either vs,0 or v s,7), ∆Tz and ∆T4 are the respective switching period of vs,z and vs,4. Hence, the time taken for the flux vector travels from a to b is given by (5.4). ∆T = ∆T z + ∆T 4 (5.4) According to (5.3) and (5.4), the effect of ohmic voltage drop (isRs) that causes the reduction of flux is affected by ∆T, which is the summation of vs,z and vs,4. This indicates that, the operation described above (the selection of Ψs- as given in Figure 5.6) still become problematic even in the absence of zero voltage vector. In fact, no matter how small the deviation angle between the vectors of applied voltage and flux change (ø), the locus of hexagonal will still shrink (gradually) as the flux moves from one vertex to another vertex. 100 q-axis flux component, Ψsq(p.u) q b is Rs.∆T vs,4 .∆T4 a ø ∆Ψa-b vs,z .∆Tz d d-axis flux component, Ψsd (p.u) (b) (a) Figure 5.7 Effect of ohmic voltage drop on the trajectory of stator flux vector. (a) stator flux locus (b) phasor diagram of (5.3) The problem indicated in Figure 5.7(a) can be solved if the applied active voltage in increasing the flux magnitude in subsector i is maintained until the flux reaches to the circular reference (i.e. at point c), as illustrated in Figure 5.8. In this case, the flux travels from the point a to the point b (i.e. ∆Ψa-b) by applying the flux error status Ψs- as given in Figure 5.6. However, the flux error status as given in Figure 5.6 is modified to 0 as the flux enters to subsector ii, until the flux reaches to the point c (i.e. ∆Ψb-c). For convenience, the modification of Ψs- as mentioned above can be described by the following relations: Ψ s, mod − Ψ s − for = 0 for ∆Ψ a − b ∆Ψ b − c (5.5) where Ψs,mod- is the modified flux error status of Ψs- which is set as Ψsnew for proper hexagonal flux locus. In general, the generation of the modified flux error status Ψs,mod- to overcome the problem can be described by a state diagram of finite state machine as shown in Figure 5.9. 101 q Subsector ii vs,4 Subsector i c b Ψs,ref Ψs a d Figure 5.8 Flux keeps the increase as it enters to subsector ii until it reaches to the point c. (i.e. path b-c) with the Ψs,mod- = 0 Ψs,mod- = Ψs(as given in Fig. 5.6) Dynamic condition detected Ψs,mod- = 0 (as proposed in Fig. 5.8) Ψs always in subsector i Ψs in subsector i Initial state Ψs enters to subsector i Ψs in subsector ii - Ψs,mod = 0 (Ψs increases) Ψs enters to subsector ii and Ψs ≥ Ψs,ref Ψs,mod- = 1 (Ψs decreases) Ψs enters to subsector ii and Ψs < Ψs,ref Ψs < Ψs,ref Ψs,mod- = 0 (Ψs increases) Ψs in subsector ii and Ψs ≥ Ψs,ref Ψs always in subsector ii Figure 5.9 State diagram of finite state machine that establishes the modified flux error status (Ψs,mod-) for proper hexagonal flux locus operation 102 5.4.2 Definition of Dynamic Condition The control of hexagonal flux locus in the proposed hybrid DTC is activated when a sudden change of speed error Eω is greater than 5 rad./s. On the other hand, the hybrid DTC will operate circular flux locus as the motor under steady state conditions (i.e. Eω reduces to zero or motor speed satisfies its target). Figure 5.10 illustrates the selection of flux error status in the block of ‘modification of flux error status’ for hybrid DTC-DSC operation. The sudden change of speed error is detected using a two-level hysteresis comparator. In this case, the comparator output signal denoted as dyn is equal to 1, once the error of speed Eω is greater than 5rad./s. If not, the signal dyn is equal to 0, once the speed error reduces to zero. The selector will pick up the modified flux error status Ψs,modas Ψsnew, when dyn = 1, otherwise it will pick up the original flux error status Ψs+ as Ψsnew. Then, the new flux error status Ψsnew along with the sector information is fed to the lookup table to determine the most optimized voltages for excellent performance of induction machine drive. Taking into account that, the proposed hybrid DTC performs with a speed control loop, in such a way the error of speed can be set up, for activation of the hexagonal flux control. Thus, the references of torque and stator flux shown in Figure 5.5 are obtained from a PI speed controller and flux weakening algorithm (as given in (5.2)), respectively. In general, the block diagram of a PI speed controller and flux weakening algorithm can be illustrated as shown in Figure 5.11. 103 Block of modification of flux error status Selector: DTC or DSC operation Ψs+ dyn dyn Eω 1 0 (a) Ψs+ 5 dyn =0 Ψsnew dyn =1 Eω (b) Ψs,modDetermine Ψsaccording to subsector/sector (Figure 5.6) Ψsd Ψsq Modification of Ψsfor proper Hexagonal flux locus. (Figure 5.9) Ψs - sector Figure 5.10 The selection of flux error status in the block of modification of flux error status. (a) Original flux error status Ψs+ for circular locus (b) Modified flux error status Ψs,mod- for hexagonal locus PI controller & limiter ωm,ref Eω + kpw,kiw +Tlim -Tlim - ωm,ref Te,ref (to torque controller) Ψs,ref Ψs,ref (to flux controller) ωm ωm Flux weakening operation (as given in (5.2)) Figure 5.11 Block diagram of a PI speed controller and flux weakening algorithm 104 5.5 Simulation and Experimental Results The operation of the proposed overmodulation strategy to improve the capability of torque and hence gives more rapid motor acceleration in the hybrid DTC scheme was verified through simulations and experiments. A detail simulation method and experimental set-up are given in Appendix D and Chapter 6, respectively. This section presents a brief description of the simulation method and experimental set up of the proposed overmodulation and flux weakening strategy utilizing a hybrid DTC scheme. The simulations of the DTC hysteresis-based induction motor drive, including the proposed method were performed using Matlab/Simulink package at fixed sample rate, i.e. at 55µs. The parameters of the DTC hysteresis-based system and induction machine used in the actual system are same to the parameters used for the simulation. 5.5.1 Simulation of the Proposed Overmodulation and Flux Weakening Strategy in the Hybrid DTC Scheme The Simulink blocks of the complete DTC drive which consists of the subsystem blocks of the modification of flux error status and a PI speed controller including a flux weakening algorithm are shown in Figure 5.12. To perform the proposed overmodulation method in the DTC drive, the Manual Switch1 needs to select the position DTC2. This allows the error of speed is fed into the subsystem block of modification of flux error status for detection of dynamic conditions. On the other hand, the normal DTC operation is performed in the DTC drive when the Manual Switch1 selects the position DTC1. In this case, the block of the subsystem will never change the flux error status as the error Eω is assumed always to be zero. The block components used to construct the subsystem blocks of the modification of flux error status and a PI speed controller (including flux weakening algorithm) are depicted in Figures 5.13 and 5.14, respectively. For convenience, the 105 operations of each subsystem block can be briefly described as follows. • The Subsystem Block of Modification of Flux Error Status Most block components of the subsystem shown in Figure 5.13 are similar to that used in Chapter 4, which is as depicted in Figure 4.9. This means, the operation of the blocks such as defines the flux sector or subsector and determines the Ψs- are same as mentioned in Chapter 4. The only different between them can be noticed as indicated by the dashed line area in Figure 5.13 that includes some extra blocks to determine the Ψs,mod- for hexagonal flux operation. According to the operation described in Figure 5.9, when the flux is increasing, the block of Switch6 will select and hold the modflx- (i.e. Ψs,mod- ) equals to 0 (taken from Constant6) as long as the estimated flux (flx) is less than the reference flux (Fref). Note that, the increasing of flux is identified by comparing the previous output status of the modflx- with 0. Otherwise, the Switch6 block will pick up the modified flux error status (modflx) defined in Figure 5.6 as the modflx- (i.e. Ψs,mod- = Ψs-). The dynamic condition can be detected by measuring any sudden large change of speed error using a hysteresis comparator (the Relay block). When the dynamic condition is encountered, the Switch2 block will pick up the modified flux error status modflx- as the new flux error status Fstatnew (i.e. Ψsnew = Ψs,mod-), otherwise it will pick up the original flux error status f+ (i.e. Ψsnew = Ψs+). • The Subsystem Block of a PI Speed Controller including a flux weakening algorithm The block components in the subsystem shown in Figure 5.14 can be divided into two groups where the one which is enclosed by the dotted line represents the PI speed controller while the other one that is enclosed by the dashed line represents the flux weakening algorithm. The PI speed controller is implemented based on a discrete form using a Unit Delay block and gain blocks to represent the proportional gain (kpw), the Integral gain (kiw) and the sampling time (DT). To avoid overcurrent conditions, the reference torque obtained from the PI speed controller is limited at its rated value using a Saturation block. The Simulink blocks diagram of the flux weakening algorithm is constructed based on (5.2). For comparing the performance 106 of torque capability between the proposed flux weakening algorithm and the conventional, the manual switch blocks (i.e. Manual Switch2 and the Manual Switch3) are used. In this way, the conventional flux weakening algorithm will operate as the manual switch blocks select the position DTC1. On the other hand, the proposed flux weakening algorithm will perform as the manual switch blocks select the position DTC2 . The step flux reduction is applied once the signal α equals to 1 (i.e. when the motor reaches its target) and the signal is sensed using the Switch1 block. The Switch1 block will select the appropriate level of flux reference, which is based on equation (5.2). Note that, the base speed for the conventional flux weakening method is denoted as wb1 (or ωbase,cir), while the base speed for the proposed flux weakening method is designated as wb2 (or ωbase,hex). In order to avoid the stator flux weakens to very low values, the Saturation1 block is applied so that the variation of the calculated flux reference (i.e. during the flux weakening) is only allowed between the 0.892 Wb (at rated flux) and 0.3 Wb. controller and a flux weakening algorithm Figure 5.12 Simulink blocks of the DTC drive with the proposed block of modification of flux error status and the block of a PI speed 107 108 Figure 5.13 Identification of flux sector and determination of the appropriate flux error status Ψs,mod- (based on Figure 5.9), in the block of modification of flux error status 109 α Figure 5.14 Generation of references of torque and stator flux from a PI speed controller and flux weakening algorithm 110 5.5.2 Experimental Set-up This section briefly describes the experimental set-up to verify the improvements of the proposed overmodulation and flux weakening strategy in the hybrid DTC. The detail description of the experimental set-up is given in Chapter 6. The experimental set-up as shown in Figure 5.15 consists of a DS1102 DSP controller board, Altera FPGA (APEX20KE), an IGBT inverter, gate drivers and isolation, an induction machine with a DC generator as a load. The control algorithm is implemented on a DSPACE 1102 and Altera FPGA (APEX20KE). The sampling period of the DTC scheme, including the proposed method is 55 µ s. The hybrid DTC is performed with a speed control loop, where an incremental encoder (I.E) with 2048 p.p.r is employed for the speed feedback. A PI controller is utilized to establish the control of speed, and it is design such that the speed-loop bandwidth is 2-decade lower than the speed sampling frequency, i.e. about 62.83 rad./s. In this case, the bandwidth of the speed-loop is limited by the large sampling period of the speed which is at 1 ms and the torque loop is assumed as a pure gain. The DTC hysteresis-based system and induction machine parameters are given in the Table 5.1. Speed and flux input commands Tstat DS1102 DSP-Board Ψs+ sector ALTERA FPGA (APEX20KE) Oscilloscope Sa ,Sb,Sc I.E DC Gen. I.M Gate drive signals ia ib Sa IGBTbased VSI Sa Sb Sb Sc Gate driver & isolation Sc Figure 5.15 Experimental Set-up (DTC with speed control loop) 111 Table 5.1 : DTC-Hysteresis Based/Hybrid Systems and Induction Machine Parameters Induction machine Rated power, P 1.5 kW Rated voltage, Vs 400 V Rated current, is,rated 3.39 A Rated speed, ωm,rated 1410 rpm Rated torque, Te,rated 9 Nm Rated flux, Ψs,rated 0.892 Wb Stator resistance, Rs 5.5 Ω Rotor resistance, Rr 4.51 Ω Stator self inductance, Ls 306.5 mH Rotor self inductance, Lr 306.5 mH Mutual inductance , Lm 291.9 mH Combined inertia, J 0.0565 kg-m2 Combined viscous friction, B 0.0245 N.m.s Number of pole pairs, P 2 DTC-Hysteresis based and DTC Hybrid Systems Flux hysteresis band, HBΨ Torque hysteresis band, HBTe 0.045 Wb 1.0 Nm Proportional gain, kpw 3.548 Integral gain, kiw 1.538 Torque limit, Tlimit 9 Nm DC link voltage, VDC 240 V Base speed for the hexagonal flux locus, ωbase,hex 66 rad./s Base speed for the circular flux locus, ωbase,cir 57 rad./s 112 5.5.3 Improved Torque Capability for Hysteresis-based DTC The feasibility of the proposed overmodulation or/and flux weakening strategy in the hysteresis-based DTC is investigated to highlight the improvements. In this case, three different schemes based on the hysteresis controllers are introduced, which are referred as; • DTC-HYS1 which is the hysteresis-based DTC with the conventional flux weakening method. The reference flux is based on (5.2), where the α = 0 and ωbase = ωbase,cir, • DTC-HYS2 which is the hysteresis-based DTC with the proposed overmodulation strategy and the flux weakening method based on (5.2), where the α = 0 and ωbase = ωbase,hex, • DTC-HYS3 which is the hysteresis-based DTC with the proposed overmodulation strategy and the flux weakening method with the step reduction. The reference flux is based on (5.2), where ωbase = ωbase,hex and the step flux reduction is applied by changing the α from 0 to 1, at the instant or as the motor speed reaches its target. The performance of torque capability of each scheme, is evaluated by applying a step change of speed reference from 0.5 p.u to 2.8 p.u.. Figure 5.16 shows the experimental and simulations results of motor torque, stator flux, motor speed and stator phase voltage when the step change of reference speed is applied in DTC-HYS1 and DTC-HYS3. As shown by this figure, the experimental results of the schemes are in close agreement with that obtained through simulations. From this figure, it can be seen that the capability of output torque in DTC-HYS3 during the motor acceleration is higher than that obtained in DTC-HYS1 and hence gives faster motor acceleration. The proposed overmodulation strategy (utilized in DTC-HYS3 ) as discussed in previous section provides an extension of constant torque region and allows the stator voltage operates in complete six-step mode, particularly in flux weakening region. The exploitation of stator voltage in overmodulation region, i.e. a smooth transition from the PWM to 113 the six-step mode, in DTC-HYS3 can be clearly seen in the zoomed image which is also shown in Figure 5.16. Voltage Voltage Current (V) (V) (A) Speed (p.u) Speed (p.u) Voltage Voltage Current (A) (V) (V) Figure 5.16 Tref Stator flux (Wb) Stator flux (Wb) Tref Torque (Nm) Torque (Nm) Simulation results Zoomed image Zoomed image (a) (b) Comparison of capability of torque obtained in (a) DTC-HYS1 and (b) DTC-HYS3 (Time scale: 400ms/div.) 114 Tref Speed (p.u) Voltage Voltage Current (V) (V) (A) Voltage Voltage Current (A) (V) (V) Speed (p.u) Stator flux (Wb) Stator flux (Wb) Tref Torque (Nm) Torque (Nm) Experimental results Zoomed image Zoomed image (a) (b) Figure 5.16 Continued Figure 5.17 depicts the simulation and experimental results of motor torque and stator flux obtained in DTC-HYS2 and DTC-HYS3 under the same test condition. From this figure, it can be noticed that the capability of torque during motor acceleration is comparable but the regulation of output torque in DTC-HYS2 is poor when the stator flux locus returns to the circular shape because of the excessive flux reference. For this reason, the step reduction of the flux amplitude is applied in DTC-HYS3 at the instant the stator flux returns to the circular locus, i.e. when the reference speed is reached. By doing so, the DTC-HYS3 manages to provide better output torque control and higher capability of torque as depicted in Figure 5.17. 115 Simulation results (a) Torque (Nm) Tref Stator flux (Wb) Torque (Nm) Zoomed image (b) Torque (Nm) Tref Stator flux (Wb) Torque (Nm) Zoomed image Experimental results (a) Torque (Nm) Tref Stator flux (Wb) Torque (Nm) Zoomed image (b) Torque (Nm) Tref Stator flux (Wb) Torque (Nm) Zoomed image Figure 5.17 Comparison of torque control as the speed reaches its target for (a) DTC-HYS2 and (b) DTC-HYS3 (Time scale: 400ms/div.) 116 The simulation and experimental results of stator flux locus for DTC-HYS1 , DTC-HYS2 and DTC-HYS3 correspond to the results obtained in Figures 5.16 and 5.17 are depicted in Figure 5.18. Apparently, the step reduction of flux magnitude proposed in DTC-HYS3 fits into the hexagonal flux locus as the motor speed reaches its reference. On the other hand, the magnitude of circular flux locus in DTC-HYS2 which is identical to the magnitude of hexagonal flux locus gives a flux reference which is too high and hence causes poor performance of torque control at very high speed operation as shown in Figure 5.17(a). From Figure 5.18, it can also be noticed that the magnitude of the stator flux in DTC-HYS1 and DTC-HYS3 are similar as the Simulation results q-axis flux component motor speed reaches its reference. q-axis flux component q-axis flux component d-axis flux component (a) d-axis flux component (b) d-axis flux component (c) Figure 5.18 Stator flux locus correspond to the results obtained in Figures 5.16 and 5.17 for (a) DTC-HYS1, (b) DTC-HYS2 and (c) DTC-HYS3 117 q-axis flux component Experimental results q-axis flux component q-axis flux component d-axis flux component (a) d-axis flux component (b) d-axis flux component (c) Figure 5.18 Continued 5.5.4 Improved Torque Capability for Constant Switching Frequency-based DTC The proposed overmodulation and flux weakening strategy also can be incorporated in the DTC with a constant frequency torque controller (DTC-CSF) since the scheme has a similar control structure with the hysteresis-based DTC. For verifying the improvement of the proposed method in the constant switching frequency-based DTC, the type of DTC-CSF2 as characterized in Chapter 3 is utilized. To make identification easier for this chapter, consider the DTC-CSF2 performs with the proposed overmodulation and flux weakening method. 118 Figure 5.19 shows the experimental results of motor torque, stator flux, motor speed, stator current and stator phase voltage when a step change of reference speed from 0.5 p.u. to 2.8 p.u. is applied in DTC-HYS1, DTC-HYS3, DSC and DTC-CSF2 . Note that the DSC scheme is referred to the method proposed in [50], which introduced the hexagonal flux operation. In this thesis, the DSC can be performed using the proposed hybrid DTC by controlling the hexagonal flux locus for entire operating conditions. This can be simply obtained by feeding and holding a dummy large error signal into the block of modification of flux error status such that the dynamic condition is detected for any condition. To make a fair comparison, the DTC-HYS3, DSC and DTC-CSF2 use the same base speed (i.e. ωbase,hex) and all the schemes were performed under the same load condition. From this figure, it can be observed that the capabilities of torque obtained in DTC-HYS3, DSC and DTC-CSF2 during the motor accelerations are comparable and higher than that obtained in DTCHYS1. Although the DSC is known to offer superior dynamic performance, but this scheme produces high currents total harmonic distortions (THD) even operating in steady state conditions. As it can be seen from the Figure 5.19(c), the stator current in DSC has higher THD, when the motor speed at 0.5 p.u.. It also can be noticed that the DTC-CSF2 offers lower output torque ripple when the output torque is regulated at its reference. Phase Volt. Current (V) (A) Phase Volt. Current (V) (A) Speed (p.u) Speed (p.u) Stator flux (Wb) Stator flux (Wb) Torque (Nm) Phase Volt. Current (V) (A) Speed (p.u) Speed (p.u) Stator flux (Wb) Stator flux (Wb) Torque (Nm) Tref (c) Torque (Nm) Tref Torque (Nm) Phase Volt. Current (V) (A) 119 (a) Tref (b) Tref (d) Figure 5.19 Comparison performances of torque capability, current wave shape and torque ripple in (a) DTC-HYS1, (b) DTC-HYS3, (c) DSC and (d) DTC-CSF2 120 Finally, some experiments on torque dynamic performance in a flux weakening region were performed utilizing the DTC-HYS1, the DTC-HYS3 and the DTC-CSF2. The torque dynamic control for each scheme is performed by applying a step change of reference speed from 1.25 p.u. to 2.35 p.u. under the same load condition. As shown by Figure 5.20, it can be observed that DTC-HYS3 and DTCCSF2 result in a higher torque capability and hence a lesser acceleration time. Moreover, as discussed in the Chapter 4, the selection of voltage in the DTC-HYS3 and the DTC-CSF2 produce better torque dynamic response as depicted in Figure 5.21 (which is the zoomed image of Figure 5.20). Note that, a higher torque capability and a faster torque dynamic are achieved in the DTC-HYS3 and the DTCCSF2 due to the six-step voltage. From these figures, it also can be noticed that DTC-CSF2 provides more advantage in providing lower output torque ripple (as well Stator flux (Wb) Speed (p.u) Speed (p.u) (a) Voltage (V) Torque (Nm) Stator flux (Wb) Torque (Nm) Voltage (V) Voltage (V) Torque (Nm) Stator flux (Wb) Speed (p.u) as constant switching frequency) compared to the DTC-HYS3 scheme. (b) (c) Figure 5.20 Comparison by experimentation of torque capability in flux weakening region obtained in (a) DTC-HYS1, (b) DTC-HYS3 and (c) DTC-CSF2 (Time scale: 400ms/div.) 121 (a) Stator flux (Wb) Voltage (V) Voltage (V) Torque (Nm) Torque (Nm) Torque (Nm) Voltage (V) Switching of vector vs,4 Switching of vector vs,4 Stator flux (Wb) Stator flux (Wb) Switching of vector vs,4 and vs,3 (b) (c) Figure 5.21 Comparison of torque dynamic performance in a flux weakening region, obtained in (a) DTC-HYS1, (b) DTC-HYS3 and (c) DTC-CSF2 (which corresponded to the results obtained in Figure 5.20) (Time scale: 40ms/div.) 5.6 Chapter Conclusions A hybrid DTC drive with dual-mode control of flux locus for high performance induction machine has been proposed. It has been shown that the stator voltage can exploit the overmodulation region until to the six-step mode by controlling the flux locus into hexagonal shape. In such a way, an extended constant torque region and a higher torque capability for a wider speed range operation are achieved. The main benefit of the proposed hybrid scheme is its simplicity, where overmodulation mode can be performed without the needs to estimate of reference voltage, contrary to DTC-SVM approach. CHAPTER 6 DESCRIPTION OF THE EXPERIMENTAL SET-UP 6.1 Introduction This chapter describes the experimental set-up used for DTC of induction machine drive used in this thesis. The main components of the set-up consists of a DS1102 digital signal processor (DSP)-board, a field programmable gate arrays (FPGA), inverter power circuits and gate driver, and an induction machine with a DC generator as load. The complete drive system represented by the picture and the functional block diagram is shown in Figure 6.1. Only two of the three-phase stator currents (i.e. phase a and phase b) are measured using two Hall Effect current sensors and no voltage sensor is applied to measure the DC-link voltage VDC. The DC-link voltage VDC is assumed constant since the capacitor used is quite large to minimize the ripple of the rectified voltage. As shown by Figure 6.1(b), the 3-phase bridge rectifier is utilized to rectify the three-phase AC voltage from the variac transformer. The ratio of the transformer is adjusted appropriately to get the desired DC voltage which is 240V. Detail description on each component of hardware is given in the following sections. 123 (a) Gate driver 3ø Gate driver Gate driver C I.M Gate driver Gate driver sa sa sb D.C Gen. I.E Gate driver sb sc sc FPGA (APEX20KE) Tstat (2-bit) 0 5V Dynamic condition Ψs(1-bit) DS1102 DSP-board ADC 12-bit 4-channel Sector (3-bit) DAC 12-bit I.E DSP interface TMS320 ADC C31 16-bit Oscilloscope ia ib Host computer (b) Figure 6.1 Complete drive system (a) picture of the experiment set-up, (b) functional block diagram of the experiment set-up 124 6.2 DS1102 Controller Board The DS1102 controller board manufactured by digital signal processing and control engineering (dSPACE), Gmbh, Germany is ideally suitable for development of advanced machine control. The hardware platform is composed by a MasterSlave DSP board where a TMS320C31 floating point DSP as the main processor and a TMS320P14 as the co-processor [88]. The software platform has a friendly user interface which allows designers to modify algorithms in real-time. The board is attached to the PC via a standard PC AT interface bus. Some of the core features available on this board are: • Four 12-bit digital to analogue converters (DAC) with ±10V output range. • Two 16-bit analogue to digital converters (ADC) and two 12-bit ADCs. All the ADCs with ±10V input range. • Two channels for I.E interface with 8.3MHz maximum count frequency. Most of the major tasks of the DTC algorithm and the proposed algorithms are executed using the DS1102, which include: • Estimations of stator flux and torque. The stator flux and torque are estimated as described in Chapter 2. The discrete form of the estimations sampled at 55 µs. The source code listing for the estimations are given in Appendix E. • Detection of stator flux sector. The sectors of stator flux as defined in Figure 2.7 of Chapter 2, can be simply obtained based on the comparison between the estimated d and q flux components with their respective threshold values (which divide the border of the sectors). From Figure 6.2(a), it can be noticed that the threshold values are 0 for Ψsd and Ψsq,1 for Ψsq. The threshold value of Ψsq,1 is given by (4.4) in Chapter 4. The determination of the sectors based on the threshold values can be described by the flow chart as shown in Figure 6.2(b). The sector information is coded using the Gray code to prevent the glitch problem which may cause incorrect voltage vectors selection and hence the instability to the 125 system. In such a way, only one bit is changed from one sector to another. For example, the sequence of sector: I-II-III-IV-V-VI- I with the Gray code the sequence is coded as 100-110-010-011-111-101 instead of using natural binary code 001-010-011-100-101-110-001. The digitized signal of sector information is passed to the FPGA (APEX20KE) via 3-pin digital output. q Sector IV Ψsq,1 Ψsq,1 Sector III Ψsq,1 30 0 Sector II Sector V d Ψsq,1 Sector VI Sector I (a) Figure 6.2 Identifying sectors of the stator flux (a) definition of Ψsq,1, (b) determining sector based on threshold values, i.e. 0 and Ψsq,1 126 Get the value of Ψsq,1 using (4.4) Ψsd ≥ 0 Yes No Ψsq ≥ 0 No Ψsq ≥ -Ψsq,1 Sector VI No No Sector V Yes No Yes Ψsq ≤ Ψsq,1 Yes Ψsq ≥ 0 Ψsq ≤ -Ψsq,1 Yes Yes Sector VI Sector I Ψsq ≥ Ψsq,1 No No Sector II Yes Sector III (b) Figure 6.2 Continued • Modification of flux error status. As mentioned in Chapter 5, the generation of the appropriate flux error status Ψs- and detection of six sectors as required in the conventional DTC operation can be merged in the same block. Hence, the DTC algorithm, including the modification of flux error status can be simplified to retain the simple algorithm. Figure 6.3 shows the combination of tasks of the detection of sectors (in dashed line box) and the generation of Ψs-. The generation of the appropriate Ψs- for every subsector (as defined in Figure 4.7) is obtained using the threshold values of Ψsq, which are 0 and Ψsq,2 as given in (4.5). For the hexagonal flux operation, the Ψs- is needed to be modified further to produce the Ψs,mod- as described in Chapter 5 (given in Figure 5.9). The modified flux error status Ψs- (for Chapter 4) or Ψs,mod- (for Chapter 5) is then passed to the FPGA via a single digital output pin (1 bit), to select the optimized voltages. 127 Get the values of Ψsq,1 and Ψsq,2 using (4.4) and (4.5) Ψsd ≥ 0 No Yes Ψsq ≥ 0 No Ψsq ≥ -Ψsq,1 No No Yes Yes No Yes Ψsq ≤ Ψsq,1 Yes Ψsq ≥ 0 Ψsq ≤ -Ψsq,1 Ψsq ≥ Ψsq,1 No No Yes Yes Sector VI Sector V Sector VI Sector I Sector II Sector III Ψsq ≥ Ψsq,2 Ψsq ≥ 0 Ψsq ≥ -Ψsq,2 Ψsq ≥ -Ψsq,2 Ψsq ≥ 0 Ψsq ≥ Ψsq,2 No No Ψs- = 1 Ψ s- = 1 No No Ψs- = 1 Yes Yes Ψ s- = 0 Ψs- = 0 Yes Ψs- = 0 Ψ s- = 0 Yes Ψs- = 1 No No Ψs- = 0 Ψs- = 0 Yes Yes Ψs- = 1 Ψs- = 1 Figure 6.3 Identifying sectors of the stator flux (a) definition of Ψsq,1, (b) determining sector using Ψsq,1 • Detection of Dynamic Condition. The dynamic condition can be either a sudden large torque error (for Chapter 4) or a sudden large speed error (for Chapter 5). The implementation of the detection is made using a two-level hysteresis comparator as mentioned in both chapters. To prevent any detection of dynamic conditions due to large error during a motor start-up, an external toggle switch is used (as shown in Figure 6.1(b)), which is connected to the ADC. Any change of reference torque or speed (i.e. a unit step change) at the target flux position, implemented by the software, is disabled when the toggle switch selects 0V. When the switch selects the 5V, and the flux meets its target position, the reference changes and holds to its target. The reference will re-operate to its 128 initial value if the switch selects the 0V (i.e. reset mode). The source code listing of the detection of the dynamic condition is given in Appendix E. • Transformation of the currents and voltages from three-phase to two-phase (d-q). The d-q equations of stator current and stator voltage are used to estimate the stator flux and torque. As described in Chapter 2, the d-q equation of stator current is obtained using a Clark Transformation, while the d-q equation of stator voltage is constructed based on the switching pattern of VSI. • Flux controller. The two-level hysteresis comparator is implemented totally in software. The output of the comparator Ψs+ is represented by a single bit since it can only be either 1 (to decrease flux) or 0 (to increase flux). Thus, the output is passed to the FPGA (APEX20KE) via 1-pin of digital output. • Torque controller. The implementation of torque controllers such as three-level hysteresis comparator (for DTC-hysteresis based) and constant frequency torque controller (DTC-CSF based) are implemented entirely in the software. Two bits are required to carry the information of the torque error status Tstat which can be either -1,0 or 1. The digitized signal of Tstat is passed to the FPGA (APEX20KE) via 2-pin of digital output. For the constant frequency torque controller implementation, the triangular carrier is constructed based on the Figure 3.3 as given in Chapter 3, where the carrier frequency is limited by the sampling frequency. • Speed controller. The train of pulses from incremental encoder (2048 p.p.r.) is fed to the I.E interface channel on the controller board. The speed is approximately obtained by scaling the total count of pulses for every 1 ms with the appropriate gain. The closed-loop speed employs a PI controller which is entirely performed in the software. 129 • Flux weakening operation. The implementation of the reference flux in a flux weakening region is based on equation (5.2). The speed used in the equations is obtained from the calculation made in the speed controller. 6.3 Altera Field Programmable Gate Array – APEX20KE To provide high performance of DTC drive, particularly in reducing the output torque ripple, it is desirable to minimize the sampling period of DSP by distributing some of the main tasks of DTC, to be implemented in the FPGA. In this thesis, an Altera Field Programmable Gate Array (FPGA) from APEX20KE device family is utilized (as shown in Figure 6.4), which can configure complex integrated logic circuits or combinational functions such as logic gates, memory elements as well as the sequential functions like flip-flops and latch. The logic circuits is constructed based on text models namely VHSIC hardware description language (VHDL). Using a synthesis program which is Altera Quartus II, the written VHDL code is compiled to a configuration data, and downloaded to the device. Figure 6.4 Altera FPGA (APEX20KE) 130 In general, the block diagram of the tasks performed by the Altera FPGA can be shown in Figure 6.5. The tasks performed by the Altera FPGA are summarized as follows. • Voltage vectors selection table. The implementation of the voltage vectors selection is based on the Table 2.1 of Chapter 2. As shown by Figure 6.5, the selection voltage vector (SaSbSc) is accessed by the 6-bit of indextable, which represents the torque error status (2-bit), the stator flux error status (1 bit) and the stator flux orientation (3-bit). The selection of voltage vectors (or switching states) is implemented using three multiplexers. The outputs from multiplexers (i.e. Sa, Sb and Sc) are passed to the blanking time generator, before they are fed to the gate drivers. • Blanking time generation. To avoid short circuit within a leg of VSI, a blanking time about 2µs is implemented for each leg. For convenience, the operation of blanking time generation for the leg of phase a is described, with the aid of the block diagram and timing diagram as shown in Figure 6.6 and Figure 6.7, respectively. The signal S1 is the switching state for phase a which is obtained from the voltage vectors selection table. The block of MOD18 is assigned to divide the general clock frequency of FPGA to 540ns (i.e. 18 x 30 ns). The signals a and d are the respective output of the upper and lower counter. The upper counter (or lower counter) will count up by 1 for every 540 ns when the S1 is high (or low), otherwise the counter will be reset to zero. By comparing signals a and d with a constant value of 4, the blanking time is approximated to 2µs. Increasing or decreasing the constant value of 4 will enlarge or reduce the blanking time, respectively. Note that, the signals Supper1 and Slower1 are for the upper and lower devices of the leg of phase a of VSI. The blanking time generator is duplicated for the other two phases to perform the same effect. The outputs of six signals from the three-phase blanking time generators are then fed to the six gate driver circuits. 131 The design of VHDL code to perform all the tasks requires multiple architectures and configurations. For convenience, the VHDL code for each task or functional block (as described above) is given in Appendix F. Blanking time generation Voltage vectors selection table indextable Sa Sb Sc j k l address 6-bit Supper1 Supper2 Supper3 Slower1 Slower2 Slower3 S1 S2 S3 clock Supper1 Supper2 Supper3 Slower1 Slower2 Slower3 clock Figure 6.5 Block diagram of voltage vectors selection table and blanking time generation h Clkout MOD 18 Clock Clk Clk a Upper Cin1 uc1 Counter 16-bit Cout1 Supper1 Clear1 Comparator S1 1 if Cin > 4 Cout = 0 if Cin ≤ 4 Clear1 d Lower Cin4 lc1 Counter 16-bit Cout4 Slower1 Clk Figure 6.6 Block diagram of blanking time generation for a single leg (i.e. phase a) 132 540ns h S1 4 a 4 d Supper1 Slower1 Figure 6.7 Timing diagram of blanking time generation for a single leg (i.e. phase a) 6.4 Gate Drivers and 3-Phase Voltage Source Inverter (VSI) There are two reasons of using the gate driver when working with control electronic part and power converter. The first is that the signals produce from the controller board (i.e. FPGA) are not sufficient to drive the power switches, thus, the gate driver is used to amplify the power signals at the appropriate level. The second is that for the safety and proper operation in which the six signals used to drive the power switches must be electrically isolated to each other. Figure 6.8 shows the schematic diagram of a gate driver circuit for an IGBT [89]. A gate driver board is powered by 5V DC supply, and it requires only an input digital signal from the FPGA (which is low power) to drive a single IGBT. The amplification and isolation are made using two pulse transformers. To switch ON the IGBT, the signal of 5V from FPGA is stepped up to 15V with sufficient gate 133 current, otherwise the IGBT is OFF when the signal from FPGA is 0V. For threephase VSI, six gate driver circuits are implemented to drive the six IGBTs. Figure 6.8 Schematic of the gate driver circuit The implementation of the 3-phase voltage source inverter consists of 3 units IGBT module, in which each module consists of two IGBT (i.e. upper switch and lower switch). These IGBT modules are manufactured by SEMIKRON with the part number SKM 50GB 123D which rated at 1200V and 50A. To avoid any sharp rise in voltage across the IGBT (which can damage the switching devices and also cause electromagnetic inference to other circuits) the simplest Snubber circuit is implemented. A capacitor Snubber is connected across each IGBT module of the 3phase VSI, as shown in Figure 6.9. 134 Finally, the picture of the gate drivers and the 3-phase VSI with capacitor snubber circuits is shown in Figure 6.10. + Upper switch Upper switch G E VDC - G C E G C E b a Lower switch Upper switch Lower switch c Lower switch G G G E E E Figure 6.9 Schematic of the IGBT module with the capacitor Snubbers Figure 6.10 Gate drivers and VSI C 135 6.5 Induction Machine The induction machine used in the experiment is manufactured by WattEusas Motor. It has 2 pole pairs with three phase stator windings and a squirrel cage rotor. It has a rated power of 1.5kW, rated voltage of 400V, rated frequency of 50Hz and with rated speed of 1410 rpm. The motor’s parameters are determined based on the blocked rotor and no load tests. The induction machine is coupled to a DC machine which acts as a load. The DC machine is manufactured by Baldor Electric Company, and it is rated at 2kW. A test is also conducted on the coupling of these two machines to determine the combined inertia as well as viscous friction [78]. The actual motor parameters which are obtained from these tests are also used in the simulations and are given in Table 6.1. Assuming the expression of r.m.s line-line output voltage of the inverter in terms of DC link voltage is given by Vline-line = VDC/√2 = 0.7071VDC. The DC link voltage used in this experiment is limited to 240V, thus the maximum line-line output voltage that could be supplied to the induction machine is 169.7V. To maintain rated magnetic flux, the maximum synchronous speed is decreased to 636.3 rpm (66.64 rad./s) in proportion with the reduction of the line-line voltage. At the rated slip frequency of 89.89 rpm (9.42rad./s), the maximum rotor speed to maintain rated flux is 546.41 rpm (57.22 rad./s). 136 Table 6.1 : Induction machine parameters Induction machine Rated power, P 1.5 kW Rated voltage, Vs 400 V Rated current, is,rated 3.39 A Rated speed, ωm 1410 rpm Stator resistance, Rs 5.5 Ω Rotor resistance, Rr 4.51 Ω Stator self inductance, Ls 306.5 mH Rotor self inductance, Lr 306.5 mH Mutual inductance, Lm 291.9 mH Combined inertia, J 0.0565 kg-m2 Combined viscous friction, B 0.0245 N.m.s Number of pole pairs, P 2 Figure 6.11 A coupling between induction machine (right) and DC machine (left) 137 6.6 Chapter Conclusions This chapter has described the main components used in the experimental setup for the conventional and proposed DTC. These include: • the controller board DS1102, • Altera FPGA, • 3-phase VSI and gate drivers, and • induction machine and DC generator. Detail descriptions of the tasks performed by the DS1102 controller board and the FPGA have been presented. The parameters and specifications of each hardware component in realizing the complete DTC system have also been given. CHAPTER 7 CONCLUSIONS AND FUTURE WORK 7.1 Conclusions This thesis has presented dynamic performance improvements through overmodulation strategy for DTC of induction machine drives. The use of SVM has been addressed as the well-established approach in facilitating the DTC to perform overmodulation mode as well as to solve the inherent problems in hysteresis-based DTC. The use of SVM in DTC, however, complicates the simple control of DTC; since it requires complex calculation to estimate and hence to modify the reference voltage. Instead of resolving the problem using SVM, this thesis has introduced alternative methods. Two improvements on the DTC drive have been proposed in this thesis, which are as follows. 1) Improvement on torque dynamic control. 2) Improvement on torque capability in field weakening region. The effect of selecting two possible voltage vectors within a sector on torque dynamic performance has been presented and analyzed. Among them, one of which is the most optimized voltage (that produces the largest tangential flux component) has been proposed to be selected to give the fastest torque dynamic control. Without requiring major modifications on DTC hysteresis based structure, only a block of modification of flux error status has been introduced to select the voltage. This has led a simple dynamic overmodulation in the DTC drive. The improvement of the 139 proposed dynamic overmodulation has been verified by simulation and experimentation as well as the comparison with the conventional DTC. A simple overmodulation strategy for hysteresis-based DTC has been proposed to enhance torque capability in a flux weakening region. The control of hexagonal flux locus during a motor acceleration condition has been proposed to give superior dynamic performance (i.e. faster motor acceleration). In this way, it has been shown that a smooth transition of stator voltage from PWM to the six-step mode is accomplished for extending a constant torque region and hence allows the six-step operation in a flux weakening region for enhancing torque capability. To perform a dual-mode flux control, a hybrid DTC drive which is based on modification of flux error status has been developed. The effectiveness of the proposed overmodulation strategy in providing higher torque capability as well as excellent dynamic performance was verified by simulations and experiments. The two improvements mentioned above can also be achieved by incorporating the proposed methods in the constant switching frequency based DTC scheme (DTC-CSF). This thesis also has suggested using the DTC-CSF instead of using the common approach DTC-SVM, in providing constant switching frequency and reduced torque ripple. With a limited sampling frequency, it has shown that the torque ripple can be significantly reduced by enlarging the switching frequency of the torque controller. 7.2 Future Work Several recommendations for future work are listed as follows: (a) Replacing the conventional flux weakening method with the one that has estimated the optimized reference flux. A higher torque capability obtained in this thesis is due to the six-step operation as well as the higher limit of stator flux angular frequency. With the optimized 140 reference flux plus the six-step operation, the maximum torque capability can be achieved for the entire speed range of operations. (b) Improving the proposed overmodulation strategy. In this thesis, the proposed overmodulation is activated by immediately changing the circular flux locus into the hexagonal shape. This may cause overcurrent condition at the instant the circular locus changes to hexagonal. To avoid overcurrent problems, the flux locus should be changed gradually from circular to hexagonal. This is possible by gradually increasing the ‘holding angle’ from zero to π/6 rad.. The definition of the ‘holding angle’ is similar to that proposed in [41]. However, [41] applies the holding angle in the stator voltage plane and uses SVM technique. (c) Performing the DTC algorithm calculation totally in FPGA. In this thesis, the sampling frequency is limited by the speed of DSP, which is still not sufficient for reducing the torque ripple at least 5% of the rated torque. The ripple needs to be reduced in order to emphasize the improvements. Some efforts have been made to reduce the ripple since the motor has quite low inductance values (that gives sharp torque slope). These include the use of DTC-CSF, combined DSP and FPGA and the last option is to limit the DC-link voltage to 240V. By performing all the DTC algorithms in FPGA (with high sampling frequency), the torque ripple can be greatly reduced even at the full rated motor conditions (i.e. rated voltage). It should be noted that operating at full rated motor would further enhance the improvements since higher DC voltage will result in a higher rate of change of torque and a wider speed range operation. (d) Replacing the PI control with a fuzzy control for constant frequency torque controller (CFTC). Currently, the reduction of torque ripple is achieved with a proper design of PI controller that requires knowledge of machine parameters. Furthermore, the torque regulation somehow creates oscillations when the motor operates at the worst conditions 141 (i.e. at a very low speed and at base speed operations). This effect can be clearly seen in Figure 3.7, particularly in the case of DTC-CSF3 (where a small number of steps per cycle is used to generate the triangular). With a fuzzy control, the operation becomes robust, thus it might be possible to establish proper control of torque for the entire speed range of operations. REFERENCES 1. Blaschke, F., The principle of field orientation as applied to the new Transvektor closed-loop control system for rotating field machines. 1972. 34: 217-220. 2. Gabriel, R. and Leonhard, W., Microprocessor control if induction motor. Proc. IEEE-IAS Int Semiconductor Power Conv Conf., 1982. 538-545. 3. Nordin, K.B., Novotny, D.W., and Zinger, D.S., The influence of motor parameter deviations in feedforward field orientation drive systems. IEEE Trans Ind. Appl. , 1985. IA-21(4). 1009-1015. 4. Krishnan, R. and Doran, F.C., Study of parameter sensitivity in high performance inverter-fed induction drive system. IEEE Trans Ind. Appl., 1987. IA-23(4). 623-635. 5. Sugimoto, H. and Tamai, S., Secondary resistance identification of an induction motor applied model reference adaptive system and its characteristics. IEEE Trans Ind. Appl., 1987. IA-23(2). 296-303. 6. Khater, F.M.H., Lorenz, R.D., and Novotny, D.W., Selection of flux level in field-oriented induction machine controllers with considerations of magnetic flux saturation. IEEE Trans Ind. Appl., 1987. IA-23(2). 276-281. 7. Jansen, P.L. and Lorenz, R.D., A physically insightful approach to the design and accuracy assessment of flux observers for field oriented induction machine drives. IEEE Trans Ind. Appl., 1994. 30(1). 101-110. 8. Jansen, P.L., Lorenz, R.D., and Novotny, D.W., Observer based DFO: Analysis and comparison of alternative methods. in Proc. IEEE-IAS Annual Meeting, 1993. 536-543. 9. Habetler, T.G., Profumo, F., Griva, G., Pastorelli, M., and Bettini, A., Stator resistance tuning in stator flux field-oriented drive using an instantaneous hybrid flux estimator. IEEE Trans Power Electronics, 1998. 13(1). 125-133. 143 10. Shauder, C., Adaptive speed indentification for vector control of induction motors without rotational transducers. IEEE Trans Ind. Appl., 1992. 28(5). 1054-1061. 11. Kubota, H., Matsuse, K., and Nakano, T., DSP-based speed adaptive flux observer of induction motor. IEEE Trans Ind. Appl., 1993. 29(2). 344-348. 12. Tajima, H. and Hori, Y., Speed sensorless field orientation control of the induction machine. IEEE Trans Ind. Appl., 1993. 29(1). 175-180. 13. Takahashi, I. and Noguchi, T., A New Quick-Response and High-Efficiency Control Strategy of an Induction Motor. IEEE Transactions on Industry Applications, 1986. IA-22(5). 820-827. 14. Tiitinen, P., The next generation motor control method, direct torque control. Proc. of Int. Conf. on Power Electronics, Drives and Energt System for Industrial Growth, N. Delhi, India, 1996. 37-43. 15. ABB Industry Oy Finland Direct torque control. Tehnical Guide No. 1, 1999. 16. Abe, T., Habetler, T.G., Profumo, F., and Griva, G., Evaluation of a high performance induction motor drive using direct torque control. PCC Yokohama, 1993. 444-449. 17. Takahashi, I. and Noguchi, T., Take a look back upon the past decade of direct torque control. 23rd International Conference on Industrial Electronics, Control and Instrumentation (IECON97), 1997. 456-551. 18. Hu, J. and Hu, B., New integration algorithms for estimating motor flux over a wide speed range. IEEE Trans Power Electronics, 1998. 13(5). 969-976. 19. Bird, I.G. and Zelaya De La Parra, H., Practical evaluation of two stator flux estimation technique for high performance direct torque control. In Conf. Rec., Power Electronics and Variable Speed Drives, No. 429, 1996. 465-470. 20. Monti, M., Pironi, F., Sartogo, F., and Vas, P., A new state observer for sensorless DTC control. in Conf. Rec., Power Electronics and Variable Speed Drives, No. 456, 1998. 311-317. 21. Li, Y., Shao, J., and Si, B. Direct torque control of induction motor for low speed drives considering discrete effects of control and dead-time of inverter. in Industry Applications Conference, 1997. Thirty-Second IAS Annual Meeting, IAS '97., Conference Record of the 1997 IEEE. 1997. 144 22. Jun-Koo, K. and Seung-Ki, S. Torque ripple minimization strategy for direct torque control of production motor. in Industry Applications Conference, 1998. Thirty-Third IAS Annual Meeting. The 1998 IEEE. 1998. 23. Casadei, D., Serra, G., and Tani, A. Analytical investigation of torque and flux ripple in DTC schemes for induction motors. 23rd International Conference on Industrial Electronics, Control and Instrumentation, 1997. IECON 97. 1997. 24. Casadei, D., Grandi, G., Serra, G., and Tani, A., Effect of flux and torque hysteresis band amplitude in direct torque control of induction motor. In Conf. Rec., IEEE-IECON'94, 1994. 299-304. 25. Noguchi, T., Yamamoto, M., Kondo, S., and Takahashi, I., Enlarging switching frequency in direct torque-controlled inverter by means of dithering. IEEE Transactions on Industry Applications, 1999. 35(6). 1358-1366. 26. Kang, J.W. and Sul, S.K., Analysis and prediction of inverter switching frequency in direct torque control of induction machine based on hysteresis bands and machine parameters. IEEE Transactions on Industrial Electronics, 2001. 48(3). 545-553. 27. Jun-Koo, K., Dae-Woong, C., and Seung-Ki, S. Direct torque control of induction machine with variable amplitude control of flux and torque hysteresis bands. in Electric Machines and Drives, 1999. International Conference IEMD '99. 1999. 28. Habetler, T.G., Profumo, F., Pastorelli, M., and Tolbert, L.M., Direct torque control of induction machines using space vector modulation. IEEE Transactions on Industry Applications, 1992. 28(5). 1045-1053. 29. Mir, S. and Elbuluk, M.E. Precision torque control in inverter-fed induction machines using fuzzy logic. in Power Electronics Specialists Conference, 1995. PESC '95 Record., 26th Annual IEEE. 1995. 30. Bird, I.G. and Zelaya De La Parra, H., Fuzzy logic torque ripple reduction for DTC based AC drives. Electronics Letters, 1997. 33(17). 1501-1502. 31. Casadei, D., Serra, G., and Tani, A. Improvement of direct torque control performance by using a discrete SVM technique. in Power Electronics Specialists Conference, 1998. PESC 98 Record. 29th Annual IEEE. 1998. 32. Nik Rumzi Nik Idris and A.H.M. Yatim, Direct torque control of induction machines with constant switching frequency and reduced torque ripple. IEEE Transactions on Industrial Electronics, 2004. 51(4). 758-767. 145 33. Lascu, C., Boldea, I., and Blaabjerg, F., A modified direct torque control for induction motor sensorless drive. IEEE Transactions on Industry Applications, 2000. 36(1). 122-130. 34. Tripathi, A., Khambadkone, A.M., and Panda, S.K., Torque ripple analysis and dynamic performance of a space vector modulation based control method for AC-drives. IEEE Transactions on Power Electronics, 2005. 20(2). 485-492. 35. Yen-Shin, L. and Jian-Ho, C., A new approach to direct torque control of induction motor drives for constant inverter switching frequency and torque ripple reduction. IEEE Transactions on Energy Conversion, 2001. 16(3). 220227. 36. Papafotiou, G., Kley, J., Papadopoulos, K.G., Bohren, P., and Morari, M., Model Predictive Direct Torque Control; Part II: Implementation and Experimental Evaluation. IEEE Transactions on Industrial Electronics, 2009. 56(6). 1906-1915. 37. Beerten, J., Verveckken, J., and Driesen, J., Predictive Direct Torque Control for Flux and Torque Ripple Reduction. IEEE Transactions on Industrial Electronics. 57(1). 404-412. 38. Geyer, T., Papafotiou, G., and Morari, M., Model Predictive Direct Torque Control; Part I: Concept, Algorithm, and Analysis. IEEE Transactions on Industrial Electronics, 2009. 56(6). 1894-1905. 39. Correa, P., Pacas, M., and Rodriguez, J., Predictive Torque Control for Inverter-Fed Induction Machines. IEEE Transactions on Industrial Electronics, 2007. 54(2). 1073-1079. 40. Khambadkone, A.M. and Holtz, J., Compensated synchronous PI current controller in overmodulation range and six-step operation of space-vectormodulation-based vector-controlled drives. IEEE Transactions on Industrial Electronics, 2002. 49(3). 574-580. 41. Holtz, J., Lotzkat, W., and Khambadkone, A.M., On continuous control of PWM inverters in the overmodulation range including the six-step mode. IEEE Transactions on Power Electronics, 1993. 8(4). 546-553. 42. Tripathi, A., Khambadkone, A.M., and Panda, S.K., Dynamic control of torque in overmodulation and in the field weakening region. IEEE Transactions on Power Electronics, 2006. 21(4). 1091-1098. 146 43. Griva, G., Habetler, T.G., Profumo, F., and Pastorelli, M., Performance evaluation of a direct torque controlled drive in the continuous PWM-square wave transition region. IEEE Transactions on Power Electronics, 1995. 10(4). 464-471. 44. Chung, D.W. and Sul, S.K., A new dynamic overmodulation strategy for high performance torque control of induction motor drives. 14th Applied Power Electronics Conference and Exposition (APEC'99), 1999. 1. 264-270. 45. Hava, A.M., Seung-Ki, S., Kerkman, R.J., and Lipo, T.A., Dynamic overmodulation characteristics of triangle intersection PWM methods. IEEE Transactions on Industry Applications, 1999. 35(4). 896-907. 46. R.J. Kerkman, D. Leggate, T. M. Rowan, and Seibel, B.J., Control of PWM voltage inverters in the pulse dropping region. in Proc. 9th Annu. Applied Power Electronics Conf. and Exposition (APEC'94), Orlando FL, 1994. 521528. 47. Mochikawa, H., Hirose, T., and Umemoto, T., Overmodulation of voltage source pwm inverter. in Proc. JIEE Int. Soc. Conf., 1991. 466-471. 48. Jul-Ki, S., Joohn-Sheok, K., and Seung-Ki, S., Overmodulation strategy for high-performance torque control. IEEE Transactions on Power Electronics, 1998. 13(4). 786-792. 49. S. Jul-ki and S.K. Sul, A new overmodulation strategy for induction machine drive using space vector pwm. in Proc. Appl. Power Electron. Conf., 1995. 211-216. 50. Depenbrock, M., Direct self-control (DSC) of inverter-fed induction machine. IEEE Transactions on Power Electronics. 1988. 3(4). 420-429. 51. Xu, X. and Novotny, D.W., Selection of the flux reference for induction machine drives in the field weakening region. IEEE Transactions on Industry Applications, 1992. 28(6). 1353-1358. 52. Wasynczuk, O., Sudhoff, S.D., Corzine, K.A., Tichenor, J.L., Krause, P.C., Hansen, I.G., and Taylor, L.M., A maximum torque per ampere control strategy for induction motor drives. IEEE Transactions on Energy Conversion, 1998. 13(2). 163-169. 53. Sang-Hoon, K. and Seung-Ki, S., Maximum torque control of an induction machine in the field weakening region. IEEE Transactions on Industry Applications, 1995. 31(4). 787-794. 147 54. Myoung-Ho, S., Dong-Seok, H., and Soon-Bong, C., Maximum torque control of stator-flux-oriented induction machine drive in the field-weakening region. IEEE Transactions on Industry Applications, 2002. 38(1). 117-122. 55. Mengoni, M., Zarri, L., Tani, A., Serra, G., and Casadei, D., Stator Flux Vector Control of Induction Motor Drive in the Field Weakening Region. IEEE Transactions on Power Electronics, 2008. 23(2). 941-949. 56. Jul-Ki, S. and Seung-Ki, S., Optimal flux selection of an induction machine for maximum torque operation in flux-weakening region. IEEE Transactions on Power Electronics, 1999. 14(4). 700-708. 57. Grotstollen, H. and Wiesing, J., Torque capability and control of a saturated induction motor over a wide range of flux weakening. IEEE Transactions on Industrial Electronics, 1995. 42(4). 374-381. 58. Casadei, D., Serra, G., and Tani, A. Direct flux and torque control of induction machine for electric vehicle applications. in Electrical Machines and Drives, 1995. Seventh International Conference on (Conf. Publ. No. 412). 1995. 59. Casadei, D., Serra, G., Stefani, A., Tani, A., and Zarri, L., DTC Drives for Wide Speed Range Applications Using a Robust Flux-Weakening Algorithm. IEEE Transactions on Industrial Electronics, 2007. 54(5). 2451-2461. 60. Abu-Rub, H., Schmirgel, H., and Holtz, J. Maximum Torque Production in Rotor Field Oriented Control of an Induction Motor at Field Weakening. IEEE International Symposium on Industrial Electronics, 2007. ISIE 2007. 2007. 61. Abu-Rub, H., Schmirgel, H., and Holtz, J. Sensorless Control of Induction Motors for Maximum Steady-State Torque and Fast Dynamics at Field Weakening. in Industry Applications Conference, 2006. 41st IAS Annual Meeting. Conference Record of the 2006 IEEE. 2006. 62. Gallegos-Lopez, G., Gunawan, F.S., and Walters, J.E., Current Control of Induction Machines in the Field-Weakened Region. IEEE Transactions on Industry Applications, 2007. 43(4). 981-989. 63. Griva, G., Profumo, F., Abrate, M., Tenconi, A., and Berruti, D., Wide speed range DTC drive performance with new flux weakening control [for induction motor drives]. in Proc. 29th Annu. IEEE Power Electron. Spec. Conf. (PESC'98), 1998. 1599-1604. 148 64. Tripathi, A., Khambadkone, A.M., and Panda, S.K., Stator flux based spacevector modulation and closed loop control of the stator flux vector in overmodulation into six-step mode. IEEE Transactions on Power Electronics, 2004. 19(3). 775-782. 65. Casadei, D., Serra, G., and Tani, K., Implementation of a direct control algorithm for induction motors based on discrete space vector modulation. IEEE Transactions on Power Electronics, 2000. 15(4). 769-777. 66. Bolognani, S. and Zigliotto, M., Novel digital continuous control of SVM inverters in the overmodulation range. IEEE Transactions on Industry Applications, 1997. 33(2). 525-530. 67. S. Bolognani and Zigliotto, M., Space vector Fourrier analysis of SVM inverters in the overmodulation range. in Proc. Int. Conf. Power Electronics, Drives and Energy Systems for Industrial Growth (PEDES'96), New Delhi, India, 1996. 319-323. 68. R. J. Kerkman, D. Leggate, B.J. Seibel, and Rowan, T.M., An overmodulation strategy for PWM voltage inverters. in Proc. 19th Annu. Int. Conf. Industrial Electronics, Control and Instrumentation (IECON'93), Maui, HI, 1993(12151221). 69. Van Der Broeck, H.W. and Skudelny, H.C., Analysis and realization of a pulsewidth modulator based on voltage space vector. IEEE Trans Ind. Appl., 1988. 24. 142-150. 70. Dong-Choon, L. and Lee, G.M., A novel overmodulation technique for spacevector PWM inverters. IEEE Transactions on Power Electronics, 1998. 13(6). 1144-1151. 71. Dong-Choon, L. and Lee, G.M., Linear control of inverter output voltage in overmodulation. IEEE Transactions on Industrial Electronics, 1997. 44(4). 590-592. 72. Blasko, V., A hybrid PWM strategy combining modified space vector and triangle comparison methods. in IEEE PESC Conf. Rec. , 1996. 1872-1878. 73. P. Vas, Electrical Machines and Drives: A Space-vector Theory Approach. New York, Oxford Science, 1992. 74. M. Fu and Xu, L., A sensorless direct torque control technique for permanent magnet synchronous motors. In Conf. Rec., IEEE-IAS Annu. Meeting, 1999. 1. 159-164. 149 75. Casadei, D., Serra, G., Tani, A., Zarri, L., and Profumo, F., Performance analysis of a speed-sensorless induction motor drive based on a constantswitching-frequency DTC scheme. IEEE Transactions on Industry Applications, 2003. 39(2). 476-484. 76. Y. Xue, X. Xu, Habetler, T.G., and Divan, D.M., A low cost stator flux oriented source variable speed drive. in Conf. Rec. 1990 IEEE-IAS Annu. Meeting, 1990. 1. 410-415. 77. Hoffman, F. and Janecke, M., Fast torque control of an IGBT-inverter fed three-phase a.c drive in the whole speed range - experimental results. in 6th European Power Electronic Conference, (Sevilla, Spain) 1995. 399-404. 78. Leonhard, W., Control of Electrical Drives. Berlin: Springer-Verlag, 1984. 79. Bose, B.K., Power Electronics and AC Drives. Prentice-Hall, New Jersey, 1986. 80. Vas, P., Vector Control of AC Machines. Oxford University Press, New York, 1990. 81. Murphy, J.M.D. and Turnbull, F.G., Power Electronic Control of AC Motors. Pergamon Press, Oxford, 1987. 82. Wade, S., Dunnigan, M.W., and Williams, B.M., Simulation of induction machine vector control and parameter identification. In Conf. Rec. Power Electronics and Variable Speed Drives, No. 399, 1994. 42-47. 83. Purcell, A. and Acarnly, P., Devices switching scheme for direct torque control. Electronics Letters, 1998. 34(4). 412-414. 84. Casadei, D., Grandi, G., Serra, G., and Tani, A., Switching strategies in direct torque control of induction machine. In Con. Rec. International Conf. on Electrical Machines, Paris, France, 1994: p. 204-209. 85. Elbuluk, M., Langovsky, N., and Kankam, M.D., Design and implementation of a closed-loop observer and adaptive controller for induction motor drives. IEEE Trans Ind. Appl., 1998. 34(3). 435-443. 86. Zaid, S.A., Mahgoub, O.A., and El-Metwally, K.A., Implementation of a new fast direct torque control algorithm for induction motor drives. Electric Power Applications, IET. 4(5). 305-313. 87. Joetten, R. and Schierling, H., Control of the induction machine in the field weakening range. Proc. IFAC, 1983: p. 297-304. 88. Gmbh, d., Floating-point Controlller Board. User's Guide, 1996. 150 89. Yusof Jamil, Laporan Kursus Pendek CHICHE project 629. Universiti Teknologi Malaysia, 1995. 90. Mathworks Inc, "Simulink User's Guide," Masachussetts, USA, 1997 APPENDIX A DERIVATION OF TORQUE AND FLUX EQUATIONS A.1 Torque equation in terms of stator and rotor fluxes From (2.8), Te = 3 P Ψ sg × i sg 2 (A.1) From (2.6), the stator current can be written as: i sg = Ψ sg Lm g − ir Ls Ls (A.2) Substituting (A.2) into (A.1) and considering that Ψ sg × Ψ sg = 0 and the following is obtained, 3 L Te = − P m Ψ sg × i rg 2 Ls (A.3) Ψ rg Lm g − is Lr Lr (A.4) From (2.7), i rg = Substituting (A.4) into (A.3) gives, Ψ g L 3 L Te = − P m Ψ sg × r − m i sg 2 Ls Lr Lr (A.5) 152 Since that Ψ sg × i sg = 2 Te , (A.5) becomes 3 P Te = − L 3 P m Ψ sg × Ψ rg 2 σLs Lr (A.6) where σ is the total leakage factor which is given by: σ = 1− A.2 L2m Ls Lr (A.7) Rotor flux in terms of stator flux From equation (2.5), the rotor current can be written as: − i rg = d Ψ rg − j (ωg − ωr )Ψ rg dt Rr (A.8) Substituting (A.2) and (A.8) into (2.7) and after simplifying the rotor flux is given by (A.9). Lm Ls Ψ rg = Ψ sg 1 + pτ r + jσσr (ωg − ωr ) (A.9) The equation (A.9) is written in the rotor reference frame (i.e. ωg = ωr), hence (A.9) reduces to: Ψ rr = Lm Ls Ψ sr 1 + pσ τ r (A.10) APPENDIX B DERIVATION OF TORQUE RATE EQUATION Consider the possible applied voltage vector, stator and rotor flux vectors as depicted in Figure B.1. q Ψs,1 vs,k Ψs,0 ωΨr θk δsr Ψr,0 ωrt + θr,0 0 d Figure B.1 Space vectors of the applied voltage, the stator flux and the rotor flux The space voltage vector in (2.24) or the applied voltage can also be written into polar form as given by (B.1). v s ,k = Vs ∠ θ k (B.1) Assuming that the applied voltage is used to change the initial stator flux space vector Ψs,0 to Ψs,1. The ohmic drop voltage in equation (2.4) is neglected, then 154 the change in stator flux in the stationary reference frame can be approximated as (B.2) dΨ s = v s,k dt Integrating the (B.2), the instantaneous of stator flux vector is obtained as Ψ s ,1 = v s,k ⋅ t + Ψ s ,0 (B.3) Let the rotor flux vector is written in the exponential form Ψ r,0 = Ψ r e j (ωr t + θr,0 ) (B.4) where ωr is the angular velocity of rotor flux in rad./s. From equation (2.27), the output torque in the stationary reference frame and it can be simply written as. { Te = CIm Ψ sΨ *r,0 } (B.5) where C is a constant. Then, differentiates (B.5) with respect to time, the rate of torque is given as dΨs * d Ψ *r,0 dTe = CIm Ψ r,0 + Ψ s dt dt dt (B.6) From (B.2) and (B.4), the derivative terms in (B.6) can be expressed as dΨs = v s ,k dt d Ψ *r,0 dt * = − jω s Ψ r,0 (B.7) (B.8) 155 Therefore, substituting (B.7) and (B.8) into (B.6), this yields dTe * * Ψs = CIm v s ,kΨ r,0 − jω s Ψ r,0 dt { } (B.9) Substituting (B.3) into (B.9) dTe * = C Ψ r,0 Im{v s ,k − jωs (v s ,k .t + Ψ s,0 )} dt (B.10) The term t in (B.10) is the instant of applying the vs,k, then by letting t=0 and take the imaginary part, the following is obtained dTe = C Ψ r [Vs sin (θ k − θ r,0 ) − ω s Ψ s,0 cos(θ s,0 − θ r,0 )] dt (B.11) APPENDIX C DERIVATION OF THE RELATIONSHIP BETWEEN THE ANGLE δsr AND THE SLIP ANGULAR FREQUENCY Some relevant equations given in Chapter II are used to derive the relation of the angle δsr and the slip angular frequency (ωs-ωr). These equations, i.e. (2.5), (2.6), (2.7) and (2.27) can be represented in the stationary reference frame and the corresponding equations are obtained as follows: 0 = Rr i r + j (ωs − ωr )Ψ r + dΨr dt (C.1) Ψ s = Ls i s + Lm i r (C.2) Ψ r = Lr i r + Lm i s (C.3) where ωs is the stator flux angular frequency, ωr is the rotor angular speed, Ls, Lr and Lm are the motor inductances. To clarify the effect of δsr on the slip angular frequency, the space vector of rotor flux is written in the exponential form which is as follows: Ψ r = Ψ r e − jδsr where the angle δsr can also be defined as the delay angle of the rotor flux with respect to the stator flux. (C.4) 157 Solving (C.2) and (C.3) with respect to is and ir and substituting in (C.1) yields the (C.5): 0= Ψ r λΨ s dΨr − + j (ωs − ωr )Ψ r + στ r στ r dt (C.5) where τr is the rotor time constant, λ is the ratio between mutual and stator inductances and σ is the leakage coefficient. Using (C.4), the equation (C.5) is then separated into real and imaginary components and re-arranged them, the following equations are obtained: dΨ r Ψ r λ + = Ψ s cosδ sr dt στ r στ r (C.6) dδsr λ Ψs + sinδsr = ωs − ωr dt στ r Ψ r (C.7) APPENDIX D SIMULATION OF DTC D.1 Induction Machine The induction machine model used for the simulation is based on equations (2.21) and (2.23). The SIMULINKS blocks used to construct the induction machine is depicted in Figure D.1. Most electrical part of the machine which is represented by equation (2.21) is modeled using the S-function [90], with the stator and rotor currents are assigned as the state variables. To create the S-function, the equation is written using C-language, and then, it is compiled as a MEX-file using the mex utility [90]. The block of S-function from the SIMULINK/User-Defined Functions library is used to interface the function into the SIMULINK model. As shown by this figure, the d-q voltages and rotor speed are multiplexed into the S-function block as the inputs, while the output signals from the S-function block are split using the Demux block to give the electromagnetic torque, stator and rotor currents. The mechanical dynamics of the machine is based on equation (2.23), and it is totally modeled using SIMULINK blocks. The simulation is performed in the discrete mode at constant simulation step size of 55µs, which is the same used for the sampling period in the experiment. 159 Figure D.1 Induction machine D.2 Calculations of stator flux and torque Using equations (2.32) and (2.33), the d-q component of stator flux is expressed in discrete form (i.e. sampled at DT), which can be modeled using SIMULINK-blocks as shown in Figure D.2. Note that, a low pass filter with cut-off frequency 5 rad./s is implemented for the both components. The magnitude of the flux can be simply obtained as Ψs = √(Ψsd2 + Ψsq2). The torque calculation is based on equation (2.38), which is in terms of stator flux and stator current components. The calculated torque is also determined by the number of poles of the machine. 160 Figure D.2 Stator flux estimation based on low pass filter Figure D.3 Torque calculation D.3 Hyteresis Controllers The two levels hysteresis comparator used for controlling the flux is simulated using the relay block from the SIMULINK’s discontinuities library, as depicted in Figure D.4(a). The hysteresis bands and the outputs of a hysteresis comparator is set by specifying the thresholds and output values in the function relay parameters windows. The three levels hysteresis comparator used for controlling the 161 torque is simulated by employing two relay blocks which are connected in parallel as shown in Figure D.4(b). (a) (b) Figure D.4 Hysteresis Controllers (a) stator flux (b) torque D.4 Voltage vectors selection table The selection of the appropriate voltage is based on the Table 2.1 which was proposed by Takahashi [13]. The torque error status (Tstat), flux error status (Fstatnew) and sector are used to index the selection table to choose suitable voltage vectors (i.e. Sa, Sb and Sc) as depicted in Figure D.5. The selection table is written in C-language, and then it is compiled to create a MEX-file, before the created MEXfile is being downloaded to the S-function block to perform the simulation. Figure D.5 Selection of voltage vectors 162 D.5 3-phaseVoltage Source Inverter The 3-phase VSI is simulated using the Gain blocks as depicted in Figure D.6. The input of the VSI is the switching states obtained from the voltage vector selection which gives either 1 or -1. Each gain block is set to half of the DC-link voltage, in such a way the output of the VSI represents a voltage with respect to the center point of the DC-link voltage. The output of the VSI is connected to the induction machine. Figure D.6 Voltage source inverter 163 D.6 Complete DTC drive The overall components of the DTC drive simulated using the SIMULINK blocks are shown in Figure D.7. The SIMULINK model of the proposed components, i.e., the modification of flux error status, speed controller and flux weakening algorithm are described in Chapter IV and Chapter V. Figure D.7 Complete DTC drive APPENDIX E DSP SOURCE CODE LISTINGS E.1 DSP source code listing for fast torque dynamic control utilizing dynamic overmodulation strategy in DTC drives / * * * * * * dtc1_dtc2_dtc-csf2_dynamicOM.c * * * * * * * * * * * * * * * * * * * * * * * * * Direct Torque Control – with the Proposed Dynamic * * Overmodulation Strategy for DS1102 controller * * Board from dSPACE, GmbH * * Written by Auzani Bin Jidin * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include <brtenv.h> #include <math.h> /* basic real-time environment */ /* input via DS1102 on-board ADC channels 1,3 & 4 */ #define input1(u) { \ ds1102_ad_start(); \ in1 = ds1102_ad(1)*10; \ /* dynamic detection from ext. toggle switch */ in3 = ds1102_ad(3)*7.083; \ /* from current sensor phase a */ in4 = ds1102_ad(4)*7.083;} \ /* from current sensor phase b */ /*output via DAC channels ,2,3,4 */ #define output1 ds1102_da(1, out1*0.1) #define output2 ds1102_da(2, out2*0.1) #define output3 ds1102_da(3, out3*0.1) #define output4 ds1102_da(4, out4*0.1) /* * * * sampling step size * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* for estimations, torque & flux control, modification of flux error status */ #define DT 55e-06 /* for speed control loop */ #define DT2 1e-3 165 /* * * * global variable * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ int secint, sector, indextable, tflxstat; float id=0; float iq=0; float vd=0; float vq=0; float in3=0.00; float in4=0.00; float in3offs=0.00; float in4offs=0.00; float dflx=0; float qflx=0; float qflx_ =0.0; float q2flx_, h; /*variable for sector definition */ int flxstat_y, flxstat_n, modflxstat; int modflxstat_int,flxstat_y_int, flxstat_n_int; float flxref=0.892; float flx=0; float flxerr=0.0; float fband = 0.0045; float upfband, lofband; int flxstatus= 0xffff; /*upper & lower band for flux float Tref = 9.0; float Te = 0.0; float terr=0; /* three-level flux hysteresis float tband = 0.65; float uptband, lowtband; /*upper & lower band for torque float midtband =0; /*middle band for torque float uplevel, downlevel; int torquestatus=0x7eff; /*pin 15 and 8 for torque status should be zero int out_uplevel, out_downlevel; */ */ */ */ */ float w=0.0; int port_pin_read[3]; int port_pin_read_o; int timer_count=0; float ie_count=0.0; float flxposition; int dyn = 0; /* initial value dynamic detector : a step change Tref1 to Tref2 */ float upband = 1.8; /*dynamic condition when torque error larger than 1.8 Nm */ float lowband = 0.0; int status_out = 0; int newflxstatus= 0xffff; float terrcheck = 0.0; int flxstat_int = 1; int flxstat_int_out = 1; int preflxstat_int = 1; 166 int ts_int = 0; int ts_up, ts_down; float in1 = 0; float ts1 = 0; float out1=0.00; float out2=0.00; float out3=0.00; float out4=0.00; / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* error flag for CHKERR at last dual-port memory location */ volatile int *error = (int*) (DP_MEM_BASE + DP_MEM_SIZE - 1); /* timer0 interrupt service routine sampling step DT */ void isr_t0 () { unsigned int IO_port_read; /* I/O-port status */ begin_isr_t0(*error); /* overload check */ service_mtrace("0"); /*starting mtrace for DS1102 board */ input1(u); in3 = in3-in3offs; in4 = in4-in4offs; /* get input value */ /* compensate offset for current input (ia) /* compensate offset for current input (ib) /* 3-phase to 2-phase (Clarke transformation) id = in3; iq = 1.1547005*in4 + 0.57735027*in3; */ */ */ /* read I/O-port of the switching pattern from FPGA */ IO_port_read = ds1102_p14_pin_io_in(); port_pin_read[0] = ((IO_port_read & (0x0001)) != 0); port_pin_read[1] = ((IO_port_read & (0x0010)) != 0); port_pin_read[2] = ((IO_port_read & (0x0040)) != 0); /* Sa */ /* Sb */ /* Sc */ /* * * *stator d-q voltages with DC link of 240 Vdc * * * * * * * * * * * * * * * * * * * */ /* vd = (2*Sa-Sb-Sc)2*Vdc/3/2 vq= 2*1.732*Vdc/3/2(Sb-Sc) */ vd = (2*port_pin_read[0] - port_pin_read[1] - port_pin_read[2])*80; vq = (port_pin_read[1] - port_pin_read[2])*138.564; /* * * *stator flux estimation using the voltage model with LP filter * * * * * * * * * * */ /* low pass filter with cut-off frequency, wc = 5rad./s */ dflx = (dflx +(vd - id*5.5)*DT)*0.999725; qflx = (qflx +(vq - iq*5.5)*DT)*0.999725; flx = sqrt(dflx*dflx + qflx*qflx); /*calculate the flux magnitude*/ /* * * * torque calculation * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ Te=3.0*(dflx*iq-qflx*id); /* * * * the target position of flux for a step change of reference torque * * * * * * * */ /* flxposition = -dflx*0.5773; */ /*case1 : boundary of sector */ 167 flxposition = 0; /*case2 : middle of sector */ if(in1 >= 5) { /*the step change is allowed once it is satisfied */ if((sector == 2) && (qflx >= flxposition)) { dyn = 1; Tref = 9; } } else {Tref = 1.5; dyn = 0; } /* * * * determination of stator flux sector & modification of flux error status * * * * */ qflx_ = dflx*0.57735027; q2flx_ = dflx*1.732; if(dflx >= 0) { flxstat_y = 0xffff; /*flux decreases, flux error status = 1 @ 0xffff */ flxstat_y_int = 1; flxstat_n = 0xdfff; /*flux increases, flx status = 0 @ 0xdfff */ flxstat_n_int = 0; if (qflx >= 0) { if(qflx >= qflx_) {secint = 0xbbff; sector = 3; h=q2flx_;} else {secint = 0xfbff; sector = 2; h=0;} } else {if(qflx <= -qflx_) {secint = 0xebff; sector = 1; h=-q2flx_;} else {secint = 0xfbff; sector = 2; h=0;} }} else { flxstat_y = 0xdfff; /*flux increases, flux error status = 0 @ 0xdfff */ flxstat_y_int = 0; flxstat_n = 0xffff; /*flux decreases, flux error status = 1 @ 0xffff */ flxstat_n_int = 1; if (qflx >= 0) { if(qflx >= -qflx_) {secint = 0xbfff; sector = 4; h= -q2flx_;} else {secint = 0xffff; sector = 5; h=0;} } else {if(qflx <= qflx_) {secint = 0xefff; sector = 6; h=q2flx_;} else {secint = 0xffff; sector = 5; h=0;} }} /* stator flux orientation to be passed to pin 14(lsb),12,10(msb) dspace's i/o terminal */ if(qflx >= h) {modflxstat = flxstat_y; modflxstat_int = flxstat_y_int;} else {modflxstat = flxstat_n; modflxstat_int = flxstat_n_int;} secint = secint | 0x00ff; /* * * * two-level flux hysteresis (pin 13) * * * * * * * * * * * * * * * * * * * * * * * * * */ flxerr = flx-flxref; upfband = fband; lofband = -fband; if (flxstatus == 0xdfff) { if(flxerr >= upfband) {flxstatus = 0xffff; /* flux error status =1, flux dec*/ flxstat_int = 1; } else {flxstatus = flxstatus; flxstat_int = flxstat_int;} } else { if(flxerr <= lofband) { flxstatus = 0xdfff; /* flux error status =0, flux inc*/ flxstat_int = 0; } else {flxstatus = flxstatus; flxstat_int = flxstat_int;} } 168 /* * * * three-level torque hysteresis comparator pin 15(msb) & pin 8(lsb)* * * * * * * */ terr = Tref - Te; uptband = tband; lowtband = -tband; if(terr>=0) { uplevel = uptband; downlevel = midtband; out_uplevel = 0x7fff; /*torque error status= 1 */ ts_up =1; out_downlevel = 0x7eff; /*torque error status= 0 */ ts_down = 0; if (torquestatus == 0xfeff){torquestatus = out_downlevel; ts1 = ts_down;}} else { uplevel = midtband; downlevel = lowtband; out_uplevel = 0x7eff; /*torque error status= 0 */ ts_up = 0; out_downlevel = 0xfeff; /*torque error status= -1 */ ts_down = -1; if (torquestatus == 0x7fff){torquestatus = out_uplevel; ts_int = ts_up;}} if(torquestatus == out_downlevel) { if (terr >= uplevel){ torquestatus = out_uplevel; ts_int = ts_up;} else {torquestatus = torquestatus; ts_int = ts_int;} } else { if (terr <= downlevel) {torquestatus = out_downlevel; ts_int = ts_down;} else {torquestatus = torquestatus; ts_int = ts_int;} } /* * * * detection of dynamic condition* * * * * * * * * * * * * * * * * * * * * * * * * * */ terrcheck = dyn*terr; /* large torque error is detected if dyn=1 */ /* terrcheck = 0 perform this equation for without dynamic overmodulation */ if(status_out == 0) { if(terrcheck >= upband) status_out = 1; else status_out = status_out; } else { if(terrcheck <= lowband) status_out = 0; else status_out = status_out; } if(status_out == 1){ newflxstatus = modflxstat; flxstat_int_out = modflxstat_int; } else { newflxstatus = flxstatus; flxstat_int_out = flxstat_int; } /*dynamic condition */ /*steady state cond. */ /*dynamic OM /* normal DTC algorithm */ */ /* * * * encode the flux error status 1 bit, torque error status 2-bit, sector 3-bit * * * */ tflxstat = torquestatus & newflxstatus; indextable = tflxstat & secint; 169 /* define 4-output signal out1 = flx; out2 = flxstat_int; out3 = Te; out4 = ts_int; /* stator flux magnitude /* flux error status /* output torque /* torque error status */ */ */ */ */ /* * * * writing to pin i/o FPGA ,sector, torque and flux error status * * * * * * * * * */ ds1102_p14_pin_io_write(indextable); /* output to DACs (4-channel oscilloscope) output1; output2; output3; output4; end_isr_t0(); /* end of interrupt service routine } */ */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * timer 1 interupt service routine - sampling step DT2 * * * * * * * * * * * * * **/ void isr_t1() { begin_isr_t1(*error); /*overload check */ /*the count from ds1102_inc() is 4 times => count edge trigger of pulses ie_count = (ds1102_inc(1)*8388608); /* scalling :2^23 /*speed in rad/s of the 2048 p.p.r = ie_count*2pi/(2048*DTw*4) w = ie_count*0.766990393; /*for DTw=1ms ds1102_inc_clear_counter(1); /*clearing the counter end_isr_t1(); /* end of interupt service routine } main() { int i; float ist3=0.0; float ist4=0.0; init(); /* initialize hardware system *error = NO_ERROR; /* initialize error flag ds1102_p14_pin_io_init(0xffae); /* initialize switch status array for(i=0; i<=2; i++){ port_pin_read[i] = 0; } */ */ */ */ */ */ */ */ */ /* * * * calculating the offsets for in1 only * * * * * * * * * * * * * * * * * * * * * * * * */ for(i=0; i<=100000; i++) { ds1102_ad_start(); in3 = ds1102_ad(3)* 7.083; in4 = ds1102_ad(4)*7.083; ist3=ist3 + in3; ist4=ist4 + in4; } in3offs=ist3/100001; in4offs=ist4/100001; start_isr_t0(DT); /* initialize sampling clock timer */ start_isr_t1(DT2); /* initialize sampling clock timer2 */ while (*error == NO_ERROR) /* background process */ 170 service_cockpit(); } E.2 /* call cockpit code */ DSP source code listing for improvement of torque capability utilizing overmodulation strategy in hybrid DTC drives / * * * * * * dtc-hys1_dtc-hys2_dtc-hys3_dtc-csf2_dsc.OM.c ** * * * * * * * * * * * * * * * Direct Torque Control – with the Proposed * * Overmodulation Strategy for DS1102 controller * * Board from dSPACE, GmbH * * Written by Auzani Bin Jidin * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include <brtenv.h> #include <math.h> /* basic real-time environment */ /* input via DS1102 on-board ADC channels 1,3 & 4 */ #define input1(u) { \ ds1102_ad_start(); \ in1 = ds1102_ad(1)*10; \ /* dynamic detection from ext. toggle switch */ in3 = ds1102_ad(3)*7.083; \ /* from current sensor phase a */ in4 = ds1102_ad(4)*7.083;} \ /* from current sensor phase b */ /*output via DAC channels ,2,3,4 */ #define output1 ds1102_da(1, out1*0.1) #define output2 ds1102_da(2, out2*0.1) #define output3 ds1102_da(3, out3*0.1) #define output4 ds1102_da(4, out4*0.1) /* * * * sampling step size * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* for estimations, torque & flux control, modification of flux error status */ #define DT 55e-06 /* for speed control loop */ #define DT2 1e-3 /* * * * global variable * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ int secint, sector, indextable, tflxstat; float id=0; float iq=0; float vd=0; float vq=0; float in3=0.00; float in4=0.00; 171 float in3offs=0.00; float in4offs=0.00; float dflx=0; float qflx=0; float qflx_ =0.0; float q2flx_, h; /*variable for sector definition */ int flxstat_y, flxstat_n, modflxstat; int modflxstat_int,flxstat_y_int, flxstat_n_int; float flxref=0.892; float flx=0; float flxerr=0.0; float fband = 0.0045; float upfband, lofband; int flxstatus= 0xffff; /*upper & lower band for flux float Tref = 9.0; float Te = 0.0; float terr=0; /* three-level flux hysteresis float tband = 1.0; float uptband, lowtband; /*upper & lower band for torque float midtband =0; /*middle band for torque float uplevel, downlevel; int torquestatus=0x7eff; /*pin 15 and 8 for torque status should be zero int out_uplevel, out_downlevel; */ */ */ */ */ float w=0.0; int port_pin_read[3]; int port_pin_read_o; int timer_count=0; float ie_count=0.0; /*speed-loop bandwidth is 2-decade lower than the speed sampling frequency */ float Kpw=3.548; float Kiw=1.538; float w_err=0.0; float w_err_integ=0.0; float propd=0.0; float wref=0; float wref1 = 29; float wref2 = 160; float flxposition; /* initial reference speed /* target reference speed */ */ int dyn = 0; /* initial value dynamic detector : a step change Tref1 to Tref2 */ float upband = 5.0; /*dynamic condition when speed error larger than 5 rad./s */ float lowband = 0.0; int status_out = 0; int newflxstatus= 0xffff; int status_hys = 1; /*DSC operation variables */ 172 int newflxstatus1= 0xffff; int newflxstatus2= 0xffff; int hys_status = 0; int flxstat_int = 1; int preflxstat_int = 1; int ts_int = 0; int ts_up, ts_down; float in1 = 0; float ts1 = 0; float wb = 66; /* float wb = 57; */ /* base speed for hexagonal flux locus */ /* base speed for circular flux locus */ float out1=0.00; float out2=0.00; float out3=0.00; float out4=0.00; / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* error flag for CHKERR at last dual-port memory location */ volatile int *error = (int*) (DP_MEM_BASE + DP_MEM_SIZE - 1); /* timer0 interrupt service routine sampling step DT */ void isr_t0 () { unsigned int IO_port_read; /* I/O-port status */ begin_isr_t0(*error); /* overload check */ service_mtrace("0"); /*starting mtrace for DS1102 board */ input1(u); in3 = in3-in3offs; in4 = in4-in4offs; /* get input value */ /* compensate offset for current input (ia) /* compensate offset for current input (ib) /* 3-phase to 2-phase (Clarke transformation) id = in3; iq = 1.1547005*in4 + 0.57735027*in3; */ */ */ /* read I/O-port of the switching pattern from FPGA */ IO_port_read = ds1102_p14_pin_io_in(); port_pin_read[0] = ((IO_port_read & (0x0001)) != 0); port_pin_read[1] = ((IO_port_read & (0x0010)) != 0); port_pin_read[2] = ((IO_port_read & (0x0040)) != 0); /* Sa */ /* Sb */ /* Sc */ /* * * *stator d-q voltages with DC link of 240 Vdc * * * * * * * * * * * * * * * * * * * */ /* vd = (2*Sa-Sb-Sc)2*Vdc/3/2 vq= 2*1.732*Vdc/3/2(Sb-Sc) */ vd = (2*port_pin_read[0] - port_pin_read[1] - port_pin_read[2])*80; vq = (port_pin_read[1] - port_pin_read[2])*138.564; /* * * *stator flux estimation using the voltage model with LP filter * * * * * * * * * * */ /* low pass filter with cut-off frequency, wc = 5rad./s */ dflx = (dflx +(vd - id*5.5)*DT)*0.999725; 173 qflx = (qflx +(vq - iq*5.5)*DT)*0.999725; flx = sqrt(dflx*dflx + qflx*qflx); /*calculate the flux magnitude*/ /* * * * torque calculation * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ Te=3.0*(dflx*iq-qflx*id); /* * * * the target position of flux for a step change of reference torque * * * * * * * */ /* flxposition = -dflx*0.5773; */ /*case1 : boundary of sector */ flxposition = 0; /*case2 : middle of sector */ if(in1 >= 5) { /*the step change is allowed once it is satisfied if((sector == 2) && (qflx >= flxposition)) { wref = wref2; }} else {wref = wref1;} */ /* * * * flux weakening method * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ if(w >= wb) {flxref = 0.892*wb/w; /*flxref = 0.892*wbase/w */ /* either to reduce the flux or not /* hys_status == 1; */ /*without step reduction if (hys_status == 0) flxref = 0.77247*wb/w;} /* with the step reduction */ */ */ else flxref = 0.892; if(flxref < 0.3) flxref = 0.3; else flxref = flxref; /* * * * Closed loop speed control system * * * * * * * * * * * * * * * * * * * * * * * * */ w_err = wref - w; propd = w_err*Kpw; w_err_integ = w_err_integ + w_err*DT*Kiw; Tref= propd + w_err_integ; /*PI controller output */ if(Tref > 9.0)Tref = 9.0; else if (Tref < -9.0)Tref = -9.0; else Tref = Tref; /*to limit the reference torque at +/-9 Nm */ /* * * * determination of stator flux sector & modification of flux error status * * * * */ qflx_ = dflx*0.57735027; q2flx_ = dflx*1.732; if(dflx >= 0) { flxstat_y = 0xffff; /*flux decreases, flux error status = 1 @ 0xffff */ flxstat_y_int = 1; flxstat_n = 0xdfff; /*flux increases, flx status = 0 @ 0xdfff */ flxstat_n_int = 0; if (qflx >= 0) { if(qflx >= qflx_) {secint = 0xbbff; sector = 3; h=q2flx_;} else {secint = 0xfbff; sector = 2; h=0;} } else {if(qflx <= -qflx_) {secint = 0xebff; sector = 1; h=-q2flx_;} else {secint = 0xfbff; sector = 2; h=0;} }} else { 174 flxstat_y = 0xdfff; /*flux increases, flux error status = 0 @ 0xdfff flxstat_y_int = 0; flxstat_n = 0xffff; /*flux decreases, flux error status = 1 @ 0xffff flxstat_n_int = 1; if (qflx >= 0) { if(qflx >= -qflx_) {secint = 0xbfff; sector = 4; h= -q2flx_;} else {secint = 0xffff; sector = 5; h=0;} } else {if(qflx <= qflx_) {secint = 0xefff; sector = 6; h=q2flx_;} else {secint = 0xffff; sector = 5; h=0;} }} */ */ /* stator flux orientation to be passed to pin 14(lsb),12,10(msb) dspace's i/o terminal */ if(qflx >= h) {modflxstat = flxstat_y; modflxstat_int = flxstat_y_int;} else {modflxstat = flxstat_n; modflxstat_int = flxstat_n_int;} secint = secint | 0x00ff; /* * * * two-level flux hysteresis (pin 13) * * * * * * * * * * * * * * * * * * * * * * * * * */ flxerr = flx-flxref; upfband = fband; lofband = -fband; if (flxstatus == 0xdfff) { if(flxerr >= upfband) {flxstatus = 0xffff; /* flux error status =1, flux dec*/ flxstat_int = 1; } else {flxstatus = flxstatus; flxstat_int = flxstat_int;} } else { if(flxerr <= lofband) { flxstatus = 0xdfff; /* flux error status =0, flux inc*/ flxstat_int = 0; } else {flxstatus = flxstatus; flxstat_int = flxstat_int;} } newflxstatus1 = flxstatus; /* original flux error status */ /* * * * three-level torque hysteresis comparator pin 15(msb) & pin 8(lsb)* * * * * * * */ terr = Tref - Te; uptband = tband; lowtband = -tband; if(terr>=0) { uplevel = uptband; downlevel = midtband; out_uplevel = 0x7fff; /*torque error status= 1 */ ts_up =1; out_downlevel = 0x7eff; /*torque error status= 0 */ ts_down = 0; if (torquestatus == 0xfeff){torquestatus = out_downlevel; ts1 = ts_down;}} else { uplevel = midtband; downlevel = lowtband; out_uplevel = 0x7eff; /*torque error status= 0 */ ts_up = 0; out_downlevel = 0xfeff; /*torque error status= -1 */ ts_down = -1; if (torquestatus == 0x7fff){torquestatus = out_uplevel; ts_int = ts_up;}} if(torquestatus == out_downlevel) { if (terr >= uplevel){ torquestatus = out_uplevel; ts_int = ts_up;} else {torquestatus = torquestatus; ts_int = ts_int;} } 175 else { if (terr <= downlevel) {torquestatus = out_downlevel; ts_int = ts_down;} else {torquestatus = torquestatus; ts_int = ts_int;} } /* * * * hexagonal flux control or DSC operation * * * * * * * * * * * * * * * * * * * * */ if (status_hys == 0) { newflxstatus2 = 0xdfff; /* flux error status =0, flux keep increases */ flxstat_int = 0; if (flx >= flxref ) status_hys = 1; else status_hys = status_hys; } else { newflxstatus2 = modflxstat; /* ideal case for hexagonal operation */ flxstat_int = modflxstat_int; if (flx <= 0 ) status_hys = 0; else status_hys = status_hys; } if ( modflxstat_int == 0) status_hys = 0; else status_hys = status_hys; /* * * * detection of dynamic/motor acceleration condition –DTC to DSC * * * * * */ if (hys_status == 0) { /* choose DSC, DTC-HYS1 or DTC-HYS3 (DTC <==> DSC) */ /* w_err =10; */ /*DSC -always hexagonal locus */ /* w_err = 0; */ /*DTC-HYS1 – always circular locus */ if(w_err >= 5) hys_status = 1; /*DTC operation is switched to DSC */ else {hys_status = hys_status;}} else { if(w_err <= 0) hys_status = 0; /*DSC operation is switched back to DTC*/ else {hys_status = hys_status;}} /* new flux error status */ if (hys_status == 1) newflxstatus = newflxstatus2; /* DSC operation */ else {newflxstatus = newflxstatus1; } /* DTC operation */ /* * * * encode the flux error status 1 bit, torque error status 2-bit, sector 3-bit * * * */ tflxstat = torquestatus & newflxstatus; indextable = tflxstat & secint; /* define 4-output signal out1 = dflx; out2 = qflx; out3 = Te; out4 = w*0.05; /* d-flux component /* q-flux component /* output torque /* motor speed */ */ */ */ */ /* * * * writing to pin i/o FPGA ,sector, torque and flux error status * * * * * * * * * */ ds1102_p14_pin_io_write(indextable); /* output to DACs (4-channel oscilloscope) output1; output2; output3; output4; end_isr_t0(); /* end of interrupt service routine } */ */ 176 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * * * timer 1 interupt service routine - sampling step DT2 * * * * * * * * * * * * * **/ void isr_t1() { begin_isr_t1(*error); /*overload check */ /*the count from ds1102_inc() is 4 times => count edge trigger of pulses ie_count = (ds1102_inc(1)*8388608); /* scalling :2^23 /*speed in rad/s of the 2048 p.p.r = ie_count*2pi/(2048*DTw*4) w = ie_count*0.766990393; /*for DTw=1ms ds1102_inc_clear_counter(1); /*clearing the counter end_isr_t1(); /* end of interupt service routine } main() { int i; float ist3=0.0; float ist4=0.0; init(); /* initialize hardware system *error = NO_ERROR; /* initialize error flag ds1102_p14_pin_io_init(0xffae); /* initialize switch status array for(i=0; i<=2; i++){ port_pin_read[i] = 0; } */ */ */ */ */ */ */ */ */ /* * * * calculating the offsets for in1 only * * * * * * * * * * * * * * * * * * * * * * * * */ for(i=0; i<=100000; i++) { ds1102_ad_start(); in3 = ds1102_ad(3)* 7.083; in4 = ds1102_ad(4)*7.083; ist3=ist3 + in3; ist4=ist4 + in4; } in3offs=ist3/100001; in4offs=ist4/100001; start_isr_t0(DT); /* initialize sampling clock timer */ start_isr_t1(DT2); /* initialize sampling clock timer2 */ while (*error == NO_ERROR) /* background process */ service_cockpit(); /* call cockpit code */ } 177 E.2 Constant frequency torque controller codes The constant frequency torque controller has the same input and output numbers as the three-level hysteresis comparator. Therefore to implement it (i.e. DTC-CSF2), the code of three-level torque hysteresis comparator is replaced with the following. /* * * * constant frequency torque controller 15(msb) & pin 8(lsb)* * * * * * * * * * * */ /*make sure the type of variables used are defined and put them as global variable* * */ terr = Tref - Te; if(gain == 1) { if (tri1 >= 90) gain = -1; else gain = gain; } else { if (tri1 <= 0) gain = 1; else gain = gain; } tri1 = tri1 + gain*30; /* DTC-CSF2 operation */ /* * * * PI for CFTC* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ Terr_int = Terr_int + terr*DT*kit; Tpi = terr*kpt + Terr_int; /* kpt = 34.9 /* kit = 11925 */ */ /* * * * Comparator * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ Thigh1 = Tpi-tri1; Thigh2 = Tpi+tri1; if(Thigh1 >= 0) {tstatus1 = 0x7fff; ts_int = 1;} if(Thigh1 < 0) { tstatus1 = 0x7eff; ts_int = 0;} if(Thigh2 >= 0) tstatus2 = 0x7eff; if(Thigh2 < 0) { tstatus2 = 0xfeff; ts_int = -1;} torquestatus = tstatus1 | tstatus2; APPENDIX F VHDL CODE F.1 VHDL code for voltage vectors switching table and blanking time generation -- dtc_fpga library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; entity dtc_fpgatask is Port ( clock: in std_logic; indextable : in STD_LOGIC_VECTOR (5 downto 0); Supper1,Supper2,Supper3: out std_logic; Swa,Swb,Swc,Swa2,Swb2,Swc2 : out std_logic; Slower1,Slower2,Slower3: out std_logic); -- 6bits from dsp end dtc_fpgatask; architecture Behavioral of dtc_fpgatask is signal Sa, Sb, Sc: std_logic; -- represents switching status begin -- begin to index the look-up table U1: entity work.dtc_lookuptable(Behavioral) port map (address=>indextable(5 downto 0),l=>Sa,k=>Sb,j=>Sc); U2: entity work.blankingtime_main(Behavioral) port map (clock=>clock,S1=>Sa,S2=>Sb,S3=>Sc,Supper1=>Supper1,Supper2=>Supper2,Supper3 =>Supper3,Slower1=>Slower1,Slower2=>Slower2,Slower3=>Slower3); Swa<=Sa; Swb<=Sb; Swc<=Sc; Swa2<=Sa; Swb2<=Sb; Swc2<=Sc; end Behavioral; 179 F.1.1 VHDL code for voltage vectors switching table library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; entity dtc_lookuptable is Port ( address : in std_logic_vector(5 downto 0); j,k,l: out std_logic); end dtc_lookuptable; architecture Behavioral of dtc_lookuptable is signal y: std_logic_vector(2 downto 0); begin -- for torque error: "10" = -1; "00" = 0; "01" = 1; -- address = flux_status(1 bit) & torque_status (2 bits) & flux orientation (3 bits) -- address using gray code y<= "110" when "101001" | "110111" |"001011" | "010110", "010" when "101011" | "110101" | "001010" |"010111", "011" when "101010" | "110001" | "001110" |"010101", "001" when "101110" | "110011" | "001111" |"010001", "101" when "101111" | "110010" | "001101" |"010011", "100" when "101101" |"110110"|"001001"|"010010", "111" when "100001" |"100010"|"100111"|"000011"|"000110"|"000101", "000" when others; -- the signal j,k,l is used as an input for blanking time generator. j<=y(0); k<=y(1); l<=y(2); end Behavioral; 180 F.1.2 VHDL code for blanking time generator --Blanking time generator library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.numeric_std.all; entity blankingtime_main is Port ( clock : in STD_LOGIC; S1,S2,S3 : in STD_LOGIC; Supper1,Supper2,Supper3 : out STD_LOGIC; Slower1,Slower2,Slower3 : out STD_LOGIC); end blankingtime_main; architecture Behavioral of blankingtime_main is signal a,b,c,d,e,f: std_logic_vector( 15 downto 0); signal h: std_logic; begin U1: entity work.blanking_Mod13(Behavioral) port map(clk=>clock,clkout=>h); U2: entity work.blanking_upper_counter(Behavioral) port map(clk=>h,clear1=>S1,clear2=>S2,clear3=>S3,uc1=>a,uc2=>b,uc3=>c); U3: entity work.blanking_lower_counter(Behavioral) port map(clk=>h,clear1=>S1,clear2=>S2,clear3=>S3,lc1=>d,lc2=>e,lc3=>f); U4: entity work.blanking_comparator(Behavioral) port map(Cin1=>a,Cin2=>b,Cin3=>c,Cin4=>d,Cin5=>e,Cin6=>f,Cout1=>Supper1,Cou t2=>Supper2,Cout3=>Supper3,Cout4=>Slower1,Cout5=>Slower2,Cout6=>Slow er3); end Behavioral; F.1.2.1 VHDL code for the block of MOD13 (clock divider) -- CLOCK DIVIDER library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity blanking_mod13 is Port ( clk : in STD_LOGIC; clkout : out STD_LOGIC); end blanking_mod13; 181 architecture Behavioral of blanking_mod13 is signal q : std_logic; signal qint1,qint2 : std_logic_vector ( 4 downto 0); begin qint1 <= "00000" when q='1' else std_logic_vector(unsigned(qint2)+1); qint2 <= qint1 when rising_edge(clk); q <= '1' when (unsigned(qint2) = 17) else '0'; clkout <= q; end Behavioral; F.1.2.2 VHDL code for the block of Upper Counter -- UPPER COUNTER library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity blanking_upper_counter is Port ( clear1,clear2,clear3 : in STD_LOGIC; clk : in STD_LOGIC; uc1,uc2,uc3 : out STD_LOGIC_VECTOR (15 downto 0)); end blanking_upper_counter; architecture Behavioral of blanking_upper_counter is signal qint, q,mint,m,nint,n : std_logic_vector( 15 downto 0); begin qint <= (others=>'0') when clear1 ='0' else std_logic_vector(unsigned(q)+1); q <= qint when rising_edge(clk); uc1<= q; mint <= (others=>'0') when clear2 ='0' else std_logic_vector(unsigned(m)+1); m <= mint when rising_edge(clk); uc2<= m; nint <= (others=>'0') when clear3 ='0' else std_logic_vector(unsigned(n)+1); n <= nint when rising_edge(clk); uc3<= n; end Behavioral; 182 F.1.2.3 VHDL code for the block of Lower Counter --LOWER COUNTER library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity blanking_lower_counter is Port ( clear1,clear2,clear3 : in STD_LOGIC; clk : in STD_LOGIC; lc1,lc2,lc3 : out STD_LOGIC_VECTOR (15 downto 0)); end blanking_lower_counter; architecture Behavioral of blanking_lower_counter is signal qint, q,mint,m,nint,n : std_logic_vector( 15 downto 0); begin qint <= (others=>'0') when clear1 ='1' else std_logic_vector(unsigned(q)+1); q <= qint when rising_edge(clk); lc1<= q; mint <= (others=>'0') when clear2 ='1' else std_logic_vector(unsigned(m)+1); m <= mint when rising_edge(clk); lc2<= m; nint <= (others=>'0') when clear3 ='1' else std_logic_vector(unsigned(n)+1); n <= nint when rising_edge(clk); lc3<= n; end Behavioral; F.1.2.4 VHDL code for the block of Comparator --COMPARATOR library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.numeric_std.all; entity blanking_comparator is Port ( Cin1,Cin2,Cin3 : in STD_LOGIC_VECTOR (15 downto 0); Cin4,Cin5,Cin6 : in STD_LOGIC_VECTOR (15 downto 0); Cout1,Cout2,Cout3 : out STD_LOGIC; 183 Cout4,Cout5,Cout6 : out STD_LOGIC); end blanking_comparator; architecture Behavioral of blanking_comparator is begin Cout1 <= '1' when (unsigned(Cin1) > 4) else '0'; Cout2 <= '1' when (unsigned(Cin2) > 4) else '0'; Cout3 <= '1' when (unsigned(Cin3) > 4) else '0'; Cout4 <= '1' when (unsigned(Cin4) > 4) else '0'; Cout5 <= '1' when (unsigned(Cin5) > 4) else '0'; Cout6 <= '1' when (unsigned(Cin6) > 4) else '0'; end Behavioral; LIST OF PUBLICATIONS Some of the published and accepted technical papers: 1. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “Study on Stability and Performances of DTC Due to Stator Resistance Variation”, IEEE 5th Student Conference (SCOReD). December 11-12, 2007. 1-6. 2. Auzani Jidin, Z. Ahmad, N. R. N. Idris, A. H. M. Yatim, “A Simple Overmodulation Strategy in Direct Torque Control of Induction Machines”, IEEE 5th Student Conference (SCOReD). December 11-12, 2007. 1-5. 3. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “A fast dynamic torque control for direct torque control hysteresis-based induction machines”, in Power Engineering Conference, AUPEC '08. Australasian Universities. December 14-17, 2008. 1-5. 4. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “Improved torque capability through overmodulation for Direct Torque Control hysteresis-based induction machines”, in Power Engineering Conference, AUPEC '08. Australasian Universities. December 14-17, 2008. 1-6. 5. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “A simple overmodulation strategy in DTC-hysterisis based induction machine drives”, in Power and Energy Conference (PeCON), IEEE 2nd International. December 1-3, 2008. 722-725. 6. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “A quick dynamic torque control for direct torque control hysterisis-based induction machines”, in 185 Power and Energy Conference (PeCON), IEEE 2nd International. December 1-3, 2008. 737-742. 7. Auzani Jidin, N. Idris, A. Yatim, M. Elbuluk, “A Novel Overmodulation and Field Weakening Strategy for Direct Torque Control of Induction Machines”, in Industry Applications Society Annual Meeting, IAS '08. IEEE, October 59, 2008. 1-8. 8. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, M. E. Elbuluk, “A wide-speed high torque capability utilizing overmodulation strategy for direct torque control of induction machines”, in Energy Conversion Congress and Exposition (ECCE) IEEE, September 20-24, 2009. 2757-2762. 9. Auzani Jidin, M. F. M. Basar, N. R. N. Idris, A. H. M. Yatim, T. Sutikno, “A simple dynamic overmodulation strategy for fast torque control in DTC of induction machine with constant switching frequency controller”, International Conference on Power Electronics and Drive Systems (PEDS). November 2-5, 2009. 695-700. 10. Auzani Jidin, M. Basar, A. Noordin, N. R. N. Idris, A. H. M. Yatim, “A wide-speed high torque capability utilizing overmodulation strategy in DTC of induction machines with constant switching frequency controller”, International Conference on Power Electronics and Drive Systems (PEDS). November 2-5, 2009. 649-654. 11. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, A. Z. Jidin, T. Sutikno, “Torque ripple minimization in DTC induction motor drive using constant frequency torque controller”, International Conference on Electrical Machines and Systems (ICEMS). October 10-13, 2010. 919-924. 12. Auzani Jidin, N. R. N. Idris, A. R. Abdullah, A. H. M. Yatim, A. Z. Jidin and T. Sutikno, “A hybrid DTC drive for high performance induction motor control”,. International Conference on Electrical Machines and Systems (ICEMS). October 10-13, 2010. 925-930. 186 13. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, M. Elbuluk, T. Sutikno, “Simple Dynamic Overmodulation Strategy for Fast Torque Control in DTC of Induction Machines with Constant Switching Frequency Controller”, in Industry Applications Society Annual Meeting (IAS), IEEE. October 3-7, 2010. 1-8. 14. Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, M. Elbuluk, “An Optimized Switching Strategy for Quick Dynamic Torque Control in DTC Hysteresis-Based Induction Machines”, IEEE Transactions on Industrial Electronics. 2010. 15. T. Sutikno, Auzani Jidin, N. R. N. Idris, “New approach FPGA-based implementation of discontinuous SVPWM”, Turkish Journal of Electrical Engineering and Computer Sciences. 2010. 18(4): 499-514. 16. T. Sutikno, W. J. Hwa, Auzani Jidin, N. R. N. Idris, “A Simple Approach of Space-vector Pulse Width Modulation Realization Based on Field Programmable Gate Array”, Electric Power Components and Systems. 2010. 38(14): 1546-1557. 17. Tole Sutikno, Auzani Jidin, Nik Rumzi Nik Idris, “A New Fixed Switching Frequency Direct Torque Controlled PMSM Drives with Low Ripple in Flux and Torque”, ITB Journal on Engineering Science. (3rd stage review). 18. Tole Sutikno, Nik Rumzi Nik Idris, Auzani Jidin, “A New Direct Torque Control Scheme of Permanent Magnet Synchronous Motor Drives to Reduce Torque Ripple”, Scientific Journal of Technology, University of Indonesia, Jakarta, Indonesia. No. 4, XXII. December 2008. 297-308. 19. Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, M. Elbuluk, “A Hybrid DTC-DSC Drive for High Performance Induction Motor Control”, Journal Power Electronics (JPE), The Korean Institute of Power Electronics (KIPE) (has been accepted for publication in the next issue). 187 20. Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, A.Z. Jidin, M. Elbuluk, “Extending Switching Frequency for Torque Ripple Reduction Utilizing a Constant Frequency Torque Controller in DTC of Induction Motors”, Journal Power Electronics (JPE), The Korean Institute of Power Electronics (KIPE). 2010, 11(2): 148-155. 21. Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, M. Elbuluk, “A WideSpeed High Torque Capability utilizing Overmodulation Strategy in DTC of Induction Machines with Constant Switching Frequency Controller”, IEEE Transactions on Power Electronics (has been accepted for publication in the next issue). 22. Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, M. Elbuluk, T. Sutikno, “Simple Dynamic Overmodulation Strategy for Fast Torque Control in DTC of Induction Machines with Constant Switching Frequency Controller”, IEEE Transactions on Industry Applications (has been accepted for publication in the next issue).