Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes

Permanent Magnet Synchronous Motors (PMSMs)

Permanent Magnet Synchronous Motors (PMSMs) are brushless and have very high reliability and efficiency. Due to their permanent magnet rotor, they also have higher torque with smaller frame size and no rotor current, all of which are advantages over AC Induction Motors (AICMs). With their high power-to-size ratio, PMSMs can help make your design smaller without the loss of torque. PMSMs need to be commutated like BLDC motors, but due to the construction of the windings, the waveforms need to be sinusoidal for good performance. Because this requires more sophisticated control algorithms, higher-performance controllers like our dsPIC33 Digital Signal Controllers (DSCs) or our 32-bit PIC32MK or Arm® Cortex-M® based SAM microcontrollers (MCUs) would be excellent options. We offer a comprehensive ecosystem to help you develop advanced PMSM control solutions like sensorless Field-Oriented Control (FOC). Our solutions also support Surface Mounted Permanent Magnet Synchronous Motors (SPMSMs) and Interior Permanent Magnet Synchronous Motors (IPMSMs).


  • Air conditioner and refrigerator (AC) compressors
  • Direct-drive washing machines
  • Automotive electrical power steering
  • Machining tools
  • Traction control
  • Data storage

Recommended Products for PMSM Control

Advanced PMSM Motor Control Solutions Using dsPIC33 DSCs and 32-bit PIC32MK and SAM MCUs

Because PMSM motors must be driven with sinusoidal waveforms, the complexity of the control increases. Our dsPIC33 family of DSCs offers Digital Signal Processing (DSP) performance and advanced motor control peripherals to generate the waveforms for advanced PMSM control algorithms like FOC, flux weakening, sensorless control and stall detection. Our 32-bit PIC32MK and SAM MCUs feature high-performance peripherals tailored for high-speed, closed-loop motor control. Click on the links in the table below to learn more about these products.

Single-Chip Motor and Gate Drivers

We offer a complete line of single-chip 3-phase brushless drivers and 3-phase brushless motor MOSFET gate drivers for a broad range of motor applications. These products are designed to interface to any MCU using a simple Pulse-Width Modulation (PWM) input or can be used in a standalone configuration. Click on the products listed in the table below to learn more.

  • Single-chip drivers with inbuilt MOSFET for PMSM motor control
  • MOSFET gate drivers for PMSM motor control
ProductsSensored Field
Oriented Control
Sensorless Field
Oriented Control
Microcontrollers (MCUs).
Digital Signal
Controllers (DSCs)
and Field-Programmable
Gate Arrays (FPGAs)
dsPIC33 DSCs
32-bit PIC32MK and SAM MCUs
SmartFusion® SoC FPGAs


Single-Chip Motor DriversMTD650x
3-Phase Gate DriversMCP8024

Some Basics About Permanent Magnet Synchronous Motors (PMSMs)

How a PMSM Works

The Permanent Magnet Synchronous Motor (PMSM) is an AC synchronous motor whose field excitation is provided by permanent magnets and that has a sinusoidal back EMF waveform. The permanent magnets enable the PMSM to generate torque at zero speed. PMSMs offer higher torque density as compared to AC Induction Motors (ACIMs), providing a smaller frame size for the same power. They also deliver high-efficiency operation but require a digitally controlled inverter.

PMSM Characteristics

  • No sparks, safer in explosive environments
  • Clean, fast and efficient
  • Designed for high-performance servo applications
  • Runs with/without position encoders
  • More compact, efficient and lighter than an ACIM
  • Produces optimal torque when coupled with Field-Oriented Control (FOC)
  • Smooth low- and high-speed performance
  • Low audible noise and EMI

Implementing PMSM Control

How It Works

PMSM and BLDC motors can usually be driven with either six-step commutation or sinusoidal commutation. A motor must have the proper mechanical and electrical design to achieve the benefits of sinusoidal operation as noted above. It is best to ask the manufacturer which drive method is best for a given motor. Sinusoidal operation requires more precise rotor position feedback from the motor and a more complex inverter switching algorithm. The PMSM is best controlled with a high-performance dsPIC33 DSC or 32-bit PIC32MK or SAM MCU.

Microcontroller Features for PMSM Control

