Re: CNC software highest step rate
- From: Ned Simmons <news@xxxxxxxxxx>
- Date: Fri, 23 Sep 2005 09:27:10 -0400
In article <dgvje0029it@xxxxxxxxxxxxxxxxx>, dnichols@xxxxxxxxxxx says...
> >
> > I'd been curious about that. Why are the limit switches not typically
> > hardwired to disable the drive, but rather simply reports impending crisis
> > to the software? It seems something already has gone wrong by that time.
>
> I agree in general -- the axis should be disabled in hardware --
> at least in the direction towards that stop -- but it is also possible
> that other moves are happening at the same time, and you want the
> controller told at the earliest opportunity to *stop* right now!. :-)
>
<snip>
> Now -- servo amplifiers come with sets of contacts to inhibit
> motion in a single direction, so you can lock out the drive in the
> direction which created the problem, but still allow backing away from
> the stop using jog controls.
The problem with simply disabling the amp when approaching a limit is
that the motor will then coast. This may not be a problem at low
velocity if there's plenty of room between the switch and a hard stop,
but if the motor is heading balls-to-the-wall toward the end of travel,
disabling the amp isn't going to prevent a crash. Most dedicated motion
controllers have interrupt driven travel limits that do a better job at
getting the motor stopped quickly.
>
> Stepper? This is with real servo motors, which need an
> amplifier which sums the speed command voltage from the controller (a
> Servo-to-go card in the PC in the case of EMC) with the tach generator
> feedback from the motor to get a precise speed from the motor
<snip>
> But I consider it a pity that Gecko does not make a real servo
> amplifier, with command voltage input for speed, and with inputs from a
> tach generator for verification of the speed.
<snip>
>
> The fact that you can set a speed command voltage to the servo
> amp and get a steady speed from the servo motor is why resonance is not
> a problem at high speeds with servo motors used as intended.
Position control systems almost always run in torque (current) mode,
rather than velocity (voltage) mode. The amp is set up to output current
proportional to the command voltage.
Tachs haven't been used for many years on servos, the exception being
velocity control apps where an exceptionally wide speed range is
required. And even in those cases it's more common to see the tach
signal being synthesized from an encoder output. Some mfrs offer an
option on their amps that'll take an encoder input and use it in a
velocity loop. This sort of thing is also available on four quadrant DC
drives and AC vector drives. You do have to be careful that the encoder
resolution is adequate at ultra low speeds.
Which brings us back to the point that positioning systems with digital
motion controllers run the amp in current mode, so there's no place for
a tach signal. The encoder is connected only to the controller, which
generates the command signal to the amp based on position error.
While I agree that the step and direction scheme that Gecko uses is a
less than ideal kludge for driving servos in a system that was designed
for steppers, I would still consider it a real servo amp. There's
nothing in the definition of a servo that dictates how the various
components communicate. In fact the first servos were mechanical, there
are plenty of servos that use proprietary links between the various
parts, and many more recent systems talk over standard communication
buses.
>
> If the Gecko 320 is the one which drives servo motors (but
> pretends that they are steppers), then it does nothing with the tach
> feedback from the servo motor, and uses the encoder to tell which
> "stepper motor step" it is at. Feeding it several steps very quickly
> will increment a counter which is compared to another counter run from
> the encoder which produces a voltage to drive the servo motor in the
> intended direction until the count from the encoder catches up. At
> certain speeds, you have the servo motor moving at pulsing speeds, just
> like the stepper that it is pretending to be, and thus have the
> resonance problem again.
>
> If the Gecko were to honor the tach feedback, it could run at a
> smooth speed even with step pulses as input. One pluse behind gets a
> command voltage of 1mV. Two pulses gets 4mV, three pulses gets 16mV and
> so on, so the motor would speed up as needed to catch up, instead of
> having to try to run at full speed for a single pulse of offset.
I gather from a quick look at the literature this isn't how the Gecko
amp operates. It appears the amp includes a PID loop that takes the
input pulses and generates a command that's a function of the position
error and the PID tuning. IOW, once it's tuned properly, it behaves as
you suggest it ought to. Moving the PID loop out of the controller,
where it's traditionally located, is really the key to controlling the
servo with a pulse train intended for driving a stepper.
Ned Simmons
.
- Prev by Date: Re: Making pins with balls.
- Next by Date: Re: CNC software highest step rate
- Previous by thread: Re: CNC software highest step rate
- Next by thread: Houston is cancelled
- Index(es):
Relevant Pages
|