Using a Dedicated Pulse Control LSI vs. a CPU for Motion Control

Basics of acceleration/deceleration control

Acceleration and deceleration control is important to understand when it comes to motion control. Good acceleration and deceleration control is needed to ensure quick and accurate positioning, and fast settling without damaging your equipment or materials.

Let’s consider a basic tin-can stepper motor that is asked to move a heavy load: If you expect the stepper to be able to generate enough force to move the load at a high speed right out of the gate, it will not be able to perform that movement and will fall out-of-step. It would be like trying to start your car’s manual transmission in fifth gear. Instead, we start in first gear, then slowly work our way up to fifth gear; similarly, in order to move a heavy load with a small, standard motor, we have to ramp up the speed slowly.

Likewise, if a heavy load is moving at a fast speed, inertia prevents it from stopping instantaneously; the movement must slow down before coming to a stop from the slower speed. If the deceleration is too quick, it can cause damage to your equipment or workpiece due to impact or shock.


Linear acceleration/deceleration: every time speed changes, the motor “jerks” because the motion profile is not smooth

Linear acceleration/deceleration is the simplest to generate, but there is a jolt at the beginning and end of any speed changes. Using S-curve acceleration/deceleration is gentler and there is less impact to the load when changing speeds. Linear and S-curve motion profiles can be used in tandem to provide less shock to the load while lessening the demand on the motor. If you have a delicate load – such as semiconductor wafers or electronic chips – S-curve acceleration/deceleration helps mitigate the risk of damage.


S-curve acceleration/deceleration: smooth movements

 

What is a pulse control LSI/ASIC chip?

In order to operate a motor, you need a device or circuit that produces a speed and direction signal. In many cases, a CPU or FPGA device is used to create movement, because technically these devices can be programmed to generate pulses. However, no serious engineer should consider using these for important motion control applications, unless they are okay with a “good enough” mentality when it comes to their application’s movement.

A pulse control LSI is a dedicated chip that is specialized for motor control. Manufacturers have different names for these kinds of controllers – motion control IC, motor control LSI, pulse generator, ASIC chip, etc. – but they are all essentially the same thing. It is very easy to design programs when you use a convenient motion control-specific tool like a pulse control LSI.

By choosing a pulse control LSI, you can easily write setting data and commands for both linear and S-curve acceleration/deceleration without overloading the CPU. When you consider CPU and engineering resource costs, ease of use, and speed of development, the end user benefits greatly from the specialized motion control option.

 

Is pulse control with a CPU difficult?

When creating pulse signals only using a CPU, you have to create a program that uses counters or timers to turn the port on and off. It’s easy to control at a constant frequency, but it can be quite troublesome to create a program that features a constantly changing acceleration/deceleration rate. An inexpensive CPU is also easily burdened by processing motion control demands, so it will have a hard time performing other commands simultaneously. A high-performance CPU would be necessary for even basic linear acceleration/deceleration!

As speed increases, the pulse period becomes shorter. There are two general methods of acceleration/deceleration: 1) you can use a CPU to gradually shorten the pulse period, which is very intensive for the CPU, or 2) you can use the interrupt method of stair-step acceleration/deceleration.

When using a CPU to shorten the pulse period, there are lots of factors to consider: How many pulses should be output in total? At what point does the motor need to start decelerating? If you decelerate to the initial speed (FL speed), can you stop it exactly there? Since the current position cannot be managed by setting only the number of pulses to be outputted, is an absolute value counter also necessary? If the motor and/or controller can be forcibly stopped with a signal from the outside, what should we do with that signal processing?

Developing software for a CPU is very labor-intensive, and the features and performance of the CPU may determine by how much the pulse cycle can be shortened.

Development of the acceleration/deceleration programs is much easier with a pulse control LSI. There is an easy flow from the time you start writing the program to the completed operation, as you can see in the flow chart below. Not only are you able to easily program linear and S-curve acceleration/deceleration, you can also determine current positioning, thanks to the up/down counter values.

Since the CPU is able to leave the LSI unmonitored, the LSI transmits an interrupt signal to the CPU when the operation is completed. An external dedicated terminal can also forcibly stop a pulse control LSI if necessary. The hours required for development are greatly decreased, and high-frequency output pulses are possible regardless of the CPU’s speed because the chips are not burdened by the CPU’s speed or capability limitations. Pulse control LSIs specialize in motion control, so they have high operational reliability.

 

Advantages and Disadvantages of Pulse Control Devices

Control Device Pros Cons
CPU
  • Low cost in low-end applications
  • Programming is difficult
  • High-speed operation and complex movements are complicated
  • It is necessary to test each movement to determine whether actual operation can be accomplished
  • High-speed CPU (or a dedicated CPU) required for complicated operation
  • Large amounts of processing power are required for motor control and can cause other processing to be delayed
FPGA
  • It is possible to freely create functions suitable for your exact use
  • Program can be re-written, and it is possible to have different revisions
  • Programming is very difficult
  • Creating functions for a specific application is possible, but the FPGA's specialization makes it difficult to create extra functions. This makes it difficult to move between applications.
  • Not suitable for mass production, due to cost
Pulse Control LSI
  • Since the motor control-related functions are standard, development man-hours are reduced (operation verified)
  • Since motor control can be left to a dedicated LSI, CPU burden is small and low-end CPU can be used
  • High frequency pulses can be output
  • Depending on the model, it can be more expensive than just a CPU

 

Nippon Pulse's Pulse Control LSIs

Nippon Pulse’s PCD46x1A series is ideal for engineers that worry that pulse control LSIs are too expensive compared to just a CPU for their motion control applications.

The PCD46x1A series features three chips: the PCD4611A single-axis chip, the two-axis PCD4621A, and the four-axis PCD4641A. These chips are ideal for users who have not used pulse control LSIs before, and for those who need basic, uncomplicated motion control functions. This series is also an upgrade to a previously manufactured Nippon Pulse chip series, featuring smaller chip sizes (the industry’s smallest QFP package!), improved functionality and a standard power supply voltage of 3.3V.

Nippon Pulse released its first series of motion control chips in 1982, and have since supported a variety of pulse control LSI series for controlling stepper and servo motors.