The CNC page

The information on this page is becomming quite old and links are disappearing all the time. I will try to keep up but it is not always possible. Let me know if you  spot a broken link.

Links to our other pages

The home pageup.gif forward.gifWeekend Workshop forward.gifThe Propane Foundry forward.gifKart forward.gifRoadster forward.gifPhotography

If you wish to contact me, please E-mail by clicking on the following link and then remove the "spamtrap" Email

-----------


Index.

Purpose to this page
My present set up!
Purchased software
Purchased hardware
Freeware, Shareware and time limited Trialware

The learning Section

Lead screws and steps per inch.
Limit switches
Number Blocks. ACE Limitations
Machine Co-Ordinate offsets G54, G55 etc.
The position of "Z". Release plane and Close Enough.

Milling Examples

Milling Four Pockets




Input from other contributors

Holding tolerance against backlash!




The Links Section

Purpose

This page is hopefully serving three purposes, the first is my own. As I learn more about the workings of CNC in regards to a hobby, I need to write the information down. The idea is, if it makes sense reading it back, I must be gaining an understanding of the points I have learnt.

The second is to provide links for you to software utilities, as I find useful packages for hobby applications these will be shown here with links to the download sites. Please let me know of any errors and broken links.

The third use of the page is to save someone else’s time by learning from my mistakes, the information I have gathered and possibly even passing on an idea not previously considered.

A few things that I should note here and now, any views or comments on this page are from my own personal perspective and they are just that. I am doing this as a hobby, there is no association with any company, person or product.
I will list, generally as links, to the programmes and hardware I am using. Many of the programmes I use are freeware, the simpler functions provided in these packages are more than adequate for humble beginnings and may even provide pointers for those looking to more “professional” requirements.
This page will not be covered in any fancy graphics, Java scripts or banner adds.
It will be mostly text based and knowing me, full of grammar and spelling mistakes. Please feel free to let me know when any errors creep in, especially on matters of CNC.

My present set up!
up.gif

mill.gif As originally obtained on the left. With 2 axis control fitted on the right and a picture of the two axis steppers (guards to be fitted) below. Still to fit "Z-Axis".

mill3.gif
mill2.gif
The third axis finally fitted, also showing the completed control box containing the electronics.

mill5.gif

mill6.gif
mill7.gif

I own a Chester Champion Milling machine, a 300 lb small vertical mill. The plan was to convert this to 3 axis CNC control, basically for the ease in engravings, drillings, surfacing and possibly any repeatable work that may crop up. I can generate chips, break end-mills and generally cut lumps of metal to various shapes with it now. But the prospect of doing it automatically for some reason seems appealing.

The Z axis was added around the 27th October 2000. This uses the existing fine feed gears for the CNC control, this can still be disconnected to allow for the fast level drilling operations by hand.
It is not the most accurate means of controlling the axis, but it will suffice for the time. The X and Y axis lead screws have been fitted with "Split-nut" arrangements to remove a lot of the backlash previously present. The Z axis relies on the spring tension of the return spring, this has been tightened up some what.

Purchased softwareup.gif

Due to a fundamental lack of programming skills, I sought and bought a control package. I have gone for CNCPRO and ACE from Yeager Automation. The web page is here http://www.yeagerautomation.com/ Note web page missing

CNCPRO is a 4 axis controller package for a CNC machine. It runs under Dos (not Dos through Windows), requires a minimum of 486 processor. The sort of machine that you consider as surplus nowadays. it requires a standard parallel port to interface to the motion electronics.

ACE is a converter programme to go from a .dxf file to G code format file output is .txt to suit CNCPRO.

The main reason for my choice, was I suppose the price and that fact it did and does seem to be easy to set up for my machine interface.

The programme has been passed over to open source recently, and is now available free of charge and without the requirement to purchase any licence.

For general information, please join in with the following   http://tech.groups.yahoo.com/group/CNCPro/ once you have joined you have access to the files area and various versions of CNCpro either, as the last commercial build, (without restrictions) or as others now modify the C code and build newer versions.  If you are into C programming you have the oppertunity to modify the code and make available to other's.  Please see the group for more details.

