I added a rotary axis to my cnc mill so I can cut helical gears and stuff. Mill’s a sherline with linuxcnc control, and the rotary is one of those cheap stepper motor/timing belt/spindle setups. I have it working. Man it doesn’t have much torque at all. You pretty much have to cut on the centerline: off-axis cuts totally exceed the stepper holding torque. But here’s the whackadoo part. I set up the initialization routine for the axes to have all three linear axes drive, sequentially, until they hit their limit switches. That’s worked fine for years. But that doesn’t make sense on a rotary. (Index pulse, yes, and I may try that.) So I set up the rotary to not index, insofar as I don’t have or want a limit switch on it, and fired up linuxcnc and started sending it commands via manual mode and hey it does a great job. Well, I rolled it out about 1500 degrees all told, and then thought hey I’d like to zero it and start over, which I usually do by telling it to touch off to reset the axis 0. Instead, it reset to like 68792870837569.0 degrees, and the numbers got much larger from there as I attempted to reset it. And worse, in linuxcnc you set max travel distances, and for the rotary axis, where that doesn’t actually make sense, I’d set it to -9999 degrees to 9999 degrees, and since it was outside of that, then the controller was convinced it couldn’t do anything at all because it can’t calculate coordinated moves.
So that was strange.
Also wowie trying to do four axis gcode by hand is really challenging. Feed has to change with diameter. Moves that would be y on a linear cut but are instead wrapped around the circumference have to be scaled by diameter, and when you do that you have to change the feed so the x and y are still proportional to each other. This is going to be a learning opportunity. But having mill-turn capability is kinda cool: it’s neat to be able to cut a centered mandrel for gear cutting rather than spending a ton of time trying to center it in what’s fundamentally a cheap lousy chuck.