Slant-Bed CNC Lathe Build

The PCI bus is far faster, recommended if you are high speed surfacing with monster gcode files and tiny moves per line. At least that is the case with Camsoft where the code is fed to the galil controller one line at a time.

I use a deep look ahead, about 500 lines into the command buffer, so that the motion is continuous. I can do this because I compile the DMC code on G code program load. The software keeps the command buffer full during the run.

I'd first ask Jim how his control handles lathe thread cycles. He may not have implemented all the features you can get with two line G76.

I don't have a single point threading cycle set up yet because I haven't needed it, but it could happen pretty quickly. My software does do rigid tapping, and with live tooling does thread milling. Once I get my current press project out of the way and get another customer's router upgraded, I'll get back to getting the lathe software finished. Should be able to start back on that by the end of the month.
 
High speed lathe threading is a different approach than tapping or thread milling where an axis is slaved.

First get a high speed input to time an index mark. I used a slot sensor because it has response times in the 10EE-6 seconds range. many others have amplified the Z index pulse.

look at this input for a second or so to get an exact lathe RPM, lock the speed, calculate your feeds based on this.

Now fire each lathe pass the instant the high speed sensor trips.


if you want to do all the features possible with two line G76, you're in for quite a programming adventure. I did this and it took weeks to implement.
 
here's the operator instructions for G76


'*******TWO LINE FANUC G76 INSTRUCTIONS*********************

'NOTE: Use G0,G1 to position machine at start of thread(Z) and retract height(X) before G76 lines.
' Important: X position determines ID or OD threads


'EXAMPLE G76 LINE 1 FOR 1/2" ROD 20 TPI
'G76 P011060 Q50 R10
'first two digits after P number of finish cut passes
'second two digits after P number of leads to pull out/10, 10 is 1 lead
'third two digits after P is tool tip angle, tool will infeed at 1/2 this angle
'Q is minimum DOC cut in tenths, example 50= .0050 depth radius
'R is DOC finish passes in tenths
'S is optional spindle speed, spindle must be running with an earlier M3 M4 code

'EXAMPLE G76 line two 1/2" rod 20 TPI .5" long 1 thou taper (Z 0 at start of thread)
'G76 Z-.5 X.4567 P433 Q100 F.05 R.001
'Z is end of thread Z value
'X is final diameter of thread value; minor dia. on O.D., major dia. on I.D. (LH) threads
'P is thread height in tenths, 433 is .0433 high, generally COS(infeed angle)*1/thread pitch
'Q is depth of cut for first cut in tenths
'F is feed per thread, 1/LEAD for US
'R is for tapered threading difference in X from start to finish in Z


attached is my camsoft code for this cycle. syntax is all wrong but logic is logic. scan it for concepts to attack.
 

Attachments

  • g76.txt
    10.3 KB · Views: 3
That would work. I was thinking about a different approach, using the axis gearing and slave the Z to the spindle. Once it sees the index, then fire the gearing, but using the GD (Gear Distance) command, ramp the Z up over 1 rotation of the spindle, that way it doesn't jerk to a start. This would compensate for any variations in the spindle RPM during the cut. Then at the end of the cut, just issue a GRn=0 command to disengage the gearing.
 
Okay, making a little more digital progress here; I have managed to load the configuration file that sets up all the system variables (starting points for servo tuning, limit switch & E-stop behavior) and canned cycles (the 'guts' of the G-code commands, the part that is actually translating G-code to DMC language), and burn this file to non-volatile memory, using GalilTools (open file, download to the device, type BP in the command line to burn it)

Now I can call up variable values from the controller & get the numbers set by the configuration file.

I think I will focus on completing the corporeal design layout for the time being, since I can already see that a number of aspects of the configuration file Jim provided me will need to be modified (his is a 4-axis controller not an 8-axis, for starters). It's probably easiest to get that nailed down, now that the controller is shown to be working.

On that note;
Are Misumi guide rails any good? Also, should I prioritize quality of ballscrews over quality of rails? I would like to get the X and Y directions very rigid since that's what the cutting force is spanning, and I'm not sure what the order of importance is (frame, screws, guides, powertrain). My concern is that a spring-loaded double ball nut won't be good enough to control cutting forces.
 
I'll configure the software for the number of axes needed once I have an idea of what is needed. As of right now I understand you will be running 4 axes. Spindle, X, Y, and Z. My lathe is actually running 5 axes, Spindle, X, Z, Live tooling, and Turret. I have an additional single axis card that runs the turret.

Order of importance? Everything is important :)

Misumi is a reputable company as is Thomson. I would guess that if the nut is rated for the calculated cutting forces (plus a generous margin) that it would work fine. Thomson makes some that have a threaded adjustment, one nut screws into the other, quite nice for compensating for wear down the road.

Just as a guideline, I just measured the rails on the Haas mill, 25mm. That's a high speed, 5500 lb machine with a 7.5 HP spindle, the ball screws look to be about 25mm
 
Last edited:
"Everything is important" well that's not very helpful...

Right now I have 16mm screws and 20mm rails for X and Z, both Chinese (and using DIY double-nut for backlash control). I was thinking of going with 25mm rails on the Y/spindle mostly because it's heavier, but it sounds like that's probably not going to change anything, so 20mm it is. I am also considering ground (lightly used) preloaded 20/25mm screws on Y and maybe X. But if I'm using a rail-brake on Y for most things, maybe X is the 'important' axis as far as controlling cutter rigidity? I think the only time Y could ever be used dynamically would be end-engraving; I sure don't plan on trying to do coordinated X/Y milling or anything like that, but if it's only another 100$ for the capability...maybe.

Something along these lines for the ballscrew(s) on X & maybe Y
 
"Everything is important" well that's not very helpful...
:grin:

If the rails are reasonably good quality then I would say use what ya got. 20mm should be plenty for this size of a machine, a customer has a 5x10ft router and it has 20mm rails. 16mm ball screws should be good also, my lathe has 25mm ball screws but the carriage assembly weighs more than a small car. If your double nut system works, then that should be fine. If that is what is spring loaded, then I would make an adjustable hard adjuster to replace it.

For rigidity, mass is your friend. The ball screws will position the tool just fine and have plenty of push to overcome the cutting forces, but the mass of the system is what damps the high frequency vibrations (chatter).
 
Yeah, my plan is still to try to 'cheat' my way to rigidity by making the support distances as short as possible, and packing dense material like lead in wherever I can. Only so much you can do in this size envelope. I figure if distances are short & the parts rigid, those frequencies should be shifted so high they don't resolve in the finish; kind of the opposite approach to the dampening model, I suppose. My suspicion is the small-size tooling will be the real limiting factor for chatter, no matter what I do upstream, so long as things are rigid.

Found this interesting video with a very similar gang tool setup to what I'm pursuing (includes the guy hilariously chasing an annoying on-screen fly with compressed air)

At this point I'm going with 3/8"x3" turning tools and 1" diameter sockets for the shanked tools (that's the same size as my Foredom rotary, as well as a number of air motors, for that "one day" live tool addition). There's just enough space for ER25 collet nuts to clear each other, so anything smaller would be viable.
 
Last edited:
That is an interesting gang tool setup, never seen one quite like it. Also never seen a 3 jaw mounted in a mill spindle before. Very cool !

Using tools of that size, your cutting forces are going to be quite low, so what you are proposing should work fine.
 
Back
Top