ProductsMicrocontrollersSupportMicrocontrollersMotor Control

Motor control with NXP microcontrollers

Motor control with NXP microcontrollers

Introduction
Electric motors drive motion in all kinds of applications, from washing machines and exercise treadmills to the HVAC (heating, ventilation, and air conditioning) systems in commercial buildings. The drawback is that they can consume quite a bit of energy. Refrigeration for homes and offices accounts for nearly 10% of the world's energy usage, and roughly 60% of all the electrical power generated in the US is consumed by electric motors.
Designers are using 32-bit MCUs to add sophisticated motor control to their systems, and thereby improving efficiency, reducing cost, and saving energy. In consumer appliances, for example, the trend is away from motors that cycle on and off (and require high starting torque) and more toward smaller, electrically-controlled motors that operate continuously, at a slower speed, and adapt their torque (and speed) to maintain the desired performance. These new, electrically-controlled motors save power and, as an added bonus, reduce maintenance and extend service life because they use fewer mechanical components.
NXP Advantage
Design challenges for electric motors include finding ways to improve accuracy, increase speed, reduce power consumption, limit electromagnetic interference (EMI), lower cost, and expand the number of tasks the system can perform. NXP's 32-bit ARM MCUs meet all of these challenges. They offer ample performance with integrated options specially tailored to motor control:
  • All the ARM MCUs integrate general-purpose PWMs for basic motor control
  • Four families offer 6-channel PWMs for control of three-phase motors (LPC21xx, LPC22xx, LPC23xx, LPC24xx)
  • Three families offer dedicated motor-control PWMs (LPC29xx, LPC32x0, LPC17xx)
  • Two families offer a Quadrature Encoder Interface (QEI) for very precise control (LPC29xx, LPC17xx)
Many of today's motor-control applications use 8- or 16-bit MCUs or DSPs. Designers looking to upgrade to 32-bit performance will find plenty of choices in NXP's portfolio. Our MCUs offer a range of motor-control options, in a wide variety of formats:
  • Package sizes from 48 to 320 pins
  • Memories from 8KB to 1MB of flash, with flashless options
  • Clocks from 1kHz to 267MHz
  • Integrated ADCs in 10- and 12-bit formats, for Field Oriented Control (FOC)
  • Built-in peripherals, including Ethernet, USB, LCD, and CAN

General-Purpose PWMs with 2 or 3 Channels

General-purpose Pulse Width Modulators (PWMs) with two or three channels are often used for basic motor control. They are well-suited for use with universal, brushed DC, and other single-phase motors and are a good choice for low-cost applications that require only limited features. All NXP ARM MCUs have built-in 2- or 3-channel PWMs and can provide basic motor-control functions.

General-Purpose PWMs with 6 Channels

MCUs equipped with six or more general-purpose PWMs can be used for simple but powerful control of three-phase motors. They can be programmed to provide edge or center alignment, which helps reduce power consumption and EMI noise. Six-channel PWMs are available with the LPC21xx, LPC22xx, LPC23xx, and LPC24xx families.

Dedicated PWMs for Motor Control

