Cnc Course in hobby machinist

there is a version you can download i have it on my shop pc but i havent used it yet
steve
 
Re: EndMill feeds and speeds

thank you for your class
this is an open source feeds and speeds wizard i have gwizard and i havent really tried this ( i found it the day i paid for gwizard duhhhh )
hope this helps you
steve
http://zero-divide.net/index.php?page=fswizard

edit: sorry i thought you were looking for a fs wizard i missed the post about you teaching one
Its all right, good students will want to know where this comes from, so far a wizard is a black box that throws results.
 
Re: EndMill feeds and speeds

Thanks, Im looking to be congruent with the site of hobby machinists and teach using its resources. If the site does not have one, Im planning on teaching the formulas, just like I did with drills, and then put the sfm info from the cutter fab in the formulas so the student learns to really take advantage of his machine.

What do you think? Makes sense?

Feed calculators are great, but I think it is also useful to understand how the calcs work if you are pulling from tables. It makes you appreciate what GWizard does for you after you run those calcs a couple dozen times ;)
 
How to calculate Feed and Speeds

Many factors regulate a successful cut on most materials. But we need to be careful specifically with Heat generated as it destroys our cutter and also may damage the part. Heat is the source of tool deterioration and part distortion. Most tool manufacturers approach heat in different ways. Some build tools that can take a great amount of heat, others more smart, have found a way to keep that heat away from the tool and part, by concentrating it on the swarf, which is the way High speed cutting manages heat. This last is very good example because by looking at the swarf you know how you are performing the cut.

I will try to simplify as much how to cut efficiently without too much bang. Let`s learn.

The color of the swarf gives you the condition of the cut you are performing, keep this three concepts in mind always. If the swarf is black, you are cutting too fast, this will deteriorate the tool and give a part with bad finish and out of tolerance, If the swarf is same as metal color, you are cutting slow, The perfect swarf is Golden for metals, not molten on Plastics and Chunky on Brass and Aluminum. Now that you have learnt to identify a good swarf, Let`s find out how to find the right RPMs, once you learn this, rest is easy.
HSS
RPMs=(CS * 4)/D; Where CS for Steel is 40-70, CS for Aluminium is 500-1000 and CS for Bronz is 65-120, CS for Castings is 50-80. and D is our tool diameter.

So for a part that is made of aluminium, and I do not know what kind of Aluminium, I start on the lower end and depending on the swarf, I see how much I can speed up:

RPMs = 500*4/0.5= 4000, yeap, I can spin very fast with Aluminium, but I should not exceed: 1000 *4/0.5=8000. Knowing those parameters I might choose to spin in the middle or 6000 rpms.

For Cobalt, multiply by 1.2, Keep in mind Cobalt and Aluminium do not mix well. For Carbide Multiply these by 1.5.

Now let`s see how fast we feed.

The only data you will need is the Feed per tooth of tool, then:

Feed = RPMs*Number of flutes*Feed Per tooth: 4000*3*0.0026=31.2 Inches per minute
For HSS
Feed per tooth can be found on tool data sheet, common are Steel:.0005, Aluminium: 0.0018, Bronz: 0.0011, Cast: 0.0010
For Cobalt, miltiply by 1.2, for Carbide multiply by 1.5. All given in inches per tooth.

Now with these in your head, let`s understand several other factors that will affect your perfomance, If the tool is long, It will chatter, slow down. If you are slotting, do not go in one pass beyond one Diameter in depth for HSS, 1.2D for Cobalt and yes, only 0.5D for Carbide.
Carbide is Brittle, last longer and as is a ceramic, does not absorb heat easily and withstands more heat without melting, So if your machine does not spin fast enough the only reason to use Carbide expensive tools, is because you really want them to last longer. on a conventional mill, you will hardly ever need one if you are not cutting hard steels, or you are doing a production run and can´t waist time changing tools. Trust me, change to Cobalt and you will be happier.

