An article in the magazine “Embedded Systems Design” describes an algorithm that produces linear acceleration in stepper motors, but without the heavy math overhead often required. This technique, presented by Pramod Ranade, CTO at SPJ Embedded Technologies, appears in the April 2009 issue of ESD: www.embedded.com/design/multicore/21640186.The author’s algorithm uses only addition and subtraction operations to produce a triangular or trapezoidal speed profile for a stepper motor. Due to space limits in a printed magazine, this article covers only the triangular algorithm. You can download the complete C code at: /www.embedded.com/code.new. You’ll find other code on this page, too.Although the author implemented his algorithm in a combination of an MCU and an FPGA, you can still adapt his code to an MCU-firmware-only approach. The C code should compile properly regardless of which compiler you use. The author used Microsoft’s C compiler.Stepper motors require a linear increase in speed based on the motor’s characteristics and the load it will drive. If you attempt to start a stepper motor by giving it a high-speed start–akin to stomping on your car’s gas pedal–the motor can stall and take time to get up to speed with many drive pulses wasted by generating heat. That’s not what you want. Most vehicle drivers realize they cannot get from 0 to 60 mph instantly. The same holds true for stepper motors. –Jon TitusFor more information about stepper-motor drive techniques, refer to:Austin, David, “Generate stepper-motor speed profiles in real time,” embedded.com/columns/technicalinsights/56800129. (Lots of math.)–, Industrial Circuits Application Note, “Stepper Motor Basics” www.solarbotics.net/library/pdflib/pdf/motorbas.pdf.–, “Stepper Motor Reference Design,” AN155, Silicon Laboratiories, www.silabs.com/Support%20Documents/TechnicalDocs/an155.pdf. (Reference information, circuit, and code.)
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.