Interesting Tech Projects
CNC
First Steps With EMC2 and AXIS
Apr 28th
This post describes the first steps after running EMC2 with the AXIS interface for the first time. To start choose AXIS -> Sim from the menu after starting EMC2.
Starting the attached CNC machine (in this case a simulation) requires two steps. First the emergency stop (e-stop) must be turned off. Then power must be turned on.
To turn off the e-stop click on the toolbar button that looks like a red circle with an “X” in it.
To turn on the machine click on the toolbar power button (to the right of the e-stop button).
At this point most of the user interface should now be enabled. Until you have a real e-stop button connected to your machine, you can click on the toolbar E-stop button at any time to stop the machine.
Drag the “Jog Speed” slider to something like 30 in/min. Now to jog the axis. Make sure the “Manual” tab is selected.
- Select one of the axis X, Y or Z
- Choose “Continuous” from the drop down list
- Click on the “+” and “-” buttons to jog. Watch the cone move in the display
- Now try a different axis
The display also shows the current X, Y and Z position in inches of the tip of the cone, which represents the tool (drill bit).
Now try clicking on the execution toolbar button, represented by a blue triangle. EMC2 will execute the loaded g-code file, which outlines some text. Watch the cone move as the code is executed. There are additional toolbar buttons to pause, step through and stop execution.
To zoom in on the display move the mouse over the display and use the scroll wheel on your mouse. Alternatively press the right mouse button and drag.
To pan the display move the mouse over the display, press the left mouse button and drag.
To rotate the display move the mouse over the display, press the scroll wheel and drag.
There are also toolbar buttons to control this operation. In addition there is a toolbar button representing a broom. Clicking on this will clear the lines showing the path that the tool has made.
Next click on the “MDI” tab to access the command line interface. In the MDI Command box enter:
G00 X0 Y0 Z0
Watch the cone move back to the origin in the display. Now try the following and watch the cone move:
G00 X1
G00 Y2
G00 Z0.5
At this point the cone should be at 1, 2, 0.5. Any number of axis can be moved at once, and the number after the axis name is the absolute position. For example:
G00 X2 Y2.5
G00 X0 Z0.1
G00 X0 Y0 Z0
G00 means move the tool as quickly as possible. This is only used when not cutting, as it is typically too fast to move the bit through a material.
Note that all the numbers used in this tutorial are in inches, however it is easily possible to configure EMC2 and AXIS to use millimeters. In which case G00 X1 would move along the X axis one millimeter.
CNC Machine Cabinet
Apr 7th
I have started designing a cabinet to hold my CNC machine. This will allow viewing of the machine as it works and keep the mess to itself. It will also have a location for the electronics to keep everything self contained. Some anticipated features:
- Electronics storage with location for cooling fan
- Windows on two sides for observation
- Doors on two sides for easy access
- CNC machine sits on a sliding shelf for easy installation and removal
- ESTOP and power switches on front of machine
- Printer port connector (DB25) on back
- Minimises amount of chips and debris reaching electronics
- Power outlet for rotary tool
Once it is completed pictures will be posted.
Fireball CNC V90 Limits and Speed
Apr 7th
Yesterday I performed some testing on my Fireball CNC V90. I started off with each axis pretty much centered, to reduce the risk I crash the machine into it’s hard limits (the physical limits of each axis).
Using the full stepping inches configuration I tried:
G00 X1
to move the X axis (the longest axis) one inch. The motor accelerated and then stalled. This results in a nasty whirring/vibrating sound and no movement. A bit like crunching a gear in a manual transmission car. I found the same for the other two axis.
Next I tried moving the axis at slower speeds by specifying the inches per minute (IPM):
G01 F30 X1
G01 F50 X0
G01 F60 X1
etc. I found that I could achieve the following speeds before the motors stalled:
- X: 148 IPM
- Y: 80 IPM
- Z: 33 IPM
Fireball CNC confirmed that Y will operate slower due to the different forces on the rails.
The next step is to try 1/4 stepping. This will result in a lower speed, but will increase the torque, so it should be possible to get a little bit closer to the theoretical maximum speed.
I also measured the following amount of travel for each axis:
- X: 17.85 inches
- Y: 11.7 inches
- Z: 2.75 inches
Since I received my machine Fireball CNC has increased the Z axis travel slightly.
CNC First Steps and Coordinate Systems
Mar 29th
Today I connected the motors to the V90 machine, connected the motors to the HobbyCNC controller board and started EMC2. In the EMC2 interface AXIS the cartesian coordinate system is shown along with the position of the bit, illustrated with a cone:
I connected the motors to the board so the following coordinate system would be used on the machine. I picked this system because it seems customary to call the longest axis the X axis. Plus this system makes the most sense to me. However, note that other people may swap the X and Y axis from what I am using here:
Jogging each axis causes the cone (representation of the bil) to move in the display, and at the same time I observed how the machine moved. In AXIS a positive movement in any direction moves the cone towards the letters ‘X’, ‘Y’ and ‘Z’. However on the machine every axis moved in the opposite direction. This meant that I needed to reverse the direction of the motors.
The motor direction is reversed by swapping the ‘A’ and ‘a’ wires. Note that this may not be the case for all motors. Check the documentation that came with your contoller board to be sure.
Once the motors had been reversed the machine movements copied the movement of the cone in AXIS.
The next step was to make sure the machine was moving roughly the correct amount each time. I calculated a configuration (essentially the steps needed to move one inch) for each axis. On the V90 the X and Y axis are 5 threads per inch, but the Z axis is 12 threads per inch. More on how this calculation is performed in a later post. Plugging these values into the EMC2 configuration should do the trick.
I then zeroed the position of each axis in AXIS and used a ruler to measure the location of the Z axis assembly from the side of the gantry, which is the distance the Y axis is moved in from the side. I then jogged the Y axis until the display showed it had moved +0.5 inches. Remeasuring confimed that the Y axis had indeed moved half an inch.
These steps were repeated for the Z axis.
To be sure I also created an EMC2 configuration for the V90 in millimeters and repeated the test. This time I jogged each axis +0.1 x 10 times, to move the axis one millimeter.
Change in Direction
Mar 22nd
I decided that the McWire CNC machine probably wouldn’t be able to product the accuracy I need, or have the lifespan that I need for a machine. In addition I want to be able to cut objects up to a square foot in size. The McWire design would need to be four square feet in size to be able to do that. Instead I decided to buy a machine kit.
I was drawn to the Fireball CNC designs because they are individually hand made and affordable. They also use a gantry design which results in a footprint not much larger than the cutting size. The problem was that they didn’t make a machine that could cut one square foot objects. Until now that is…
Fireball CNC have just released the V90, which has a cutting area of around 12″ x 18″ x 3″. I was fortunate enough to get one during the beta testing phase. Below is a picture of the assembled machine.
The next steps are to extend the motor wires, attach them and test jogging from EMC2.
CNC Update
Jan 11th
The project was paused for Christmas and New Year, now I’m wondering whether to continue with the McWire design or go with something else. I recently came across the Fireball CNC machine, which looks very nice. Each machine is hand made in the US, which appeals to me.
One of the early projects I wish to work on is a clock and I found some nice clocks with plans for sale. I contacted the designer and the largest part in the design I am interested in is a cog with a diameter of 11 1/2″. This is too big for the Fireball CNC machine.
So, looking at the McWire design, in order to cut parts 12″ by 12″, the machine would need to have a footprint of at least 24″ x 24″. The design isn’t a compact one. So I am currently undecided what to do. Unless I find a design that really looks appealing I may continue with the McWire design.
My recommendation for anyone wanting to build a CNC machine is to think carefully about how large the parts are that they want to make, then pick a design that fits that requirement.
Bearings
Nov 27th
I’ve found what looks like a good source for bearings for the design. It’s Skate Bearings and they sell individually as well. Price seem very reasonable. If I can’t find a local skate shop then I will probably order from them.
Power Supply
Nov 23rd
The Yahoo group for the HobbyCNC boards contains a file which describes a linear, unregulated 10A power supply, suitable for driving four motors. This power supply converts 120VAC to 34VDC up to 10A. The circuit diagram is very simple, but a lot of additional effort and parts are required to construct a working power supply.
Here is a picture of my completed power supply connected to three motors:
As you can see, the power supply sits in a box with the HobbyCNC board. Currently the lid is missing, as are the ventilation holes. Also the motors are simply connected to the board rather than via eight conductor cable that goes through holes in the side of the case.
I am not going to reproduce a circuit diagram here because I don’t want the liability issues of publishing a circuit diagram that involves lethal voltages. If you own a HobbyCNC board then you can get the circuit diagram (and warnings) from the files section of the Yahoo group, otherwise you can find plenty of designs using Google. In general however the power supply should match the requirements of the control board you are using, and the vendor of the control board should be able to suggest a ready-made power supply or a circuit diagram for one.
All information in this posting is for reference only. Anyone who uses this information assumes all risks. The voltages involved can kill and all necessary precautions should be taken. In addition a large capacitor is used which can keep the voltages high for a period after the power is turned off. The power supply should not be run with the lid off and all exposed metal parts inside and outside of the power supply should be grounded. For this reason I chose to use a grounded power cable rather than the cheaper two prong design. If you are not proficient with using mains voltages you are better off just buying a suitable power supply. I do not claim or guarantee that any parts I have used are suitable for this purpose. All information is provided “as is” and without waranty. Y0u have been warned…
The power comes in to the board via a standard power cord and is connected through a 4A fuse to a rocker switch. After the rocker switch is the 10A transformer than produces 24VAC. This is then fed into a AC to DC converter board to produce 34VDC. The DC voltage then goes through a 10A fuse to the HobbyCNC board.
Here is a view of the rocker switch and the two panel mounted fuse holders:
The transformer, AC to DC board and the HobbyCNC board are all bolted down to the bottom of the case using bolts. I added 1/4″ spacers below each to lift the boards up off the bottom of the case. I positioned the HobbyCNC board up against the edge of the case and cut a rectangular hole for the PC connector. This fits snugly giving a nice finish:
The AC to DC board is made of stripboard (prototype board with copper strips), and contains the recitifer, capacitor and resistor. I wanted to make the construction modular so I used wire connectors to connect the various components (transformer, AC to DC board, fuses, switch, HobbyCNC board, power cord) together. This allows me to easily replace any component when needed.
Still to do is the lid, an emergency stop switch and some ventilation holes.
Bill of Materials (read the disclaimer at the start of this post!):
1x 24V 10A Transformer LP-520, MPJA.com #7846TR, $17.99
1x 27000uF Electrolytic Capacitor, Digi-key #P10021-ND, $11.72
1x 2kOhm, 1W 5% Metal Oxide Resistor, Digi-key #2.0KW-1-ND, $0.15
1x 35A, 600V Bridge Rectifier Wire Leads, Digi-key #MB356W-BPMS-ND, $5.00
1x DPST 16A Rocker Switch, Digi-key #CH784-ND, $1.46
1x 16AWG 3 Conductor Power Cord 79″, Digi-key #Q110-ND, $5.43
2x 3AG Panel Mount Fuseholder, Digi-key #F005-ND, $6.10
1x 4A 250V Fuse, Digi-key #283-2023-ND, $0.48
1x 10A 250V Fuse, Digi-key #283-2622-ND, $0.57
1x 14AWG Wire Red 2ft, Local, $0.46
1x 14AWG Wire Black 2ft, Local, $0.46
1x 14AWG Wire Brown 2ft, Local, $0.46
1x Heat Shrink Tubing Assorted Sizes, Local, $2.99
4x #4 x 3/4″ Bolt, Local (Ace Hardware), $0.28
4x #4 Nut, Local (Ace Hardware), $0.24
4x #4 Washer, Ace Hardware), $0.24
4x #4 1/4″ Spacer, Local (Ace Hardware), $2.32
8x #6 x 3/4″ Bolt, Local (Ace Hardware), $0.56
8x #6 Nut, Local (Ace Hardware), $0.48
8x #6 1/4″ Spacer, Local (Ace Hardware), $2.32
15x #6 Washer, Local (Ace Hardware), $0.90
1x #6 External Tooth Washer, Local (Ace Hardware), $0.08
1x Stripboard, Local, $3.49
1x 20 Pack Wire Connectors 600V, Local (Home Depot), $1.99
Total cost: $66.17
Not included: soldering iron, solder, shipping costs, taxes on local purchases.
Note that the shipping cost for the transformer was $10.51.
The total cost including taxes and shipping was probably closer to $85. A ready-made power supply can probably be purchased for $110 plus shipping, so perhaps it didn’t save very much.
Missing from the list is the case. That is because I managed to salvage an old index card drawer and holder. I threw the drawer away and carved up the holder to make the case. This cost me $2 from World Care. A brand new plastic case will cost around $30 from Digi-key or Mouser.
The cost of the power supply is not insignificant. When people post low cost CNC designs they love to indicate how cheap the project is but omit important details like the power supply. If you want motors with a good amount of torque then a good sized power supply is also required.
Part Design Tools and Workflow
Nov 19th
After spending quite some time trying different pieces of software I have come up with a collection and a workflow that I think will fit my needs.
I wanted to be able to accurately design parts in 3D, see how the parts will fit together to make sure they are right, and produce traditional engineering drawings of the parts, if possible. Also it is necessary once a part has been designed to be able to convert it into toolpaths, which is the path that a drill bit would move along to make the part. The toolpaths are represented using g-code which can be processed by EMC2 to move the stepper motors. Another requirement was to use free software where possible to try and keep costs down.
I start with Alibre Design Xpress. This is an excellent 3D design program that is also free. However free comes with a price, that is limitations. The key limitations are a limited number of export options and limited number of parts in an assembly. An assembly is a collection of parts fitted together to build something. However with enough perseverance these limitations can be overcome. In Design Xpress I created a simple test part that contains two holes for bolts:
Creating this 2D profile is very quick and easy. The holes are 0.174″ in diameter, which should be big enough for a #8 bolt. Next step is to extrude the 2D profile into a 3D part:
The part can be rotated and viewed from any angle. I decided to make the part 0.250″ thick. At this point Design Xpress can produce various numbers regarding the part, depending on the material it is made of. Choosing “Wood – southern pine” resulted in:
Volume = 1.480147117 in³
Mass = 1.576592260E-2 kg
Surface Area = 1.453202145E1 in²
Pretty interesting.
The software only allows five unique parts in an assembly, unless you register then it is 10. However this is quite a severe limitation in my opinion. Fortunately there is a way around this. Alibre has written an add-on called 3D Publisher for Google Sketchup that allows parts to be exported in Google’s Sketchup format. It’s not a requirement that the parts be uploaded to Google’s 3D Warehouse. Instead the exported parts can be saved to your hard drive. The following screenshot shows an assembly of two of the test parts along with size #8 bolts and nuts. The exact bolts are ANSI PHN, CRSHD TYPE II, B18.6.3, .164-36 UNF, 0.75, which gives an indication of the accuracy expected from designing parts and assembling them.
Again, this assembly can be rotated and the parts can be made transparent, along with plenty of other options. There is even a free add-on for Google Sketchup that provides a ray tracer. Assembling two parts confirmed my intention that the holes will line up.
With a few mouse clicks Design Xpress can convert the 3D part into traditional engineering drawing:
This can be printed out, emailed, etc. and provides all the measurement details for someone else to reproduce the part without having access to electronic files. The drawing can also be exported as a DXF (without the annotations), which is needed for the next step.
I found an excellent application to generate toolpaths for a part called CamBam. It takes a DXF file and provides an easy to use user interface in which you can select which items are profiled, drilled, pocketed, etc. Once the DXF file is loaded into CamBam all the unneeded views are deleted to leave the original 2D profile. For this part I added a 2.5D profile operation to cut the outline of the shape and two sprial drill operations for the holes:
Cam Bam then generates the g-code which can be loaded in the AXIS interface in EMC2:
This process may seem convoluted, and it requires both Windows and Linux, but all the software can be obtained for free and is high quality. I haven’t completed my CNC machine yet, but I can watch the part being made in the AXIS interface without having the motors connected. I would expect that all the software will work in a Virtual Machine in Linux, however note that Design Xpress requires a lot of RAM to run (300Mb I believe).
Low Cost and Free CAD Programs
Nov 12th
I have stumbled across a large list of low cost and free CAD programs, mostly for Windows however. It seems there are many good choices in the list and I will try out a couple in the next day or two.