Feed Forward Loop

G

Guy H. Looney

Teresa,

I'll take a shot at this one. A stepper motor doesn't really have any kind of loop at all. It is an open loop system. The definition of closed loop dictates that there must be 1 or more loops closed (torque, velocity, position, etc.). A true feed-forward loop can be used in a servo system to help compensate for breakaway torque (friction for instance) by injecting current into the motor windings; in effect, it is used to "jump start" the system.

A stepper has no such mechanism available. It's true that you can put an encoder on a stepper motor and close a position loop. However, it's really not a true closed loop system. It's a position maintainence system. The difference between a stepper w/ an encoder and a servo w/ an encoder can best be described by the following illustration:
Stepper: Close your eyes, walk forward, stop, open your eyes, adjust for walking too far or not far enough
Servo: Walk forward w/ your eyes open until you reach your final destination
In other words, steppers can't adjust for position error until they've stopped; a servo is always adjusting.

In order to "jump start" a system, you would have to know which windings to inject the current into. That requires commutation, and a stepper has none. Based on my experience & knowledge I believe I am correct, but will certainly stand to be corrected if someone knows something I don't.

Hope this helps,
Guy



Guy H. Looney
Sales Engineer

Regan Controls, Inc.
475 Metroplex Dr.
Suite 212
Nashville, TN 37211
phone: (615) 333-1940, ext. 322
fax: (615) 333-1941
[email protected]
www.regancontrols.com
 
Guy, (and Teresa)

With regard to the question about feedforward loops as they relate to position control, good description on the stepper, however a
clarification on the servo feedforward . . . .this really does not involve commutation . . . unless of course you are talking about a
feedforward term for the current loop in which case the stepper and most servo drives can be configured with a feedforward term to deal with
motor winding/rotor time constant characteristics.

Regarding the control loop, you can have several feedforward terms. Typical terms are friction ff, velocity ff and accel ff. The controller
basically looks ahead in the trajectory and injects a command component associated with upcoming requirements.

If transitioning from static to dynamic -> friction feedforward biases the command in the desired direction momentarily. Great for high static friction conditions.

If velocity is changing, velocity feed forward term injects a term that is linearly related to the velocity (this is typically very useful when
drive is operated in velocity mode OR when load is subject to a friction term that varies linearly with velocity).

Acceleration feedforward kicks in a component to the command that varies linearly with acceleration and is useful for high inertia loads. A top of the line motion controller has standard PID terms along with Vff, Aff and Friction ff terms and if drivetrain resonance is killing you . . . a good notch filter can inject an anti-resonance into the system to keep things nice and smooth.

Hope this helps

Ken Brown
Applied Motion Systems, Inc.
 
R

Ralphsnyder, Grayg

A stepper motor + a stepper controller + a position feedback device = a closed loop system to control position.

If the feedback has at least twice the position resolution as the stepper motor has, then the controller can maintain the stepper's position within the resolution of the stepper. If the load changes position the stepper controller can respond to maintain or return it its proper position.
 
G

Guy H. Looney

As I said, a stepper can form "closed loop" w/ an encoder. However, it is a closed loop like a servo has. The stepper can only adjust at the end of each move; a servo can is always adjusting. The two "closed loop" systems are conceptually similar, but distinctly different in actuallity. A stepper w/ an encoder cannot possibly respond to position error like a servo can.

Guy H. Looney
Sales Engineer

Regan Controls, Inc.
475 Metroplex Dr.
Suite 212
Nashville, TN 37211
phone: (615) 333-1940, ext. 322
fax: (615) 333-1941
[email protected]
www.regancontrols.com
 
G

George Kaufman

You can also download an app note from www.MotionOnline.com called "Replace Stepper Systems with AC Servo Systems and Step-up to Closed-Loop Performance". This app note reviews some of the application limitations for stepper systems and shows how an ac servo system can be used to replace a stepper system. Some ac servo systems can accept "pulse and direction" input from the existing indexer or stepper controller.

George Kaufman
Automation Intelligence
770.497.8086 (x2071)
 
R
If a steppers load is never exceeded, no error is present. Of course no system should be designed to 'overload' it's motors, however the difference between steppers and servos (ignoring the positional speed difference!), is that servos can gracefully recoup load 'hiccups'whilst steppers can get thrown out of sync, often with spectacular results.

A positional encoder allows you to know when a stepper has gone out of sync, and hence stop working and recalibrate, but it is also possible to know sooner when this is to happen by monitoring the di/dt when each step is swithed in,
the di/dt increases with load, and you will know that a mistep is too occur before the step is complete.

In some systems, decreasing step speed allows the steppers to cope better with increased load, hence making swith speed proportional to motor current is a perhaps a better solution than feed forward.

Does anyone know of a commercial driver that monitors the current?

One thing I do know (from brutal experience) is that feed forward his far more difficult to stabilize than feedback, so it would seem stupid to do a stepper with feed forward when a servo with feedback would give you better results
more simply!
 
Roger,

Feedforward terms are typically very stable when used on stable trajectories / trajectory generating algorithms. Technology has come a
long way in making them easy to tune and very useful in overcoming the imperfect mechanical constraints that are sometimes present with
positioning systems.

Regards,

Ken Brown
Applied Motion Systems, Inc.
 
C
Teresa,

I stumbled upon this blog during a search and feel compelled to shed some light on the subject.
Though Ken Brown seems to hit the nail on the head.

Stepper motors close the current loop to maintain a phase relationship, which happens at around 10Khz. The Velocity is the result of the commutating command internally to the Two phase bridges(could be 3 or 5 as well). Steppers will follow that command until the torque/current required exceeds the torque/current available. They are extremely precise open loop when properly sized for the inertial loads they encounter. Better than a Servo for low speed precised positioning applications. An Encoder actually only tells the processor that it either went to far or fell short after the fact. The servo requires Error to maintain position....servo dither at usually 2Khz. Steppers do not close a position loop by dithering about a point. Your feed forward question needs to be more specific, there are many feed forward components, Position, Velocity, Acceleration, and Friction.

I guess rather than me rambling on and on about the differences between servo and stepper, I will stop here and see if you still even require info about the particular feed forward component of interest.
 
Top