CAD CAM EDM DRO - Yahoo Group Archive

Re: NOTES on Handwheels

Posted by Jon Elson
on 1999-09-05 23:07:26 UTC
"Arne Chr. Jorgensen" wrote:

> I have not studied the EMC software yet, and I don't have anything
> to run it on. ( don't have money for it yet )
> But as I understand it, - the encoders and other inputs are first
> copied to the shared memory area ?
> Then the motion controller in RT space reads it back, and process
> it ?

Not quite. The Real Time kernel module reads the raw encoder counts
and converts them to internal format (which I think is ALWAYS millimeters.)
It then computes the velocity to command on the next cycle, and loads the
DAC registers. Then it updates the current position and other diagnostic
info to the correct places in the shared memory structures, and returns
control to the RT scheduler.

> ( I guess the step counters do the same )
> If so, then a semaphore array in shared memory, could be used for
> multiplexing the registers. ( I have not studied the RT/EMC
> interface, but I would have all the variables to the RT controller ,
> mirror it's values to shmem before output ) The RT module reads this
> first, and will find out what values to use. This way you would have
> easy access from process space.
>
> Forgive me if this is too obvious, but I just thought this kind of
> interface could be used in a number of ways. ( or am I just stupid
> now ? hmmm ..)
> In the case of handwheel, it should be easy enough. When operated,
> it reads the current contents from the axis, while it always zero
> out its own value. This will not cause any misbehavior on the axis
> controller. ( you can't switch over to handwheel, if the axis is
> moving )

Well, I just don't see how this can work at all. If you switch the wires
from the position encoder to the handwheel, then the motion control
software is no longer able to sense position of the machine. Yes, moving
the handwheel will offset the current position, but you can't actually move
the machine, because the feedback loop is open. Since the servo
amps drift a bit, the machine will actually be moving during the time that
the loop is open, and you will have no way to know how much drift
ocurred. Now, when you switch back, the table will be about at the
same place (except for drift) but the coordinates will be offset by the
amount the handwheel was moved. What you really need is a circuit
that ADDS the two encoders' movement together, and generates a new
set of A/B quadrature count signals. But, this is really the wrong way
to do things, anyway.

Jon

Discussion Thread

Arne Chr. Jorgensen 1999-09-05 05:24:22 UTC NOTES on Handwheels Jon Elson 1999-09-05 23:07:26 UTC Re: NOTES on Handwheels