I also purchased CadStd pro software, at $25 is is very good value, The last version (3.6) can save the layers in a .dxf file. There is still a problem in that ACE converter will not see the layers.
So what I end up doing is saving the cad as a .dxf file. Then loading it into AutoCAD 2D V6 (free software) and the saving again as a .dxf file from AutoCAD.
This may seem a long winded thing to do, but in practice takes about 30 seconds. I still find CadStd an easier package for simple drawings.
More power to John Appleton for his wonderful software

Hardware Purchased I do not mean the computer or milling machine here, but the driver electrics and motors.up.gif

I have purchased a kit of parts from Camtronics the web page is listed here.
http://www.seanet.com/~dmauch/

The kit included three 5 Amp stepper motor controller boards and a 25 D type interface board. Initial findings were, that the instructions are simple and easy to follow.
The boards are well laid out with a symmetrical pattern, which makes placement of components simple. All the parts seem to be there even down to the insulation washes for the heat sinks (Provide your own heat sinks). You need a good soldering iron, multi-meter, obviously reasonable skills with the iron and be able to follow written guidelines.
This is greatly assisted in that, Camtronics have labelled all the resisters for you, writing the values of them on the tape fasteners.

I will admit that I had concerns on sending cash via the postal service from the UK to America and hoping it got there without going missing on route, but arrive it did, and so did my kit without the fuss I had envisaged. The Paypals system available in the States is not, as yet available in the UK. When available, electronic transfers should be easy. Again Dan at Camtronics did not get flustered with my emails and remained courteous and helpful through out. Thanks Dan!

Here is a small image of the four boards assembled.

boards.gif
elec1.gif This shows the boards mounted within an enclosure, with PSU to the bottom and side. The large heat sink on the side is for the bridge rectifier.
The cable just leaving the front of the sceane is the cable that goes to the 25way connector for the computers parallel port.

Stepper Motors :- I have purchased some secondhand steppers made by MAE. They are 4 amp, 8 wire unipolar type HY200 3437 400 A8 and believed to be around 300 ozin. They are being wired with the coils in series and driven at 2.84 Amps.

Freeware, Shareware and time limited Trialware up.gif

I have, like most of you, spent hours reading the newsgroups, using search engines and noting links from other pages to find CAD, G code viewers, and text engraving software for the likely things I should be machining in the future.

Be warned now!!! Some of these sites will require you to fill in forms giving information, they are not asking you to hand over money although I am sure they would like you to purchase some of their more powerful products. But information and emails of these companies products are likely to enter your “inbox”

Freeware :-

CADSTD A 2D drawing package that I have found to be very simple in use. It seems to be compatable with ACE converter.
Also see the purchased software section.
Link to page. http://www.cadstd.com/

MINOS A 3D drawing package, I bit more difficult to follow (for me at least) but picture driven help and simultaneous views in X, Y, Z and ISO means it is not beyond the bounds of reason that I will be using this to produce 3D forms in DXF format for later conversion.
Link to page. http://www.le-boite.com/minos.htm

DeskEngrave A free giveaway from DesKAM.com, this allows for text in True Type Fonts to be converted to G code and used for name plates, badges labels etc. It allows either text to be formed in a straight line or a circle. So I guess, although not yet tried, Clock faces could be engraved with this programme. I II III IV V etc.
Link to page. http://www.deskcnc.com/

Time limited Trialware

DeskART This is an image to G code converter, as in. Take a picture, scan it, get it in the computer. From within the programme manipulate the image, change to black and white and the programme will convert the various greyscales to a corresponding depth of cut in a “raster” style cutting sequence. The limitation of the freeware version is a maximum of 125 lines in the Y direction. again from the people at DesKAM
Link to page. http://www.deskcnc.com/

Cutviewer Graphically shows the milling of a metal block to the shape of your G code programme. Allows for multiple machines set-ups and holds user editable configuration files for you to customise. Found it easy to use and for me, pointed out some of my basic errors in writing G code.
I have noticed that the price for the mill version is now at $395(USD), the Lathe version is presently at $195(USD) More than I am willing to pay for hobby use. But still probably a serious contender for the professional user.
Link to page. http://www.cutviewer.com/

The learning Sectionup.gif

