Learning a workflow

I’ve been learning all kinds of new things over the last two weeks since getting my laser table up and running under computer control.  Working out a good workflow for going from drawing to tool paths to gcode to finished project running on the table is not the easiest thing in the world.  I am currently using the table as a pen plotter with a sharpie wrapped with tape and jammed into the laser car.  It does an adequate job of showing me what the car is doing and if everything is moving correctly.  I took a video of my garage workshop and one of the first drawings I did on the machine.  Make sure you bump it up to 720p for the full awesomeness.

The first thing I noticed is that the drawing was coming out very squashed and not accurate in either dimension.  The program I am using to run the gcode and drive the machine is called Mach3.  One of the setups you do on each motor is to set how many steps the motor should turn to move the tool one inch.  The motors I’m using are 1.8 degrees per step, or 200 steps per full revolution, and the controller I am using does 1/8th step microsteps, meaning that one revolution is 1600 micro-steps.  This is for one full revolution though, not one inch.  The x-axis uses 18-tooth timing pulleys and MXL timing belt that has 12.5 teeth per inch, meaning that one inch of movement is 1111.11 micro-steps.  The y-axis uses 20-tooth pulleys and the same belt for 1000 micro-steps per inch.  The z-axis is a bit more complicated.  The pulley on the stepper is a 10-tooth timing pulley.  The belt I used is XL timing belt which has 5 teeth per inch, giving us a total of 800 micro-steps per inch of belt travel.  Unfortunately, an inch of belt travel does not actually move the z-table an inch, so there is more calculation to be done.  The table moves up an down on 18 thread per inch rods that have 14-tooth pulleys on them.  For one inch of travel, the pulleys much spin 18 full revolutions, or 252 belt teeth. At 5 teeth per inch that is 50.4 teeth per inch of travel.  Since we know it takes 800 micro-steps to move the belt 1 inch, we can extrapolate that it takes 40320 micro-steps to move the belt 50.4 inches, moving the table up or down one inch.  All of the timing pulleys and belts were purchased from Quality Transmission Componets.  Once I entered these values into Mach3, the table started performing much better.  After some motor tuning of maximum speeds, I was ready to try some more printing.

Now for more details on my workflow.  The first gear I drew out was built directly in CamBam.  This is an application for creating CAM files (gcode) either from CAD source files or through the internal drawing application that it has built in.  I drew the gear up using the internal drawing application and then assigned an engrave tool path to the drawing.  It took awhile to get the engrave settings setup the way I needed them to be for the pen plotting or laser cutting, but I think I figured it all out now.  You can see the settings I am using on the engrave tool in the pictures.  Once I had the settings right, I generated tool paths and then generated the gcode.  After that, it was as simple as loading the gcode file in Mach3 on the CNC computer and running it on the machine.  After a couple tweaks the gears started coming out exactly as expected.  I then moved on to a slighty more complex project with multiple gears.  I drew this up in Inkscape, an open source vector graphics editor, using the Render->Gears Extension.  I gave the gears a 1px stroke with no fill since line thickness won’t matter for what I’m doing.  I saved this as a DXF file and then opened it in CamBam.  I had to scale the size a bit to fit in the 11×8 work piece I setup and then applied the same engrave tool I used on the previous gear.  I then exported the gcode and ran this as well.  You can see how it turned out in the pictures and video below.  Enjoy.


Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>