The Concept of High Speed Cutting

This concept is what I use, deep cuts in lenght avoiding slotting but keep profiling with Shallow cuts in Diameter, never over 0.1 the Diameter of tool. High rpms and high feeds. Always climb milling. This way I wear and use all the flute, not only the tip, This way my swarf becomes like hair, easier to evacuate, I really remove a lot of material. My clamping of the part does not need to be that hard, because I`m mostly rubbing the part, The part distorts less from the clamp and workhardens less because of less effort. My spindle practically has no loads, less vibration, but higher frequency so it could be noisy. I must be very carful to understand that when a cutter turns 90º it touches twice the surface, I should avoid tight turns and replace with tolerant radius turns and more passes. This are called Trochoidal moves.


My tipical conditions to rough 7075-T651 Alunminum plate for Aerospace components and Blow moulds would be:

Depth of cut: 2", Radial depth of cut in a 0.5" diameter tool: 0.05", RPMs: 8000, Feedrate: 315 Inches per minute. Coolant: Cool Air at high pressure, Cornering: avoid over 65º corners or slow down to 150 Inches per minute during cornering.

Exact same conditions for Finishing, but the Radial depth of cut is kept to 0.05 of diameter, or 0.025".

Some Term definitions: Climb Milling, the cutter bites from top to bottom radially instead of Shoveling from the bottom up.

With these in mind, you will be successful on your cuts, hope it works for you, if not understood, send me a message.

Regards.
 
Scaling

Tomorrow morning, we will see an example of scaling. And Im running out of material, just left are examples and tricks to do common tasks, so have questions ready, cause if the student does not ask, I might end up thinking he knows it all. Happy week end, I plan riding my 4 year old on his 4wheeler on saturday and go fishing to el cuchillo lake on granpas 70 year old boat on sunday.
:biker2:

regards
 
Scaling

Scaling is a Useful tool, because when you rough or want to approach softly by passes to a final dimension, helps you do it with minimum programming.Let`s see how is written on an example, learn that I, J, K is the center of the scaling:

After our Heading

G51 I5. J5. K0. P1.25; (Scaling Factor)
G01 Z-0.25;
G41 X0.5 Y0.5 D15 F50;
M98 PO3454;
G20 Z0. M05;
Y0.0;
M30;
%
This program will run the contour described in P03454 but scaling it bigger. The subprogram must contain at the end a G50 and a M99 to cancel scaling and to close subprogram call.
:thinking:
 
The change of datum planes. G15-G18

So far we have been working on the X-Y plane moving the Z. What are the change of datum planes useful for?

Well, lets say you want to make a variable radius at the top of a cube, changing the datum so the radiuses are done vertically, moving on the Z-X plane, then just doing small increments on Y, all this complemented by a small scaling factor every time we move in Y helps us make that variable radius easy. So lets imagine the first radius is a .25" and the last is 1", scattered on a distance of 6". To calculate the scaling factor of each incremental, we divide de difference among the radiuses or 0.75" among the passes, a good fnish with a 1/2 ballmill can be 0.015". That is 400 passes, each adding 0.0018" to the last radius, keeping the same center.

Who can assemble the algorithm of the program?:thinking:

regards

image.jpg
 
Last edited:
Thank you again for taking the time to do this thread. It puts the code writing in a better perspective. The way you explain it makes more sense to me than the manual (which I thought was good) that came with my Mach 3 program. When this is completed, I hope the Mods will make a pdf of the info. Until then, I'm building a cheat book for the shop (cut & paste).
 
Well, nobody else is raising their hand first, so I'll throw my hat in the ring. I cheated a bit, because my controller won't run some of the standard commands. I think your intent was for us to use scaling to change the radius of the curve, but I not quite getting how to do that in a loop. Also, calling subroutines is different ("SUBROUTINE_NUMBER CALL" is the syntax on my machine). I have a feeling this won't run on anything other than LinuxCNC.

