Re: [CAD_CAM_EDM_DRO] Combining shaft+linear encoders (was: Gecko Servo Control)
Posted by
Jon Elson
on 2002-08-28 10:23:53 UTC
Nicolas Benezan wrote:
not a discrete, but a linear device. That means, it gives valid output down
to zero speed. The shaft encoder only gives a valid output when it is moved
to a new count position, and no output when between these positions.
So, you get no velocity info for a while, then suddenly a velocity change
is noticed. My DC tachs allow me to have absolutely smooth motion down
below .01 IPM, where stick-slip friction develops. You can stop the position
loop update through the computer, and you STILL can't move the machine
manually due to the tachs. Since the tach is continuous-time, there are no
nasty stability problems. An encoder has a variable update rate depending
on velocity, therefore it has to give a rough output at low speeds. There are
ways to compensate for this, but they are not so easy.
servo amps, but they are very stable due to the tach feedback.
approach. If you derive velocity (and its derivative d-vel/dt) from the shaft encoder,
that might not be too bad. If you are using position from both linear and shaft
encoders, the leadscrew errors + backlash could drive you nuts!
With the DC tach, all you need is a gain pot (and maybe a loop compensation
pot, too) for balancing velocity with the position loop from the CNC control.
You'd need some method of making very small incremental changes to this
gain if you use an encoder for velocity. otherwise, the loop will be forced to
hunt (faster - slower - no, faster ....) in velocity, as it can never get an exact
match between commanded and actual velocity due to finite precision of the
numbers. Put too much digital smoothing on it, and you end up with a sluggish
system.
I have a 1 KHz position loop update rate, but my servo amps have a velocity loop
bandwidth of about 2.5 KHz.
Jon
> Hi,Why don't you just use a DC tachometer? That is a lot better, as it is
>
> I am currently designing my own servo control chip (step/dir and encoder
> inputs, +-10V or PWM output). I consider adding additional input pins to
> connect a second (linear) encoder. The idea is to mix the two position
> inputs for the PID control in such a way that the shaft encoder on the
> motor provides the velocity (D) value and the linear encoder provides
> the P and I signal.
not a discrete, but a linear device. That means, it gives valid output down
to zero speed. The shaft encoder only gives a valid output when it is moved
to a new count position, and no output when between these positions.
So, you get no velocity info for a while, then suddenly a velocity change
is noticed. My DC tachs allow me to have absolutely smooth motion down
below .01 IPM, where stick-slip friction develops. You can stop the position
loop update through the computer, and you STILL can't move the machine
manually due to the tachs. Since the tach is continuous-time, there are no
nasty stability problems. An encoder has a variable update rate depending
on velocity, therefore it has to give a rough output at low speeds. There are
ways to compensate for this, but they are not so easy.
> That way, I think, the control loop should be more stable and a higherVelocity feedback is quite important. I have enormous DC gain on my
> gain (better stiffness) should be possible as if using a linear encoder
> alone.
servo amps, but they are very stable due to the tach feedback.
> Of course, backlash is still to be avoided but a little "elastic"Ugh! I think there could be all sorts of "sensor fusion" problems with this
> delay between motor and slide movement is not that harmful if the
> damping is calculated from the faster input from the encoder mounted
> directly to the motor shaft.
>
> Will that work? Does someone have experience with combined shaft and
> linear encoders? How do the "big" machines handle this?
approach. If you derive velocity (and its derivative d-vel/dt) from the shaft encoder,
that might not be too bad. If you are using position from both linear and shaft
encoders, the leadscrew errors + backlash could drive you nuts!
With the DC tach, all you need is a gain pot (and maybe a loop compensation
pot, too) for balancing velocity with the position loop from the CNC control.
You'd need some method of making very small incremental changes to this
gain if you use an encoder for velocity. otherwise, the loop will be forced to
hunt (faster - slower - no, faster ....) in velocity, as it can never get an exact
match between commanded and actual velocity due to finite precision of the
numbers. Put too much digital smoothing on it, and you end up with a sluggish
system.
I have a 1 KHz position loop update rate, but my servo amps have a velocity loop
bandwidth of about 2.5 KHz.
Jon
Discussion Thread
Nicolas Benezan
2002-08-28 08:14:07 UTC
Combining shaft+linear encoders (was: Gecko Servo Control)
Jon Elson
2002-08-28 10:23:53 UTC
Re: [CAD_CAM_EDM_DRO] Combining shaft+linear encoders (was: Gecko Servo Control)