I can now cut the 1/8″ wide groove in the design, plus the outer profile with holding tabs much more quickly. In addition I can use the 1/8″ bit to perform a quick roughing pass on the pocket operation. Once complete I switch to the 0.0571″ endmill and make a finishing pass around the edges of the pocket, increasing the detail.
The new time, including the manual tool change, is about 10 minutes. Not bad. At the end of the cutting process the motors, stepper driver chips, transformer and dremel are all a lot cooler.
One small downside is that the 1/8″ bit make a lot of noise.
Previously I wrote about a DXF exporter for Inkscape. Bob has updated his Better DXF Output exporter for Inkscape 0.46. All the files are now in one place and it is under the GPL v2 license. This is great news for CNC users and I hope it leads to more use for this handy Inkscape extension!
I am working on a design that basically involves cutting out a 4″ diameter disk from 1/4″ thick wood, with some shapes pocketed into the surface of the disk. I have been using 10 inches per minute (IPM) to cut through the Poplar and I had no clue if this is average, fast or slow. What I do know is that it is painful to watch.
At 10 IPM cutting out the design took 67 minutes. That is probably split 60%/40% with the majority on the pocketing. Too long for my liking. I decided to try and reduce the cutting time. First I increased the speed to 30IPM, which is nearly the maximum that my PC can go. Next I reduced the depth of the pockets from 0.15″ to 0.10″. This saves an extra pass.
The new time to cut? 20 minutes. Less than 1/3 of the original time. But that’s no good if the result is a ragged mess. Tonight I found out – there are more burrs on the wood, but the vertical edges look just as good as the ones cut at 10 IPM. So I will likely continue to use 30 IPM in the future.
My next aim is to split the cutting into two parts. The pocketing with a 0.0571″ end mill and the rest with a 1/8″ end mill. This should reduce the time even further.
If you search around for ideas on how to import DXF files into Inkscape or convert DXF files to SVG files, there are a lot of results. But they mostly seem to be shareware or orphaned applications that haven’t been updated for years. However there is a simple, obvious (once you see it) and free solution to converting DXF files to SVG files (which Inkscape can load).
It’s called Open Office Draw.
Yes, that’s right. Open Office Draw can load a DXF file and save an SVG file. I’ve tried it and it worked – I was able to take a DXF file, convert to SVG, load into Inkscape, edit, save as DXF (see my other posting from a couple of days ago on this) then load into CamBam for CAM processing.
Update: see this later post before following the instructions below.
I don’t care for most of the DXF editors available. They seem a bit clunky and not too friendly. But I do like Inkscape. Unfortunately it doesn’t export DXF files.
Here is a way of getting Inkscape 0.46 to export DXF files which can then be processed in a CAM program to generate g-code for a CNC machine.
Firstly install Inkscape 0.46. It must be this version.
Next go to this post on BobandEileen.com, right click on the link to “dxf_templates.py” and save it in C:\Program Files\Inkscape\share\extensions.
Next step is to go to another post on BobandEileen.com, right click on the two .py files (“simpletransform.py” and “better_dxf_outlines.py”) and save in the same place. Then do the same for “better_dxf_outlines.inx”.
Create a drawing and then move it to the bottom left corner of the page. This corner ends up being the origin. If you want your drawing centered on the origin then center it on the corner of the page.
Go to File -> Save As…
From the list of file types in the save dialog window choose “Better DXF Output (*.dxf)” and save the file.
Now open the DXF file in your favourite CAM program, such as CamBam.
Note that you may need to scale the drawing in your CAM program. Even though I had my drawings correctly sized in Inkscape, they seemed to be quite a bit bigger. If anyone knows how to solve that please post a comment.
CamBam Plus has the option to automatically generate tabs. This is pretty nice and might make me change how I use fixtures to hold workpieces down. I’m starting to have concerns about the double-sided carpet tape, as I’ve seen the wood moving slightly during cutting.
I decided to create a simple test – cut a 0.5″ x 0.5″ square with tabs, in 1/4″ poplar. Also I cut the entire piece out so I could examine it and show it off to people (total size is 1″ x 1″).
CamBam Plus automatically generated the position of the tabs, but I needed to decide on the height and thickness. My first test using tabs with gears failed as the tabs were so thin they were non-existent. In this test they are 0.1″ wide and 0.07″ high. In order to saw the tabs later the outer profile cut has to be wide enough to get a tool in there. In this test it is 0.125″ wide.
The feedrate was 10IPM.
Here is the video – the final piece is shown at the end. In the EMC2 image you can clearly see the tabs at the bottom of the cube on each side. Sorry about the poor quality.
Today it was time to give some new gear generation code a try. Using CamBam I created gcode for a gear with a 2″ pitch diameter, 18 teeth, 20 degree pressure angle and a diametral pitch of nine. I then cut a couple of them out.
The original plan was to work on precise cutting of two sides of an object. That idea failed so I had to eyeball it. Here is a video of my Fireball CNC V90 and EMC2 (running on Ubuntu Gutsy) in action:
The gears fit together nicely.
The next step in testing the CNC machine is to try cutting a hole. For this I needed thinner wood than the scrap pine I’ve been using. Home Depot sells small boards of oak and poplar so I picked up a piece of poplar. It’s 1/4″ thick.
I also needed to raise the sacrificial platform so the tip of the end mill can reach the bottom of the wood. To do that I just cut some more 16″ x 9″ pieces of 1/4″ MDF and stacked them (see the post on fixtures for more information and pictures on what I am talking about).
I used CamBam to draw a 0.5″ x 0.5″ square and then created a profile on the inside using my 1.45mm (0.0571″) end mill. CamBam showed me that I would have slightly rounded corners, but that’s ok. I decided to cut the profile in passes, increasing the depth by 0.05″ each time. This results in five passes to get to the bottom of the wood. Tedious, but better than stressing the end mill and Dremel.
I was afraid that the tip of the end mill might bind in the sticky double-sided carpet tape so I held on to the poplar with one hand and kept my finger on the power button with the other hand just in case. I was also afraid that the cube being cut might fly out as it came free.
It turned out pretty good. No sticky residue on the end mill and no gouging of the sacrifical platform. The cube in the center held in place during cutting and while I lifted the poplar. It came out when I removed the carpet tape.
The cut is nice and clean with no burrs. I guess the carpet tape is a good method to continue using.
Today I took my first steps cutting some scrap pine. I started off with a 2″ diameter circle then measured it. This is an acid test to check the CNC machine for accuracy and squareness. I used a 1.45mm four flute carbide end mill, 10″ per minute speed and cutting to 0.05″ deep.
Next I used CamBam to cut my wife’s name. That also went well, however even with the text 1.5″ high I was running into a limitation of the end mill. A small mill would have improved the detail.
Then I downloaded a DXF file of a horse and tried cutting that. Came out very nicely. The thin strip of wood left between the body and mane is thin enough to see light through it.
Here is a video shows the horse being made.
For all these I used the same end mill and cutting depth as I did for the circle.
This article describes how I measured the backlash on my CNC machine and then applied software compensation.
To measure backlash I used a Mitutoyo dial indicator with 0.0001″ markings and a full scale of 0.01″. The dial indicator was attached to an adjustable stand so the plunger could be placed against various surfaces on the machine. The stand had a heavy base to ensure the dial indicator and stand didn’t move when pressure was applied to the plunger.
The picture below shows the set up ready to measure the backlash of the X axis.
Here is the method I used:
- Position the plunger on the dial indicator a short distance from a surface that moves in the direction of the axis being measured. The plunger should be perpendicular to the surface.
- Jog 0.001″ along the axis being measured into the plunger, until the needle moves at least 0.001″.
- Note the value shown on the dial indicator. We’ll call this ‘S’ for start.
- Jog the axis 0.001″ seven times into the plunger. Each jog will cause the needle to move. Be careful not to cause the needle to move to the maximum position.
- Jog the axis 0.001″ seven times away from the plunger. The first one, two or three jogs may not cause the needle to move. This is the slack being taken up and hence the backlash.
- Note the value shown on the dial indicator. We’ll call this ‘F’ for finish.
- Calculate the difference between the finish value and the start value (F -S). This is the amount of backlash.
- Jog the axis away from the plunger
- Repeat two more times then work out the average value.
The next picture shows the position of the dial indicator used to measure the Y axis.
The last picture shows the position of the dial indicator used to measure the Z axis.
For my machine I measured the backlash as (averages):
- X = 0.00538″
- Y = 0.00250″
- Z = 0.00030″
EMC2 provides software compensation for backlash. This isn’t as good as using anti-backlash nuts, but I was curious to see how well it would perform. One thing to keep in mind is that over time wear will cause the backlash to change. To configure EMC2 simply add the backlash values to the axis sections of the INI file. Nice and simple. For example:
I then remeasured the backlash and obtained the following values (averages):
- X = 0.00073″
- Y = 0.00010″
- Z = 0.00013″
The Y axis saw the greatest improvement (96%) followed by the X axis (86%) and the Z axis (56%). I think this is pretty good.