Andrew Johnston | 05/06/2013 11:56:59 |
![]() 7061 forum posts 719 photos | This thread (good grief, a pun already) will describe my experiments in thread milling on a CNC mill. I've finally received my single point thread mill from Maritool in the US. It's a 60° version, so will do metric and unified. It seems smaller than I was imagining, the slightly fuzzy scale on the left of the picture is millimetres: Initial trials with the thread milling function in my CAM software produced code consisting of thousands of short G01 moves. Of course, that will achieve the correct toolpath, but it wasn't what I was expecting. Having eventually found an obscure switch in the program that allows helical paths to be generated either by linear segments or circular interpolation, I got the software to generate code using G03. Here's the relevant line of code: G03X25.993Y-24.911Z0.000I-1.000J-0.017K1.000 This code is complete nonsense. Can anybody see why? I'm operating in the XY plane, so the only arc modifiers I can use are I and J, the K value is illogical. What it should have done is make Z=1 and not used K at all. I downloaded a thread milling wizard from the Vardex website and used it to produce code. For a 1mm pitch thread 10mm deep it produces 10 circular interpolation calls, one for each thread pitch. Here's one of the lines: G91 G03 X0 Y0 Z1.000 I-0.611 J0 It is interesting to note the call to G91, incremental mode. If the cutter is first centred over the hole to be milled then by using G91 both X and Y are zero, as well as J, which makes the code much easier to read. The next task is to generate some proper parts to be made, test out feedrates, and then cut metal! I need to test feedrates because I'm not sure how the code will be interpreted. If, in the code above, I specify a feedrate of 100mm/min will that apply to the Z axis only, ie, the cut will take 0.01 minutes, or does it apply to the distance round the helix, which is much longer, depending upon the thread diameter? It's going to be a while before I get to cut metal, but at least I can now start to get things organised to do so. As an aside, the use of G91 caused me a few problems. When I came to use the mill for another part, after playing with the Vardex code, I had all sorts of odd numbers appear when trying to set up the tool table. Eventually I twigged that G91 is modal, ie, it is in force until explicitly cancelled. Mach3 clearly remembers the setting, even with the whole system shut down. When I typed in G90, absolute mode, the tool table settings suddenly made sense. Regards, Andrew |
Nigel Bennett | 05/06/2013 12:36:11 |
![]() 500 forum posts 31 photos | We thread mill M2 threads on our CNC machines here at work. It's a lot easier to shake out the bits of a broken milling cutter in a much-machined chunk of mild steel than trying to get out a broken tap. I think we get a couple of hundred holes out of one cutter - we were throwing away blunt M2 taps by the bucketload before. |
Trevor Wright | 05/06/2013 12:42:46 |
![]() 139 forum posts 36 photos | Andrew, Havent used Mach3 or g-codes for many years, but have done a lot of thread milling - 100mm/min will trash the cutter. Feeds are generally relevant to the path of the centre of cutter, which on a small thread will be very short - in other words start at 5mm/min and work up. trevor |
blowlamp | 05/06/2013 12:43:55 |
![]() 1885 forum posts 111 photos | Andrew. Here's a bit of internal thread-milling code from CamBam. It's of no particular size, but I specified a 10mm diameter cutting tool and a 2mm thread pitch, and cuts to a depth of 10mm. Martin.
( Made using CamBam - **LINK** ) |
Bazyle | 05/06/2013 12:54:52 |
![]() 6956 forum posts 229 photos | Do you cant the head over at the helix angle or is the cutter shaped to allow for the way it cuts? |
Ian P | 05/06/2013 15:38:15 |
![]() 2747 forum posts 123 photos |
Posted by Nigel Bennett on 05/06/2013 12:36:11:
We thread mill M2 threads on our CNC machines here at work. It's a lot easier to shake out the bits of a broken milling cutter in a much-machined chunk of mild steel than trying to get out a broken tap. I think we get a couple of hundred holes out of one cutter - we were throwing away blunt M2 taps by the bucketload before. I dont know much about thread milling and I assumed it was like screwcutting in the lathe but with the job stationary. I can see that an external thread (and large internal ones) could be done with a rotating multi-toothed cutter that moves in a helical path, but how that works on M2 internal defeats me. I was told the threads even smaller than M2 could be milled, I would be grateful if you could explain how its done.
Ian P
|
Andrew Johnston | 05/06/2013 15:58:58 |
![]() 7061 forum posts 719 photos |
Posted by Ian Phillips on 05/06/2013 15:38:15:
I dont know much about thread milling and I assumed it was like screwcutting in the lathe but with the job stationary. I can see that an external thread (and large internal ones) could be done with a rotating multi-toothed cutter that moves in a helical path, but how that works on M2 internal defeats me. I was told the threads even smaller than M2 could be milled, I would be grateful if you could explain how its done. Very small cutters, so I understand. Cutwel list a M2 carbide thread mill, it's OD is 1.55mm. Give that the ID of an internal M2 thread is 1.679mm, for a 6H tolerance, you'd better be centred on the hole before starting! Andrew |
Ian P | 05/06/2013 16:10:15 |
![]() 2747 forum posts 123 photos | Thanks Andrew I can see how it can work but as you say there is not a lot of room round the cutter so swarf clearance, especially in blind holes must be fun, or maybe someone will tell me that these minute milling cutters are have though-holes for coolant! What I need is a portable self contained, clamp-on, thread milling machine, (like a miniature version of the magnetically clamped Rotabroach). No more broken taps! Ian P |
David Jupp | 05/06/2013 16:41:30 |
978 forum posts 26 photos | It is even possible to buy tools which can be used to both mill the hole and the thread - biggest benefit is cutting down on tool changes. |
Andrew Johnston | 05/06/2013 20:32:15 |
![]() 7061 forum posts 719 photos | Trevor: I take the point that as the thread approaches the size of the thread mill then the centre of the cutter is traversing a very small helix. What I'm not sure about is how the controller interprets the feedrate command. For a helical interpolation there are two distances involved. One is the linear change in Z, and the other is the circumference travelled while traversing the change in Z. What I don't know is what distance the controller uses when it applies the feedrate. Is it the change in Z, or the total distance around the helix? For instance if I was cutting a 50mm diameter thread with a 1mm pitch, does it take the 1mm or the approximately 157mm around the helix. Martin: Thanks for the code, it's alway interesting to see how other CAM systems generate code. The code seems to be making three G02 moves per revolution? Any reason why it doesn't just use one, or have I missed something? Bazyle: The head on my CNC mill cannot be tilted. As far as I'm aware the thread mill I have bought has relief on both sides of the teeth, so that it can cut internal and external threads over a specified range of pitches, 20-56 TPI for my thread mill. I assume that this is not always the case for the more common thread mills that look more like a tap, as they sometimes seem to come in internal and external versions. Regards, Andrew |
jason udall | 05/06/2013 20:47:23 |
2032 forum posts 41 photos | Andrew..as to which distance is used...in the cncs I know a modal command sets constant Surface speed or feed per rev..the former would be tool path speed combined with cutter perefferial speed..the latter would (should) be tool path only..but depending on the control implementation may only calculate for one pair of axes at a time...remember you are using G03G02 which need a modal command to select which plane to perform the interpolation in... |
Trevor Wright | 06/06/2013 12:44:08 |
![]() 139 forum posts 36 photos | Andrew, The cutting speed varies and even on modern expensive machines seem to break their own rules. It is generally accepted that the cutting speed is based on the OD of the tool, but in my experience it doesn't always apply. The only rule I lived by was to start slow and work your way fast - your cutter is too expensive to gamble with. As a side note, the bigger machines use multi-thread cutters and cut all the threads in one revolution - fascinating to watch. Trevor |
blowlamp | 06/06/2013 12:57:33 |
![]() 1885 forum posts 111 photos |
Posted by Andrew Johnston on 05/06/2013 20:32:15:
...Martin: Thanks for the code, it's alway interesting to see how other CAM systems generate code. The code seems to be making three G02 moves per revolution? Any reason why it doesn't just use one, or have I missed something?... Regards, Andrew
Andrew. Martin. |
Andrew Johnston | 06/06/2013 22:09:13 |
![]() 7061 forum posts 719 photos | Martin: I still find it difficult to get my head round exactly what the I, J and K modifiers represent, but judging by the Z increments in the code CamBam is producing helical interpolations in 120° steps. Might be something to do with older controllers having problems with 180° or 360° interpolations? The Vardex wizard I downloaded generates one 360° interpolation, if you're using a multi-tooth thread mill, a bit like a tap. For a single pitch thread mill it generates interpolations equal to the depth of the hole divided by the thread pitch. I guess that's about efficient as you can get. The wizard also seems to like using incremental dimensions, presumably because once setup most of the parameters are zero. Trevor: It would be interesting to use a multi-thread cutter but they're rather more expensive than the single pitch ones I bought, so I'll experiment with those first. Over the weekend I might be able to find time to do some air cuts to see exactly what is going on, and check on how the specified feedrate relates to the actual toolpath. Regards, Andrew |
blowlamp | 06/06/2013 22:53:37 |
![]() 1885 forum posts 111 photos | Andrew. I don't think I can help much further with this, but maybe the LinuxCNC G-code reference will help.
Martin. |
John Stevenson | 06/06/2013 23:00:39 |
![]() 5068 forum posts 3 photos | This is another thread mill code done with the new Mach4 wizards.
Again internal, 10mm cutter, 2mm pitch and I have made the OD 100 mm so it easily shows the offsets.
(***New File Started***) |
M0BND | 06/06/2013 23:04:56 |
81 forum posts 9 photos |
As I know this the K value is from the 'normal's' z +1 is upward facing, z-1 is downward facing (underneath) and any figure in between would be angular. This is for CMM's, CNC's and CADCAM (I use mastercam at work).
Not sure if this helps or not.
Andrew, I have messaged you with a link to a code generator for what I use at work for all types of thread milling.
Andy.
|
M0BND | 06/06/2013 23:15:15 |
81 forum posts 9 photos | 10mm deep 25mm diameter 1mm pitch thread in Heidenhain would be this code.... CC X0 Y0 L PR0 PA0 R0 FMAX M3 L Z-10 R0 FMAX L PR12.5 PA0 RL F500 CP IPA+3960 IZ +11 DR+ L PR0 PA0 R0 FMAX I don't know why Fanuc (iso) make everything so difficult, but I do like how powerful and FAST everything is compared to Heidenhain!!! sorry for the unhelpful code above but it's so short I just had to share!!!
Andy. |
John Stevenson | 07/06/2013 01:39:11 |
![]() 5068 forum posts 3 photos | OK so if we are showing short code the old DOS AHHA system uses this code for the same thread above. G14 I 12.5 K1.0 L 10 F100
Thats it, one line
G14 I.. K.. L.. F.. |
Andrew Johnston | 07/06/2013 15:50:50 |
![]() 7061 forum posts 719 photos | Martin: Thanks for the link. It has clarified how the I, J and K modifiers work. That's what I needed, a picture rather than a description. The Mach4 code seems sensible enough, one G03 call per 2mm pitch distance. Presumably the code is plunging the cutter straight into the cut, rather than using a circular interpolation entry?
As for the Heidenhain code the only bit I understand, or like, is the IPA. I had to look up G14, as it's not mentioned in my CNC guide book. According to t'internet it's polar co-ordinates absolute, although this doesn't seem to be set in stone. Very confusing if one code function can mean different things. I suppose that's the thing about standards, they always end up being non-standard. Regards, Andrew |
Please login to post a reply.
Want the latest issue of Model Engineer or Model Engineers' Workshop? Use our magazine locator links to find your nearest stockist!
Sign up to our newsletter and get a free digital issue.
You can unsubscribe at anytime. View our privacy policy at www.mortons.co.uk/privacy
You can contact us by phone, mail or email about the magazines including becoming a contributor, submitting reader's letters or making queries about articles. You can also get in touch about this website, advertising or other general issues.
Click THIS LINK for full contact details.
For subscription issues please see THIS LINK.