Re: SERVOs & EMC
Posted by
Jon Elson
on 1999-09-20 12:16:28 UTC
"Arne Chr. Jorgensen" wrote:
in pulse width does not instantly change motor current, because the
inductance of the motor is substantial, and resists current change.
This is why most if not all servo drives for machine positioning use
a current control loop as the innermost one.
SO, here's how it works :
The CPU is involved in the outermost loop. It senses position,
applies whatever control laws are deemed appropriate, and outputs
a velocity command, which is the best guess of the control laws to
obtain minimum position error by the next sample.
The servo amp receives this velocity command, and also receives
a DC tach signal, indicating actual instantaneous velocity. This is
compared in an error amplifier (with LOTS of gain, at least 10,000)
and produces a torque command signal. This signal is fed to a
variable bidirectional clipper, to limit the commanded torque to
some reasonable value, and fed to the innermost control loop.
Torque command = current command. So, the innermost loop
compares commanded current with actual current measured by
a sensing resistor, and the error signal becomes the modulation
for a PWM modulator that drives the full-bridge switch.
Some tricky points are that there is no grounded leg on the motor
for current sensing, when you use a full bridge. Therefore, the
current sensing resistor is giving a differential signal of tenths of
a volt, maximum, while it is swinging between ground and whatever
the DC motor supply is, in common mode. It takes a VERY
good instrumentation amplifier, and matched attenuator resistors
and capacitors to make this work. The other problem is that
very high gain amps tend to get pegged when the circuit goes
open-loop, even for a moment, during hard acceleration, as
when the current limit is reached. Also, when coming out of
E-stop, the control loops have been open-loop for a long while,
but have to settle quickly, or the machine will jerk so hard that
the CNC detects an excessive following error, and goes back
to E-stop.
Jon
> I used a transconductance amplifier in one of my designs, - and IMotor torque is proportional to instantaneous current. But, a change
> ended up in something not nice at all. As I now understand it, you
> also use a current loop, - ergo the same thing. What you get is a
> torque controlled servo. Here is where my problems started. ( maybe
> I just couldn't tune it right ? ) Anyway, I gave up the design.
> It has gone some time, and I can't recall the details, but
> something strange happened to the current. The whole thing started
> to be to complex, so I started on something a bit different. But
> what I would like, would be something simple.
>
> You may have answered this, if not directly. Why care about the
> current ?
in pulse width does not instantly change motor current, because the
inductance of the motor is substantial, and resists current change.
This is why most if not all servo drives for machine positioning use
a current control loop as the innermost one.
SO, here's how it works :
The CPU is involved in the outermost loop. It senses position,
applies whatever control laws are deemed appropriate, and outputs
a velocity command, which is the best guess of the control laws to
obtain minimum position error by the next sample.
The servo amp receives this velocity command, and also receives
a DC tach signal, indicating actual instantaneous velocity. This is
compared in an error amplifier (with LOTS of gain, at least 10,000)
and produces a torque command signal. This signal is fed to a
variable bidirectional clipper, to limit the commanded torque to
some reasonable value, and fed to the innermost control loop.
Torque command = current command. So, the innermost loop
compares commanded current with actual current measured by
a sensing resistor, and the error signal becomes the modulation
for a PWM modulator that drives the full-bridge switch.
Some tricky points are that there is no grounded leg on the motor
for current sensing, when you use a full bridge. Therefore, the
current sensing resistor is giving a differential signal of tenths of
a volt, maximum, while it is swinging between ground and whatever
the DC motor supply is, in common mode. It takes a VERY
good instrumentation amplifier, and matched attenuator resistors
and capacitors to make this work. The other problem is that
very high gain amps tend to get pegged when the circuit goes
open-loop, even for a moment, during hard acceleration, as
when the current limit is reached. Also, when coming out of
E-stop, the control loops have been open-loop for a long while,
but have to settle quickly, or the machine will jerk so hard that
the CNC detects an excessive following error, and goes back
to E-stop.
Jon
Discussion Thread
Arne Chr. Jorgensen
1999-09-20 01:22:26 UTC
SERVOs & EMC
Jon Elson
1999-09-20 12:16:28 UTC
Re: SERVOs & EMC
Bertho Boman
1999-09-20 13:36:50 UTC
Re: SERVOs & EMC
Jon Elson
1999-09-20 16:11:35 UTC
Re: SERVOs & EMC