Some years ago I acquired a prototype Asian Import "CNC Ready" Lathe that came with an Automatic Toolchanger. I decided that I wanted to control it from Mach3 and therefore built a controller for the changer.

Below are a number of images showing my mini lathe toolchanger and the controller I built for it.

The toolchanger consists of a standard looking 4 post tool changer, plus a 240VAC reversible motor. Contained in the round cap sitting on top of the tool changer are four hall effect switches, that indicate which tool is currently selected.
The operation of the toolchanger is quite simple. When the motor runs in the forward direction, the four post holder lifts up, say about 1/4", then starts rotating.  I'm guessing it is lifting off a locking pin

As it rotates to the next tool position, there is a definite "Click" and it springs into position. At this point the hall effect switch for this position is active. If the motor is left running in the forward direction, the 4 tool holder just keeps rotating toward the next position.

MiniLathe Automaic Tool Changer
If the motor is run in reverse, the four  tool post holder rotates in reverse until it is in position, then drops down onto the locking pin.

The tool changer controller consists of;

2 relays to control the motor forward and reverse direction.
Microchip PIC16F627 microcontroller
RS-232 serial interface
4 Leds to indicate the tool position
2 Leds to indiate relay activity
1 Bi-colour Led to indicate status and activity
Transformer, fuse and 5V regulator for low voltage power supply
Switch for manual tool position changing.



ATC and ControllerOn power up the microcontroller selects tool number 1. It then waits for a command from the serial interface or for the manual switch to be pressed.

When all is operating correctly, the status led  does a slow green double flash. If an fault occurs,  the status LED will do a fast red flash until the next valid opration is executed.

A tool change is done by monitoring the hall effect switches in the tool changer. When commanded to change to a particular  tool, the motor is driven forward until the hall effect switch for the selected tool is activated. It then continues in the forward direction until the switch extinguishes (1/2 way between positions). The controller then reverses the motor direction for 0.6 seconds, enough time to lock the toolchanger into position.

The controller detects a fault if the selected tool's hall effect switch does not trigger after 4 seconds, long enough for the changer to do a complete revolution.

The serial interface is very simple. 9600 baud, no parity, 1 stop bit. The controller accepts the characters '1', '2', '3',  '4' or '?'. To select tool 2, send the character '2'. The controller will echo this character  back when the change is complete, or send a 'X' if a fault occured. Send the controller a '?' and it will send back the current tool position or a 'X' if it does not know (fault).

If the manual switch is pressed, the controller will rotate the tool changer to the next position.

All too simple!