Muutke küpsiste eelistusi

Introduction to Microcontroller Programming for Power Electronics Control Applications: Coding with MATLAB® and Simulink® [Kõva köide]

(Politecnico di Milano, Italy.), (Politecnico di Milano, Italy.), (Politecnico di Milano, Italy.), (Politecnico di Milano, Italy.)
  • Formaat: Hardback, 430 pages, kõrgus x laius: 234x156 mm, kaal: 1000 g, 16 Tables, black and white; 208 Line drawings, black and white; 48 Halftones, black and white; 256 Illustrations, black and white
  • Ilmumisaeg: 30-Sep-2021
  • Kirjastus: CRC Press
  • ISBN-10: 0367709856
  • ISBN-13: 9780367709853
  • Kõva köide
  • Hind: 84,69 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 119,79 €
  • Säästad 29%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Raamatukogudele
  • Formaat: Hardback, 430 pages, kõrgus x laius: 234x156 mm, kaal: 1000 g, 16 Tables, black and white; 208 Line drawings, black and white; 48 Halftones, black and white; 256 Illustrations, black and white
  • Ilmumisaeg: 30-Sep-2021
  • Kirjastus: CRC Press
  • ISBN-10: 0367709856
  • ISBN-13: 9780367709853

The book focuses on the LaunchPadTM F28069M board from Texas InstrumentsTM to provide readers some basic programming strategies specified to the field of power electronics-based control applications. Key concepts are developed from scratch, including a brief review of control theory and modeling strategies.



Microcontroller programming is not a trivial task. Indeed, it is necessary to set correctly the required peripherals by using programming languages like C, C++ or directly machine code. Nevertheless, MathWorks® developed a model-based workflow linked with an automatic code generation tool able to translate Simulink® schemes into an executable file. This rapid prototyping procedure can be applied to many microcontroller boards available on the market. Among them, this introductory book focuses on the LaunchPadTM F28069M board from Texas InstrumentsTM to provide the reader some basic programming strategies specified to the field of power electronics-based control applications. Starting from simple examples such as turning on/off on-board leds or how to manage a Pulse-Width-Modulation peripheral, the reader is guided through the settings of all these dedicated Simulink® blocks enabled for code translation. Then, the book proposes several control problems in terms of power management of RL and RLC loads (e.g. DC-DC converters) and closed-loop control of DC motors. The control schemes are investigated as well as the working principles of power converter topologies needed to drive the systems under investigation. Finally, a couple of exercises are proposed to check the reader’s understanding while presenting a processor-in-the loop (PIL) technique to emulate the dynamics of complex systems.

Thus, this book is oriented to graduate students of electrical and automation and control engineering pursuing a curriculum in power electronics and drives, as well as to engineers and researchers who want to deepen their knowledge and acquire new competences in the design and implementations of control schemes aimed to the aforementioned application fields. Indeed, it is assumed that the reader is well acquainted with fundamentals of electrical machines and power electronics, as well as with continuous-time modeling strategies and linear control techniques. In addition, familiarity with sampled-data, discrete-time system analysis and embedded design topics is a plus.

However, even if these competences are helpful, they are not essential, since this book provides some basic knowledge even to whom is approaching these topics for the first time. Key concepts are developed from scratches, including a brief review of control theory and modeling strategies for power electronic-based systems.

