1 option
Introduction to microcontroller programming for power electronics control applications : coding with MATLAB and Simulink / Mattia Rossi, Nicola Toscani, Marco Mauri, Francesco Castelli Dezza.
- Format:
- Book
- Author/Creator:
- Rossi, Mattia, author.
- Toscani, Nicola, author.
- Mauri, Marco, author.
- Dezza, Francesco Castelli, author.
- Language:
- English
- Subjects (All):
- Microcontrollers--Programming.
- Microcontrollers.
- Physical Description:
- 1 online resource (452 pages)
- Edition:
- First edition.
- Place of Publication:
- Boca Raton : CRC Press, 2022.
- Summary:
- 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 executable files. This represents a rapid prototyping procedure, and it can be applied to many microcontroller boards available on the market. Among them, this introductory book focuses on the C2000 LaunchPadTM family from Texas InstrumentsTM to provide the reader basic programming strategies, implementation guidelines and hardware considerations for some power electronics-based control applications. Starting from simple examples such as turning on/off on-board LEDs, Analog-to-Digital conversion, waveform generation, or how a Pulse-Width-Modulation peripheral should be managed, the reader is guided through the settings of the specific MCU-related 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., involving 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 either emulate the dynamics of complex systems or testing computational performance. 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 scratch, including a brief review of control theory and modeling strategies for power electronic-based systems.
- Contents:
- Cover
- Half Title
- Title Page
- Copyright Page
- Dedication
- Contents
- Foreword
- Preface
- Acknowledgments
- Biographies
- 1. Advances in Firmware Design for Power Electronics Control Platforms
- 1.1. Embedded Control System
- 1.2. Selecting a Development Board
- 1.2.1. Key elements of a microcontroller
- 1.2.2. Programming microcontrollers
- 1.3. The C2000™ Family of MCU from Texas Instruments™
- 1.4. Scheme of a Power Electronics Control Problem
- I. Embedded Development: Hardware Kits and Coding
- 2. Automatic Code Generation through MATLAB®
- 2.1. Model-Based Design and Rapid Prototyping
- 2.2. Workflow for Automatic Code Generation
- 2.3. Generate Code for C2000™ Microcontrollers
- 2.4. TI C2000™ Processors Block-set
- 3. Texas Instruments™ Development Kit
- 3.1. TI C2000™ LaunchPad™ : F28069M Piccolo
- 3.1.1. Features
- 3.1.2. Pin muxing
- 3.1.3. Power connectivity
- 3.1.4. Serial connectivity
- 3.1.5. Boot options
- 3.2. TI BOOSTXL-DRV8301. BoosterPack
- 3.2.1. BoosterPack PWM signals
- 3.2.2. BoosterPack GPIO signals
- 3.2.3. DC bus and phase voltage sense
- 3.2.4. Low-side shunt-based current sense
- 4. Software Installation
- 4.1. TI Support Packages: Code Composer™ Studio and ControlSUITE™
- 4.2. MATLAB® Support Package: Embedded Coder for Texas Instruments C2000. Processors
- 4.3. Installation Procedure
- II. Review of Control Theory: Closing the Loop
- Introduction
- 5. Designing a Closed-Loop Control System
- 5.1. Dynamical Systems
- 5.1.1. Mathematical laws
- 5.1.2. Dynamical systems in electrical applications
- 5.2. Design a PI Controller in Continuous-Time Domain
- 5.2.1. Serial/parallel form
- 5.2.2. Characterization of the closed-loop dynamics F(s)
- 5.3. Derive a PI Controller in Discrete-Time Domain
- 5.3.1. General properties of the discretization process.
- 5.3.2. Characterization of the closed-loop dynamics F(z)
- 6. Design Example: PI-Based Current Control of an RL Load
- 6.1. Simulink® Simulation
- 6.1.1. Use of standard blocks (continuous/discrete)
- 6.1.2. Use of Simscape™ (specialized power systems)
- 6.1.3. Controller performances
- 6.2. Derive an Anti-Windup PI Controller Scheme
- 6.3. Design Summary
- 7. Manipulate the Variables Format: Data Types
- 7.1. Fixed Point vs Floating Point Representation
- 7.2. Single vs Double Precision
- 7.3. Use of Scaling in Fixed Point Representation
- 7.4. Converting from Decimal Representation to Single
- 7.5. Processing the Data: Implementation Hints
- III. Real-Time Control in Power Electronics: Peripherals Settings
- 8. Basic Settings: Serial Communication COM and Hardware Target
- 8.1. Virtual Serial Communication through COM port
- 9. Simulink® Configuration
- 9.1. Simulink® Environments: Firmware vs Testing
- 9.1.1. Overview
- 9.1.2. Execution in Simulink®
- 9.2. MCUs and Real-Time Control with Simulink®
- 10. Serial Communication Interface (SCI) Peripheral
- 10.1. Hardware Details
- 10.2. Firmware Environment: Send and Receive Data through Serial Communication
- 10.2.1. C2806x SCI receive
- 10.2.2. C2806x SCI transmit
- 10.3. Testing Environment: Send/Receive Data through Serial Communication
- 10.3.1. Serial configuration
- 10.3.2. Serial send
- 10.3.3. Serial receive
- 10.4. Time Variable Settings (Sample Rates)
- 10.5. Examples on Serial Communication
- 11. GPIO Peripheral-Digital Input/Output
- 11.1. Hardware Details
- 11.2. Firmware Environment: GPIO Peripherals
- 11.2.1. C2806x GPIO digital input (GPIO DI)
- 11.2.2. C2806x digital output (GPIO DO)
- 11.3. Examples with GPIO blocks
- 12. Analog to Digital Converter Peripheral
- 12.1. Operating Principle
- 12.1.1. Sample &
- hold.
- 12.1.2. Analog to digital converter
- 12.2. Hardware Details
- 12.2.1. Difference between acquisition window and sample time
- 12.3. Firmware Environment: ADC Peripheral
- 12.3.1. C2806x ADC
- 12.4. Example with ADC block
- 12.5. Synchronization between ADC modules
- 13. Pulse Width Modulator Peripheral
- 13.1. Operating Principle
- 13.2. Hardware Details
- 13.2.1. ePWM sub-modules
- 13.3. Generation of PWM signals
- 13.3.1. Counting modes
- 13.3.2. ePWMxA and ePWMxB sub-modules
- 13.3.3. Setting dead bands
- 13.4. Firmware Environment: ePWM Peripheral
- 13.4.1. C2806x ePWM
- 13.5. Example with ePWM block
- 13.6. DAC Peripheral-Filtered PWM
- 13.7. Examples with DAC Peripherals
- 13.8. Synchronization between Multiple ePWM Modules
- 13.9. Synchronization between ADC and ePWM Modules: Average Measurements
- 13.10. Events Execution within Sample Time
- 14. Encoder Peripheral
- 14.1. Operating Principle of Incremental Encoders
- 14.2. Hardware Details
- 14.3. Optical Rotary Encoder LPD3806
- 14.4. Speed Computation
- 14.5. Firmware Environment: eQEP Peripheral
- 14.5.1. C2806x eQEP
- 14.6. Example with eQEP block
- IV. Real-Time Control in Power Electronics: Applications
- 15. Open Loop Control of a Permanent Magnet DC Motor
- 15.1. Required Hardware
- 15.2. Linear Model of a PMDC Motor
- 15.3. System Simulations
- 15.4. Half-Bridge Configuration
- 15.4.1. Control implementation
- 15.5. Full-Bridge Configuration
- 15.5.1. Modulation strategies
- 15.5.2. Unipolar voltage switching
- 15.5.3. Bipolar voltage switching
- 15.5.4. Control implementation
- 16. Low-Side Shunt Current Sensing
- 16.1. Sensor Characterization: Theoretical Approach
- 16.2. Locked Rotor Test
- 16.3. Sensor Characterization: Experimental Approach
- 17. Current Control of an RL Load
- 17.1. Required Hardware.
- 17.2. Linear Average Model and Controller Design
- 17.3. System Simulations
- 17.3.1. Detailed modeling of the actuation variables
- 17.4. Half-Bridge Configuration
- 17.4.1. Control implementation
- 17.5. Variation of Load Parameters
- 17.5.1. Effects on the transient response
- 17.5.2. Parameters estimation
- 18. Voltage Control of an RLC load
- 18.1. Required Hardware
- 18.2. Guidelines for the Hardware Design of a RLC Load
- 18.3. General State-Space Average Modeling Method
- 18.3.1. Linear average model and controller design
- 18.4. System Simulations
- 18.5. Half-Bridge Configuration
- 18.5.1. Control implementation
- 18.6. Variations of LC Filter Parameters
- 19. Cascade Speed Control of a Permanent Magnet DC Motor
- 19.1. Required Hardware
- 19.2. Linear Model of a PMDC Motor
- 19.3. Cascade Control Architecture and Design
- 19.4. System Simulations
- 19.5. Full-Bridge Configuration
- 19.5.1. Model reference adaptive system (MRAS) observer
- 19.6. Single Motor Configuration
- 19.6.1. Parameter identification
- 19.6.2. Control implementation
- 19.7. Back-to-Back (B2B) Configuration
- 19.7.1. Parameter identification
- 19.7.2. Control implementation
- V. Real-Time Control in Power Electronics: Load Emulation
- 20. Debugging Tools and Firmware Profiling
- 20.1. Processor-in-the-loop with Simulink®
- 20.1.1. PMDC motor control implementation through PIL
- 20.2. External Mode Execution with Simulink®
- 20.2.1. Simulink® setup for external mode execution
- 21. Electric Propulsion Case Studies
- 21.1. Urban Tramway
- 21.2. Electric Racing Car
- A. Appendix A: Basics of C
- A.1. Operations between numbers
- A.1.1. Sum and differences
- A.1.2. Shift operation
- A.1.3. Multiplication
- A.1.4. Division
- A.2. Structure of a C program
- B. Appendix B: Custom Expansion Boards and Hardware Kits
- Bibliography.
- Index.
- Notes:
- Includes bibliographical references and index.
- Description based on print version record.
- ISBN:
- 1-00-319693-4
- 1-000-42491-X
- 1-003-19693-4
- 1-000-42496-0
- 9781003196938
- OCLC:
- 1265464848
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.