Tarun Maandi

PMSM Field Oriented Control

Implementing Field Oriented Control (FOC) for a Permanent Magnet Synchronous Motor (PMSM) using the TI C2000 LaunchPad (F28379D) along with a 3-phase GaN inverter (BOOSTXL-3PhGaNInv). This project utilizes:

Hardware Used:

Technologies Used: FOC, FCL Library, SFRA Library, PWM, Motor Control

Project Type: Personal Project (Building upon knowledge from University of Michigan EECS 419)

Project Setup Project Setup 2

Overview of the hardware setup, including the TI LaunchPad, 3-phase GaN inverter, Two Teknic Motors and power supply.

Key Features and Progress:

Successfully completed all 6 incremental build levels as outlined by the Texas Instruments application report, "Dual-Axis Motor Control Using FCL and SFRA On a Single C2000™ MCU".

Build Level 1: Basic PWM Generation

  • Initialized and verified PWM signal generation.
  • Implemented space vector modulation (SVM) to drive the 3-phase inverter.
Build Level 1

Oscilloscope captures of the PWM signals (EPWM1A & B - High and Low switches (Gallium Nitride (GaN) Field Effect Transistors (FETs)) for Motor Phase A - note their complementary nature), demonstrating the correct generation of PWM waveforms.

Build Level 2: Open Loop Motor Control

  • Achieved open-loop control of the motor.
  • Calibrated DC bus voltage measurement for accurate scaling and ADC readings.
  • Verified QEP interface for encoder feedback.
Level 2 System

System diagram for Build Level 2, illustrating the connections between the C2000 LaunchPad, GaN inverter, and Teknic Motor (Img Ref: TI Dual-Axis Motor Control using FCL).

PWM DAC Waveforms

Oscilloscope captures of the scaled-down phase voltages resulting from the PWM signals shown above (for Motor Phase A & Phase B - note the expected 120-degree phase difference between each phase).

Level 2 System

Plots of the motor electrical position and current during open-loop control as captured via debugger. Because of open loop control, the rotor position and reference position do not align, only the speeds match since reference theta is used to determine field's rotational frequency

Build Level 3: Current Control Loop

  • Implemented the current control loop using the FCL library.
  • Performed latency measurements between ADC and QEP sampling and PWM updates.
  • Chose a PI controller for current regulation.
Build Level 3

System diagram for Build Level 3 (Img Ref: TI Dual-Axis Motor Control using FCL).

Build Level 3

Plots of the motor electrical position and q-axis current during current control loop as captured via debugger. The current loop is closed and the current is regulated to the reference value.

Build Level 4: Speed Control Loop

  • Implemented the speed control loop.
  • Conducted tests at different speed settings.
Build Level 4

System diagram for Build Level 4 (Img Ref: TI Dual-Axis Motor Control using FCL).

Build Level 4

Plots of the dual, independent motor electrical position and speed during speed control loop as captured via debugger. The speed loop is closed and the speed is regulated to the reference value.

Build Level 4 Motors

The two de-coupled motors running at same speeds, demonstrating the independent control of each motor.

Build Level 5: Position Control Loop

  • Implemented the position control loop.
  • Ran the motor through predefined motion profiles.
Build Level 5

System diagram for Build Level 5 (Img Ref: TI Dual-Axis Motor Control using FCL).

Build Level 5

Plots of the motor electrical position and speed during position control loop as captured via debugger. The position loop is closed and the position is regulated to the reference value.

Build Level 5 Motion Profile

The motor running through a predefined motion profile, demonstrating the position control loop.

Build Level 6: Frequency Response Analysis

  • Utilized the SFRA tool to perform frequency response analysis of the current loops.
  • Analyzed system performance at various bandwidth settings and under different load conditions.
  • Compared open-loop, closed-loop, and plant models using the SFRA GUI.
Build Level 6

System diagram for Build Level 6 (Img Ref: TI Dual-Axis Motor Control using FCL).

Build Level 6

Frequency response analysis of the d-axis current loop in open-loop control, showing the Bode plot of the current loop (PI Controller).

Build Level 6

Frequency response analysis of the d-axis current loop in closed-loop control, showing the Bode plot of the current loop (PI Controller).

Build Level 6

Frequency response analysis of the q-axis current loop in open-loop control, showing the Bode plot of the current loop (PI Controller).

Build Level 6

Frequency response analysis of the q-axis current loop in closed-loop control, showing the Bode plot of the current loop (PI Controller).

Next Steps: