BLDC Motor Control with Model Based Design

Discussion created by dumitru-daniel.popa Employee on May 9, 2017
Latest reply on Mar 28, 2020 by hao xue

This course explains how to design and prototype a Motor Control Application using Model Based Design Toolbox for MPC5744P



Course Objectives

1 - Leverage MBD Toolbox Capabilities:

         Automatic C-code generation for different microprocessors

         Initialization and control for multiple peripherals

         Ease of use and speed of development for complex apps


2 - Highlight MPC5744P Capabilities For Industrial Control


3 - Learn Step-by-Step How To Control A Motor Speed:

         Sensors reading via GPIO

         Field Oriented Control of BLDC motors

         Pulse Width Modulation via FTM 


4 - Understand How To Use Available Tools:

         FreeMASTER - real time data visualizer

         RAppID Bootloader

         Run-Time Debugging Tools



This Course Explains:

  •       All the concepts and dependencies with the assumption that users meet first time with NXP products.
  •       Programming model of various peripherals, communication protocols or motor control concepts
  •       How to use Model Based Design to program a fairly complex application for Motor Control

Video #1Introduction

                  MPC5744P and MotorGD DevKits unboxing

MBD Toolbox environment setup


Video #2Application Partitioning

Motor Control block diagram

SW blocks and HW peripherals mapping


Video #3Configure Input Commands

ADC configuration

GPIOs configuration

FreeMASTER interface


Video #4BLDC Motor Theory

What it is and where to use it

How it works with digital controller

Video #5Read Hall Sensors

Hall sensors setup

GPIO and eTimer input capture

Decode rotor initial position

Video #6Commutation

FOC sector identification

6-step commutation

SVM procedure

Video #7Commutation Algorithm Validation

6-step commutation algorithm implementation

SIL and PIL model conversion

Validate results with MIL, SIL and PIL

Video #8Power Stage Configuration

MotorGD pin assignment

PWM generation and validation

FET pre-driver programming via SPI

Power stage verification

Video #9Open Loop Control System

Open Loop control algorithm implementation

Phase voltage commutation based on Hall sensors

Spin BLDC motor for the 1st time

Video #10Speed Estimator

Speed estimator implementation

Testing and validation on real motor

Video #11Closed Loop Control System

PI Speed Controller tuning

Closed Loop System transfer function

Root Locus vs. Ziegler Nichols methods

Video #12Motor Control System

Final motor control Simulink model

FreeMASTER control panel

Tests and Conclusions


What Is Available As Support Information For The Course:

Video training

19 videos showing step by step the theory, practical implementation and validation

145 minutes of video content

Training Material

PDF slides used for each lecture

Simulink Models

Matlab 2015b SLX models for each of the functionalities and peripherals covered in the lectures: ADC/GPIO/CAN/UART/FTM/SPI


Any additional question will be answered via Community


UPDATE August 2nd, 2019: Here is an interesting investigation on various controllers design/implementation/test made by Andrei Cador : https://community.nxp.com/thread/509234