Relating to CNCPRO and ACE

I have made several errors or omissions when using CNCPRO and ACE converter. These have been generally down to my complete unfamiliarity with CNC practices.
If you are just starting out, have a read and possibly save yourself some time.

Lead screws and steps per inch. up.gif

Now on my test unit I have 1.8 degree stepper motors, (therefore 200 steps for a full 360 degrees). and the driver board operates in full step mode. i.e. each step pulse to the board will move the motor 1.8 degrees.
The motor is directly connected to the leadscrew, so one revolution of the motor is one revolution of the screw.
The thread of the leadscrew is 20 turns per inch.
So, to move the tool 1 inch it will require 200 steps for the motor, times the motor to leadscrew ratio (1 in this case), times 20 turns per inch for the lead screw i.e. 4000 steps per inch.

Now if your motor is a 1.8 degree unit, the driver board is set for quarter stepping (four pulses into the board to move the motor 1.8 degrees), there is a 3:1 gear system from the motor to lead screw, and the leadscrew has a pitch of 8 turns per inch. To get the steps per inch required for the software set-up you would work it out as follows:-

(pulses to make one complete revolution of the motor) x (the gear ratio of turns on the motor to leadscrew) x (the turns per inch of the leadscrew)
(200 x 4) x 3 x 8 = 19,200 steps per inch.

A similar idea can be used for a dividing head with rotational steps in degrees.

1.8 degree motor, quarter stepping of the driver board, a 3 to 1 drive to the worm and a 60 to 1 ratio from worm to bull gear on the dividing head.
First work out for a full revolution of the dividing head (360 degrees).
(pulses to make one complete revolution of the motor) x (the gear ratio of turns on the motor to worm) x (the ratio of worm to bull gear)
(200 x 4) x 3 x 60 = 14400 steps for 360 degrees. Divide the 14400 by 360 to give 400 steps per degree. In theory you could single step 0.0025 of a degree.

ACE converter, Limit switches. Numbering the lines, The position of "Z". "Close Enough" and G54, G55 etc.

One of the first thinks I am sure we all do is dive into a software package and play. In one such session, I have been converting very simple dxf files and running the text through the CNCPro without any problems.
Then I ticked the box to generate block numbers and I found that CNCpro would start the programme and then miss lines and very quickly finish the code missing out about 90%.
I could not fathom the problem, so I sent an email to Doug Yeager, in fact if you read all the emails listed below you will see there have been several emails and responses.
Have a read, I don't mind showing how simple the question's have been.

-----------

Limit switchesup.gif

Please help me on the "HOME" function of your software. I have a recent licensed copy on CNCPRO. and have the following difficulty.
I have placed limit switched at the maximum end of travel. No switches set for less that 0.0.0. (If that makes sense)
In the set-up menu the X,Y, and Z homing directions are all negative.
If I press the home Key and then the Enter key to home all, only the Z axis moves and this will be in the positive direction??
If I press the Home key and then press the Z key it will move in the Negative direction, but goes passed 0.0.
Do I need further limit switches for Home position?
I have looked through the FAQ and the help file please help.
Cheers
Adrian

hi adrian,

you will need to also put a limit switch in the z positive direction. it is set up as a safety that z always retracts to the top prior to moving the x and y axis to there home position. after the x and y have been moved to there home position, the z will then home to it's proper position or stay where it is if it is set to positive. so you can just put another home switch on the positive z in series with the negative z and cncpro will do all the rest.

-doug

-----------

Number Blocks. ACE Limitationsup.gif

Further to,---- is it normal to have limit switches at each end of all travels?

yes, it is normal to have limits on both sides of the axis, this prevents any overriding.

Also, I may have found a problem with CNCPRO, I hope I am wrong but here goes.
I used Turbocad 2D ver 6 to generate a simple .dxf file (test3.dxf) I then used ACE to convert to gcode files one without numbering and one with (test3.txt and test4.txt respectively).
If I load test3.txt into cncpro from clean boot up. It works fine. If I load test4.txt (the one with line numbers N10, N20 etc.) It will usually run the first line of programme then start to miss several lines and very quickly get to the bottom of the programme.
If I repeat the process by pressing the "E" key and "Enter". It may on the next occasion run correctly, it may not.
Once it has run correctly it will continue to do so until you exit the programme and start again with test4.txt.
I have attached the files to the email for you to check and try. Please let me know the outcome. I am sorry if I am entering anything incorrectly.

