Automated Wheel Cutting GCode for the Tormach with the Sherline CNC Rotary Table

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. 

A compiled write up of all the related blog entries on this subject can be found on the downloads page.

Similar or related subjects : –

Cycloidal Cutters and Finding the Cutting Centre

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.

Exaggerated mock up of the cutting setup showing a brass blank mounted on a super glue arbor and a cutter mounted in the Tormach Slitting Saw arbor. The centre line of the cycloidal cutter teeth sits on the centre line of the brass blank and cuts on the rear edge as seen above. After each cut the CNC rotary table increments the blank by one tooth ready for the next cut. (In practice the super glue arbor would need to be much larger in diameter in order to be more in keeping with the diameter of the brass blank and so ensure maximum support while the cutting was done).

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.

Simple diagram showing the concept of using the Tormach tool table facility to allow easy setting of the centre line of a wheel blank and cycloidal cutter centre lines

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.

Similar or related subjects : –

Tormach USB Expansion Board boxed and mounted

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.

Tormach USB Expansion card mounted in an IP55 enclosure and on the blanking panel where the ATC would normally be fitted.
Internal view of the Tormach USB Expansion board mounted in its enclosure. It shows the MiniDIN connectors on the pcb milled using my vacuum table and also the lazy cable gland on the USB cable

Still got to do the GCode …

Similar or related subjects : –

Clock Wheel Cutting Adaptation of a Tormach Saw Mandrel

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.

Tormach TTS saw collet with my adapter and a typical clock wheel cutter
Assembled cutter on Tormach TTS collet

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.

Similar or related subjects : –

A Mini Vacuum Clamping Table for PCB Engraving

You know only too well how I keep on going on about FlatCam and milling printed circuit boards on the Tormach PCNC440.

You will also have read about my preoccupation with trying to hold the PCB material flat to avoid variations in milling depth.

I have got it to a reasonably repeatable process using mechanical clamping but you know when a perfectionist starts something it has to be as good as possible …. step forward the Vacuum Clamping Table.

The thinking for this followed on from the Rosebud Grate experiments on my live steam locomotive.   The grate consisted of a matrix of larger holes on the underside of the grate leading to a small bore hole on the top side of the grate.   The theory as I understand it was that the reduction in size creates a Venturi type effect and boosts the air stream into the fire.   I wondered therefore if I reversed the air flow i.e. sucked the air from the large hole into the small hole whether this would be beneficial in providing a boost of the suction.   It is a bit tenuous I must admit and I can’t point to lots of science to back this up, but certainly worth a play.

First stop was Fusion 360 and a two part plate was designed.   This consisted of a top and bottom part.   The bottom part is 15mm cast aluminium with a milled trough and the top plate is 10mm cast aluminium with 6.8mm holes (no science – this is tapping size for M8 that was already in a Tormach collet) on the top side that reduce down to 1.3mm holes (ditto also already in a collet) as breakthrough holes on the bottom surface.   Around the edges are M6 screw holes to clamp the two plates together and also M8 mounting holes to fasten the plate to the tooling plate on the Tormach. I didn’t quite think the suction connection fully.   After I had worked out the total area of the 1.3mm holes I realised that to accommodate this I needed a 16mm diameter hole for the air inlet.  This was not going to be possible to mount on the 25mm overall edge of the plate.   The solution was to 3D print a connecting pipe and mount this on the top surface.   This adapts to the vacuum cleaner pipe being used as the suction source.    The 3D printed adapter did not provide a good seal to the top plate so I had to fit a rubber gasket on it.  The parts were all put together as shown below.

Finished vacuum plate on test in the bench vice
Close up view of the 6.8mm blind holes leading to 1.3mm through holes

To my amazement it seems to work !

There does not seem to be leakage on the joint between the two plates and the vacuum pipe adapter with the rubber gasket seems to seal alright.   If I put a large piece of PCB material over all the holes it is very difficult to move it.  Single sided board is naturally bowed in the manufacturing lamination process and I can see it visibly jump flat when I turn on the vacuum.  If the PCB is smaller than the total area of suction holes it does not seem to matter about covering over the ‘non-used’ holes to maintain the grip.

Proof will be when I try to run a board.   

The milling process will not have major sideways pressure as the depth of milling is quite small so it should be fine. Clearly I can’t go drilling the component mounting holes in the PCB material with this holding technique but I can spot drill them to say 1mm depth and then finish them by hand having got a guide hole to start me off.

But all this will have to wait as the X axis limit switch has come apart on the Tormach and a spare has been ordered and is on its way.

Similar or related subjects : –