Spin It! - Designing Your Own Motor Drive and Control System (Part 2)


Part 2: Component selection

Howdy!

Welcome back or if this is your first time here you can check out the introduction to this series, Spin It! - Designing Your Own Motor Drive & Control System (Part 1).

Now that introductions are over, it’s time to dig in and get our hands dirty. They say one of the hardest parts of any project is determining where to start. You have a fantastic idea in your head, but now what…?! Well I am here to help…..at least in the motor area.

In the DC voltage world, three main types of electric motors exist: the Brushed DC motor (BDC), Brushless DC motor (BLDC), and Stepper motor. Each motor has its upsides and downsides and your application will determine the right motor type for you.

I am working on a Motor Drive BoosterPack for TI’s MCU LaunchPad evaluation platform and have a few key requirements. First, I need fairly accurate position control. This is crucial in applications such as 3-D printers, robots, and CNC machines (popular hobby projects). I am not too concerned with initial designs costs, but I want the solution to be low cost and simple. Last, I want this system to support a broad range of motor voltages/currents. With these elements in mind, it looks like I want to design a system that can drive a broad range of Stepper motors for minimal cost!

Well now we understand what we want to do; how do we accomplish this? First, let’s go over some background on how a motor system operates. In a motor drive and control systems there are two key elements.

First, we have the motion control system. This is generally managed by a dedicated MCU or tasked to a more powerful, centralized processor. This system provides higher level control (ramping up, ramping down, speed profiles, commutation, etc…) to the motor drive system and then processes the feedback signals that return. These control signals can include: Digital Outputs to manipulate settings, PWM to manage motor speed, SPI/UART/I2C for communication, and a DAC for varying a reference voltage. The feedback signals often include: fault reporting to Digital Inputs and current feedback from a shunt resistor to an ADC. A microcontroller takes many of these peripherals and integrates them into a single IC.

Next, we have the motor drive system. This consists of either a discrete solution with power FETs to create H-Bridges, an integrated motor driver IC with internal power FETs and additional features/protection, or a motor pre-driver IC that drives external power FETs but also incorporates the additional features/protection of an integrated IC. Solutions that utilize a dedicated motor driver IC generally provide additional protection, size reduction, and more fine-tuned control. You can check out this blog for more information on discrete vs. integrated solutions.

Now that we have a basic understanding of how a motor drive and control system operates, we can begin searching for components. For this BoosterPack, I am looking to offload the stepper microstepping and current regulation to the Motor Drive IC. This will allow me to utilize a simpler, lower cost microcontroller and reduce the component count of my design. I already know that I would like an integrated solution to reduce my development time, but I would also like the ability to provide significant power to the motor. A quick Google search brings up a plethora of options. Let’s see…..taking the ones that closest meet my needs, we have the DRV8818, DRV8825, and the DRV8711.

In the table you can see an obvious cost vs. feature tradeoff. In the end, my need for currents in the 5A range over rode the cost difference of utilizing a completely integrated, lower power motor driver. With the DRV8711 and appropriately sized power FETs, I can design a highly flexible solution capable of driving the power I am looking for.

If you decide to utilize a pre-driver, the next step will be choosing the appropriate power FETs. The DRV8711 drives 2 N-channel MOSFET H-bridges, so we will require 8 N-channel power MOSFETs. Now I am going to take advantage of some advance knowledge and utilize dual 60V N-channel power MOSFETs that are in development at TI. Some keys things to keep in mind when selecting external FETs are the RDS(ON) (on resistance of the FET), CG (gate capacitance), max continuous current, package size, and cost.

The DRV8711 allows me to significantly reduce the processing power required by the microcontroller. The only requirements now are a few GPIO, SPI, and UART in order to implement a GUI. The MSP430 Value Line LaunchPad (MSP-EXP430G2) with an ultra-low-power MSP430G2553 MCU fits the bill perfectly!

Wow!! That was a mouthful and we are just getting started. But now we have the main building blocks of a motor drive and control system. Next time we will get to actually putting them down on a schematic and filling out all the components in between.

Thanks for reading and feel free to leave comments! For more information, you can visit the TI Motor Driver Forums or check out the TI Motor Drive & Control Home Page. You can check out the Build You Own BoosterPack page to start your own design!

Nick Oborny, Motor Applications Team, Texas Instruments