make sure a feedrate is specified prior to running programs or make sure it is declared in the program. the result is skipping of all linear interpolation calls.

On a final note, I see that I could not get text or curves from the .dxf file and an ellipse came out as though it was drawn by a Spirograph toy. What are the limitations to importing from dxf files?

Aceconverter limitations are these entities:

LINE, CIRCLE, ARC, POLYLINE, and POINT if you explode text or elipses into a bunch of lines, all should work fine.

-doug

-----------

Machine Co-Ordinate offsets G54, G55 etc.up.gif

Doug, Sorry to bother you again, but still learning.

What do I use within a Gcode file to load the offset co-ordinates as in G54, G55 etc.
I have tried to use
TRF=54 X=1 Y=0 Z=0
TRF=55 X=2 Y=0 Z=0
etc
then later...

G54
.......
G55
......

With no success.
The above from some notes on the web about the Gcodes.

hi adrian,

you set up your coordinate systems in the operator menu. then refer to them as you do below.

good question.

-doug

-----------

The position of "Z". Release plane and Close Enough.up.gif

The main question for this email is as follows. I can do a simple 2D drawing in a CAD package and save as a DXF file.
Obviously the drawing will then be all done with the Z axis as 0 (zero). No problem there!

Am I correct in now thinking that the top surface of the stock is meant to be Z = 0 and that all cuts are going negative Z. ( I had assumed the base of the stock material to be Zero and could never get the max pass depth to work).

If I am using a piece of 1 inch high stock material and I plan to cut down to leave 0.4 of the metal left. Would I set the Z offset to -0.4

Z offset should be -.6 in this case, not -.4. this would leave .4 in of material

In ACE I can set the max pass depth to say 0.2. What value would I set for the Release plane, would it be just above the top of the metal stock at say +0.5 inch

correct.

if the top of the metal is now = 0 and can you please explain a bit more on the close enough value.

the close enough value is to keep ACE from programming your machine with a bunch of "up/downs"
in otherwords if you have a dashed or dotted line that you are cutting and the spaces between the dashes is .01 in" and the cutter you are using is 3/8" diameter it doesn't make any sense to try and cut the dashes so a close enough value of .015 would tell ACE not to program the "up/downs" for this.

good questions,
doug

-----------

Milling Examplesup.gif

Here I am trying some theoretical examples of end milling. Theoretical because as yet I can not do it for real. I will try to provide as many approaches to the examples as I can. One approach will be to write a G code programme for using with CNCpro, this is likely to change as I realise more facilities of CNCpro. Other options will try to use 2D or 3D drawing packages and .dxf to G code converters.

Four Pocketsup.gif

The first example will be simply to place four “square” holes, or pockets in a work piece. The depth of the holes to be 1 inch, the inside width of the hole to be 1.20 inch with a 1/4 inch radius to the inside corners of the hole.
The holes will be in-line and spaced 1/2 inch apart. In all examples I will assume a maximum depth of cut to be 0.25 inch and feed rate of 4 inches per minute, in line with what I consider to be practical for small hobby mills with Aluminium.

pockets.gif

I will have to compute, or draw, the tool paths. As I would not be expecting to change tools mid work. I will try to select a single tool to do these simple tasks????
In this first case a two flute slot mill of 1/2 inch diameter to allow for the quarter radii in the corners and also be able to cut down into the metal.

cutting.gif

Ok, so not to scale, but the two images above are cut and pasted from a CAD package the first, is the idea of the pockets. The second is the tool paths.
Blue the first tool path. This will clear the bulk of the metal in the four holes.
Red the second path to will take the hole’s to final size. This second image as "pockets.dxf" will be imported to ACE converter and used to generate Gcode.

Here is the Gcode generated it has been modified by Cutviewer to hold the end mill and stock. why not run it your self and have a look. "pockets.txt"

I can not understand why it leaves a small section, to end up cutting it later, but it shows it may work.

Manually written code at long last!

