Re: [CAD_CAM_EDM_DRO] emc servo question
Posted by
Jon Elson
on 2003-11-10 22:09:15 UTC
Steven Ciciora wrote:
a position loop, and involves the CNC control, in this case EMC. it
looks at the velocity commanded by the toolpath program, the actual
position at the last encoder reading, the commanded position it is supposed
to be at now, and other things like feedforward and integral and derivative
adjustments, and comes up with its best guess for a new velocity to move
at to minimize error at the next reading. This velocity command is sent to
the servo amplifier through a DAC.
The servo amplifier has 2 servo loops inside it. First, it obtains actual
velocity by way of a DC tachometer or by also reading the encoder signals.
This velocity is compared to the commanded velocity, and a very high
gain amplifier produces a velocity error signal. This error signal is
clipped
as a way of current limiting, and fed to a current error amplifier. This
amp compares actual motor current to the commanded current from the
velocity error amp, and adjusts the PWM generator to provide a proportional
output based on the error.
This sounds very complicated, but it gives the best performance and
stability
over a wide range of conditions. My own servo amp, for instance, maintains
smooth performance from .01 IPM to 120 IPM. Below .01 IPM, the stick-slip
friction becomes dominant, and the motion becomes a little jumpy. 0.01 IPM
is REALLY slow, you have to make a mark and wait a minute to even be sure
any movement is taking place. At this velocity, the DC tachometer is
providing
a calculated 7 uV signal. I can't measure this, of course. But, it is
still keeping
the velocity loop closed. Even with the positioning loop disabled, the
servo
amp is still AMAZINGLY stiff, you can't move it manually off where it is
sitting.
I have tried a simple voltage power amp, as it seems that a velocity
command can
be satisfied by applying a proportional voltage to the motor. I can
tell you that
the performance is HORRIBLE, you can't turn the DC gain up very high or
instabilities occur, and at that low gain, the ability of the servo to
go to a particular
location and hold it is very poor.
The Servo-to-Go cards use a 13-bit DAC. I use a 16-bit DAC in the PPMC
board set, as it had a bunch of nice features for servo use. You don't
really
need 16-bits to control a motor, there are too many perturbing influences to
allow this kind of accuracy to come through the system, at least with a
1 KHz
update rate.
Jon
>I have a simple question about EMC and how it controls servos. Let's say INeither. The "classic" positioning servo has 3 loops. The outermost is
>have a way to get encoder signals into EMC. EMC does some calculations and
>comes up with a number that is outputted to a D/A converter. This D/A
>sends a voltage to drive a servo amp. Is this voltage simply amplified and
>is proportional to the voltage sent to the servo motor, or is it
>proportional to the current sent to the servo motor? How many bits is it
>usually? I think the Geckos are internally 8 bits.
>
>
a position loop, and involves the CNC control, in this case EMC. it
looks at the velocity commanded by the toolpath program, the actual
position at the last encoder reading, the commanded position it is supposed
to be at now, and other things like feedforward and integral and derivative
adjustments, and comes up with its best guess for a new velocity to move
at to minimize error at the next reading. This velocity command is sent to
the servo amplifier through a DAC.
The servo amplifier has 2 servo loops inside it. First, it obtains actual
velocity by way of a DC tachometer or by also reading the encoder signals.
This velocity is compared to the commanded velocity, and a very high
gain amplifier produces a velocity error signal. This error signal is
clipped
as a way of current limiting, and fed to a current error amplifier. This
amp compares actual motor current to the commanded current from the
velocity error amp, and adjusts the PWM generator to provide a proportional
output based on the error.
This sounds very complicated, but it gives the best performance and
stability
over a wide range of conditions. My own servo amp, for instance, maintains
smooth performance from .01 IPM to 120 IPM. Below .01 IPM, the stick-slip
friction becomes dominant, and the motion becomes a little jumpy. 0.01 IPM
is REALLY slow, you have to make a mark and wait a minute to even be sure
any movement is taking place. At this velocity, the DC tachometer is
providing
a calculated 7 uV signal. I can't measure this, of course. But, it is
still keeping
the velocity loop closed. Even with the positioning loop disabled, the
servo
amp is still AMAZINGLY stiff, you can't move it manually off where it is
sitting.
I have tried a simple voltage power amp, as it seems that a velocity
command can
be satisfied by applying a proportional voltage to the motor. I can
tell you that
the performance is HORRIBLE, you can't turn the DC gain up very high or
instabilities occur, and at that low gain, the ability of the servo to
go to a particular
location and hold it is very poor.
The Servo-to-Go cards use a 13-bit DAC. I use a 16-bit DAC in the PPMC
board set, as it had a bunch of nice features for servo use. You don't
really
need 16-bits to control a motor, there are too many perturbing influences to
allow this kind of accuracy to come through the system, at least with a
1 KHz
update rate.
Jon
Discussion Thread
Brian
2003-11-10 10:27:14 UTC
Re: [CAD_CAM_EDM_DRO] retrofits controller
Robert Campbell
2003-11-10 11:00:16 UTC
Re: [CAD_CAM_EDM_DRO] retrofits controller
Steven Ciciora
2003-11-10 12:41:27 UTC
emc servo question
michael sim
2003-11-10 21:05:56 UTC
retrofits controller
michael sim
2003-11-10 21:05:59 UTC
retrofits controller
Jon Elson
2003-11-10 22:09:15 UTC
Re: [CAD_CAM_EDM_DRO] emc servo question
Steven Ciciora
2003-11-12 14:17:30 UTC
Re: [CAD_CAM_EDM_DRO] emc servo question