Code:
(safe block)
G90 (absolute distance mode)
G94 (Units per minute feed rate)
G97 (RPM mode)
G80 (exit canned cycles)
F0 (zero feed speed)
G49 (Cancel tool offset)
G20 (inch measurement)
G17 (XY plane)
G40 (Radius compensation off)

#<_tool_rad> = 0.2500
#<_radius>  = 0.2500
#<_y_inc>   = 0.015
#<_x_inc>   = 0.0018
#<_y_dist> = 0

O100 SUB
    G3 X[2*#<_radius>] Z0 I0.500 K0.000 F42
    (move out)
    G1 X[#<_x_inc>] Y[#<_y_inc>] F42
    #<_radius> = [#<_radius>+#<_x_inc>]
    #<_y_dist> = [#<_y_dist>+#<_y_inc>]

    G2 X[-2*#<_radius>] Z0 I0.500 K0.000 F42
    #<_radius> = [#<_radius>+#<_x_inc>]
    #<_y_dist> = [#<_y_dist>+#<_y_inc>]
    (move out)
    G1 X[-#<_x_inc>] Y[#<_y_inc>] F42
O100 ENDSUB

S8000 (spindle on, 1/2" carbide, 2flute endmill, alum)
G0 Z1.000
G0 X0.25 Y0
G1 Z0 F30
G90.1 (absolute arc center)
G91 (incremental distance mode)
G18 (select XZ plane)

(call our subroutine until we reach the 6" mark)
O999 WHILE [#<_y_dist> LT 6]
    O100 CALL
O999 ENDWHILE
 
Well, nobody else is raising their hand first, so I'll throw my hat in the ring. I cheated a bit, because my controller won't run some of the standard commands. I think your intent was for us to use scaling to change the radius of the curve, but I not quite getting how to do that in a loop. Also, calling subroutines is different ("SUBROUTINE_NUMBER CALL" is the syntax on my machine). I have a feeling this won't run on anything other than LinuxCNC.

Code:
(safe block)
G90 (absolute distance mode)
G94 (Units per minute feed rate)
G97 (RPM mode)
G80 (exit canned cycles)
F0 (zero feed speed)
G49 (Cancel tool offset)
G20 (inch measurement)
G17 (XY plane)
G40 (Radius compensation off)

#<_tool_rad> = 0.2500
#<_radius>  = 0.2500
#<_y_inc>   = 0.015
#<_x_inc>   = 0.0018
#<_y_dist> = 0

O100 SUB
    G3 X[2*#<_radius>] Z0 I0.500 K0.000 F42
    (move out)
    G1 X[#<_x_inc>] Y[#<_y_inc>] F42
    #<_radius> = [#<_radius>+#<_x_inc>]
    #<_y_dist> = [#<_y_dist>+#<_y_inc>]

    G2 X[-2*#<_radius>] Z0 I0.500 K0.000 F42
    #<_radius> = [#<_radius>+#<_x_inc>]
    #<_y_dist> = [#<_y_dist>+#<_y_inc>]
    (move out)
    G1 X[-#<_x_inc>] Y[#<_y_inc>] F42
O100 ENDSUB

S8000 (spindle on, 1/2" carbide, 2flute endmill, alum)
G0 Z1.000
G0 X0.25 Y0
G1 Z0 F30
G90.1 (absolute arc center)
G91 (incremental distance mode)
G18 (select XZ plane)

(call our subroutine until we reach the 6" mark)
O999 WHILE [#<_y_dist> LT 6]
    O100 CALL
O999 ENDWHILE
Wonderful program, congratulations. Specially because you wrote it in Linux, making it available for all those hobbiest using it, complementing the course. Thanks. Could you make a trial of it, film it and share with us?
For many who have forgotten that these programs are short. the variable definition makes them versatile. A better approach that CAM. DMS YOU ARE THE MAN.:man:
 
Back
Top