motors are a category of electric motors that accomplish motion by pulling the
rotor to many discrete positions per rotation. This allows for simple speed
control by incrementing the desired position at a desired rate, as well as
simple position control, by continuing to pull the rotor to the desired
position once it has been reached.
To accomplish these tasks, a drive is required to control the direction and magnitude of the current in the motor windings. These drives can be voltage controlled, where the resistance of the windings and the input voltage control the magnitude of the current in the windings, or current controlled, where a circuit senses the current in the windings, and repeatedly disconnects and reconnects the windings from the source voltage in order to limit the current to a given level. This second type of drive, commonly referred to as a chopper drive, allows for higher source voltages, increasing the maximum speed of the motor, while ensuring the motor windings are not damaged.
Both of these drive types have been around for years and have limited utility on their own. In order for any but the simplest tasks to be completed, some intelligence is required to tell the drive when to take a step and which direction to take the step in. Preferred features for drives include the ability to create acceleration and deceleration ramps, as well as a counter to keep track of the position of the motor. Some system designers choose to create their own controller and driver, spending time up front creating a drive optimized for their application. This is desirable when the project has the budget and time to invest, but when development time is most important, an off-the-shelf solution is best.
In the past, a common approach has been to program a separate controller, which then provided the drive with a signal indicating the direction to take a step in, as well as pulses when it was time to take a step. This works well for the movement of the motor, but doesn't provide easy access to the drive's other parameters, such as current during the move, current when not moving, and how long after a step to switch from one current level to the other.
companies have recently begun taking advantage of the shrinking size of
components and more powerful processors to integrate intelligence into the
drive. This allows for reduced cost and size, as well as control of all the
drive's parameters through the same interface that controls the motor's
movements. It has also opened the door for more advanced features, such as
increasing the current when the motor is accelerating against a load and
backing off the current when at a stable speed, allowing larger loads to be
moved without risk of burning out the motor or drive. These drives are
generally programmed using a proprietary language, most of which have common
features such as looping, branching based on inputs and settings outputs.
The focus of these drives has been to give as much power to the system designer as possible, allowing complex applications to be handled without additional controllers. The drawback to this is that, for a system designer to begin to work with one of these drives, there is usually an entirely new programming language that must be learned.
The purpose of buying an off-the-shelf drive is to save time; investing the time you saved by not designing your own controller into learning how to use someone else's controller defeats the purpose of using an off-the-shelf drive to begin with. The best way to save time in the development cycle is to use a drive that is simple to program and use.
In response to market demand for these types of drives, more companies are beginning to offer such products. An example of this is Haydon Kerk's programmable IDEA drive, available as a stand-alone unit or mounted to the back of the motor. All programming is completed through the use of a graphical user interface with on-screen buttons such as "Extend," "Retract" and "Move To Position." Programs are built sequentially, top to bottom, with the completion of one command immediately followed by the command below it.
While simplicity is a major point of interest for such drives, designers also need the programming power that made the controller a necessary part of their project to begin with. A key consideration when looking to use a simple drive with enough programming power for a variety of application is to ensure that basic features are included, such as: position counters, acceleration and deceleration ramps, conditional branching, inputs and outputs. More advanced features to consider are multiple different interrupt sources with different priority levels, and the ability to increase the current for the acceleration or deceleration portion of a movement. These features allow for a high degree of motor control and interaction with the rest of the system.
Josh Pyne is electrical design engineer at Haydon Kerk Motion Solutions.