I have been putting this off as I thought it would be hassle and in fact it was very simple.
Here is the code which is the first time I have ever used a sub-routine.
The top section is my standard set up routine for the Tormach.
The middle section has some out of the way locations to try the idea so don’t get too fixated by these. The important bit is the M98 call for the sub routine, the sub routine name (1001) and the number of repeats (the L5 for five repeats).
The last section is the sub routine indicated by the O1001. The M64 command is specific to the Tormach USB Expansion board and it makes relay P0 in the box close its contact which in turn activates the Sherline CNC Rotary table to move one step. The cutter than moves across to cut the tooth and then returns whereupon the relay drops out (M65), waits and then closes once more to increment the table. Once five repeats have happened the M99 closes the sub routine and the program jumps back to the Z10 line in the middle section before stopping the spindle, homing and ending.
The joy of this method is that it is a simple edit of one line (the M98 instruction) to change the number of tooth cutting increments. I like it a lot.
Some fine tuning is still needed on the back and forth distances needed to clear the cutter through the wheel blank.
The normal test of the cut depth routine will still be needed before this could be run but once this is done it should be a sit and watch job. Hopefully.
I have yet to run a wheel in anger so I will let you know how it goes.
It has been a thoughtful morning on the Tormach wheel cutting setup.
In order to cut clock wheels the first step is that I need to be able to set the cycloidal cutter centre line accurately on the centre line of the blank brass diameter. See the picture and description below.
From previous posts you will know I have got the chuck securely and centrally mounted on the CNC rotary table and this assembly is in turn rigidly fixed on the tooling table. The position of the centre line of the chuck is now fixed relative to the tooling plate on the bed. The chuck and rotary table mounting bracket is sufficiently Woody over engineered to hopefully be repeatable. Likewise the distance from the spindle to the chuck can be repeatably zeroed using the Haimer and its associated tool table entry (#90).
Expanding this a little, if I put my favourite piece of 11mm diameter silver steel in the chuck and bring the Haimer down to contact it, rock the Haimer back and forth in Y to get the steel diameter peak, I can get a Z zero reading to the top of the steel. By creating a new entry in the Tormach tool table (#91) which is the Haimer length plus 5.5mm (the radius of the silver steel) I can use this virtual length stored as a new tool #91 to allow me to set the Haimer on the silver steel while actually giving me Z0 on the centre line of the chuck. So far so good.
As you might have read from an earlier post, the idea of using the Tormach Slitting Saw arbor to hold my cycloidal cutters would in theory create a repeatable tool length to the centre line of the cycloidal cutter teeth. Having this as a tool table set up in the Tormach would simplify setting the cutter centre to the centre line of the chuck and therefore the centre line of the wheel blank being cut. This is where the thinking drifted somewhat.
I created a new tool table entry (#77) that was the length of the saw arbor to the shoulder that the cycloidal cutter fastens against. I thought I could then follow the same routine as detailed above and add to this length the half thickness of the cutter and create a new tool table entry to match. This would once again create a length which would give the centre line of the cycloidal cutter.
That was fine until I measured my tray of cycloidal cutters to see what the thickness of the cutters were …… sadly consistent they are not. There seems to be no standard by manufacturer or diameter. I have cutters with thicknesses from 3mm through to 7mm. I could create a new tool table entry for each thickness but this is a recipe for a mistake when selecting the correct tool table entry for the cutter being used.
The simple solution I think is to use slitting saw arbor tool table length (#77) as the initial setting length to Z0 and then do a G0 Z-x.xx where x.xx is the half thickness of the cutter being used. Once Z has dropped to this reading the Z axis can be re-zeroed to run the wheel in question with the cutter in question now sitting on its centre line on the centre line of the chuck.
I hope that all makes sense …. I could of course just eyeball it and not try to be so fussy but when you have the tools to make things easier you might as well use them. I also need to look after my precious piece of 11mm diameter silver steel.
Another piece of the clock wheel cutting hardware completed.
The Tormach USB expansion board is now boxed and the connectors wired to the board. I milled a viewing window in the box with a matching piece of perspex. This allows me to see the status LEDs on the pcb. Port #P0 is now dedicated to the Sherline CNC rotary table controller which requires a closure to increment the table stepper motor.
The connectors are all 8 pin MiniDIN which matches the interface on the rotary table.
I am still building up to automated wheel cutting on the Tormach.
I have mounted the Sherline CNC rotary table on my tooling plate and the table now needs a chuck or collet mounting plate fitting. This will grip the super glue arbors that I use for holding the wheel blanks while cutting.
I decided a chuck would be the best option and bought in a low cost 80mm three jaw chuck made by Sanou. These are available from a number of outlets on EBay. It is supplied with internal and external jaws and a chuck key.
It arrived very quickly and felt horrible. Turning the chuck key was really gritty and jumpy. Rather than sending it back I decided it would be worthwhile stripping it down to see what was going on.
I have never attempted stripping down a chuck before and to my surprise it was relatively simple. I first removed the three jaws, then the three rear cover retaining screws, the three adjuster retaining pins and finally the three adjusters. In theory then the spiral plate should drop out. But it didn’t and it took some serious tapping with a soft tool to remove it.
Having got all the bits apart and in front of me I began to deburr all the sharp edges that I could find. What seemed particularly important was to clean up the spiral plate internal diameter as this seemed to be the tightest fit. A flat diamond coated file together with a triangular one were the best tools to use. Once all this was done I put all the parts in the ultrasonic cleaner with hot water and detergent. There was a surprising amount of grit in the bottom of the tank once cleaning was finished.
Re-assembly was the reverse with everything being coated with moly grease before assembly. It was now a completely different chuck. Beautifully smooth.
The next problem was mounting the chuck on the CNC table. I first made a mounting plate with three M6 clearance and counterbored holes on the PCD mounting holes for the chuck (66mm) and four M5 clearance and counterbored mounting holes to match the cross slots on the CNC table (96mm). I also put a 16mm clearance hole in the centre of the disc to match the chuck bore. Next problem was how to centre the chuck on the rotary table. Fortunately the rotary table has a central, tight fit 11mm (0.25″) shouldered hole leading to a UNC 3/8″-16 screw thread. This is the mounting for use on Sherline products. I cut the UNC thread on the end of a piece of 11mm silver steel and screwed this in place at the centre of the table. This was perpendicular to the table face.
I then fitted the chuck to the backing plate and lowered the chuck and plate assembly over the 11mm rod and loosely tightened the jaws. This allowed the chuck to just rotate so that the four table slots could be aligned with the four holes in the mounting plate. These four screws were also loosely tightened against the T slot nuts and then the chuck pushed firmly down and the jaws closed tightly. The four table mounting screws were then tightened. The chuck should now be centrally placed and tightly in position.
The 11mm silver steel centralising rod could be unscrewed and removed. I put a piece of 20mm silver steel in the chuck jaws and checked the run out as being +/-0.05mm which to me didn’t seem bad and more than adequate for the task intended.
A new experience and a good end result.
Still got the GCode to sort out to automate the process … and finish off the USB expansion unit to increment the motion controller.
Update : –
I found that just a straight 11mm rod with a 3/8″- 16 UNC thread on the end was not reliable in sitting square to the CNC table surface. This resulted in the chuck running eccentrically. I modified the centring rod to have a collar fitted (16mm diameter to clear the chuck central hole) which was silver soldered in place and then trued up on the lathe. This modification allows the chuck to be fitted and centred easily and quickly each time. Here is the Fusion 360 model.
I also added a M6 threaded hole in the end of the rod to allow the fitting of a cap head screw. This is Loctited in place and is used to release the rod from the rotary table central threaded hole once the chuck is in place. An alternative would be to mill a hex head on the end of the rod but I took the lazy way out.
I am slowly building up to being able to cut wheels on the Tormach PCNC440 with two possible methods.
The first is using Gearwheel Designer which is mentioned elsewhere on my blog.
The second route is more conventional using a PP Thornton or similar cycloidal tooth cutter and a dividing device on a rotary table. This later method is how wheels are traditionally cut in a lathe and there is a lot of information available on this.
In order to use the cycloidal cutters I need some form of arbor to mount the cutter in the Tormach spindle. I could simply turn a piece of steel bar to suit and mount this in a ER collet in the spindle. The downside of this simple approach is that every time the arbor was fitted into a collet the cutter would be at a different height from the table. I really wanted something a bit more repeatable as the centre line of the rotary table will always be the same so why not the cutter centering.
When I ordered the Tormach PCNC440 I also ordered the Tormach small rotary saw arbor (which to date I have never used). Pondering this last night I sketched up an adapter in Fusion 360 to allow an involute cutter to be fastened to the end of the saw arbor.
This is shown below. It is made from a piece of 19mm AF hexagonal steel bar with the hexagonal flats going to be used as a tightening it in place in the Tormach arbor. My Myford Super 7 when used with a 3 jaw self centering chuck is not bad on concentricity but for really accurate centering I swap the chuck for a collet face plate instead. This job was going to need both.
First operation was to turn the hex bar end that would screw into the arbor. This was done in the lathe chuck. It was a simple turn to a diameter and drill and tap the end with M6 to match the arbor mounting. The only pain was the arbor has a slightly protruding lip so I had to undercut the mounting face for this. Rather than trying to be clever I did it by hand using a graver.
While the hex stock was still in the lathe I roughly turned down the other end of the adapter to the primary diameter and slightly oversize for the cycloidal cutter bore diameter and then cut off the stock so far.
It would be important to get the cutter mounting running as square as possible so I swapped the lathe chuck for the collet plate and mounted the arbor end of the adapter in the collet. I carefully turned the shoulder for the cycloidal cutter diameter and then reduced the remaining length ready to cut a M6 thread.
Here are a couple of images of the finished adapter.
I am pleased to say the idea went almost to plan and it runs very true in the Tormach spindle.
I was a bit over enthusiastic with the graver but this is of no consequence.
With hindsight the shank between the cutter and the hex section ought to be longer as this will restrict the diameter of the wheel that can be cut before the blank catches the hex section peaks.
One step closer to trying this method. The next experiment is to work on a sub routine in GCode to move the cutter back and forth while cutting and with the ability to easily program the number of cuts.