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