2011/8/31 Leonardo Marsaglia <[email protected]>:
>
> I would like to ask about this, because in my head I always think about the
> complication with the tracking of the C axis when this one behaves like a
> spindle. What I don't picture very well, is, what would happen If I use the
> spindle of a regular lathe (with the encoder mounted on it to track the
> position and velocity) between spindle mode and C axis mode.
>
> I mean, if I'm using it as a regular spindle in velocity mode, but then I
> want to change the process and do some milling using for example a clutch or
> something to change between the two motors, I can't imagine how to avoid the
> following error, since the encoder on the spindle would be my position and
> velocity feedback.

With 2 separate motors: if You put encoder on motor shaft or anywhere
else _before_ clutch or any other mechanism to engage one of the
motors with spindle, You will avoid the situation You mentioned about
generating following error. But I also think that this solution is
complicated on the hardware side.

I think that using one motor for both - spindle and C axis - is _a
lot_ simplier on hardware side - You do not need clutches or something
similar. Maybe only some gearbox to reduce speed and increase torque.
2 things would be necessary:
1) some HAL or ClassicLadder logic to switch the motor from pins of a
certain joint to pins of spindle and vice versa.
2) custom HAL component / kinematics module to deal the C position,
when in spindle mode. I see several possibilities:
a) disconnect A and B signals, when in spindle mode, use only index
pulse to determine spindle velocity;
disconnect index, when C axis mode and use only A and B signals to
determine position;

This way, when A and B are disconnected, they would not change
calculated encoder position and thus no following error would be
triggered.
The thing is that precise homing without index should be done and some
kind of rehoming with a probing move, when switching from spindle to C
axis.

b) introduce some kind of offset, which is calculated, when in spindle
mode, between actual spindle position and required C axis position.
Basically it would accumulate all the changes in spindle position,
when not in C axis mode. I think this will require also customizing
kinematics module to add/subtract the offset value.
I think that this solution is better, because EMC would  _always_ know
the actual spindle position and can any time switch to C axis mode.
Even when not in the same place, where switched to spindle mode - the
difference can be routed through limit3 component to avoid instant
following error and let EMC to move C to that new position.


Note: this is just my view on a possible solution after 10 minutes of
thinking and zero experience with lathes :))

Viesturs

------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to