Re: Learning BDI Emc - Outputs



On Tuesday 08 January 2002 05:17 pm, Jack wrote:
> Ray -
>
>  How does EMC know which way to travel to look for home.  It looks
> like the onus is on the user to look at the table first and manually
> position it first before homing to ensure it doesn't go away from
> home.
>
> I assume you would locate the home position (my goal is getting this
> up and going on a Bridgeport) somewhere near the center of travel. Or
> would it be better to locate it near one end of travel and offset
> home to somewhere near the center.  That way one could always be
> fairly certain of not going in the wrong direction because the table
> would usually be away from an end.

The first thing you need to do is set the input and output scale positive or 
negative to get the numbers counting up or down in the same direction that 
you want the axis to be.  If servo you may also have to be prepared to switch 
the analog signal wires.  There are some purists who say that all machines 
must have the positive end of each axis pointing in a certain direction with 
respect to the others.  Personally, I've encountered machines that violated 
most any way that you could hold or right or left hand and point with your 
thumb and first two fingers. 

HOMING_POLARITY =               1
JOGGING_POLARITY =              1

The next thing I do is set the jogging polarity in the ini file so that a 
plus jog goes plus.  Then I begin to think about how the axis will hit the 
switch.  What I do next is move the axis near the middle and hover my finger 
over the abort button and press home.  If it goes toward the switch you got 
it.  If it doesn't then change the homing polarity.  

Most beginners place the home switch so that some part of the axis bumps it 
head on.  I try to discourage this, choosing rather to use a home switch with 
a roller or cam that some metal part of the axis rolls over and trips the 
home.  It is just to easy to push the guts out  of the back of a switch with 
a bit of overtravel.

IMHO - and from the meager experience that I've had with machines other than 
Mazak, I'd set the home position near the + end of travel and I would call 
that the zero position.  Then I'd write all of my programs using negative 
numbers.  However, you can put the home switch anyplace and still juggle the 
numbers in the ini to get the same result.

If this is a converted manual Bpt there is a tendency for an axis to bind up 
near the extreme ends.  You might well want to put the home near the middle.

> What would the procedure be to setup and locate on a job clamped on
> the table using the EMC?

I use the coordinate systems that are available with the EMC.  Here again 
this is my opinion and practice only.  I write or draw the pattern to be cut 
first using g55 on a line near the start.  Matt suggests the following set of 
introductory commands for any program.  You can read about these in 
emc/programs/skeleton.ngc

(program skeleton for use as basis for NC programs)
N0010 G17 G20 G40 G49 
N0020 G54 G80 G90 G94 
N0030 G53 G0 Z0
N0040 X0 Y0 (move X and Y to the tool change position, change as required)
N0050 M05 M09 (spindle and coolant off)
(display a message for the operator)
N0060 (MSG,Load tool #1)
N0070 M00 (don't move until the operator presses the S key)
N0080 T1 M06 G43 H1 (change to tool 1 and get its length from the tool table)
(start G0 lines with a .001 second pause to avoid motion blending problems)
N0090 G04 P.001 G0 X1.0 Y1.0 S1000 M3 M8 
N0100 G04 P.001 G0 Z0.25 (rapid to .25" above the part, change as required)

My approach is to add a g55 so that I pick up my vise offsets or part 
coordinates on his line numbered N0090 so that my real moves toward the part 
take account not only of tool offset but the work offsets that I have as 
well.  I also try to remember that I need a g54 near the end, just before I 
send the machine to the home position.

I set up the vise with a dead stop that I locate parts against but wouldn't 
be in the way of the milling operations.  Then in manual and with the tool in 
place, move down and touch off the top of the part where you need to begin 
milling.  I use paper and subtract about 0.005 unless I need to be really 
accurate.  Then I use shim stock and a mic.  Slide the paper between the 
surface and the tool and incremental jog the tool until the paper just starts 
to drag.  I move the center of the tool to a known corner or wherever I  
started programming my part.  Execute menu -> scripts -> Set_Coordinates and 
select the coordinate system that I programmed.  Press teach and I get the 
positions loaded into the axis windows.  Press write, load and close and I'm 
ready to go.

If I have more than one but less than ten parts on the table at the same time 
I use the other coordinate systems and increment through them using a 
variable.  I think that I described this in the variables page on 
linuxcnc.org/handbook.

Hope this helps, and makes sense.

Ray




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact