CNC Automatic Tool Changer

It’s been about a year now since I’ve built the ATC for my CNC mill.

Since it works pretty well, I thought I would do a basic description and share some of the design files.

Basically it’s a carousel type on a sliding arm. 10 positions.

ATC

The electronics is based on the Cubloc CB320 Mini PLC controller.

http://comfiletech.com/cb320/

This device is programmable in either Cubloc basic or PLC ladder. It supports serial Modbus and I2C and has commands for driving stepper motors built in. Since I planned to use it with Mach3, Modbus was the main attraction for me.

I created a backing PCB with a few extras.

The board has a serial port for prog. download and a USB port for Modbus.

I made this a general purpose board with a few extra opto isolated inputs and relays to drive Air/Mist/Coolant if required.

My setup uses the following sensors:

  1. Long range opto spindle sensor – to detect if a tool is loaded.
  2. Opto index sensor on carousel – for a fixed rotational point.
  3. Opto position sensor for inventory of the carousel.
  4. 2 x slide on/out opto sensors for the slide mechanism.
  5. Opto drawbar sensor – to determine drawbar status.

One relay is used for a 5 way Pneumatic valve for the power drawbar.

The I2C bus is used to communicate with an optional status display. The status display is a standalone board with an ATMega328p driving an OLED display. It’s sole purpose being to scan the I2C bus from the Cubloc and decode the status messages.

Mechanically – There are two IKO 18mm Linear rails with a 12mm ballscrew -4mm pitch driven by a stepper.

The carousel is driven by a 3:1 reduction toothed pulley with another stepper. The ATC ‘fingers’ are a combination sandwich of Aluminium and Delrin to grip the Tool holders.

Tool holders are 20mm shank going into an R8 collet controlled by the drwabar.

The drawbar is based on a Watts linkage to provide parallel motion for the air cylinder with about a 10:1 lever. Air cylinder is 50mm diameter, 25mm stroke running at about 100psi.

The drawbar has a Belleville spring cup washer stack to provide tension.

Tool change speed is relatively slow on my machine. Speed will depend on your Z-axis speed and how fast you drive the carousel and slide steppers.

One thing to be aware of is the rotation inertia of the carousel fully loaded. You require a stepper with good holding torque to prevent loosing position as the tools rotate. Something I found out the hard way…..

Improvements – currently the code is based on tool numbers 1 to 10. I may change this and the tool slot sensor to use an RFID button on the top of the tool shank to sense the tool number – otherwise, you need to remember that tool no. 1 goes in slot no. 1 and you are limited to 10 tools at a time. Some additional error checking and custom Mach3 screens are also on the list.

Design files for the PCBs and Mach3 macro are here: https://github.com/pcm52/CNC-ATC

2 comments

  1. Hello!
    I want to build this ATC controller. My question would be, what program is running on the display module? Could you help with this ?
    Thank you, Yours sincerely, Zsolt.

    Like

Leave a comment