Hello Guest it is April 28, 2024, 06:26:50 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - HimyKabibble

801
General Mach Discussion / Re: Peck Drilling....
« on: December 27, 2009, 12:16:39 PM »
Are these macros developed by Hardinge of any help?
Nosmo.

Those are interesting.  I'm surprised by the aggressive start, but the rest is consistent with my understanding and experience.  I haven't had much luck with drilling 3 diameters in one pass on either small or large drills.  It works OK in the mid-range - perhaps 1/8-5/16 or so.

Regards,
Ray L.

802
General Mach Discussion / Re: Peck Drilling....
« on: December 27, 2009, 10:58:02 AM »
Ray,

Please enlighten me a little more about this...

The G83 (deep hole peck cycle) and G73 (high speed peck cycle) seem to work similarly in milling where Q is concerned. That's why I don't understand. I have always used very shallow pecks when the hole must be very accurate. The last peck is shortened to accommodate the total depth as in: N8 G73 G99 R-0.4315 Z-0.7463 F3.0 Q0.0150 X0.0000 Y0.3937 - the last peck (Q) is .0148". The difference as I see it for the use of G83 over G73 is the retract amount and that is also determined by the chip formed by the material being drilled - such as steel and a long curl chip can use G73 since the chip will extract itself so the retract does not need to totally exit the hole as with G83.

Or have I missed your question totally...?

Thanks,
Bill C.

AFAIK, the *only* difference between G73 and G83 is how far it retracts between pecks - G73 retracts fully to the R plane, while G83 only retracts a small amount from the previous depth.  Neither does any of the optimization required for drilling deep holes -  reducing RPM, feedrate, and peck depth as the hole goes beyond about 3 diameters deep.  That is what I'm after, and seem to have achieved.  G73 and G83 also require manually programming the proper peck depth, or programming multiple cycles, to get a clean bottom-side on thru-holes by having the next-to-last peck break partway through the bottom surface, then doing a final peck, with dwell, to finish the hole without a burr on the exit side.  Mine now does that automatically, by adjusting the final, and next-to-final peck depths as required.

Regards,
Ray L.

803
General Mach Discussion / Re: Peck Drilling....
« on: December 26, 2009, 11:48:16 AM »
Ray,
Here is the link and in the download there is a read me file on the macro's. May also just take a quick read of the
thread.

http://www.machsupport.com/forum/index.php/topic,13400.msg88226.html#msg88226

RICH

Yeah, those macros look quite comprehensive, though I don't care for the trick he uses to get the parameters from the G-code file.  I will study them to see how he arrives at peck depths, etc.

Regards,
Ray L.

804
General Mach Discussion / Re: Peck Drilling....
« on: December 25, 2009, 10:15:35 PM »
Ray,
I don't know of  any rules of thumb. You may want to have a look at the macros Melee posted for the lathe and the mill. Have yet to test them on the Mill but both of them worked great on the lathe. I was peck drilling little holes ( 0.020" with a silly .002" peck ). What I was trying to do was create the equivilant of a dwell time so the drill could just break the surface for a start. BTW, those macros allow you to drill a number of holes and not just one.
The only thing is you can't just use them from the MDI as they need to be in a file.
RICH

Where would I find those macros?

I just finished writing my own G-code generator for peck cycles, based on drill bit information from Irwin.  RPM, feed, and peck depth all vary based on depth.  If I get time tomorrow, I'll try them on the machine.

Regards,
Ray L.

805
General Mach Discussion / Re: Table Squaring Compensation....
« on: December 25, 2009, 07:07:03 PM »
You can define formulas (in Function Configs->Formulas) to modify how Mach3 moves.  But you're FAR better off actually fixing the machine if you can.

For example, if your Y axis is tilted to the right by 0.003"/inch, you could enter a formula like this:

X = X - (Y * 0.003)
Y = Y

On a "straight" machine, when you tell Mach3 to move from Y0.000 to Y1.000, Y will move 1.000", and X will not move at all.  On this hypothetical crooked machine, that same move will cause Y to move 1.000", but X will also move to the right, off-true, by 0.003", due to the error in the machine.  Entering the above formula un-does this error.  So, now when you command a move from Y0.000 to Y1.000, Mach will actually do a two-axis move, from X0.000, Y0.000 to X-0.003, Y1.000, "un-doing" the error in the machine.

Regards,
Ray L.

806
General Mach Discussion / Peck Drilling....
« on: December 25, 2009, 12:00:42 AM »
Are there any good rules of thumb for setting the Q parameter when peck drilling?  It seems to me this probably should vary with hole depth, doing shorter pecks as the hole gets deeper, but there is no provision in G73/G83 for doing that.

Regards,
Ray L.

807
General Mach Discussion / Re: verifyaxis macro only moves z-axis
« on: December 24, 2009, 05:53:39 PM »
Do you have home switches on all axes?  It will only verify axes with home switches.

Regards,
Ray L.

