Microcontroller Programming For Power Electronics Engineers

Posted By: ELK1nG

Microcontroller Programming For Power Electronics Engineers
Published 9/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 16.37 GB | Duration: 24h 39m

Using the Texas Instruments TMS320F28069 microcontroller kit

What you'll learn

Basic features of the TI TMS320F28069 microcontroller

Installing and using Code Composer Studio IDE

Installing and using C2000Ware from TI

Basic microcontroller architecture and operation

Setting up projects and understanding compiler options and dependencies

Understanding and interpreting example projects from TI

Controlling GPIO pins

Using timers and interrupts

Using the Enhanced Pulse Width Modulation module

Receiving analog signals using the Analog to Digital Converter

Requirements

Basic C programming

TI Piccolo F28069 Microcontroller Kit - either TMDSDOCK28069 or LAUNCHXL-F28069

Oscilloscope - at least 2 channel and 10 MHz bandwidth and 50 MSample/s

Assorted resistor box - 1%, 0.25W. Mainly 2.2kOhm and 22kOhm will be used (5 of each)

Electrolytic capacitor box - 10 microFarad, 25V and 22 microFarad, 25V will be used

Assorted LEDs - red, blue and white are used in the course

Solderless breadboards for electronic circuits

Jumper cables for connection from microcontroller kit and breadboards (around 5)

Wire stripper, wire cutter

22AWG wire bundle for connections on breadboard

Description

The course will describe how to use the TMS320F28069 microcontroller from Texas Instruments for power electronics applications. The course is targeted towards beginners who are new to microcontroller programming and therefore, is ideal for electrical engineering undergraduates and graduate students who will be seeking their first job in the power industry. The course describes how a student can setup a basic home lab for the course, as this course is a hardware course and needs basic electronic equipment for hands-on experience. The course covers both theory and programming. The emphasis of the course is on creating projects and on programming the microcontroller. However, to make the material complete, the course deals with microcontroller architecture and describes the working of the processor and the peripherals.The course will begin with very simple examples such as how to make LEDs glow and flash. However, it will progress to more practical scenarios as found in power electronics applications where gating signals will be produced for practical converters. The course will also describe how the microcontroller can be used for control applications by feeding measured signals into the microcontroller and processing them. The course will use the Code Composer Studio IDE provided for free by Texas Instruments and also example projects and starter files provided through the C2000Ware package. The course will describe how necessary software can be be downloaded and how the student can interpret and understand the example projects.To be able to complete all examples in this course, the student will need to setup a home electronics lab which will cost around USD 150. Details of the components required are described in the introduction and all videos in the introduction are preview enabled.

Overview

Section 1: Introduction

Lecture 1 Welcome

Lecture 2 Target audience

Lecture 3 Course requirements

Lecture 4 Completing the course

Lecture 5 Texas Instruments

Section 2: System Setup

Lecture 6 Introduction

Lecture 7 Installing Code Composer Studio

Lecture 8 Installing C2000Ware

Lecture 9 Technical documents and guides

Lecture 10 Contents of C200Ware

Lecture 11 Details on the TMDSDOCK28069 kit

Lecture 12 Details on the LAUNCHXL-F28069 kit

Lecture 13 Testing the TMDSDOCK28069 kit

Lecture 14 Testing the LAUNCHXL-F28069M kit

Lecture 15 Tips for starting with electronics

Section 3: Getting started with microcontroller programming

Lecture 16 Introduction

Lecture 17 Microcontroller architecture and peripherals

Lecture 18 Linker files - part 1

Lecture 19 Linker files - part 2

Lecture 20 Linker files - part 3

Lecture 21 Description of Timed LED blink project files

Lecture 22 Using GPIO pins as digital outputs

Lecture 23 Configuration of GPIO pins (theory)

Lecture 24 Data types in C programming language

Lecture 25 How header files (.h) are included in the project

Lecture 26 Reading the data types used in source code

Lecture 27 Understanding the GPIO header file contents

Lecture 28 Changing the state of a GPIO pin

Lecture 29 GPIO data register structures

Lecture 30 Setting up a new Code Composer Studio project

Lecture 31 Fixing project dependencies

Lecture 32 Connecting external LEDs to GPIO pins

Lecture 33 Completing control code

Lecture 34 Executing code - TMDSDOCK28069 kit

Lecture 35 Mistake on the use of GPASET

Lecture 36 Executing code - LAUNCHXL-F28069 kit

Lecture 37 GPIO as digital inputs

Lecture 38 Conclusions

Section 4: Timers and interrupts

Lecture 39 Introduction

Lecture 40 Importance of timing in digital control

Lecture 41 Oscillators and clock signals

Lecture 42 Setting up the system clock

Lecture 43 Examining the InitSysCtrl() function

Lecture 44 Overview of CPU timers

Lecture 45 Interrupts and how they are handled

Lecture 46 PIE Vector Table

