|
Post by Roger on May 26, 2014 8:01:16 GMT
I've been reliably informed that some of the terms I use about CNC machining are incomprehensible, and I really must apologise. We all endeavour to use the right words for things as engineers so that there's no misunderstanding, but some of that vocabulary is unique to CNC machining. Whether you're ever going to use CNC or not, I think it's unfair to exclude anyone from understanding what's being talked about, so this is a place where we can discuss in more general terms what this is all about and remove the cloud of mystery.
I suppose the most obvious thing to start with is what those terms stand for, you probably know that anyway, but let's all start from the same point.
CNC - Computer Numerical Control - About as broad a term as you can possibly use to describe using numbers to control a machine's movement. CAD - Computer Aided Design (or Computer Aided Disaster when it goes pear shaped) - A very general term that can mean anything from just an electronic replacement for a drawing board, to a fully animated three dimensional model of an assembly. It can also include sophisticated features to calculate the volume of the parts created so you know how heavy they are or how much plastic it might take to mould it. CAM - Computer Aided Manufacturing - Another broad term that usually refers to the creation of tool paths from CAD drawing or 3D models. This is usually an extra chunk of software that integrates with a CAD program. It's a tricky thing to write so specialist companies tend to supply those to a number of CAD suppliers. You don't need CAM to produce programs to create simple tool paths for you but it saves an awful lot of time. Some tool paths are so complex that they are beyond the reach of manual programming.
2D - Used to describe a truly flat two dimensional environment such as a 2D drafting program. It's also used to describe entry paths for machining operations. More of that later. 2-1/2D - (Two and a half Dimensions) - A strange concept, but used to mean that there is a third dimension, but you can't create complex shapes that involve smooth transitions when you change height. ie you can machine a stepped pyramid, but not one with sloping sides. 3D - Used to describe any object with a height, also used to describe 3D entry used in machining. More of that later.
What CAD programs can and can't do...
2D... They can create flat traditional drawings but with the added advantage of allowing you to accurately draw features with relationships to each other. For example, you can draw a line and tell it to remain at a tangent to a circle, even if you change the diameter of the circle. This is a powerful concept rarely used by amateur users but it can save a lot of time if you want to experiment and change things while designing something. I understand that most 2D CAD can provide files that can be used by laser cutters and programs like SheetCAM can convert those outputs into tool paths suitable for machining 2D objects such as sheet metal parts. I'm sure someone will fill in the blanks in this area, it's not something I've used. 2D drafting can't generate other views of what you're drawing because it has no knowledge of the item you're drawing as a three dimensional object.
3D... These are almost as easy to use a 2D CAD packages when you're creating simple objects, but you're defining a solid object. That means you don't need to get involved in the tiresome business of creating the flat drawings that we need. You simply define which views you want, including any section or isometric ones, and it creates them from the model. The packages can automatically dimension these for you but it usually makes a horrible mess of it, so I prefer to add the dimensions myself. With an additional CAM module, the 3D model can be used to generate complex tool paths from the model. There are many controls within the software to enable you to create the outputs you want. This is far from simple, and it's not the trivial process that non-CNC users imagine it to be.
|
|
|
Post by Deleted on May 26, 2014 8:26:41 GMT
.......easy for you to say !!------ OK matey, thanks for the intro.--------am awaiting Part 2 with Anne Ticipation.... (Hmm, Nice !!)
|
|
|
Post by Roger on May 26, 2014 8:33:45 GMT
Simple cutter paths... I'm sure that the Model Engineer has described in some detail how to create programs manually using a text editor and writing lines of G-Code so I won't talk about that here. It's tedious and time consuming as well as error prone but it does work. I use a CAM package to generate mine so that's what I'll describe here. Here's a part you've seen me make recently, it's a nut to hold on the buffer. I machined them using the 'Part on a stick' method, ie out of a piece of round bar standing vertically out of a 4-jaw chuck used as a vice on the bed of the mill. The key things to note about this screen shot from the CAM package are... 1) The triad on the top is where I've told the package to create X0Y0Z0 ie on the top surface and in the middle. 2) The pale blue line is the centre line of the cutter, in this case a 16mm diameter one to clear away the bar in one cut. 3) The entry and exit path segments are all colour coded. The program lets you define the clearance height and the dimensions of the arcs and lines. This allows you to make sure that the cutter is well away from the stock when you plunge the cutter straight down to the height you're going to cut at. Note that you can't see the stock in this example, my software only allows rectangular shaped stock. You can define the feed at each segment of the path so you can plunge rapidly, approach, and then engage with different speeds. Get it wrong and it's bad news. I usually override the feeds and step slowly through the first few lines to make sure I don't have an accident. So this is what's called a 2D entry. You plunge straight down and usually end up with a tangential blend to the start of the cut so as to minimise any witness on the part. You can use this approach wherever you can punge into fresh air. It can be used plunging slowly into the metal stock, but it's brutal on the cutter and most machines aren't stiff enough do it. You can also see the red line between the entry and exit start and end points at the top. This is a high speed move above the work in preparation for a plunge to the second and last cut. You have to tell the CAM program to withdraw on each new cut and to re-engage using that motion again. If you don't, it just plunges straight down to the next level..... Ouch! And here is what's called a 3D entry. You can see that there's a gentle slope leading from the top of the job down to each cut level. Here I've defined a 10 degree slope along the true cutter path. In other words, it just slowly lowers the cutter into the work while travelling around the profile. It's smart enough to know the point where that finishes so it goes right round to that point before withdrawing the cutter. I've elected to just withdraw the cutter straight up when it's finished. That's what you'd normally do because the cutter will be deep in the slot it's created. This sort of entry is used where you have to enter into the face of the work. I used this in the connecting rods for example, where they were made from 10mm plate If you look carefully at the bottom of the yellow plunge line, you can see the is just stops short of the next blue line that defines the next cut level. That's so that the plunge can be at high speed, and remain just short of hitting the bottom of the slot it's just made. Generally this method is used in the roughing stage. Finishing with this sort of entry leaves a sloping line on the work. Hopefully that removes a lot of the mystery surrounding the terminology I use. These two methods are the only ones I use.
|
|
|
Post by Deleted on May 26, 2014 8:50:09 GMT
-------------er, ---------OK -------------My head hurts ! ( where's my parrots eat them all ??)---------- So the "skill" here is to recognise what each individual mechanical operation will be, plus the sequences required along with the usual speeds and feeds.....THEN interpret that info into "instructions" for the electronics that drive the miller ??
|
|
|
Post by Roger on May 26, 2014 9:27:03 GMT
-------------er, ---------OK -------------My head hurts ! ( where's my parrots eat them all ??)---------- So the "skill" here is to recognise what each individual mechanical operation will be, plus the sequences required along with the usual speeds and feeds.....THEN interpret that info into "instructions" for the electronics that drive the miller ?? Exactly, it's no different to what you do already. The difference is that you normally plan each cut as one operation, not a string of them. Let's say you were going to produce that part manually from round bar. You might use a rotary head on its side and plan six cuts. Each operation has to be thought of separately because you can only move in straight lines and arcs. When you remove that restriction, you have the opportunity to look at it from a different perspective. So now the focus is not on individual straight cuts, but on a continuous movement along a programmed path. Out goes the rotary table, because you can cut all round the job in one operation. The key to understanding simple CNC machining , which is all I do, is to forget everything you know about work holding and start again. Very little of manual work holding translates into CNC. You want to provide a clear and uncluttered access to as much of the complete part as possible. This is why the 'part of a stick' method is so useful. You could call it 'self tooled' or ' self supported' if you like. The same goes for the 'part held by a wafer' method, because it eliminated the need for tooling. Anything you can do to give access to the profile is worth doing, so adding internal holes first and using those to hold down into a sacrificial plate is a good strategy. If you think about it, you'd probably do this stuff on a manual mill if only there wasn't any backlash! So the additional skill comes in figuring out how to gain access to the part and then how to enter and exit the work. All the other stuff about depth of each cut, feeds and speeds is what you already know. I think we'd all agree that there's skill in that, whether you wind the handles with power feed or a servo. All the same skills about minimising distortion, and knowing just how big a cut you can get away with compared to how tightly you're holding down the work still apply. There's no magic wand or easy answer to any of that stuff, you just have to cut a ton on material and learn from experience. Please don't think I've come from the outside straight into CNC machining, that's not the case at all. For most of my life I've been doing it the manual way so I've had to completely re-think the way I go about jobs. Initial attempts focused on using the machine in the same way as a manual one, but automating repeated cuts etc. This is completely the wrong approach, but it takes a while for the penny to drop.
|
|
pault
Elder Statesman
Posts: 1,496
|
Post by pault on May 26, 2014 12:39:20 GMT
|
|
|
Post by Roger on May 26, 2014 15:34:01 GMT
I realise that I've jumped ahead rather, so let me just explain how this part is actually entered into the CAD system, and why it's so easy. I don't normally show you the toolbars and other things round the part when it's on the screen, so here are some of those things now. If you look on the LH side in the panel that says 'Design Explorer', you'll see that there are all kinds of things you can select. If you click on any of those things, they become highlighted on the model so you can see where they are. So to start with you just select the X/Y plane and start a new sketch. All of the model is build from 2D sketches in the same way you create them in 2D drafting. In this case I've used that 'polygon' tool you can see on the top toolbar and asked for one that's 16mm across the flats with 6 sides. You'll notice that I've added another dimension so I can see how large the diameter of the stock needs to be. You can also see where is says 'Extrusion<1>' on the left, and that's where you tell it how high that hexagon will be stretched in the third dimension. How easy is that! Draw a hexagon with a wizard and then say make it to a height. The next stage is to start a new sketch, selecting the top of the hexagon bar we've just created as the plane we want to sketch on. I've not shown this, but you just draw a circle and then extrude a hole ie ask for that shape to be cut from the top downwards by the height of the whole piece. So you get the idea, you create a 2D shape and stretch it to make either a solid piece or a hole that shape. Everything is done this way. The 'Design Explorer' shows all of the elements of that particular job, and the blue 'dog bone' shape just shows you how far down the list of operations it's displaying. It's an incremental series of steps that go together to make up the complete part. In the picture I'm editing the sketch I've called '16mm Hexagon' and you can't see the hole that follows or where I've rounded off the corners because they haven't been done yet in the build sequence. So now to the bit I really started this post to talk about, ie how to create that tool path. I find it most convenient to make the top always Z0 and to machine downwards. That means that I need to be able to define the profile that I want to cut at the top. To do that I use a thing called 'Project to sketch' which allows you to create a brand new sketch from features you click on. In this case, I've projected the whole of the top face onto a new sketch then deleted the line where the hole in the middle was projected too. I don't need that, I need the outside. Note too, that I did it this way because I've added a small radius to the outside corners. That's been done to the 3D model, it's 'Fillet<3>' in the deisgn explorer. I could have drawn the hexagon base and added the corner radii there, but if I change my mind and want a different radius, I can just edit the one Fillet operation and change all of them in one go. So I project what the finished profile is onto a plane at the top of the model and it's that one that I select in the CAM program. I always label these things in the same way, with 'for CAM' at the end of the name so I know it's not part of the model creation, it's for driving the CAM program. And this is the part of the screen you don't normally see, with the MOPs (Machining Operations) listed and the tools used. If you click on one of them, you can see the tool path it creates. Editing them allows you to choose which sketch you want to use for the path generation. Inside are all the controls for the entry and exit, the feeds and speeds and also whether you want to machine inside or outside of the line you've defined. You also set up the total depth of cut and how much to take on each pass. So that's a little more of 'Under the bonnet' stuff that goes on every time you use 3D modelling and CAM output. There are many strategies for going about these things, I stick with the ones that I know.
|
|
pault
Elder Statesman
Posts: 1,496
|
Post by pault on May 26, 2014 16:20:06 GMT
Some things have similar meanings to conventional machining but are more dramatic. For instance FUBAR in conventional machining just means you have scrapped the job. In CNC it means you have just tried to ram the spindle through the machine vice with a rapid (moving an axis as fast as it will go) move
|
|
|
Post by Deleted on May 26, 2014 17:37:32 GMT
I think I'm heading for BASTOGNE country ( Nuts !)---------- Isn't there some High Density plastic that's used to prove a programme before committing the machinery to actual metal cutting ??
|
|
|
Post by Roger on May 26, 2014 18:05:35 GMT
I think I'm heading for BASTOGNE country ( Nuts !)---------- Isn't there some High Density plastic that's used to prove a programme before committing the machinery to actual metal cutting ?? Indeed there are some some materials for prototyping, but I think they're usually pretty 'foam like' rather than rigid so that nothing gets damaged if it all goes pear shaped. Initially I thought I'd be using something like that, but I think it's a waste of time unless you're doing something really high value. I've just developed a healthy respect for the potential for cockups and do quite a few 'sanity checks' before getting the tool making contact with the job. Because my machine powers the knee, it's easy to have the tool in the collet and retract the quill before doing a few steps. One trick I use is to zero the tool on the top of the highest point as usual with Z set to zero. I then zero the DRO on the quill so that when I'm single stepping, I can always bring the quill down to touch the work and see how deep the tool would be. I always look at the X0Y0 position of the job and move the machine there with a pointer in the chuck, then cross check this against the CAM image. I also look at the first few lines of G-Code to see if it has a sensible clearance over any obstacles and whether the initial rapid stops short of Z0! Only a fool loads a new program, sets it up and hits cycle start. Maybe they do just that in industry, but I certainly wouldn't try this at home, as they say on the telly.
|
|
|
Post by andyhigham on May 26, 2014 18:47:19 GMT
I'm a great believer in "cardboard engineering" its a lot easier to check a cardboard component for fit, than make it for real and find it doesn't fit
|
|
|
Post by Roger on May 26, 2014 19:31:26 GMT
I'm a great believer in "cardboard engineering" its a lot easier to check a cardboard component for fit, than make it for real and find it doesn't fit This makes good sense if you can't be certain that things will fit. That's not usually the case with CNC parts though, it's very rare that I make things to fit what's already there because for most things you just know it's going to fit anyway.
|
|
|
Post by 3405jimmy on May 27, 2014 17:41:17 GMT
"Only a fool loads a new program, sets it up and hits cycle start. Maybe they do just that in industry, but I certainly wouldn't try this at home, as they say on the telly." Oh, oh, looks like we are at odds again. Given the complexity of most gcode programmes, dry running the thing is a nonstarter. No one has mentioned yet CNC is endless that’s why they don’t have a bloke standing over them going brain dead. Unfortunately for home machines you cannot load the tool changer up and pop off to the shops. You stuck there till the programme ends especially if you’re on a multiple tool set up. Checking that the first five minutes worked OK means nothing at line 10000. My record is a 10 hour run with 8 tool changes, at what point do I say everything’s fine and press the start button? Yes you can set the tool height above the job and run the first few minutes in air to check that XYZ are correct but after that its press the go faster button, and keep strong tea close at hand . If the cam simulation runs without any faults and I make sure the tool offsets are right pressing go is exactly what I do.
|
|
|
Post by Roger on May 27, 2014 18:18:16 GMT
"Only a fool loads a new program, sets it up and hits cycle start. Maybe they do just that in industry, but I certainly wouldn't try this at home, as they say on the telly." Oh, oh, looks like we are at odds again. Given the complexity of most gcode programmes, dry running the thing is a nonstarter. No one has mentioned yet CNC is endless that’s why they don’t have a bloke standing over them going brain dead. Unfortunately for home machines you cannot load the tool changer up and pop off to the shops. You stuck there till the programme ends especially if you’re on a multiple tool set up. Checking that the first five minutes worked OK means nothing at line 10000. My record is a 10 hour run with 8 tool changes, at what point do I say everything’s fine and press the start button? Yes you can set the tool height above the job and run the first few minutes in air to check that XYZ are correct but after that its press the go faster button, and keep strong tea close at hand . If the cam simulation runs without any faults and I make sure the tool offsets are right pressing go is exactly what I do. Oh, I'm not so sure we're that much at odds really. It's not really about proving the program as a whole, I'd agree that you just have to take that on trust and live with the consequences if it's wrong. All I'm really saying is that in the home environment, creating programs as an amateur, it's very easy to forget to click zero on the DROs when you've clocked a reference, or forgotten to add the radius of a wobbler. It's also easy to use a default clearance and forget the clamp that's going to clash with it. At home, it makes sense to jog to the limits of the job just to see if you can actually reach there as well as checking that your first plunge is where you think it should be. When the only 'collision detection' system is the one in between your ears, it pays to be cautious. I suspect that professional programmers have software that flags up possible conflicts between tools and parts of the machine, and that makes a world of difference. A friend of mine was a CNC operator for years and he told me the horror stories of one of his colleagues who just loaded programs and pressed cycle start and the catastrophic results from time to time. Everyone makes mistakes with reference points and close encounters with fixed parts of machines, I think it makes sense to try to avoid those with a few 'sanity checks' before I start. after all, it's me picking up the bill and starting again. I don't think you can equate what I do with industry, it's chalk and cheese.
|
|
|
Post by ejparrott on May 30, 2014 10:02:23 GMT
Mastercam has a built in collision check but to be honest most of the time it's wrong! There are occasions when it says there's a collision but when you study it there isn't, and there are times as I had recently when it said there wasn't but quite clearly there was!
I will single block a program based on its complexity. With a CAD generated program which can get quite in depth like a grooving program which is not in a canned cycle, I just let it go, otherwise I'd be there for hours. Simpler programs I tend to step through, but I never ever leave the panel when an unproven program is running. Then it's down to my reactions to limit the damage.
|
|
|
Post by Roger on May 30, 2014 12:59:06 GMT
Mastercam has a built in collision check but to be honest most of the time it's wrong! There are occasions when it says there's a collision but when you study it there isn't, and there are times as I had recently when it said there wasn't but quite clearly there was! I will single block a program based on its complexity. With a CAD generated program which can get quite in depth like a grooving program which is not in a canned cycle, I just let it go, otherwise I'd be there for hours. Simpler programs I tend to step through, but I never ever leave the panel when an unproven program is running. Then it's down to my reactions to limit the damage. I think this nicely sums up the issues with CNC machines and computers. Some things you can trust and they never let you down. Others come with a health warning and you need to be wary. In the end, some programs are just too long and complex to do anything other than double check the things you can, maybe step a few blocks to see it's starting ok and then go for it. The benefits of CNC come at a price, and that means losing some of the control you're used to having with manual machines.
|
|
|
Post by vulcanbomber on May 30, 2014 15:09:49 GMT
Mastercam has a built in collision check but to be honest most of the time it's wrong! There are occasions when it says there's a collision but when you study it there isn't, and there are times as I had recently when it said there wasn't but quite clearly there was! I will single block a program based on its complexity. With a CAD generated program which can get quite in depth like a grooving program which is not in a canned cycle, I just let it go, otherwise I'd be there for hours. Simpler programs I tend to step through, but I never ever leave the panel when an unproven program is running. Then it's down to my reactions to limit the damage. You only have to look at what we scrapped between us a couple of weeks ago.... couple of grand in material, hundred quids worth of tooling, plus an insert and a few 18hours constant running on the borer all thrown away because of a mastercam glitch...
|
|
uuu
Elder Statesman
your message here...
Posts: 2,800
|
Post by uuu on May 30, 2014 15:16:43 GMT
Do you think the Greeks used Mastercam for the Venus de Milo?
|
|
|
Post by runner42 on Jun 1, 2014 7:32:38 GMT
I thought this post was going to include at least an overview of the hardware required to make a machine CNC capable.
Brian
|
|
uuu
Elder Statesman
your message here...
Posts: 2,800
|
Post by uuu on Jun 1, 2014 10:38:18 GMT
I thought this post was going to include at least an overview of the hardware required to make a machine CNC capable. Brian Although this is primarily a software-based thread, that does seem like a good idea. So here's my thoughts: Starting from the machine and working backwards: - We need motors to "turn the handles" of our machine and make the bed move. E.G. Stepper motor So three of these for a standard mill.
- Each motor will need a driver - CNC motor driver to act as a speed/position controller for the motor. Taking the low-power signals from the computer and connected to the power supply
- A power supply - appropriate to the motor/driver combination. For my steppers I'm running 24v DC, but I could go higher and get more speed.
- A "breakout board". At its simplest this doesn't do anything - it just provides an easy way to connect the motor drivers to the computer. Breakout boards. But you can add functionality and complexity.
- A PC
- Software on the PC, to take the G-code file output by the CAM program, and provide motor control signals. MAch3 is a popular one: Mach3
Each of these items is a subject in its own right, so I'll just explain a little on two: Motors: As well as the motor, we need mounts and couplings to connect the motor mechanically to the leadscrew. Two popular approaches are to use a toothed belt drive, or an Oldham coupling which accomodates minor misalignments between motor and leadscrew. The stepper motors that are popularly used have a shortcoming. The control system may instruct the motor to move, but if it's obstructed, there's no feedback so the rest of the system will carry on - known as "lost steps". Servo motors have an encoder to provide a feedback to the driver, but this is a more expensive option. Talking of leadscrews - it's common to use recirculating-ball screws on CNC machines. These can be arranged to eliminate backlash, and provide a much lower friction drive. They're not really suitable for manual machines, as they need to be held stationary (which the stepper or servo motor will do) - you'd have to lock up any axis not in use, as it would move if you just pushed it. The downside of these is that good ones are frighteningly expensive. BallscrewBreakout boards: You could just open up a computer printer cable and connect the strands direct to the motor drivers. But a breakout board makes this much easier, as it provides labelled terminals to connect your wires to. Improvement number 1: your board can provide electrical isolation between the PC and your machine. Improvement number2: the board can amplify the computer signal and give the motor drivers stronger pulses. Improvement 3: your board could have relays to turn things on and off - e.g. spindle, coolant pump etc. Impovement 4: your board could intertpret signals from your PC and translate them into a control voltage for an inverter - to control spindle speed. Improvement number 5 - your board could have a safety feature to interface with the software on the PC and reduce the chance of unepected motor movement. Smoothstepper board: This is an optional add-on to connect your breakout board to the PC via USB or ethernet cable, rather than a parallel pinter cable. It actually does much more than that, becuase it takes over part of the Mach3 program's job - the critical timing of motor-control pulses. Modern PCs have so much going own that they're not very good at concentrating on one thing only. Again a subject in its own right. So much more to all this! Wilf
|
|