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) |
|
|
28 | (2) |
|
|
30 | (2) |
|
|
32 | (1) |
|
3.1.4 Serial connectivity |
|
|
33 | (1) |
|
|
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) |
|
|
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) |
|
|
49 | (2) |
|
5 Designing a Closed-Loop Control System |
|
|
51 | (14) |
|
|
52 | (2) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
118 | (1) |
|
|
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) |
|
|
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) |
|
|
149 | (2) |
|
|
150 | (1) |
|
12.1.2 Analog to digital converter |
|
|
150 | (1) |
|
|
151 | (2) |
|
12.2.1 Difference between acquisition window and sample time |
|
|
153 | (1) |
|
12.3 Firmware Environment: ADC Peripheral |
|
|
153 | (2) |
|
|
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) |
|
|
164 | (2) |
|
|
166 | (5) |
|
|
169 | (2) |
|
13.3 Generation of PWM signals |
|
|
171 | (7) |
|
|
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) |
|
|
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) |
|
|
207 | (12) |
|
14.1 Operating Principle of Incremental Encoders |
|
|
207 | (2) |
|
|
209 | (1) |
|
14.3 Optical Rotary Encoder LPD3806 |
|
|
210 | (1) |
|
|
211 | (2) |
|
14.5 Firmware Environment: eQEP Peripheral |
|
|
213 | (2) |
|
|
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) |
|
|
221 | (1) |
|
15.2 Linear Model of a PMDC Motor |
|
|
222 | (4) |
|
|
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) |
|
|
254 | (6) |
|
16.3 Sensor Characterization: Experimental Approach |
|
|
260 | (7) |
|
17 Current Control of an RL Load |
|
|
267 | (26) |
|
|
267 | (2) |
|
17.2 Linear Average Model and Controller Design |
|
|
269 | (2) |
|
|
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) |
|
|
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) |
|
|
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) |
|
|
327 | (1) |
|
19.2 Linear Model of a PMDC Motor |
|
|
328 | (2) |
|
19.3 Cascade Control Architecture and Design |
|
|
330 | (3) |
|
|
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) |
|
|
385 | (5) |
|
|
390 | (11) |
Appendix A: Basics of C |
|
401 | (4) |
|
A.1 Operations between numbers |
|
|
401 | (2) |
|
A.1.1 Sum and differences |
|
|
401 | (1) |
|
|
401 | (1) |
|
|
402 | (1) |
|
|
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 | |