It has been a while and I am sorry for this, I have included my four pockets in Gcode here. It requires three machine off-sets to be set-up in the menu, with X=1.7inch X=3.4 inch and X=5.1 inch.
There are then calls with G54, G55 and G56 to these various off-sets. Also to cut down on the amount of code I had to type, I have used G22 P?? to and subroutine the repeatable code section.

There are comments within the programme pockets2.txt to aid in the understanding of it. Note the comments have been added after trying the code, so any errors should only be due to the comments, please dry run if you wish to use it yourself. "pockets2.txt"

I found this was an interesting little task and it showed to me at least that the best way to approach jobs like this is to sit down and work it out manually.
It meant I had to look at tool paths and how wide a cut was being taken, made me use a ruler and paper to work out the co-ordinates. The finished code is 2 K in length compared to the 13 K generated from a .dxf file.

Lastly on this one I cut the pockets in a piece of wood to prove the idea, it was cheap and more easily available than a large block of Aluminium. Here is the out come.

pockets2.gif

Another project I have, is the building of a small IC engine called the RLE. This is available in kit form from the Alyn Foundry. It needs a con-rod making, so as an exercise I used Cadstd to draw the cutter profile. Here is the machine cutting out the shape from a One inch wide by quarter inch thick steel bar, the plate it is mounted on is a previously cut alignment jig. This will have the bottom end spit, bolted and drilled to take a bearing for the crankshaft.

conrod1.gif conrod2.gif
cnc1.jpg cnc2.jpg

-----------

Input from other contributorsup.gif

Holding tolerance against backlash!up.gif

Peter Michaux sent me an email with the following comments for inclusion :- One thing I just thought of is Backlash. I remember someone telling me that I could hold tolerances double the backlash in my leadscrews. That took me a bit of thinking but I figured it out. When milling an inside circle the machine pulls into the cut because of the backlash and ends up milling an oval.

Cutcirc.gif Now this has taken me a bit of working out as well and there is no guarantee that I have got it correct.
If I am correct then and ignoring any deflection of the milling cutter.
A machine with 10 thou backlash in X and Y leadscrews could only ever have an error of 10 thou, but as most software will try to allow for this backlash, by turning the leadscrew against it.
It will still be possible for the cutter to pull away a further 10 thou. Hence there could be 20 thou error in cutting a circle.
Does that mean there could be as much as 28.28 thou out on the diagonal? Which is close to three times the machine backlash.
Any one else like to input any information on this?

-----------

The Links Sectionup.gif

Links to other CNC web sites for both software/hardware/modifications/teaching, .... well you get the idea!

http://home.swipnet.se/~w-70797/index/MyProjects/index.html A home site from Olof Norrman
Showing a proper mill changed to CNC and even using his own programme in Qbasic. Congratulations to Olof on his work.

http://www.discount-tools.com/technical.htm A technical page giving SFM Feed and rpm calculations for milling, drilling, and carbide. Provided by Discount Tools

http://www.cheapcnc.com CNC Router Packages and Kits.  USA based.

http://www.atdedit.com The site of ATD EDIT a fast text editor (cnc editor, g-code editor), for Windows, with a free trial version, seems to have plenty of features.

http://www.desktopcnc.com/ A site with lots of information on various makes of small CNC Mills and Lathes, have comparison tables for a quick look-up of facilities. Articles etc. Well worth a bookmark.

http://www.angelfire.com/ks/mcguirk/metalworklinks.html A metalworking page with links for all aspects of metalworking, not just CNC, but Foundry, Casting, Lathework etc. Hosted by Pat McGuirk.

http://www.geocities.com/majosoft Martin de Roode's page with CNC engraving machines, Robotic and Steam Engine pages.

There are a few newsgroups worthy of mention, alt.machines.cnc and rec.crafts.metalworking these have mostly US based contributors.
A  UK group that may be of interest is uk.rec.models.engineering.

Also an Egroup CAD_CAM_EDM_DRO-subscribe@yahoogroups.com This is a CADCAMEDMDRO list on Yahoogroups. Enjoy!

Lastly a web based forum that covers many aspects of metalworking is http://www.chaski.org/homemachinist/


-----------