digital encoder servo

A

Thread Starter

anand salunke

Hello everyone,

I have a fundamental doubt. I am wondering of how is it possible to have a position control of a servo using digital encoders? how to send an absolute position command when we don't know the current position?

for example: we would always give a relative position command when the servo is operating using digital encoder. suppose if we start a servo from some intermediate position, how to command it to go to the desired position when we don't know the intermediate position? This is unlike potentiometers which any time can tell the current position without movement of the motor.

Please help me to solve the confusion.

thanks in advance.

anand salunke.
 
J

James Ingraham

At startup, the servo must go through a "homing" sequence. The typical "home" routine goes something like this: move in the positive direction at slow speed until an input comes on. This input (a limit switch, for example) is placed very near the extreme travel in the positive direction. The motor will therefore ALWAYS be on the negative side of this limit indicator. Obviously, if you have physical obstructions that prevent free travel then a human will have to manually move the the servo to the correct position.

Once the servo is at the home position, you reset your counter to 0. (Obviously, you can use any number you want, but you must always use the same number). Now the servo is located to a known position, and pulses from the encoder are added or subtracted as the servo moves away from or toward home.

-James Ingraham
Sage Automation, Inc.
 
You do not need to worry about doing absolute position control with an digital incremental encoder unless you need to know the motor position on power up. The majority of servos out there do not have absolute encoders on them. Rarely did I run into an application that had to have absolute encoders.

With the incremental encoder feedback to the servo drive, the drive keeps track of the position internally. On power up, the drive thinks that the current position is zero or you home it to a position and define that as zero. Then when doing your incremental or absolute moves, the controller keeps track of where it is. Even if you disable the servo drive and move the motor, it will still track its position (as long as there is power to the drive for the encoder).

If you must know the motor position upon power up, then going to an absolute encoder will be the way to go. 99% of thousands of motion control applications I have done have all been incremental encoders (some resolver). Not many requries absolute. In some applications, I loaded the position into the drive via a Fieldbus or through serial port.

For absolute encoder controllers, see:
1. Me, Aerotech, www.aerotech.com
2. Emerson CT, www.emersonct.com
3. Kollmorgen, www.kolmorgen.com
4. GE Fanuc, www.gefanuc.com
..there are others, this will get you started.

Cameron Anderson
Aerotech, Inc.
www.aerotech.com

"Dedicated to the Science of Motion"
 
You do not need to worry about doing absolute position control with an digital incremental encoder unless you need to know the motor position on power up. The majority of servos out there do not have absolute encoders on them. Rarely did I run into an application that had to have absolute encoders.

With the incremental encoder feedback to the servo drive, the drive keeps track of the position internally. On power up, the drive thinks that the current position is zero or you home it to a position and define that as zero. Then when doing your incremental or absolute moves, the controller keeps track of where it is. Even if you disable the servo drive and move the motor, it will still track its position (as long as there is power to the drive for the encoder).

If you must know the motor position upon power up, then going to an absolute encoder will be the way to go. 99% of thousands of motion control applications I have done have all been incremental encoders (some resolver). Not many requries absolute. In some applications, I loaded the position into the drive via a Fieldbus or through serial port.

For absolute encoder controllers, see:
1. Me, Aerotech, www.aerotech.com
2. Emerson CT, www.emersonct.com
3. Kollmorgen, www.kolmorgen.com
4. GE Fanuc, www.gefanuc.com
..there are others, this will get you started.

Cameron Anderson
Aerotech, Inc.
www.aerotech.com

"Dedicated to the Science of Motion"
 
D

Davis Gentry

This is usually accomplished by one of two methods - either an absolute position feedback of some sort, or taking the incremental feedback from an encoder and causing motion in one direction until a switch indicates a known position. I.E. you move until a digital switch changes place. Let's say that switch is located at a position 1" from the hard stop on a horizontal axis. At that point you will "home" your machine to tell it that on this axis that position equates to the zero position. On our controllers this is handled in firmware and has a response time of under 10 ns to the switch input, allowing very accurate homing.

One neat thing I saw to retrofit existing systems is made by TR Controls, and is an encoder which outputs standard quadrature incremental signals, but which maintains absolute position (battery). On startup you can toggle a digital input which will cause it to send a number of output pulses equal to the absolute position of the axis. So the controller starts at assumed position zero, then you toggle the output to the encoder and it outputs as though the motor was moving until the actual absolute position is read by the controller.

Davis Gentry
Delta Tau Data Systems
 
Top