808
There is a VB call, SwapAxis(Axis1, Axis2), that will do essentially that.  The one "gotcha" is that it literally swaps the pin assignments, without swapping the motor tuning parameters.  So, it will work fine if the two axes have identical characteristics (velocity, acceleration, etc).  But, if they're very different, you'll have problems with lost steps or stalling on one or both axes.

The axes are specified using X=0, Y=1, Z=2, A=3, B=4, C=5.  So, in your case, you'd want to use SwapAxis(1,3) to swap Y and A.  You must then use ResetAxisSwap() to "undo" the swap.  Do NOT do two Swaps in a row....

Regards,
Ray L.

809
General Mach Discussion / Re: MDI input to select pulley ?
« on: December 21, 2009, 11:04:15 PM »
That's really neat Ray.....THANKS.
Consider using a BP J head w/no VFD.
In the event that there IS a pulley change required but using the same tool....as in roughing then finishing, what would be in your program to stop for the pulley change ? Would that be part of the PP ?
Basically, any time the commanded speed is <> current pulley min/max, M1 or something ? ? ?
Thanks
(got a servo and drive for my knee, following you on that too)




Here's a section of one of my programs:

(Filename: Motor Shield Plate.tng)
(Post processor: My Mach2 Post 091221.scpost)
(Date: 12/21/2009)
G20 (Units: Inches)
G40 G90
F10
(Part: Motor Shield Plate)
()
(Process: Drill, Motor Shield Plate Bolt Holes, T505: #4 Center Drill [5/16 x 1/8 x 1/8] [0.31250], 0.25 in Deep)
G00 Z1.5000
M06 T1 (#4 Center Drill [5/16 x 1/8 x 1/8] [0.31250])
M843 P1
G00 Z1.5000
M00 ( Pulley: 4 Motor: L )
M966 P4
M03 S3423 (Spindle CW 3423 RPM)
(Drill: Dia=0.3125, Start=-0.0000, Depth=-0.2500, Peck=0.3125)
G00 X-1.3700 Y1.3700
G00 Z0.0200
G01 Z-0.2500 F6.064 S3423
....

The way I generate this is rather round-about, and involves a customized SheetCAM POST to generate a G-code file, which is then processed by a custom Perl program that post-processes that file, and outputs another one that actually runs on the mill.  The whole process is a bit complex, and was a PITA to create, but once I got it working, it's been trouble-free, and does create much better G-code for my machine.

My SheetCAM post outputs a fairly generic G-code file that knows nothing the characteristics of the machine.  I parse that file with the Perl program, extracting a lot of information about spindle speeds, tool numbers, etc that are used.  It does this based on constraints on things like min/max allowable VFD frequency in each motor speed range (I allow 120Hz in low speed, but only 90HZ in high speed), and minimizing the amount of manual intervention required to run the program on the machine.  Among other things, I look at the sequence of spindle speeds required throughout the program, and determine the optimum sequence of pulleys, motor speed ranges and VFD frequencies to use, to minimize the number of pulley changes, since pulley changes are a PITA, and time-consuming.  VFD frequency is controlled my Mach3, to that comes basically "free".  Pulley and motor speed range changes require stopping the spindle, and manually flipping a switch or changing the belt.  So, when either a pulley change or motor speed change is required, I insert G-code to stop the spindle, turn off coolant, and prompt the user to do whatever needs to be done.  You can see this in the line "M00 ( Pulley: 4 Motor: L )", which tells me to put the belt on the highest speed pulley, and flip the motor to the low speed range.  After the user hits Cycle start, the spindle and coolant are restored to their previous state, and the program continues on.

You can see the use of my M966 macro, right after the M00 line prompting me to change the pulley, to tell Mach which pulley is now active.

The "M843 Px" is my "pseudo-G43" to enable tool-length compensation with the knee.  I also have "M849" to take the place of G49 to turn off tool length comp.  I can't use G43, because Mach3 does not provide the necessary hooks to use the knee in this way.  This will be fixed in v4, and I'll be able to use G43.  For now, this kludge gets the job done, but it is a PITA.

Regards,
Ray L.

810
General Mach Discussion / Re: MDI input to select pulley ?
« on: December 21, 2009, 10:15:11 PM »
Just looked it up, OEM DRO 56 is the pulley DRO so a macro for instance called m101.m1s with
SetOemDRO(56,1)
in it would set the spindle pulley to 1 when you called m101
If you had m102.m1s with
SetOemDRO(56,2)

then it would set it to pulley 2 when you did a m102

etc etc

Hoood

Hood,

Here's what I do - mine is M966.  The pullley number is passed as the P parameter.  e.g. - "M966 P3" selects pulley 3.  (Ignore the "cruft" my pre-processor sticks in there....)

''========================================================================================
'  Created From: SetPulley.m3m
'  Includes:
'       ../Common.def
''========================================================================================

''========================================================================================
''    Included Definitions:
''========================================================================================
MachCurrentPulleyOEMDRO =    56   ' DRO used to show current pulley
''========================================================================================

''
'   Button macro to set current pulley
''

'#filename "M966.m1s"
'#include "Common.def"

        NewPulley = Param1()
        SetPulley(NewPulley)