Re: Using CNC as DRO to save $$$: answers
Posted by
caudlet
on 2004-03-25 08:16:00 UTC
Let me address the first question about using linear scales for
encoder feedback for CNC control. The answer is yes and no (like
that approach?). It would appear logical that if you put the
encoder on the table itself and measured the position of that, which
is after all what you are really interested in, and commanded the
motors to move to that position, you would have the best and most
accurate system. The flaw in that approach lies in the method of
postional feedback and the dreaded feedback loop. Most of the hobby
grade stepper to servo systems adjust postition like this: A number
of steps are commanded from the controller program. The encoder has
lines that are read by a optical sensor (actually a pair but that
will answer question two later) that outputs pulses as it moves.
These are distinct transitions (logic pulses) and are digital in
nature. The feedback loop samples the commanded pulses from the
computer and compares them to the pulses from the encoder. Any
mismatch and an error voltage is developed. The job of the motor
controller is to keep the error voltage as low as possible. If the
error becomes to great the drive will fault (somethings wrond and we
need to stop). Keep in mind that the controller software has no
knowledge of any of this an "assumes" the machine has moved where it
was commanded. Only a fault condition will alert it to an issue.
In this tyoe of system the loop is closed in the motor controller
itself. Examples of this are Gecko 320/340 and Rutex 9XX series.
What has this got to do with the type and placement of the encoder?
well the digital nature of the feedback loop is such that it always
has a tiny error and "hunts" between encoder lines for equalibrium.
This creates a condition where the motor rapidly oscillates between
two encoder lines (provided the encoder is connected directly to the
motor shaft) and the result is a impeceptable movement back and
forth of the shaft and a "hum" from the oscillation. The amount of
movement is determined by the encoder count and the gain and
dampening of the feedback loop controls (adjustable on all servo
systems). Under conditions where the coupling between encoder and
motion is tight (virtually no backlash) the oscillation presents no
problems. If we move the encoder to a position where there is
backlash present we setup a condition I call the "blindfolded
driver" syndrome. Imagine driving a car blindfolded and all that
guides you is are two tones: high for right, low for left. Now
image introducing a steering system that has a 1/2 turn of the
wheel "backlash". Remember there are two tones. No tone is not a
valid condition. What you get is overcompensation and it amplifies
itself and causes violent movements to attempt to correct much like
microphone feedback. Depending on the mass of the machine and the
strength of the motors it might well walk itself across the floor
and perform an e-stop by disconnecting itself from power!
The solution is to eliminate as much backlash as possible which
means the addition of precision drive componets like zero backlash
ballscrews. Of course it that point you have remove most of the
error in the system and the more closely reflects the actual
position of the machine. So once you have the tightness on place to
actually use linear scales as encoders, you technically don't need
them. Can you use them? Sure.
Another thing for discussion is being able to close the loop in
software at the controller (the loop is closed in software). The
only hobby grade (read: affordable) software closed loop system is
Jon's product that works with EMC. I will leave it for him to
address how they would handle system backlash and how much they can
compensate for in the software loop.
Answer for the dual channel question.
The dual channel encoder is used in a configuration
called "quadrature" output to increase resolution. Two sensors are
placed such that the signals are sensed 90 degs apart. As the lines
move past the sensors a line passes the A sensor and it goes high
and stays there until it is completely through then it goes low
again. Halfway through the line passing through A, another line
passes through B causing it to turn on. You now have two
transitions for the same amount of movement so you have doubled your
resolution. If we also count the transiton of A going from high to
low as the backside of the line passes, and do the same with B we
have 4 transitions to count and we have four times the number of
pulses....quadrature. That is why 200 lines create 800 pulses. By
having two sensors we can determine which count comes first, A or B
and from that we can determine direction. The encoder just
processes the signal and sends the pulses out of the channel wires.
It is up to external circuitry to figure the count and direction of
travel from the information.
Tom C
encoder feedback for CNC control. The answer is yes and no (like
that approach?). It would appear logical that if you put the
encoder on the table itself and measured the position of that, which
is after all what you are really interested in, and commanded the
motors to move to that position, you would have the best and most
accurate system. The flaw in that approach lies in the method of
postional feedback and the dreaded feedback loop. Most of the hobby
grade stepper to servo systems adjust postition like this: A number
of steps are commanded from the controller program. The encoder has
lines that are read by a optical sensor (actually a pair but that
will answer question two later) that outputs pulses as it moves.
These are distinct transitions (logic pulses) and are digital in
nature. The feedback loop samples the commanded pulses from the
computer and compares them to the pulses from the encoder. Any
mismatch and an error voltage is developed. The job of the motor
controller is to keep the error voltage as low as possible. If the
error becomes to great the drive will fault (somethings wrond and we
need to stop). Keep in mind that the controller software has no
knowledge of any of this an "assumes" the machine has moved where it
was commanded. Only a fault condition will alert it to an issue.
In this tyoe of system the loop is closed in the motor controller
itself. Examples of this are Gecko 320/340 and Rutex 9XX series.
What has this got to do with the type and placement of the encoder?
well the digital nature of the feedback loop is such that it always
has a tiny error and "hunts" between encoder lines for equalibrium.
This creates a condition where the motor rapidly oscillates between
two encoder lines (provided the encoder is connected directly to the
motor shaft) and the result is a impeceptable movement back and
forth of the shaft and a "hum" from the oscillation. The amount of
movement is determined by the encoder count and the gain and
dampening of the feedback loop controls (adjustable on all servo
systems). Under conditions where the coupling between encoder and
motion is tight (virtually no backlash) the oscillation presents no
problems. If we move the encoder to a position where there is
backlash present we setup a condition I call the "blindfolded
driver" syndrome. Imagine driving a car blindfolded and all that
guides you is are two tones: high for right, low for left. Now
image introducing a steering system that has a 1/2 turn of the
wheel "backlash". Remember there are two tones. No tone is not a
valid condition. What you get is overcompensation and it amplifies
itself and causes violent movements to attempt to correct much like
microphone feedback. Depending on the mass of the machine and the
strength of the motors it might well walk itself across the floor
and perform an e-stop by disconnecting itself from power!
The solution is to eliminate as much backlash as possible which
means the addition of precision drive componets like zero backlash
ballscrews. Of course it that point you have remove most of the
error in the system and the more closely reflects the actual
position of the machine. So once you have the tightness on place to
actually use linear scales as encoders, you technically don't need
them. Can you use them? Sure.
Another thing for discussion is being able to close the loop in
software at the controller (the loop is closed in software). The
only hobby grade (read: affordable) software closed loop system is
Jon's product that works with EMC. I will leave it for him to
address how they would handle system backlash and how much they can
compensate for in the software loop.
Answer for the dual channel question.
The dual channel encoder is used in a configuration
called "quadrature" output to increase resolution. Two sensors are
placed such that the signals are sensed 90 degs apart. As the lines
move past the sensors a line passes the A sensor and it goes high
and stays there until it is completely through then it goes low
again. Halfway through the line passing through A, another line
passes through B causing it to turn on. You now have two
transitions for the same amount of movement so you have doubled your
resolution. If we also count the transiton of A going from high to
low as the backside of the line passes, and do the same with B we
have 4 transitions to count and we have four times the number of
pulses....quadrature. That is why 200 lines create 800 pulses. By
having two sensors we can determine which count comes first, A or B
and from that we can determine direction. The encoder just
processes the signal and sends the pulses out of the channel wires.
It is up to external circuitry to figure the count and direction of
travel from the information.
Tom C
Discussion Thread
camfambmw540
2004-03-24 06:41:13 UTC
Using CNC as DRO to save $$$
caudlet
2004-03-24 15:39:31 UTC
Re: Using CNC as DRO to save $$$
camfambmw540
2004-03-24 18:10:09 UTC
Re: Using CNC as DRO to save $$$
Roy J. Tellason
2004-03-24 22:04:07 UTC
Re: [CAD_CAM_EDM_DRO] Re: Using CNC as DRO to save $$$
Art Eckstein
2004-03-25 03:51:04 UTC
Re: [CAD_CAM_EDM_DRO] Re: Using CNC as DRO to save $$$
caudlet
2004-03-25 08:16:00 UTC
Re: Using CNC as DRO to save $$$: answers
caudlet
2004-03-25 09:44:58 UTC
Re: Using CNC as DRO to save $$$
camfambmw540
2004-03-25 20:28:55 UTC
Re: Using CNC as DRO to save $$$