Stephen Wille Padnos wrote:
> Jon Elson wrote:
>
>> Stephen Wille Padnos wrote:
>>
>>> [snip]
>>> This type of thing can only be done if there are multiple sources of
>>> feedback for each motor
>>> .
>>> For a servo system, you'd need the encoders for position feedback,
>>> plus separate current or temperature feedback, to tell you that
>>> you're overdriving the motor trying to get up to speed. Without the
>>> second feedback channel, you can't tell a stalled motor from one
>>> that just hasn't had enough juice applied (actually, neither has
>>> enough power applied yet, it's more a question of whether it's a
>>> safe amount of power, and that's where the current / temp
>>> information comes in handy)
>>
>>
>> I don't think that is true. Allen-Bradley had feedrate compensation
>> in the 7320 control. It was done
>> crudely, and I would have rather done without. It would rapidly
>> switch between the commanded feedrate
>> (F word in the program times the feedrate override knob) and 1/2 of
>> that. This would set the machine
>> rocking wildly. But, it did it with only the encoders. Whenever any
>> axis lagged behind by some distance,
>> it would kick down to 50% of the normal feedrate. If the following
>> error continued to increase, it would
>> very soon hit the following error lint, and go to estop.
>
>
> OK - I'll buy that. You're basically configuring a warning level and
> an error level for the following error. The trouble is that it's
> difficult to tell if the user is just trying to accelerate at the max
> speed possible, or if they're trying to push into the end stop. Some
> type of speed sensitivity could help that, in addition to the fact
> that the controller knows what it's asking for, and whether it should
> be within bounds or not.
If it is outside the machine's bounds, the move will not even start.
That has been in EMC for a long
time. Whether the machine is bogged down or crashed hard will become
evident in a couple of milliseconds.
>
>
> An interesting area for further discussion.
>
>> A properly configured servo amp will never send excessive current to
>> the motor.
>
>
> What's excessive? I have motors that are rated to 9.8A continuous and
> 37A peak. 10A would probably work fine for a long time, 20A for a
> short time, and 35A for a very short time. Should I set my driver for
> 9.8A, or set it to 20A (the max - it's a Gecko) to allow for some
> headroom?
A high-end servo amp like a Servo Dynamics has an RMS limiter, that
brings the peak limit down
to the continuous limit after a couple of seconds (maybe less). It is a
thermal device on the
old amps, and can be done digitally, now. My servo amps don't have this
yet, but I have a really
good idea how to do it as an external add-on; yes a power resistor and a
thermistor!
Gecko doesn't have an easy provision to do this. Copley's smaller amps
don't, either.
Jon
|