Foreword xiii
Preface xvii
Acknowledgments xix
Biographies xxi
1 Advances in Firmware Design for Power Electronics Control Platforms
1(12)
1.1 Embedded Control System
1(2)
1.2 Selecting a Development Board
3(4)
1.2.1 Key elements of a microcontroller
4(1)
1.2.2 Programming microcontrollers
5(2)
1.3 The C2000™ Family of MCU from Texas Instruments™
7(2)
1.4 Scheme of a Power Electronics Control Problem
9(4)
I Embedded Development: Hardware Kits and Coding 13(34)
2 Automatic Code Generation through MATLAB®
15(12)
2.1 Model-Based Design and Rapid Prototyping
16(2)
2.2 Workflow for Automatic Code Generation
18(4)
2.3 Generate Code for C2000TM Microcontrollers
22(2)
2.4 TI C2000™ Processors Block-set
24(3)
3 Texas Instruments™ Development Kit
27(12)
3.1 TI C2000™ LaunchPad™ : F28069M Piccolo
27(7)
3.1.1 Features
28(2)
3.1.2 Pin muxing
30(2)
3.1.3 Power connectivity
32(1)
3.1.4 Serial connectivity
33(1)
3.1.5 Boot options
33(1)
3.2 TI BOOSTXL-DRV8301 BoosterPack
34(5)
3.2.1 BoosterPack PWM signals
35(1)
3.2.2 BoosterPack GPIO signals
36(1)
3.2.3 DC bus and phase voltage sense
37(1)
3.2.4 Low-side shunt-based current sense
37(2)
4 Software Installation
39(8)
4.1 TI Support Packages: Code Composer™ Studio and ControlSUITE™
39(2)
4.2 MATL AB® Support Package: Embedded Coder for Texas Instruments C2000 Processors
41(1)
4.3 Installation Procedure
41(6)
II Review of Control Theory: Closing the Loop 47(50)
Introduction
49(2)
5 Designing a Closed-Loop Control System
51(14)
5.1 Dynamical Systems
52(2)
5.1.1 Mathematical laws
52(2)
5.1.2 Dynamical systems in electrical applications
54(1)
5.2 Design a PI Controller in Continuous-Time Domain
54(6)
5.2.1 Serial/parallel form
55(1)
5.2.2 Characterization of the closed-loop dynamics F(s)
55(5)
5.3 Derive a PI Controller in Discrete-Time Domain
60(5)
5.3.1 General properties of the discretization process
60(2)
5.3.2 Characterization of the closed-loop dynamics F(z)
62(3)
6 Design Example: PI-Based Current Control of an RL Load
65(20)
6.1 Simulink® Simulation
67(10)
6.1.1 Use of standard blocks (continuous/discrete)
71(2)
6.1.2 Use of Simscape™ (specialized power systems)
73(1)
6.1.3 Controller performances
74(3)
6.2 Derive an Anti-Windup PI Controller Scheme
77(5)
6.3 Design Summary
82(3)
7 Manipulate the Variables Format: Data Types
85(12)
7.1 Fixed Point vs Floating Point Representation
85(3)
7.2 Single vs Double Precision
88(3)
7.3 Use of Scaling in Fixed Point Representation
91(2)
7.4 Converting from Decimal Representation to Single Format
93(2)
7.5 Processing the Data: Implementation Hints
95(2)
III Real-Time Control in Power Electronics: Peripherals Settings 97(122)
Introduction
99(2)
8 Basic Settings: Serial Communication COM and Hardware Target
101(4)
8.1 Virtual Serial Communication through COM port
101(4)
9 Simulink® Configuration
105(6)
9.1 Simulink® Environments: Firmware vs Testing
107(2)
9.1.1 Overview
107(1)
9.1.2 Execution in Simulink®
108(1)
9.2 MCUs and Real-Time Control with Simulink®
109(2)
10 Serial Communication Interface (SCI) Peripheral
111(20)
10.1 Hardware Details
112(1)
10.2 Firmware Environment: Send and Receive Data through Serial Communication
113(4)
10.2.1 C2806x SCI receive
113(3)
10.2.2 C2806x SCI transmit
116(1)
10.3 Testing Environment: Send/Receive Data through Serial Communication
117(3)
10.3.1 Serial configuration
117(1)
10.3.2 Serial send
118(1)
10.3.3 Serial receive
119(1)
10.4 Time Variable Settings (Sample Rates)
120(2)
10.5 Examples on Serial Communication
122(9)
11 GPIO Peripheral-Digital Input/Output
131(18)
11.1 Hardware Details
131(2)
11.2 Firmware Environment: GPIO Peripherals
133(2)
11.2.1 C2806x GPIO digital input (GPIO DI)
133(1)
11.2.2 C2806x digital output (GPIO DO)
134(1)
11.3 Examples with GPIO blocks
135(14)
12 Analog to Digital Converter Peripheral
149(14)
12.1 Operating Principle
149(2)
12.1.1 Sample & hold
150(1)
12.1.2 Analog to digital converter
150(1)
12.2 Hardware Details
151(2)
12.2.1 Difference between acquisition window and sample time
153(1)
12.3 Firmware Environment: ADC Peripheral
153(2)
12.3.1 C2806x ADC
153(2)
12.4 Example with ADC block
155(5)
12.5 Synchronization between ADC modules
160(3)
13 Pulse Width Modulator Peripheral
163(44)
13.1 Operating Principle
164(2)
13.2 Hardware Details
166(5)
13.2.1 ePWM sub-modules
169(2)
13.3 Generation of PWM signals
171(7)
13.3.1 Counting modes
172(2)
13.3.2 ePWMxA and ePWMxB sub-modules
174(1)
13.3.3 Setting dead bands
175(3)
13.4 Firmware Environment: ePWM Peripheral
178(8)
13.4.1 C2806x ePWM
178(8)
13.5 Example with ePWM block
186(5)
13.6 DAC Peripheral-Filtered PWM
191(1)
13.7 Examples with DAC Peripherals
192(5)
13.8 Synchronization between Multiple ePWM Modules
197(5)
13.9 Synchronization between ADC and ePWM Modules: Average Measurements
202(2)
13.10 Events Execution within Sample Time
204(3)
14 Encoder Peripheral
207(12)
14.1 Operating Principle of Incremental Encoders
207(2)
14.2 Hardware Details
209(1)
14.3 Optical Rotary Encoder LPD3806
210(1)
14.4 Speed Computation
211(2)
14.5 Firmware Environment: eQEP Peripheral
213(2)
14.5.1 C2806x eQEP
213(2)
14.6 Example with eQEP block
215(4)
IV Real-Time Control in Power Electronics: Applications 219(152)
15 Open Loop Control of a Permanent Magnet DC Motor
221(30)
15.1 Required Hardware
221(1)
15.2 Linear Model of a PMDC Motor
222(4)
15.3 System Simulations
226(1)
15.4 Half-Bridge Configuration
227(7)
15.4.1 Control implementation
231(3)
15.5 Full-Bridge Configuration
234(17)
15.5.1 Modulation strategies
235(1)
15.5.2 Unipolar voltage switching
236(5)
15.5.3 Bipolar voltage switching
241(5)
15.5.4 Control implementation
246(5)
16 Low-Side Shunt Current Sensing
251(16)
16.1 Sensor Characterization: Theoretical Approach
252(2)
16.2 Locked Rotor Test
254(6)
16.3 Sensor Characterization: Experimental Approach
260(7)
17 Current Control of an RL Load
267(26)
17.1 Required Hardware
267(2)
17.2 Linear Average Model and Controller Design
269(2)
17.3 System Simulations
271(2)
17.3.1 Detailed modeling of the actuation variables
271(2)
17.4 Half-Bridge Configuration
273(15)
17.4.1 Control implementation
280(8)
17.5 Variation of Load Parameters
288(5)
17.5.1 Effects on the transient response
288(2)
17.5.2 Parameters estimation
290(3)
18 Voltage Control of an RLC load
293(32)
18.1 Required Hardware
293(3)
18.2 Guidelines for the Hardware Design of a RLC Load
296(4)
18.3 General State-Space Average Modeling Method
300(6)
18.3.1 Linear average model and controller design
303(3)
18.4 System Simulations
306(1)
18.5 Half-Bridge Configuration
306(16)
18.5.1 Control implementation
314(8)
18.6 Variations of LC Filter Parameters
322(3)
19 Cascade Speed Control of a Permanent Magnet DC Motor
325(46)
19.1 Required Hardware
327(1)
19.2 Linear Model of a PMDC Motor
328(2)
19.3 Cascade Control Architecture and Design
330(3)
19.4 System Simulations
333(1)
19.5 Full-Bridge Configuration
334(13)
19.5.1 Model reference adaptive system (MRAS) observer
344(3)
19.6 Single Motor Configuration
347(14)
19.6.1 Parameter identification
348(2)
19.6.2 Control implementation
350(11)
19.7 Back-to-Back (B2B) Configuration
361(12)
19.7.1 Parameter identification
363(1)
19.7.2 Control implementation
364(7)
V Real-Time Control in Power Electronics: Load Emulation 371(30)
20 Debugging Tools and Firmware Profiling
373(12)
20.1 Processor-in-the-loop with Simulink®
373(7)
20.1.1 PMDC motor control implementation through PIL
375(5)
20.2 External Mode Execution with Simulink®
380(5)
20.2.1 Simulink® setup for external mode execution
381(4)
21 Electric Propulsion Case Studies
385(16)
21.1 Urban Tramway
385(5)
21.2 Electric Racing Car
390(11)
Appendix A: Basics of C 401(4)
A.1 Operations between numbers
401(2)
A.1.1 Sum and differences
401(1)
A.1.2 Shift operation
401(1)
A.1.3 Multiplication
402(1)
A.1.4 Division
402(1)
A.2 Structure of a C program
403(2)
Appendix B: Custom Expansion Boards and Hardware Kits 405(18)
Bibliography 423(4)
Index 427
Mattia Rossi is a Research Assistant at Politecnico di Milano, Italy.

Nicola Toscani is currently working as a Postdoctoral Research Fellow in the Department of Mechanical Engineering of Politecnico di Milano.

Marco Mauri is an Assistant Professor in Electrical Machines and Drives at Politecnico di Milano, Italy.

Francesco Castelli Dezza is a Full Professor in Electrical Machines and Drives at Politecnico di Milano, Italy.