Lecture 47 Code browsing - setting up of interrupts

Lecture 48 Code browsing - PIE vector table

Lecture 49 Code browsing - initialising CPU timers

Lecture 50 Code browsing - setting up CPU timer

Lecture 51 Setting up our project and defining objectives

Lecture 52 Configuring timers using timer registers

Lecture 53 Setting different configurations for the three timers

Lecture 54 Completing project - writing ISRs and re-enabling interrupts

Lecture 55 Fixing bugs

Lecture 56 Executing code in the TMDSDOCK28069 kit

Lecture 57 Executing code in the LAUNCHXL-F28069 kit

Lecture 58 Conclusions

Section 5: Enhanced Pulse Width Modulation (ePWM)

Lecture 59 Introduction

Lecture 60 Overview of sub-modules in an ePWM module

Lecture 61 Time Base Sub-module

Lecture 62 Event Trigger and Interrupts Sub-module

Lecture 63 Code browsing - selecting an ePWM example project

Lecture 64 Code browsing - configuration of ePWM Time Base Sub-module registers

Lecture 65 Code browsing - ePWM header file

Lecture 66 Code browsing - ePWM ISRs

Lecture 67 ePWM interrupt project - setup

Lecture 68 ePWM interrupt project - initialising system and interrupts

Lecture 69 ePWM interrupt project - time base and interrupt sub-modules

Lecture 70 ePWM interrupt project - completing main configuration

Lecture 71 ePWM interrupt project - ISRs and compiling project

Lecture 72 ePWM interrupt project - executing on TMDSDOCK28069

Lecture 73 ePWM interrupt project - executing on LAUNCHXL-F28069

Lecture 74 ePWM interrupt project - triangular waveform as carrier

Lecture 75 Counter Compare Sub-module

Lecture 76 Action Qualifier Sub-module

Lecture 77 ePWM gating signal project - setup and configuration

Lecture 78 ePWM gating signal project - choosing PWM pins

Lecture 79 ePWM gating signal project - compare registers

Lecture 80 ePWM gating signal project - emulating a controller

Lecture 81 ePWM gating signal project - executing on TMDSDOCK28069

Lecture 82 ePWM gating signal project - executing on LAUNCHXL-F28069

Lecture 83 ePWM gating signal project - sine-triangle modulation for dc-ac converters

Lecture 84 Dead Band Generator Sub-module

Lecture 85 Dead band project - setup and configuration

Lecture 86 Dead band project - calculating dead time interval

Lecture 87 Dead band project - executing on TMDSDOCK28069

Lecture 88 Dead band project - executing on LAUNCHXL-F28069

Lecture 89 Synchronization feature in the TMS320F28069

Lecture 90 Phase-shift control of a full-bridge converter

Lecture 91 Phase shift project - setup and basic configuration

Lecture 92 Phase shift project - control algorithm

Lecture 93 Phase shift project - completing project setup and compiling

Lecture 94 Phase shift project - executing on TMDSDOCK28069

Lecture 95 Phase shift project - executing on LAUNCHXL-F28069

Lecture 96 Trip zone sub-module

Lecture 97 Trip zone project - setup and configuration

Lecture 98 Trip zone project - actions and ISRs

Lecture 99 Trip zone project - completing setup and compiling

Lecture 100 Trip zone project - executing on TMDSDOCK28069

Lecture 101 Trip zone project - executing on LAUNCHXL-F28069

Lecture 102 Conclusion

Section 6: Analog to Digital Converter (ADC) Module

Lecture 103 Introduction

Lecture 104 ADC module overview

Lecture 105 Start of ADC conversion

Lecture 106 ADC channel selection

Lecture 107 Process of analog to digital conversion

Lecture 108 End of conversion process

Lecture 109 Generating mock analog signals

Lecture 110 Choice of current limiting resistor

Lecture 111 ADC project - project setup

Lecture 112 ADC Project - initial starter project compilation

Lecture 113 ADC Project - analog waveforms with the TMDSDOCK28069

Lecture 114 ADC Project - analog waveforms with the LAUNCHXL-F28069

Lecture 115 ADC project - initializing the ADC module

Lecture 116 ADC project - setting up SOC trigger

Lecture 117 ADC project - choosing channels (pins) for sampling

Lecture 118 ADC project - configuring EOCs and interrupts

Lecture 119 ADC project - extracting results in ISR

Lecture 120 ADC project - second compile after setting up ADC module

Lecture 121 ADC project - reading analog values in TMDSDOCK28069

Lecture 122 ADC project - reading analog values in LAUNCHXL-F28069

Lecture 123 ADC project - calculating peak and peak-to-peak values of signals

Lecture 124 ADC project - verifying calculations on oscilloscope

Lecture 125 Conclusions

Section 7: Conclusions

Lecture 126 Conclusions

Power electronics engineers,Electrical and electronics engineering students,Graduate students,Firmware engineers and technicians