feature article
Subscribe Now

Get Your Motor Running

Head Out on the Highway with NXP’s LPC1500 Motor Controller

One of the definitions of an “embedded” system, as opposed to a “computer,” is, “anything that uses electronics to replace a previously mechanical device.” Programmable thermostats are embedded systems because they replace two dumb pieces of bent metal with a microcontroller and some software. Antilock brakes are embedded systems because they use MCUs instead of hydraulics to control skidding. And pretty much anything with an electric motor in it is an embedded system, because motors are all computer-controlled these days.

That presents a juicy market opportunity for the guys who make motors, and for the guys who make control-control ICs. Guys like NXP. Guys, meet LPC1500, your newest embedded motor-control microcontroller.

Let’s take just a moment, before we get into the details, to savor the progress our industry has made. It wasn’t that long ago that a computer with a 32-bit CPU running at 75 MHz with 256 KB of RAM was considered a “real computer,” adequate for four users and a timesharing operating system. NASA designed moon rockets on lesser equipment. Now such devices are smaller than a postage stamp, sell for under $2, and are relegated to the underside of a washing machine.

Back in this decade, we’re trying to run our appliances’ motors more efficiently, more quietly, and more gently. In industrial uses, we want to control motors more precisely, starting and stopping them in various arcane ways to control torque and power. The mechanical spinning bits are pretty straightforward; it’s regulating the current into the motor windings that’s tricky.

Sounds like a job for LPC1500, man. Bursting onto the scene from NXP’s secret Dutch laboratories, LPC1500 combines the familiar ARM Cortex-M3 processor core with newly developed peripherals designed expressly for motor control. The combination is a single-chip solution for just about any kind of motor, large or small. It can even juggle two motors at once, just to show off.

The ARM processor is actually the least-interesting part of the chip. It’s the semi-intelligent peripherals that make the LPC1500 so useful. It starts with two 12-channel, 12-bit, 2-Msps ADCs for sampling whatever analog feedback mechanisms you might have. Because there are two separate ADCs, you’re able to monitor two unrelated motors simultaneously. Four comparators allow you to keep track of your own outputs or other analog-feedback loops. If you’ve got motors with digital feedback, the chip also has a quadrature-encoder interface (QEI).

NXP describes the LPC1500’s timers as “state configurable,” hinting at some of the complexity lurking within these normally pedestrian peripherals. As with the ADC inputs and the PWM outputs, the timers are configurable in myriad ways, and they work together with the other peripherals to run semi-autonomously without bothering the Cortex-M3. PID loops typically resolve themselves entirely in the peripheral block, for example. That frees up the ARM processor for more academic tasks.

To make sure the CPU is adequately amused, NXP supplies free motor-control algorithms with the LPC1500, including field-oriented control (FOC) for either sensor-enabled or sensor-less permanent-magnet synchronous motors (PMSM), and trapezoidal control for brushless DC (BLDC) motors. Check out NXP’s LPCWare website for the details.

Not into motor control? You’re not entirely out of luck. LPC1500’s combination of inputs and outputs isn’t strictly for motors only; you could use it for most anything that requires PWM outputs and ADC, quadrature, and/or comparator inputs. The canonical example of this is an uninterruptible power supply (UPS), where the comparators monitor for short circuits; the ADCs monitor voltage, current, and temperature; and the PWM outputs tweak power supply parameters, adjust the fans, dim the LED display, and play warning tones on the speaker. Get a little creative and you could make the industry’s first musical UPS.

For beginners, NXP offers two “different” evaluation kits that actually differ only in the motor that comes bundled with them. One kit comes with a PMSM and appropriate firmware; the other comes with a BLDC motor. Apart from that, they’re the same board, with the same LPC1500, RAM, cables, analog drive components, USB interface, quick-start guide, test points, and whatnot. Seems like a good way to get deeply embedded in motor control. 

Leave a Reply

featured blogs
Apr 4, 2025
Gravitrams usually employ a chain or screw lift to hoist their balls from the bottom to the top, but why not use a robot?...

featured paper

How Google and Intel use Calibre DesignEnhancer to reduce IR drop and improve reliability

Sponsored by Siemens Digital Industries Software

Through real-world examples from Intel and Google, we highlight how Calibre’s DesignEnhancer maximizes layout modifications while ensuring DRC compliance.

Click here for more information

featured chalk talk

Shift Left Block/Chip Design with Calibre
In this episode of Chalk Talk, Amelia Dalton and David Abercrombie from Siemens EDA explore the multitude of benefits that shifting left with Calibre can bring to chip and block design. They investigate how Calibre can impact DRC verification, early design error debug, and optimize the configuration and management of multiple jobs for run time improvement.
Jun 18, 2024
72,222 views