Hello,
Here we have yet another ATC configuration thread
I'm about to start converting my EMCO VMC-300 from Sinumerik 810m to LinuxCNC.
Most of the things are pretty straight forward but the ATC is making me scratch my head.
I would appreciate if some skilled and experienced person could help steering me in the right direction.
The way the ATC is working now is as follow (see hand drawn sketch for better understanding):
Note: Tool change position is above the normal soft limit for Z.
In automatic mode, from g-code:
1. Spindle stops and orients to fit the drive dogs.
2. Spindle head moves up until it reaches S5. During the movement, mechanics grips the tool holder and actuates the push rod.
3. When the head is at top position, a gear wheel on the top of the spindle shaft engages a bevel gear. This bevel gear drives the carousel via a second gear pair with unknown ratio. In other words, it is the spindle that drives the carousel.
4. During the rotation, the system monitors two proximity switches, S2 and S3 in the sketch. S3 is for slow-down/braking and S3 stops the carousel at a precise position. During the first tool change after power on, the system revolves the carousel one additional revolution and thus homes it to S1.
5. With the carousel at the correct position, the head moves down, decoupling the bevel gear and the mechanism releases the tool holder from the grippers and the spindle clamps it.
In manual mode, when changing the tools:
Same procedure but the head stays in top position and thus allows the tool holders to be removed from and inserted into the carousel grippers.
When the user pushes a reset button, the head is allowed to be jogged downwards (but not up) and into the regular soft-limit zone.
As I see it, there are three different options:
1. Try to use a remapped M6 with O-codes, moving the Z-axis and running the spindle (as _spindle_). This might be tricky due to the need for altering soft limits.
2. Use the existing carousel.comp and some classicladder or possibly M6 remapped to a python.
3. Write a full blown custom .comp that handles everything.
Does any good ideas or thought come to mind? Please share them