For designs that need good performance at a low cost, the LPC32xx, LPC17xx, and LPC29xx families integrate dedicated motor-control PWMs. The dedicated PWMs dramatically reduce CPU load (they require, in many cases, only 1% of the CPU's capabilities), so the MCU is free to perform lots of other tasks at the same time.
The LPC32xx and the LPC17xx use the same PWM architecture (nine channels with the LPC32xx; six with the LPC17xx). The LPC29xx family uses a special PWM architecture designed for higher precision. With 24 PWM channels, it offers greater flexibility and supports dual-edge control and dead-band insertion.

Quadrature Encoder Interface (QEI)

For high-performance applications that require more intelligent algorithms (and thus higher computational power), the LPC29xx and LPC17xx families augment the dedicated motor-control PWMs with a quadrature encoder interface (QEI). The QEI can handle position, direction, and speed monitoring on its own, without involving the CPU. It works with the dedicated motor-control PWMs to monitor the motor's movements and to generate interrupts and aborts as needed.
Products

Comparison Table

Below, are NXP's ARM MCUs featuring dedicated PWMs for motor control and Quadrature Encoder Interfaces (QEIs):
Product(s) ARM Core Motor Control PWM
(# Channels)
Quadrature Encoder
Interface
LPC29xx ARM968E-S 24
LPC32x0 ARM926EJ 9
LPC17xx Cortex-M3 6

80C51-Based MCUs with Dedicated Motor Control PWMs

Click for datasheet. Also, see datasheet disclaimer.
, , indicate product status. Click or for more or less detail.
 P89LPC932A1 Microcontroller with 8KB 3V flash, 512-byte data EEPROM
 P89LPC9321 Microcontroller with 8KB 3V flash, 512-byte data EEPROM, accelerated core
 P89LPC935 Microcontroller with 8KB 3V flash, 8-bit ADCs, 4 PWMs,
 P89LPC9351 Microcontroller with 8KB 3V flash, 256-byte RAM, 512-byte data EEPROM, accelerated core, 8-bit ADC and DAC
P89LPC9351FAPLCC-28ProductionSOT261-2Pb-FreeMSL=3
P89LPC9351FDHTSSOP-28ProductionSOT361-1Pb-FreeMSL=2
Family Functions Literature Models Support Docs Tools Consultants Price Buy Online More...
 P89LPC936 Microcontroller with 16KB 3V flash, 8-bit ADCs, 4 PWMs,
 P89LPC9361 Microcontroller with 16KB 3V flash, 256-byte RAM, 512-byte data EEPROM, accelerated core, 8-bit ADC and DAC
 P89LPC938 Microcontroller with 8KB 3V flash, 10-bit A/D converter, 4 PWMs, I2C and SPI and UART interfaces
 P89LPC9408 Microcontroller with 8KB 3V byte-erasable flash, 32 segment x 4 LCD driver, 10-bit ADC

ARM9-Based MCUs with Dedicated Motor Control PWMs

Click for datasheet. Also, see datasheet disclaimer.
, , indicate product status. Click or for more or less detail.
 LPC2917/01 ARM968E-S microcontroller with 512KB flash, 56KB SRAM, 2 CAN channels, 2 LIN masters
 LPC2919/01 ARM968E-S microcontroller with 768KB flash, 56KB SRAM, 2 CAN channels, 2 LIN masters
 LPC2921 ARM968E-S microcontroller with 128KB flash, CAN, USB device
 LPC2923 ARM968E-S microcontroller with 256KB flash, CAN, USB device
 LPC2925 ARM968E-S microcontroller with 512KB flash, CAN, USB device
 LPC2927 ARM968E-S microcontroller with 512KB flash, CAN, LIN, USB OTG device
 LPC2929 ARM968E-S microcontroller with 768KB flash, CAN, LIN, USB OTG device
 LPC2930 ARM968E-S flashless microcontroller CAN, LIN, USB OTG host
 LPC2939 ARM968E-S microcontroller with 768KB flash, CAN, LIN, USB OTG host
 LPC3220 ARM926-EJS microcontroller with 128KB SRAM, hardware vector floating-point coprocessor, USB On-The-Go host/device, SDRAM memory interface, SD interface
 LPC3230 ARM926-EJS microcontroller with 256KB SRAM, hardware vector floating-point coprocessor, USB On-The-Go host/device, SDRAM memory interface, LCD controller, SD interface
 LPC3240 ARM926-EJS microcontroller with 256KB SRAM, hardware vector floating-point coprocessor, USB On-The-Go host/device, SDRAM memory interface, 10/100 ethernet, SD interface
 LPC3250 ARM926-EJS microcontroller with 256KB SRAM, hardware vector floating-point coprocessor, USB On-The-Go host/device, SDRAM memory interface, 10/100 ethernet, LCD controller, SD interface

Cortex-M3-Based MCUs with Dedicated Motor Control PWMs

Click for datasheet. Also, see datasheet disclaimer.
, , indicate product status. Click or for more or less detail.
 LPC1751 ARM Cortex-M3 microcontroller with 32KB flash, 8KB SRAM, USB 2.0 Device, 1 CAN, 12-bit ADC
 LPC1752 ARM Cortex-M3 microcontroller with 64KB flash, 16KB SRAM, USB 2.0 Device, 1 CAN, 12-bit ADC
 LPC1754 ARM Cortex-M3 microcontroller with 128KB flash, 32KB SRAM, USB 2.0 Host/Device/OTG, 1 CAN, I2S, 12-bit ADC, 10-bit DAC
 LPC1756 ARM Cortex-M3 microcontroller with 256KB flash, 32KB SRAM, USB 2.0 Host/Device/OTG, 2 CAN, I2S, 12-bit ADC, 10-bit DAC
 LPC1758 ARM Cortex-M3 microcontroller with 512KB flash, 32KB SRAM, 10/100 ethernet, USB 2.0 Host/Device/OTG, 2 CAN, I2S, 12-bit ADC, 10-bit DAC
 LPC1759 ARM Cortex-M3 microcontroller with 512KB flash, 32KB SRAM, USB 2.0 Host/Device/OTG, 2 CAN, I2S, 12-bit ADC, 10-bit DAC; 120MHz operation
 LPC1764 ARM Cortex-M3 microcontroller with 128KB flash, 32KB SRAM, 10/100 ethernet, 2 CAN, 12-bit ADC
 LPC1765 ARM Cortex-M3 microcontroller with 256KB flash, 64KB SRAM, USB 2.0 Host/Device/OTG, 2 CAN, I2S, 12-bit ADC, 10-bit DAC
 LPC1766 ARM Cortex-M3 microcontroller with 256KB flash, 64KB SRAM, 10/100 ethernet, USB 2.0 Host/Device/OTG, 2 CAN, I2S, 12-bit ADC, 10-bit DAC
 LPC1767 ARM Cortex-M3 microcontroller with 512KB flash, 64KB SRAM, 10/100 ethernet, I2S, 12-bit ADC, 10-bit DAC
 LPC1768 ARM Cortex-M3 microcontroller with 512KB flash, 64KB SRAM, 10/100 ethernet, USB 2.0 Host/Device/OTG, 2 CAN, I2S, 12-bit ADC, 10-bit DAC
 LPC1769 ARM Cortex-M3 microcontroller with 512KB flash, 64KB SRAM, 10/100 ethernet, USB 2.0 Host/Device/OTG, 2 CAN, I2S, 12-bit ADC, 10-bit DAC; 120MHz operation
Support

Software

Application Notes

Technical Notes

Presentations

Motor Control using NXP's LPC2900
© February 2009; English; Ordering code: Not Orderable
More Information

Links

Disclaimer

Software from NXP referenced on this page is provided AS-IS by NXP Semiconductors. NXP Semiconductors does not support or warrant the software contained herein for any purpose other than for informational use.

Literature

Microcontrollers selection guide March 2010
The choice for embedded technologies
© March 2010; English; Ordering code: 9397 750 16901
带以太网、USBCAN12ADCCortex-M3微控制器
采用Cortex-M3™内核的100 MHz32LPC1700系列微控制器
© 200910; 中文(简体); 订购代码: 不可订购
带有高达256-KB SRAM、以太网接口、USB接口和LCD控制器的ARM9微控制器
恩智浦 208-MHz32-ARM926EJ-S处理器LPC32x0系列
© 20083; 中文(简体); 订购代码: 不可订购
ARM9 MCUs with up to 256-KB SRAM, Ethernet, USB, and LCD controller
NXP 266-MHz, 32-bit ARM926EJ-S processor LPC32x0
© August 2008; English; Ordering code: 9397 750 16605
ARM968-based microcontrollers with USB, CAN, LIN, 5V ADC and Motor Control
125 MHz, 32-bit Microcontrollers with ARM968™ core, LPC2900 series
© September 2008; English; Ordering code: 9397 750 16628
Cortex-M3 based microcontrollers with Ethernet, USB, CAN and 12-bit ADC
120 MHz, 32-bit Microcontrollers with Cortex-M3™ core, LPC1700 series
© December 2009; English; Ordering code: 9397 750 16846
ICs quick find
Microcontrollers sections
See also