MCU manufacturers have become excellent sources for information you can use to get a head start on your next design. In addition to the normal data sheets and evaluation boards, MCU manufacturers also often provide complete reference designs -- working designs that establish a proven baseline for creating your own custom design.
Perhaps one of the most useful areas for reference designs is applications that really need some working hardware to evaluate the usefulness of a particular MCU implementation. Video, audio, and motor control are perhaps the most obvious examples where seeing (or hearing) is believing. (In this post I will be looking at stepper motor control reference designs in particular. Look for future blogs to dig into the details of audio, video, and other types of reference designs.)
MORE FROM DESIGN NEWS: What Do You Want to Know About Motor Control?
Stepper motor controller-oriented reference designs are not new, and in fact even 10 years ago they were fairly common. For example, you can find a very detailed stepper motor control reference design from Freescale, for an automotive application for headlamp leveling from 2003, here. As seen in the illustration below, the reference design can be monitored and controlled from a laptop and the headlamp location can be determined using a laser pointer. The key elements of the reference design are shown in block diagram form on the right side of the figure. The automotive LIN bus is used to position the headlamp using two stepper motor controllers, each hosted on the PM908E625 evaluation board, per headlamp.
So, even back in 2003 manufacturers created complete reference design solutions that could be used to get a stepper motor control design for some target applications up and running in record time. You could adjust parameters and customize just a fraction of the code to get a working prototype. Granted, you might need to add some functional safety routines, test and debug code, and optimize performance and power use, but what a time savings to get a prototype up and running so quickly.
"That's fine, but what has changed in the last 10 years?" you might ask. Well, perhaps the most important thing is that stepper motors have become much smaller and much more precise. In a conventional full step drive, an equal amount of current is applied to each of a motor's stator coils. The magnetic rotor aligns itself in the coil's magnetic field. With each motor step, current is reversed in one of the coils, and the rotor realigns to the new magnetic field to move the rotor one motor step (i.e., 90 degrees). With microstepping, varying amounts of current are applied to a motor's coils so that the magnetic field smoothly transitions from one polarity to the next. Each full step is divided into several 'microsteps' of varying current to produce a larger number of magnetic fields that the rotor can align with. The result is a smoother motor rotation, quieter operation, and greater motor resolution.
New reference designs, like the Zilog (an IXYS company) Z8F1680 MCU microstepper controller reference design, available here, include the algorithms needed to implement this new technique. Source code, a development board, a microstepper motor, and a power supply are all included in the reference design kit, as illustrated in Figure 2 below.
You can find a wide variety of reference designs like this from just about every MCU manufacturer. You usually find the other important advancement from the reference designs from 10 years ago -- the motor control library with a configuration wizard. As motor control algorithms have become more complex and as motors have started to include more innovative technology (as we saw above, even the tried and true stepper motor controller has moved to more complex microstepper algorithms that use sinusoidal control, not just tradition square wave control), it has become more difficult to adjust the parameters for the algorithms used for specific types of motors. MCU manufacturers have created new resources, often used in conjunction with reference designs, to simplify the prototype and design of motor control applications. Often called wizards or advisors, these resources help you sift thru the many reference designs, libraries, and evaluation kits to find the ones best suited for your application.
For example, Freescale provides a Solution Advisor that leads you through the process of selecting the optimal motor control solution using a motor control wizard. It quizzes you about the application, function, motor type, features, algorithm, and sensor to suggest the optimal Freescale solution. You end up with a specific device, target evaluation board, software components, libraries, and example code that create the best reference design for your specific application. Just one of the selection screens is shown in Figure 3, below. Look for similar wizards and advisors from other MCU manufactures, or ask them to create them if they don't have them yet. They will dramatically simplify your development process.
If you are interested in motor control in general, please attend my online course on motor control via Design News' Continuing Education Center, March 9-13.
(Miller will teach this free, five-day Continuing Education Center course called Implementing Motor Control Designs with MCUs and FPGAs: An Introduction and Update starting Monday, March 9, at 2 p.m. EST. The free course will continue through March 13. Each day's class will last an hour -- about 30 minutes of lecture and 30 minutes of online Q&A.)
Click here to find out how to earn IEEE Professional Development Hours by attending this course.
More and more resources are available to accelerate your next stepper motor control design. If you spend a little time researching the available reference design resources and motor control libraries, using a solution advisor or motor control wizard, you will dramatically reduce your development time. Try and leverage these proven boards and source code and you will have more time to differentiate your product from the competition.
Warren Miller has more than 30 years of experience in electronics and has held a variety of positions in engineering, applications, strategic marketing, and product planning with large electronics companies like Advanced Micro Devices, Actel, and Avnet, as well as with a variety of smaller startups. He has in-depth experience of programmable devices (PLDs, FPGAs, MCUs, and ASICs) in industrial, networking, and consumer applications and holds several device patents.