View Full Version : Starting position of a CNC Mill Head
Chris64 09-01-2006, 11:27 PM I have a feeling I'm going to need to find a book like "CNC for dummy's."
Anyway, I'm getting my new (to me) CNC tomorrow and I'm just now realizing all of the basic questions I have.
For instance, with the G-codes you can specify whether you want to move the head to a relative or absolute position. What I'm wondering is how does someone usually establish a baseline for alignment of the part and the cutting head. I imagine this would need to be done with every cutting tool change.
Is there an absolute Zero position that people use as a reference point (and then apply the appropriate offset for a starting point)?
How is this usually done?
lakeside 09-01-2006, 11:33 PM I have a feeling I'm going to need to find a book like "CNC for dummy's."
How is this usually done?
At this time you might want to try just x and y moves and don't put a cutter in yet. It sound like you should spend some time and do a web seach on G and M code.
Chris64 09-02-2006, 07:34 AM At this time you might want to try just x and y moves and don't put a cutter in yet. It sound like you should spend some time and do a web seach on G and M code.
The G/M codes don't worry me that much. I've read through all the documentation and believe me...I'm going to take baby steps when it comes to cutting.
Regardless of my lack of experience in every other area...I still wonder how people usually determine where to either put the mill head if they program everything "relative" or measure the objects distance if they are programming absolute. Or am I way off? I don't think my controller was outfitted with an x,y & z position indicator (which could make this very challenging). Apparently this was an "option" on the Bandit controller...who would have thought?
Chincia 09-02-2006, 09:48 AM There are two good books by Peter Smid that show why a particular X,Y position is chosen for absolute zero. One is the CNC programming handbook and the other is CNC programming techniques. I got both from Amazon.com.
The first is like a textbook with a CD. The second goes through making a particular part using what you learned from the first. It is the second that makes you appreciate what a good machinist has to know to get the job done.
lakeside 09-02-2006, 12:10 PM ...I still wonder how people usually determine where to either put the mill head if they program everything "relative" or measure the objects distance if they are programming absolute.
The machine home point is not the part zero. I use either the lower left corner if part is on table then all your moves are (+)or part center for Zero then your moves are (+,-). If I using a vise either left or right side for x and solid jaw for Y.
You may want to read this thread for some info on cnc http://www.cnczone.com/forums/showthread.php?t=23175
Chris64 09-03-2006, 12:15 AM OK...So I'm not sure that I understand the answer entirely. I'm going to re-ask the question because I'm not sure if I'm being clear. I'm guessing base on the repliese that I'm using the wrong terminology so I appologize for the lingo...I'm trying my best.
What is the normal practice for starting a job with a CNC. I know I could manually line the cutting tool up to a reference point or I could attempt to start at CNC home reference and enter in the coordinates to move to that same reference point. The biggest problem to me seems to be that I don't have an x,y,z readout...and this option seems to not be necessary so there must be some way to work around this. But to me, this means that with the first method I will have trouble putting it in the exact same position with each cut. The problem with the second method is that I don't have an easy way calculate the distance it moves from point zero without a ton of trial and error. I should note that I do have a distance reference with the windows looking at the dial indicators where the servos connect...but this seems less than desirable.
Lakeside, you mention you use the lower left...how do you line up to the exact same position if you are cutting multiple parts...or do you just eyeball it?
stymye 09-03-2006, 07:59 AM Hi chris64,
what type of cnc mill are you working with?
Chris64 09-03-2006, 09:06 AM Hi chris64,
what type of cnc mill are you working with?
It's a Wells Index 750 with the stock Bandit controller. We just shoe-horned it into my garage yesterday. I'm so anxious to get this thing running!
HuFlungDung 09-03-2006, 10:31 AM Chris,
You may not find a lot on the web to help you with the Bandit controller. I don't think their own documentation even gives you a clue about how to do it :D They ASSumed you knew how to use G92.
There have been discussions on the zone here about using G92. You could research that topic.
Bandit has no work offsets, so forget that option, it does not exist.
I assume your Bandit at least has axis displays? I was coaxing another user who had one without axis displays!! Tough to understand with zero visual feedback on position information.
When you power up the control, the axis displays are all zeros. So essentially, this is your one and only coordinate system. Fat chance that where the machine is sitting, and where your work reference point is, happen to coincide perfectly :D
G92 and G93 are your friends :) G92 is a command to set a new zero point. G93 is a command to set the content on the axis displays. Neither command causes any motion. I used to use these two commands in sequence, because I wanted the axis displays to coincide with the machine coordinate system. G92 alone will change the zero point of the coordinate system without altering the displays (if I recall correctly). So, this can get quite confusing if you forget where the machine was when the command was issued. So, by renaming the axis positions with G93, then you can keep things straight in mind.
X0Y0Z0 G92 START sets the current position to zero (machine zero).
X0Y0Z0 G93 START sets the axis displays to zero but does not change where machine zero is.
G98 START causes the machine to rapid back to zero. The Z retracts first, then X and/or Y move.
Get in the habit of working in Absolute coordinates. Use a G90 in your programs. You can also force Absolute mode in MDI by issuing
G90 START
This is necessary because the control reverts to incremental (G91) mode on power up.
So you power up and let's say you ignore the axis displays to begin with, simply use your edge finder to locate a reference point on the part (in X and Y). So you jog your way over there. Now the displays indicate some random position.
Go into MDI and enter
X0Y0G92 (X0 ENTER Y0 ENTER G92 START)
X0Y0G93 (X0 ENTER Y0 ENTER G93 START)
This sets the current position in X and Y to zero. You could achieve the same effect by powering the machine down and back up again at the current position.
Note the method of entering multi-word commands in Bandit shown above, using the ENTER key to link the 'words' in the multi-word command into a single executable command. In MDI, you use the START key to execute the command. In programming mode you would instead use the STORE key to put the command into memory as a linked multi-word.
Back to the part setup: Now if you need tool change clearance, it might be necessary to set the machine zero somewhere away from the workpiece. Lets say you barely have room to get the next tool in, so you would like to start 4" left of the part in X. So you have jogged as before so that the tool is over the X0Y0 of the part.
Type X0Y0 G92 START to zero the machine coordinate system.
Type /X-4. START To make a rapid move 4" left.
Type X0 Y0 G92 START to zero the machine coordinate system (again).
Type X-4. Y0 G93 to make the axis displays correctly display the position.
For practise, jog away some random distance. Then try a return to the new home position:
Type G98 START
The machine should rapid back to the zero position, which will be shown on the display as X-4.0 Y0 Z0
Now, as a caution to you, the G98 command always returns to zero in the machine coordinate system. It is possible to program a program start point directly with something like:
X-4. Y0 G92 START
X-4. Y0 G93 START
A G98 command will not return you to this position, but will instead return the machine to the G92 X0. Thus, be mindful of what you type. Build a routine and stick to it.
I did not address the Z axis in this discussion. Z axis zero is intimately linked with tool offsets. Maybe that should go into a later disussion. Suffice to say here that the Z axis can be zeroed and the position renamed exactly the same as X and Y can. The difference would be that you might not want to touch the tool off the part and call it Z0 because it creates some butt-puckering situations :D
Note: when programming it is necessary to use a decimal for axis moves, even whole inches. Otherwise your move will be considered to be in units of resolution which might be .001 or .0001
eg /X1 START
is a rapid move of X.0001
/X1. START
is a move of 1 inch.
Only the zero axis move requires no decimal.
HuFlungDung 09-03-2006, 10:51 AM A seperate word of warning about G92. The choice is between a rock and a hard place :D
Programming a G92 inside your program is dangerous. This is because if you abort your program (or the machine stops somewhere because you made a programming error), the current position is random. If you start the program over now, you can imagine your surprise when this UNKNOWN location somehow has become your new machine zero. Usually, you understand this right after the shards of your endmill go whizzing past your ear :D
There is at this moment no way to go back to the original machine zero that you worked so hard to establish. Get the edge finder back out. Cancel all tool offsets with a T0. Move the Z back to where is was supposed to be at the start.
So, if you use the G92 in MDI mode only, then the machine will never get lost because it will never encounter another G92 command in your program.
The only danger of doing the G92 in MDI, is that you must remember to do it every time you power down and power the machine back up (if the machine drifts out of position, you need to reacquire the reference point on the work.). If you forget, you could encounter the same situation with an incorrect start point. I still think it is safer to do it only in MDI and write yourself a reminder note to do this whenever powering back up to continue using a program from yesterday.
The Bandit is an unforgiving task master. So are all cnc's for that matter. The strict rules of safe operation are more arduous with the Bandit because it is such a basic machine, with only one coordinate system. The newer cncs are better, because the use of work offsets keeps the machine coordinate system intact all the time. This is why the use of the G92 is discouraged in modern machining center operation, because it can have the same disastrous consequences.
Chris64 09-03-2006, 11:39 AM Thanks for all the info!
Well, I happen to be one of the lucky few who have a Bandit with no position indicator. After talking with someone who is considered a specialist with these machines, he said that this was pretty common and that the display's were an option. I have the three little spots where they should be but no circuitry components are there. After seeing the machine run that was just not something I thought to look for. I'm sure I'll figure a way to work around it.
I'm still not sure about something...which was really my only question.
How do you actually line up the tool to part that you're cutting? Do you just eyeball it up to the point right when it looks like it's starting to touch the part? If so is it normal to do this with the spindle off or on? This just seems open to inaccuracies compared to the way most machinists think. I'm fine to do it this way...I just figured there would be a better way.
HuFlungDung 09-03-2006, 06:10 PM We use a tool called an edge finder. This is a little tool which you put in the spindle (chuck) and run maybe 500 rpm. Then you carefully jog the machine until the tip approaches the workpiece. Keep jogging....in Bandit low jog, each push of the button is .001" and when the tip of the edge finder actually touches the part, it will jump a little bit sideways to show you that there is no longer room for the tip to rotate concentric with the spindle. The tip is springloaded, that is how this is possible. So, whatever the radius of the edge finder is, that is how far the spindle remains from the true edge of the part. Allow for that and you will be right on the edge. In Bandit, Hi jog is .1", so you will find an edge finder with a .2" dia tip to be most convenient to get the machine right on the edge with one push of an axis key in Hi jog.
This does not apply to the Z axis.
Sorry to hear about no displays. Nonetheless, if you practice with care the instructions I gave you, you can still play with it until you understand what is going on.
Chris64 09-03-2006, 08:02 PM We use a tool called an edge finder.
Thanks...that's exactly what I was wanting to know!
And as far as the Bandit goes...the saga continues. Someone cut the serial cable so now I have to figure out what the pin-outs actually are. I may be replacing that sooner than later.
BobWarfield 09-04-2006, 09:51 PM That bandit sounds really painful. If you have to debug it very much, you ought to consider going to Mach 3. You might need to purchase some Gecko drives and a breakout board, but the rest ought to be straightforward.
Best,
BW
HuFlungDung 09-04-2006, 09:53 PM That bandit sounds really painful. If you have to debug it very much, you ought to consider going to Mach 3. ~snip~
Best,
BW
Correct, Bob :D
Chris64 09-05-2006, 09:57 AM That bandit sounds really painful. If you have to debug it very much, you ought to consider going to Mach 3. You might need to purchase some Gecko drives and a breakout board, but the rest ought to be straightforward.
Best,
BW
Well, the guy I bought it from dropped off a serial cable converter...it had the big round type plug and I expected it to be a converter from that to standard serial. Instead it was a little circuit board with a spot where I can clamp it onto the cut serial cable. It went on without any problems and now I have the pinout's with little screwdown connectors..."supposedly."
Between it's bad reputation and all the things getting shifted during the move...I'm really anxious to get this thing plugged in and see if anything even works anymore. Hopefully I'll get the phase converter this week.
But since you mentioned...who makes a cheap/good Servo driver? By driver I mean an interface between the servo and the PC. I'm not as concerned about the software as I have something I can use and modify/enhance as needed.
HuFlungDung 09-05-2006, 10:16 AM Chris,
The Bandit is primitive, but can still be useful if it runs. However, the way it is built, there is really no discrete 'PC end' connected to a 'servo driver'. All the functionality is integrated.
A jump to a Mach3 PC based cnc requires a major overhaul, and quite a bit of electrical know-how to reuse any of the power supplies and axis drives that exist in the Bandit. Even the old motors may need work (to add encoders).
When I re-retrofitted a Bandit to a Shadow, I started fresh with new motors and the new control. When I re-retrofitted another machine to Camsoft, I did the same thing. While a bit more expensive, it is nice to make your new-retrofit with relatively trouble free, drop in modules that you can buy anywhere, and that has documentation and tech support that you can get advice from, on how to hook it all up.
Chris64 09-05-2006, 12:14 PM Well, I'm just crossing my fingers that everything will work when I connect power. The servos look very good and still seem to be pretty common. I'm not quite sure how you would control a servo with a tach vs stepper motors.
I might look into making something to do this if it doesn't exist but it has to.
I was hoping someone would make a simple servo power supply with a PC connector for control. I know this would mean that ALL motion would need to be handled by the software but that's OK (I think).
Since the Bandit may be fine...my only problem with it is the size of all the damn boxes that go along with it. It is, afterall in my garage.
BobWarfield 09-07-2006, 04:59 PM If the servos are DC, you can use Gecko Drives to control them. You'll want to fit encoders instead of tachs/resolvers, which is another chore.
If your DC supply is good, and they are pretty simply, you can feed that pretty easily to the Gecko.
As far as generating step and direction info, Mach 3 does that, and sends it via a breakout board from the PC to the Gecko's (or other drivers). You can look at a lot of different breakout boards including Campbell Designs to get a feel for those.
If you just skim the docs for Mach 3, the Campbell Designs board, and the Gecko drives (G320 for servos, G2xxx for stepper motors), you will learn a lot.
Try my CNC Dictionary for terms that may be confusing:
http://www.thewarfields.com/MTCNCDictionary.htm
This is just to give you a quick overview of how to come up to speed on this sort of thing.
Best,
BW
gbowne1 09-12-2006, 09:48 PM I found this cool site when i was looking for more info on CNC & NC.
It's written by a professor in the Department of Technology at East Tennessee State University (ETSU).
http://faculty.etsu.edu/hemphill/entc3710/nc-prog/index.htm
Hope this helps. Chapter 2 and 3 really helped me. :-)
Greg
blksmith 09-16-2006, 01:56 PM I have an older Bandit on a Wells index and your home position registers are set each time you power the machine up or each time you push the reset button in MDI mode. I know that on newer machines the G92 command sets your Absolute home but the older Bandits don't use a real "home" position. what they do have is a G98 command and this sets all axis registers to 0.000 What I usually do when I first set-up is find the edge of X then the edge of Y then move off a known distance from both useing MDI then push reset and this now becomes "home" and I can program from this point.
gbowne1 09-16-2006, 07:36 PM Here is some G92 / G98 reference links..
hope any of this helps.
It's in TEXT format.
|
|