Most conveyor applications run at either a constant or variable speed, and therefore require only velocity control from the conveyor’s main drive motor. But positioning conveyors – like edge-belt conveyors for PC board assembly and positioning conveyors used in automated checkweighers – need to do more than just velocity control. The main drive motor needs to start and stop the conveyor with precision. The level of precision can range from moderate to fairly high. This level of positioning control requires more than your average DC or AC motor used for velocity control. Step motors and servo motors are the best solutions because of their precise positioning capabilities. This article highlights the three most popular methods for controlling step and servo motors used in positioning conveyors.
This article focuses on controlling step and servo motors, but before you can control a motor you need to select the right one for your application. For help in selecting and sizing the best step motor or servo motor for a positioning conveyor, including whether to choose an IP65 rated solution, contact our application engineering department and speak with one of our experienced engineers. They have the tools and experience to assist you in selecting the best solution.
The most common method for controlling any step or servo motor, including those used in positioning conveyors, is simple digital pulse control, also known as step & direction control. If the primary PLC or controller in the system has one or more high frequency outputs available (20 kHz or greater*), pulse control is a good option. The pulse output from the PLC is connected to the Step input of the motor drive or integrated motor, and a second, non-pulse output is tied to the Direction input. The number and frequency of pulses transmitted to the Step input determine the travel length and speed of the conveyor, respectively, while the signal (high or low) at the Direction input determines the direction of travel, forward or reverse. For smooth starting and stopping of the conveyor the PLC/controller must be able to ramp the frequency of the pulses up and down to create smooth acceleration and deceleration ramps. Without this the motion of the conveyor will be jerky when starting and stopping.
*A pulse output frequency of 20 kHz is the minimum required for step & direction control. Normally you’ll want to use 100 kHz or more, and many controllers offer frequencies as high as 2 or 3 MHz. These high frequency outputs are great, but they usually come with added cost. To make use of lower frequency outputs choose a stepper drive or integrated stepper motor with Microstep Emulation. This is a powerful feature from Applied Motion that enables smooth, microstep operation even when used with low frequency pulse outputs. If using a servo drive you’re also covered, because servo drives from Applied Motion accept a wide range of pulse output frequencies, including low frequency outputs.
Velocity Control with Analog Input
Another very popular control scheme for step and servo motors used in positioning conveyors is a variation of discrete I/O signals, this time with one or two digital inputs plus an analog input. In this scenario the first digital input is the Run/Stop input. When the Run/Stop input is set the motor automatically ramps up to the target velocity and runs at that velocity until the input is reset, at which point the motor decelerates to a stop. The acceleration and deceleration ramps used by the motor are configured in software during commissioning of the axis, and are therefore controlled automatically by the axis. A second digital input can be used to control direction (forward/reverse). The target velocity of the motor can also be configured in software to be a fixed value, but many users elect to control the speed with an analog signal. This provides much more flexibility to the machine designer. By configuring the motor axis to ratio its target velocity according to the voltage level at the motor axis’ analog input, the machine designer can accurately control the target velocity of the conveyor for different process conditions. Specifically, some conditions may require the conveyor to run faster than others. Most Applied Motion drives and integrated motors have at least one analog input which can accept 0 to 5 volts or up to +/- 10 volts. Analog velocity control is a very effective method for controlling both position and speed of the conveyor using a minimal number of I/O points. It’s also very easy to program the primary controller.
Network Control (Distributed Control)
The third most popular option for step motor or servo motor control of positioning conveyors is for users who prefer to offload some of the control functions to the motor axis. This method is often chosen because it allows the greatest degree of flexibility for the user. Network control involves a permanent serial or fieldbus connection between the primary controller and the motor drive or integrated motor. This connection replaces all or most of the discrete I/O signals used in the previous two methods.
With Applied Motion drives and integrated motors, the available network interfaces include RS-232, RS-485, Ethernet TCP and Ethernet UDP, as well as EtherNet/IP, Modbus, and CANopen. For single-axis applications where the primary controller must control only one axis, any of these serial interfaces will work. For multi-axis applications where control must be of more than one axis, all but RS-232 can be considered.
Once the network connection is made, all commands from the primary controller to the motor axis are sent over the network connection. The exact details of the commands vary by the connection method, so for this article we’ll focus on one example: SCL commands sent over an RS-232 or RS-485 connection.
SCL is a simple and easy-to-use proprietary command set available from Applied Motion. SCL commands are defined with two letters and follow a simple syntax that programmers can easily adopt. The syntax for streaming an SCL command over an RS-232 or RS-485 connection looks like this:
In this example the command is FL, which stands for Feed To Length and represents an incremental or relative move command. The number 20000 is the distance parameter for this command and indicates 20,000 increments of motion; in the case of a step motor each increment is one step, while in the case of a servo motor each increment is one encoder count.** The <cr> at the end of the string symbolizes a carriage return (ASCII 13), which designates the end of the command string. Upon receiving this command string the motor axis will index the conveyor forward a distance of 20,000 increments.
**You’ll need to convert steps or encoder counts in the motor to linear distance of the conveyor. Not sure how to do that? Don’t worry, our application-savvy engineers are good with that, too.
The SCL command set contains additional commands for velocity, acceleration and deceleration, as well as for movement in both forward (positive) and reverse (negative) directions. There are actually more than 100 commands available in SCL, including commands for absolute moves, homing moves, registration moves, and much more. Check out the Host Command Reference, which is kind of like the dictionary for SCL commands, to see all of the available commands.
For details on using the other network connections mentioned in this article check out these support documents:
- Host Command Reference for RS-232, RS-485, Ethernet, EtherNet/IP and Modbus networks
- CANopen Manual for CANopen networks
The Choice is Yours
Now that you know the three most popular methods for controlling positioning conveyors with step motors and servo motors, which method to choose is up to you.
Still not sure? Just remember those application engineers…