Basic I/ODigital communication/pulse inputs and feedback input from limit switches
Capture/Compare/Pulse-Width Modulation (CCP)Generation of space vector Pulse-Width Modulators (PWMs) for three-phase inverter and speed sensing using input capture
ComparatorsSpeed sensing in sensorless control and overcurrent detection and protection
Analog-to-Digital Converter (ADC)Measurement of current for torque control and for sensorless control, measurement of inverter voltage and measurement of analog input signals
Quadrature Encoding Interface (QEI)Optical encoder interfacing for position sensing
Communication Peripherals
Torque, speed, position and/or direction information exchange

Field-Oriented Control (FOC)

FOC uses mathematical transformations to obtain the torque and flux of a motor as time in variant variables from the three-phase current feedback. This transformation enables use of simple control techniques for the torque and speed like a DC motor.

Field-Oriented Control offers the following advantages:

  • V/F sinusoidal drive produces smooth control at a low speed but is inefficient at high speeds; FOC provides smooth control at low speeds as well as efficient control at high speeds
  • Top-of-the-line dynamic torque response, efficiency and the lowest system cost motor control solution

dsPIC33 DSC or PIC32MK and SAM MCU Features to Support FOC:

  • High-performance ADC for simultaneous sampling of motor voltage and currents
  • Digital Signal Processing (DSP) engine to support:
    • Speed and rotor position estimation from motor current measurement
    • Clark and Park transformations, and two Proportional-Integral (PI) loops for controlling torque and flux
    • The outputs of the PI loops are transformed using space vector modulation to drive the motor control PWM outputs

FPGAs for Multi-Axis Motor Control

Build safe and reliable multi-axis deterministic motor control on a single System-on-Chip (SoC) FPGA. FPGAs provide many advantages for motor control applications, including:

  • Compact solution to save board space and reduce product size
  • Motor speeds exceeding 100,000 RPM for sensorless FOC
  • Low latency of 1μs for FOC loop from ADC measurement to PWM generation allows switching frequencies up to 500 kHz.
  • Design flexibility with modular IP suite
  • Advanced safety features such as rotor slip, overload detection and overcurrent protection
  • SoC integration of system functions reduces Total Cost of Ownership (TCO)

Motor Control Hardware and Software Solutions

Featured Software Tools


motorBench® Development Suite

The motorBench Development Suite is a Graphical User Interface (GUI)-based software development tool for Field Oriented Control (FOC). It performs accurate measurement of critical motor parameters and automatic tuning of feedback control gains and generates source code for an MPLAB® X IDE project using the Motor Control Application Framework (MCAF).


Motor Control Application Algorithm and Application Software

To support the development of motor applications, we provide motor control libraries and examples for Field-Oriented Control (FOC), windmilling, DC-link compensation, field weakening and many other control algorithms.

Motor Control Library Diagram

Motor Control Library

The Motor Control Library contains FOC function blocks that are optimized for the dsPIC33 families of DSCs. The library functions are designed to be used within any application framework, providing an efficient and flexible solution for implementing a motor control application.


Motor Control Simulation

If you are looking for a rapid prototyping solution for use with MATLAB® or Scilab®, our simulation package allows you to compile a Simulink® model that can be flashed into a dsPIC® DSC with a single push of a button. The motor control library blocksets, motor model and development boards provide a complete motor control development environment.


MPLAB® X Integrated Development Environment (IDE)

MPLAB X Integrated Development Environment (IDE) is an expandable, highly configurable software program that incorporates powerful tools to help you discover, configure, develop, debug and qualify embedded designs for Microchip’s microcontrollers and digital signal controllers.


MPLAB Code Configurator (MCC)

MPLAB Code Configurator (MCC) is a free, graphical programming environment that generates seamless, easy-to-understand C code to be inserted into your project.

Featured Hardware Tools

SAM D21 BLDC 24V Motor Control Kit

SAM D21 BLDC 24V Motor Control Kit

dsPICDEM™ MCLV-2 Low-Voltage Motor Control Development Board

dsPICDEM™ MCLV-2 Low-Voltage Motor Control Development Board

dsPICDEM MCHV-3 High-Voltage Motor Control Development Board

dsPICDEM MCHV-3 High-Voltage Motor Control Development Board

SmartFusion®2 Dual-Axis Motor Control Starter Kit

SmartFusion2 Motor Control Kit - Dual Axis