Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Stepper motors vs Servo motors for robotics

Status
Not open for further replies.

mdonner

Electrical
Mar 2, 2003
61
0
0
IL
Hi experts.
I am operating and maintaining several identical machines in the chip mfg industry, each equipped with an x-y motion motor with Z/Theta turret, and one manipulator with X linear motor and Z/theta tower.
The Z and Theta motors are steppers with encoders. I encounter cases in which motion is indicated (changing Z values are displayed) but the motor is stalled (usually for mechanical reason).
I need the theory of steppers that will explain the erronous feedback, and to compare it to servo motors that may avoid this problem.
Web links to proper materials will be highly appreciated.

Thanks
 
Replies continue below

Recommended for you

From your description above I would suggest several things.
1st, you said that Z has an encoder that is indicating travel with a stalled motor. This would appear to result from one of 2 things. 1- it doesn't have an encoder but is merely indicating steps. A stepper motor would generally have no feedback whatsoever. The step count simply reflects to commanded position change. In any case, the motor type wouldn't generate an encoder error, so there probably isn't one and what you are seeing is steps counted and indicated for position. The stepper drive, in this case, isn't checking for actual steps performed. A servo motion controller would resolve this occurance. Hope this helps.
 
I am a bit confused about how you state, maybe it is just the choice of words you used:
"I encounter cases in which motion is indicated (changing Z values are displayed) but the motor is stalled (usually for mechanical reason)."

I undestand that the encoder feedback is showing that the Z-axis is moving, but the part where you refer to the motor is stalled does not make sense. What do you mean "Usually for mechanical reasons?"

When a stepper is at zero speed, it has full holding torque (unless the controller/drive is set do reduce current @ stand-still). If the motor is stalling, that means something is causing your motor to be overpowered, thus stalling and rotate.

Check the set up of the stepper on the axis that your having problems. Maybe current is being reduced by the drive/controller or is not set to full motor current.

Is the system not faulting out when the Z-Axis starts to move out of position?

Putting in a servo may not solve your problem. I would look to what is causing the stepper motor to stall and move out of position....Excessive loading, bad motor, current settings, changeing mechanics (less friction)...etc.

A quick, simple 2-second run down: stepper is an open-loop system. It is constructed of 2 phases in the stator and a set of 50N & 50S offset magnets. By energizing the stator windings in a sequence, stator electro-magnets pull the rotor around. A stepper system is not dependent on the feedback like a servo is.

Did your Z-Axis problem just recently start happening?

Cameron Anderson - Sales & Applications Engineer
Aerotech, Inc. -
"Dedicated to the Science of Motion"
 
The mechanical stall causes are very clear: failure in the mechanical motion parts (loose/tight/torn drive belt, bad bearings of driven shaft, worn thread of driven lead screw and/or lead/preload nut).
The "encoder" (this is the description in the manufacturers documentation) is used by the system only part of the time: I found that disconnecting the encoder while excersind the motor has no impact.
There is a upper/lower limit switch.
The control system is a PC using proprietary firmware and dedicated cards. Each stepper has a driver card, and the signals are fed through signal conditioner cards. The power and signals are connected via umbilical cable. A problem in one or more of these is identified as an (electrical) error.
The stepper works as open loop, but the limit switches and "encoder" are the feedback for the driven assembly position.
Since I do not know the nature of the "encoder", I was hoping to get some information on such option and understand if it actually counts steps (and how) while motor is fed steps but can not move (stalled).

Thanks
 
No, an encoder does not count the steps a stepper motor is making but rather the rotation of some shaft. I make this distinction because if the shaft is rotation, the encoder will indicate a change in shaft position regardless of whether rotation is due to motor torque or load torque. If the shaft to which the encoder is connected isn't turning, the encoder won't indicate movement. I still don't see a case for questioning the encoder as having failed, If you turn the shaft 1 rev., does the encoder indicate this correctly? What do you mean when you say that disconnecting the encoder has no impact? Impact on what, exactly? In the above system as you have described, What is providing the indication of movement, Are you sure that the indication is coming from the encoder??
 
skills, SERVOCAM: thank you for your inputs.
I do not have more info than already supplied:
Motors and encoders are "cleaned" from nameplates by the supplier (the machine builder), the firmware and cards are proprietary, and there are many factors unknown to me.
With your answers/questions I have a good direction and ideas for data colection to further study the issue.
Thanks again.
 
To go into more on the encoder for you. Your typical, quaderature incremental encoder, has 6 wires and had 2-channels:
1. A+ (channel A)
2. A-
3. B+ (channel B)
4. B-
5. +5 VDC
6. common

The encoder contains a disk that has notches (holes for light to pass through) in it. These notches are called lines. The A&B channel are sensors that look for light passing through the notches. A& B are also offset from each other by 90 degrees. The offset helps us to determine direction. When light passes through the notch, the sensor is on, and the the output is high. As the motor turns, the encoder turns and we get a pulse train of A&B channels turning on and off.

Example:
__ __ __
| |__| |__| |__ Channel A
__ __ __
__| |__| |__| |__ Channel B


If you can read that ok, you can see that when going from left to right, Channel A turns on first. When going from right to left, you can see channel B turns on first. This is what is known as quaderature and tells us what direction the motor is going.

You may hear:
If A leads B or if B leads A, one being clock-wise, the other being counter-clock-wise.

Now since we have 2 channels, and they are offset by 90 degrees, you see we get a rising edge of A, rising edge of B, Falling edge of A, and a falling edge of B. We use this interpolation and get our output resolution.

If we have 500 lines on the encoder, we acutally get 2000 pulses out to the controller. Also where the word QUADerature encoder came from. QUAD meaning 4, so 500 x 4 = 2000.

Example:
___ ___ ___
| |___| |___| |__ Channel A
___ ___ ___
__| |___| |___| |__ Channel B

| | | | | | | | | | | | Number of Pulses

Some people get counts/rev, lines/rev, pulses/rev..etc mixed up.
Lines/rev is the number of lines on the encoder disk, the rest refer to the output.

The reason for the + and - for each encoder channel is for noise immunity. This is known as a differential line driver. The - is an inverse (oppisite) of the + signal. Any noise that is picked up on + is also picked up on - channel, and when back at the controller, the 2 signals are broght together and the noise is canceled out.

Cameron Anderson - Sales & Applications Engineer
Aerotech, Inc. -
"Dedicated to the Science of Motion"
 
some of the issues are: "what is the control system doing with the encoder signal", "why is the mechanical hardware not holding up better", "is there factory service material available" (is there factory service available?)
and-
does the system work as specified when the mechanical systems are in proper order, and when the system is used as it was designed/sold to be used?

If you don't have docs for the control and motion system, then it seems to me you have two main choices-
1) maintain it per mfg's spec (and call them when something gets too tough)
<or>
2) put a different drive and control system- there are companies that specialize in fitting new controls to old machines, if your facility does not have the resources.

Unless you can get into the heart of the existing control, you can't really know what it is doing or not doing with the encoder signals...

regards
Jay


Jay Maechtlen
 
Status
Not open for further replies.
Back
Top