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
