I added a rotary axis to my lasercutter because I wanted to cut designs into some bentwood rings I've been making. I wasn't happy with the results for jewellery, but the mechanism is sound and I'm sure someone else will find this useful. It's not exactly a resolved project, but just a simple idea that you can take further if you want.
The youtube video I've attached also shows the Longworth chuck I lasercut for the rotary axis, but I split that into another instructable here: https://www.instructables.com/id/Lasercut-Longwort...
You will need:
- A lasercutter that can run gcode:
- A stepper motor - 0.9 degree step angle is best, to achieve enough resolution
- Some mechanism to adjust the height of the stepper - I made something out of plywood, a hinge and cable ties
It doesn't fit this project well to go through it step by step, because there are so many different sorts of laser cutters out there. I'll just talk about what I did, and you can adapt it to your own cutter.
Because I adapted my cutter to run on RAMPS, I was only using the X and Y axes, so I had a spare Z axis on my control board. I decided to use that Z axis as the rotary axis. However, if you have a control board designed for a laser, you'll have to manually unplug one of your steppers and plug in the rotary stepper when you want to use it. Or use a 4 pole double throw switch on the stepper wires, to switch between rotary and linear axes.
Because I'm using the Z axis as the rotary axis, I need to change the Y commands in my gcode to Z. I just use a text editor with Find/Replace function. But if you use your X or Y axis on your control board as the rotary axis, of course you don't need to do that.
You'll need to scale the steps per mm of the rotary axis depending on the diameter of the object you're cutting. Because I'm using a control board with firmware, I just needed to work out the steps per mm, change it in the firmware, and upload to the control board. You can calculate the steps per mm like this:
(360 / step angle) / microstepping = motor's steps per rotation
2 * pi * radius of object = circumference of object
motor's steps per rotation / circumference of object = steps per mm
The maths isn't too bad, because you only need to find the steps per rotation once.
This will be more complicated if you're not using a board with firmware. You'll need to post process your gcode to scale the rotary axis commands to compensate for the different diameters of the objects you cut.
Mechanically, this is quite simple to set up. The motor needs to be positioned perpendicular to the linear axis that's going to move, and at the correct height so that the laser beam focuses on the surface of the object you're cutting. I built a motor mount out of plywood that touches the back panel of my cutter, which helps to keep the motor perpendicular. My mount was supposed to be height-adjustable, but it is so tall at its lowest height that I can't adjust it much. I'm sure someone out there can do a better job than me!
I hope that's enough information for someone to take this project and do something cool with it!