In this paper we will look at build vs buy design decisions for a three axis PCB-based (Printed Circuit Board) positioning motion controller. We will examine the design effort, types of resources needed, and per unit cost for each approach. In addition, we will look at a design alternative that some engineers believe represents the best of both worlds, a hybrid “blend" option that uses off-the-shelf modules to dramatically reduce the engineering needed to create a fully custom motion controller.
Introduction
In this paper we will look at three different approaches for building an embedded motion control board that can drive typical NEMA 23 or NEMA 34 sized Brushless DC motors or step motors. We will focus on a positioning motion controller used in end applications such as laboratory automation, mobile robotics, test equipment, packaging equipment, and robot arm control.
Figure 1: PCB-based positioning control board
Broadly speaking, the motion control solution we are building will look something like what is shown in Figure 1. The board is fully self contained and has all connectors and mounting hardware needed to function inside, or on, the machine being controlled. It includes an onboard microprocessor so that user-written application code can execute directly from the control board for the purpose of controlling the machine's operation.
Why Embedded Control?
Figures 2A and 2B show the two overall approaches that designers might use to construct a motion controller: a centralized controller located remotely from the controlled machine hardware, and an embedded controller located on or inside the machine.
Figure 2A: Centralized motion controller architecture
Figure 2B: Embedded motion controller architecture
Given these two different options it is reasonable to ask why build (or buy) an embedded PCB-based controller? The answer boils down to one simple principle: closer is better. Embedded controllers are closer to the sensors and motors that they will control. This means shorter cables which means less noise and faster response times. It is also less expensive because you eliminate the box/rack containing the remote controller and the thick bundle of cables to connect to the machine being controlled.
You may also be interested in: Motion Control Goes Small
Designing A PCB-Based Motion Controller...
To give our "build vs buy" comparison some specific performance metrics here are a few of the target design parameters of the desired PCB-based controller:
- Compact embedded PCB (Printed Circuit Board) designed to mount on the controlled machine hardware
- Three axis with up to 350W onboard motor amplification per axis
- Controls a mix of Brushless DC and step motors
- Provides inputs and outputs for typical motion control functions such as encoders, home sensors, limit switches, and general purpose I/O
- Powered by a single DCV input (the motor drive voltage)
- Standalone operation with onboard user-written software code execution
- Ability to communicate with an Ethernet host interface
Figure 3 shows the desired control architecture. There are three axis controllers in total but there is only one connection between the controller PCB and the Ethernet host network. The microprocessor on the controller board interfaces with the host network and parses received commands. It then coordinates the movement of the axes under its control according to this received command. Although we have labelled the axes X, Y, and Z this is arbitrary.
Figure 3: Overall architecture of three-axis controller
It's important to note that the commands sent on the system host are high level, such as "move to position XYZ" or "transfer the test tube from slot A1 to B7". The microprocessor contains user-written application code which knows how to convert these high-level commands into a series of low level motion commands for each axis to execute the sequence.
Alternatively, our embedded PCB-based controller can operate entirely stand-alone, taking commands from a human operator using a touch screen or buttons, and using the host network only to report results.
...Is As Easy As 1, 2, 3, (4, 5, 6)
What is entailed in the engineering design of a three axis motor controller? Every project is a bit different of course, but building our controller will broadly require the following tasks:
Select connectors and wiring scheme – This step is undertaken by an Electrical Engineer (EE) or system engineer and is a preliminary step to the step of designing the full PCB schematic.
Determine the motor amplifier scheme to use – In the embedded motion control world, a big fork in the road is what to do about the motor amplifier. A fully designed-from-the-ground up amplifier for Brushless DC or step motors that can drive 350 watts is a serious design project and will include considerations of EMI (Electro Magnetic Interference), current control, and the PCB layout. The alternative is off-the-shelf PCB-mounted amplifiers. These compact modules can drive 500W (or more) and provide high performance current control, amplification, and safety features to drive the motor's windings.
Determine whether to build, or buy, a motion control engine IC – Another big fork in the road for our embedded motion controller task list is whether to use an off-the-shelf motion control IC or instead write motion engine code for a general purpose DSP, microprocessor, or FPGA (Field Programmable Gate Array). Off-the-shelf motion control ICs cost from $15 to $50 per axis and provide a wealth of profiling, servo control, and amplifier control functions. If this path is chosen, the associated software writing task below can be skipped.
Design & lay out the PCB schematic – Utilizing decisions made in the previous two design tasks, this step is undertaken by one or more EEs and consists of researching and selecting IC components to achieve the various electrical functions needed and constructing the PCB's schematic.
Write the motion engine software code – If a fully custom solution for the motion engine IC is to be used it will require software to be written for profile generation, servo loop closer (often PID Proportional Integral Derivative control) and other real time management functions such as E-stop, limit switches, and more.
Write the Microprocessor system software code – This microprocessor communicates with the host network and coordinates the overall machine behavior including motion sequences, user interface, safety monitoring and other functions. This could be the same microprocessor as the motion engine IC, but using that approach adds complexity, requiring a high speed multi-tasking real time operating system. With the present day cost and size of microprocessors most three-axis motion controllers will instead separate the main PCB microprocessor from the motion control microprocessor(s).
Write the microprocessor application software code – Having a functioning operating system and software drivers for connecting to the PCB's motion and peripheral ICs is not the same as having the final machine control solution. So, we are going to break the overall microprocessor function into three parts, of which the system software code detailed above is the first, and this task is the second.
Develop the motion control profiles & parameters – This is the third and final piece of the software development process and consists of working with the actual machine hardware to optimize the motion profiles, servo settings, and other motion control settings. This effort typically involves trial and error and use of a trace facility so that trajectory overshoot and undershoot can be minimized among other optimizations.
OK, with the major project design steps detailed let's look at each of three options; Build, Buy, and Blend to see how they come out in an analysis of design cost, time to market, and per unit cost. We will start with Option 1 which is the Build option.
The table below gives very rough estimates, in engineering design man months, for each project development step listed above when choosing the build option.
Design Effort In Man Months | Associated Additional Expenses | |
Connectors & wiring scheme | 3 | $1,000 or less for samples, prototyping cost |
Determine motor amplifiers scheme | 2 | $250. May include the purchase of off-the-shelf amplifier modules or specialized ICs to benchmark performance |
Determine whether to build or buy motion control engine IC | 1 | $250. May include the purchase of a motion control IC engine IC development kit to benchmark performance |
PCB schematic development | 12-18* | $50,000 for prototypes cost assuming three spins of the board |
Motion engine IC software development | 0-12** | $5,000 for developer kits & software tools cost |
Host micro system software development | 6 | $5,000 for developer kits & software tools cost |
Application software development | 8-12 | $0 |
Motion parameter development | 2-4 | $0 |
TOTAL | 34 - 58 months | $61,500 |
* Higher if amplifier circuit must be developed, lower if off-the-shelf amplifier is used.
** If off-the-shelf motion engine IC is used development cost for this category will be zero.
The timeframes above are estimates and should not be taken too literally. Some teams will get it done faster, and some slower based on their experience and the project complexity.
Build Option Summary
The design effort and associated costs for building a three axis motion controller PCB are significant. You will need the right mix of engineering skills but even with this, a 2- or 3-person team will still typically take 18 months to complete the controller. Note that this can be reduced if off-the-shelf motion control ICs and amplifiers are used in the design.
The key benefits of the build approach are that the resultant controller is entirely tailored to the application in terms of connectors and form factor, and that it has the lowest cost on a per unit basis. Assuming a production run of 1,000 controllers per year, an achievable complete PCB cost is $225 to $450 which translates to a per axis cost of $75 to $150.
OFF-THE-SHELF COMPONENTS TO SPEED YOUR PCB DESIGN
Motion Control ICs
Off-the-shelf motion control ICs such as the Magellan® MC58113 from PMD provide a wealth of motion control functions including profile generation, servo loop closure, and real time signal management. They provide direct input of quadrature encoder signals and direct output control signals for amplifiers. Many even provide advanced features like FOC (Field Oriented Control).
PCB-mountable Amplifiers
Off-the-shelf motor control amplifiers such as the Atlas® Digital Amplifier from PMD provide high power levels (up to 500W) and high performance amplification for step, Brushless DC, and DC Brush motors. These compact devices accept a digital torque command and provide all the functions needed to commutate the motor and precisely control the current through each motor winding.
Figure 4: Prodigy®/CME Machine Controller from PMD
For this approach we will select a ready-to-go PCB-based motion controller. There are a number of board based products to choose from, but for the purposes of this analysis we’ll use PMD’s Prodigy/CME Machine Controller.
The configuration shown in the image above is a four axis controller but can be purchased in a three axis configuration as well. The Prodigy®/CME Machine Controller is a representative motion controller board that meets all of our application requirements. In addition, the usual features such as profile generation, servo position control, and encoder input, this product supports on-board amplifiers, user downloadable code written with C language libraries and provides Ethernet as well as other host connection options.
So how did the buy option affect the project timeline? The table below shows this:
Design Effort In Man Months | Associated Additional Expenses | |
Connectors & wiring scheme | 0 | $0 |
Determine motor amplifiers scheme | 0 | $0 |
Determine whether to build or buy motion control engine IC | 0 | $0 |
PCB schematic development | 0 | $0 |
Motion engine IC software development | 0 | $0 |
Host micro system software development | 0 | $0 |
Application software development | 8-12 | $0 |
Motion parameter development | 2-4 | $0 |
TOTAL | 10-16 man-months | $0 |
Buy Option Summary
The appeal of the buy option centers around two factors. The first is that the engineering effort costs much less. The second is that the design effort takes less time which should mean the machine being controlled can get to market faster.
The tradeoffs are also two fold, however. The first is that the resultant controller costs more per axis. Again assuming 1,000 controllers per year, the overall controller costs $900 - $1,200 and each controlled axis typically costs $300 - $400. That's two to three times the per axis cost of the board created using the build option. The second tradeoff is that the PCB is not tailored to the application. The form factor is pre-determined, as are the connector types and pin arrangements.
There is an interesting new approach toward building fully custom motion control boards that isn't quite a build option, nor a buy option. This hybrid “blend” approach uses miniaturized motion control modules that are PCB-mounted yet contain fully functional motion controllers. These modules provide the ability to download code so that they can execute user-written application software.
These products almost always come in a single axis configuration and can drive up to a kilowatt and sometimes more of power. Figure 5 shows such a product, in this case the ION®/CME N-Series Digital Drive from PMD.
Figure 5: ION®/CME N-Series Digital Drive
Just like the 100% buy option, these modules provide a wealth of ready-to-go motion control functions such as profiling, FOC, and current monitoring safety features. But unlike the 100% buy option they are mounted on a user designed, application-specific interconnect board. An example of such a board is shown in both top view and bottom view rendering in Figure 6A and 6B. Note that in addition to the modules themselves there are just connectors and a few capacitors on the PCB.
Figure 6A: ION/CME N-Series Digital Drive top view
Figure 6B: ION/CME N-Series Digital Drive bottom view
The effort involved with creating a board using motion control modules is not so much creating a schematic, it's more like creating a wiring diagram. A simplified version of such a wiring diagram is shown in Figure 7. Also important is that the resulting board is not 10, 12, or 14 layers (as would be typical for the full “build” option board), but usually just 4 layers. The engineering skillset level required is therefore significantly lower because all the heavy lifting such as motor amplification and signal processing is done inside the modules.
Figure 7: Simplified wiring diagram for a "blend" approach motion controller
Can these modules support the desired motion controller architecture seen at the beginning of the article? Yes, they can. Our application specification required the PCB to receive commands and provide reporting through an Ethernet connection. And we wanted to write PCB-resident application software that would interpret these commands and drive the three motor axes accordingly.
This can be accomplished using PCB-mountable modules as shown in Figure 8. One of the modules holds the user-application code as well as controlling one axis and then in turn commands the other two axis.
Figure 8: Control architecture for three-axis module-based controller PCB
So how does this new option affect the project timeline? The table below shows this:
Design Effort In Man Months | Associated Additional Expenses | |
Connectors & wiring scheme | 3 | $1,000 or less for samples, prototyping cost |
Determine motor amplifiers scheme | 0 | $0 |
Determine whether to build or buy motion control engine IC | 0 | $0 |
PCB schematic development | 3 | $5,000 for prototypes cost assuming two spins of the board |
Motion engine IC software development | 0 | $0 |
Host micro system software development | 0 | $0 |
Application software development | 8-12 | $0 |
Motion parameter development | 2-4 | $0 |
TOTAL | 16 - 22 man-months | $6,000 |
With the blend option there are still some EE tasks but they are much, much simpler than building a full motion control board. After that the focus is on the application software development and the motion parameter development, which is unchanged from the build or buy options.
Blend Option Summary
The appeal of the blend option is that it lets you create a fully custom PCB-based controller with form factor and connectors of your own choosing, yet with only a fraction of the engineering effort needed compared to the traditional build option. This is achieved by the use of fully functional motion modules that reduce the PCB-design task to one of creating a wiring interconnect board.
Cost-wise the blend option has the same to slightly lower per unit cost than the buy option. So assuming a production rate of 1,000 three-axis controllers per year, this is $250 - $350 per controlled axis.
Summary
The table below summarizes the engineering effort, design out of pocket expenses, and per axis cost of our three axis motion controller PCB using the build, buy, and blend options.
Option | Engineering Time In Man Months |
Additional Expenses | Per Axis Cost |
Build | 39-57 man-months | $61,500 | $75-150 |
Buy | 10-16 man-months | $0 | $300-400 |
Blend | 16-22 man-months | $6,000 | $250 - $350 |
The above figures are estimates for the purpose of comparison only. Actual results will depend on many factors including the experience of the design team, whether some previous design work can be leveraged for the new design, and the complexity of the machine being controlled.
We hope you found this comparison of engineering effort and per unit cost for a three-axis PCB-based controller helpful. Understanding the tradeoffs between the build, buy, and blend options will help you make the right choice in your next motion controller design.
PMD Products Featured In This Article
PMD has been producing ICs that provide advanced motion control of Brushless DC, DC Brush and step motors for more than thirty years. Since that time, we have also embedded these ICs into plug and play modules and boards. While different in packaging, all PMD products are controlled by C-Motion, our easy to use motion control language and are ideal for use in medical, laboratory, semiconductor, robotic, and industrial motion control applications.
MC58113 Motion Control IC
Performance Motion Devices’ MC58113 Motion Control IC is ideal for controlling Brushless DC, DC Brush, and step motors, providing high-performance motion control features including field oriented control and closed loop stepper operation. In addition, the MC58113 IC provides profile generation, servo-loop closure, commutation, current control, and direct PWM (Pulse Width Modulation) motor output command to drive MOSFET switching amplifiers. It is ideally suited for a wide range of applications including scientific, mobile, medical, robotic, and automation applications.
Learn more >>
ION/CME N-Series Digital Drives
N-Series ION Digital Drive combine a single axis Magellan IC and a high performance digital amplifier into an ultra-compact PCB-mountable package. In addition to advanced servo and step motor control, N-Series IONs provide S-curve point to point profiling, field oriented control, downloadable user code, general purpose digital and analog I/O, and much more. With these all-in-one devices building a custom controller board is a snap, requiring you to create just a simple 2 or 4-layer interconnect board.
Learn more >>
Atlas Digital Amplifiers
Atlas Digital Amplifiers are compact single-axis amplifiers that provide high-performance torque control for Brushless DC, DC Brush, and Step motors. Atlas amplifiers come in both a vertical and horizontal mounting configuration and are available in three power ranges: 75W, 250W, and 500W. They are used for direct control of motor torque or in conjunction with higher-level motion controllers providing position or velocity control functions.
Learn more >>
Prodigy/CME Machine-Controller
PMD's Prodigy®/CME Machine-Controller boards provide high-performance motion control for medical, scientific, automation, industrial, and robotic applications. These versatile all-in-one controllers support quadrature, Sin/Cos, and SSI encoder formats, and are available in 1, 2, 3, and 4-axis configurations, with support for DC Brush, Brushless DC, and step motors. Prodigy/CME Machine-Controllers have on-board Atlas amplifiers that eliminate the need for external amplifiers.
Learn more >>
You may also be interested in:
- On-demand webinar: Build vs Buy Of A Three Axis Motion Controller
- MC58113 Technical Overview
- Motion Control Goes Small
- S-Curves Profiles - A Deep Dive
- Digital Current Loop Significantly Quiets Step Motor Noise
- Feedforward in Motion Control - Vital for Improving Positioning Accuracy