Arduino CNC Thermocol Cutter

by Deepaksh123 in Circuits > Arduino

21117 Views, 183 Favorites, 0 Comments

Arduino CNC Thermocol Cutter

IMG_3193.JPEG
IMG_3205.PNG
IMG_3203.PNG
Arduino CNC Thermocol / Foam Cutter #arduino #diy #diycrafts #cnc #engineering #projects
Arduino CNC Thermocol Cutter
How to generate Gcode for Thermocol cutter cnc

In this project, I'd like to share how to build a 2-axis thermocol/ polystyrene cutting CNC machine with its frame and supports made of electrical wire casing/duct and 3D printed parts. Basically it is a thermocol cutting tool which can be used to cut different shapes from the thermocol sheet. It can be used as a craft making tool. The idea of using electrical wire casing / duct as linear rails makes the whole machine affordable and of less weight. With this cutter you can easily cut Thermocol / polystyrene, styrofoam or any other similar material.

This machine is made up of easily available parts like 28byj-48 Stepper motors, Arduino nano, old radio antenna rods, string / thread and 3d printed parts. Hope you like this Idea.

Supplies

photo_5_2024-04-30_12-23-51.jpg
IMG_3231.PNG
IMG_2934.JPG
IMG_3291.JPG
IMG_E3280.JPG
IMG_3207.PNG
IMG_3216.PNG

1pcs x Arduino Nano

1pcs x PWM Motor speed controller

2pcs x ULN2003 Stepper Motor Driver IC

2pcs x 28byj-48 Stepper motors

2pcs x Header pins and IC seat

1pcs x PCB Sheet (6 cm X 6cm)

1pcs x Aluminium composite panel sheet (34 cm X 13.5 cm)

2pcs x String / Thread

2pcs x Electrical wire Casing/duct

2pcs x Springs

2pcs x Old radio antenna.

2pcs x Power Supply 5VDC and 9VDC.

1pcs x Nichrome wire (Length = 6 cm)

2pcs x Female DC Power jack

2pcs x Old gas cylinder washers

2pcs x steel rods (outer dia =1.5 mm and length = 15 mm)

Thermocol / Polystyrene / Foam sheet

3D printed parts

Wires

Some Screws

Super Glue

Double sided foam tape

Tools used

3D printer

Mini drill machine

Mini Hand Saw

Screw driver set

Soldering iron

Vernier Caliper Digital

Measuring tape/ scale

X-axis and Y-axis

IMG_E2949.JPG
IMG_E2952.JPG
IMG_2949.JPG
IMG_2950.JPG
IMG_2964.JPG
IMG_2968.JPG
IMG_2952.JPG

The dimensions of casing to be used as linear rail and a Aluminium composite panel sheet (34cm X 13.5cm) used as a Base .

All Other parts like slider for both X and Y axis are made up electrical wire casing.

Total casing/duct parts required:

Linear rail dimensions:

For X-axis = 34.0 cm

For Y-axis = 30.5 cm

For X-axis Slider = 5.0 cm

For Y-axis Slider = 6.0 cm

Old Radio Antenna Rods length = 25 cm each

Outer Diameter of two antenna rods = 6 cm and 7 cm

The Thermocol Cutting Cnc general part includes two 28BYJ-48 stepper motors controlled by Arduino Nano with the help of two ULN2003 stepper motor drivers. The X-axis and the Y-axis of the plotter are made up of electrical wire casing/duct. The making of linear rail from casing/duct came from the idea that the upper part of the casing with small length slides smoothly on the other part of the casing.

 X axis move linearly forward and backward relative supported at the ends with the 3D printed stands and Y axis move linearly up and down which carries nichrome wire holding rods.

 


Preparation of All Parts

IMG_2970.JPG
IMG_3206.PNG
IMG_3220.PNG
IMG_3221.PNG
IMG_3224.PNG
IMG_3209.PNG
IMG_3225.PNG

Take a aluminium composite panel sheet and cut a piece of size 34cm x 13.5 cm

Drill required holes on the sheet to hold 3D printed stands. These two 3D printed stands supports X-axis.

X-axis consists of an electric duct casing attached with a stepper motor. For the pulley of the stepper motor I have used an old gas cylinder washer attached to a 3D printed pulley. This washer helps in gripping the string.

Make necessary holes on the electric duct casing to hold stepper motor on one side and idler pulley on other side with a mini drill machine.

Also cut a small part of upper duct casing to hold idler pulley as per the dimensions shown in images.

The slider for X-axis made from cutting a 5cm piece of upper part of duct casing.

Similar steps to be followed to built Y-axis but the length for the slider for Y-axis is 6 cm.

The slider of X-axis is attached with the Y-axis casing perpendicularly with the help of super glue.

Attach the pulleys on each stepper motor and tied up the string/thread between the motor pulley and the idler pulley of both axis. Use springs to hold the string/ thread in proper tension.

Nichrome Wire Holder

IMG_3255.PNG
IMG_3254.PNG
IMG_3255.PNG
IMG_3256.PNG
IMG_3262.PNG

Nichrome wire holder consists of two antenna rods one inside the other. I got these hollow rods from my old radio set. The outer diameter of these two rods are 6 cm and 7 cm.I designed 3D printed holders to hold these rods apart at a distance of 5cm.

Two 3D printed parts are also designed to hold these rods with the slider of the Y-axis as shown in the images.

One hole is drilled on each rod 1cm far from one end of the rod to take out wires from these holes. A screw is attached at one end of each rod to hold the wires from power supply and Nichrome wire.

The temperature of the Nichrome wire controlled with a PWM motor speed controller powered with 9v DC supply. Adjust the knob of PWM Controller to change the current input to the Nichrome wire.

Assemble all parts together with the help of screws.

NOTE:- This project uses high current and hot wires, so take care of yourself while handling this machine. Also, beware of toxic fumes, and work in a well ventilated area.

Nichrome wire has special properties due to which it provides very high resistance and act as resistive load when connected to the power supply. BE AWARE OF IT.

Assemble All Parts

222.jpg
111.jpg
IMG_3233.PNG
2223.JPG
IMG_3236.PNG
IMG_3238.PNG
IMG_3239.PNG
IMG_3242.PNG
IMG_3222.PNG
333.JPG
444.JPG

With the help of screws all final parts are assembled together to form basic structure of the machine. The 28byj-48 Stepper Motors with pulley belt mechanism is used for both x-axis and y-axis.

Attach the X-axis stands on the base plate made up of aluminium composite sheet with the help of screws. Hold the X-axis casing inside the cavity provided in the 3D printed stands.

Attach the pulleys on each stepper motor and tied up the string/thread between the motor pulley and the idler pulley of both axis.

Connect the Y-axis to the X-axis by pressing the slider of X-axis on its casing.

Connect Y-axis slider which holds the Antenna rods with Nichrome wire.


Schematics and Circuit Diagram

NANO_bb1.jpg
IMG_E2917 - Copy.JPG
IMG_2971.JPG
555.JPG

The Connection should be made as per the circuit diagram. The motors (28byj-48) are connected to a controller card (Arduino NaNO) that uses the chip ULN2003.

This board is connected to pins A0, A1, A2, A3 for the Y-Axis (IN4->IN1)

2,3,4,5 Digital pins to the X-Axis (IN4->IN1).

To overcome the complexity of the circuit connections I have made a custom PCB with header pins, IC seat, some wires, DC power jack and soldering iron. You can make your own PCB or you can order online.

I have powered this Arduino Nano PCB with 5V DC power supply. You have to use two different power supplies 9V DC for PWM controller and 5V DC for Arduino Nano PCB.

Software Used

Download Arduino IDE

https://www.arduino.cc/


Download Inkscape version 0.92

https://inkscape.org/release/0.92.2/windows/

 

Download 4xidraw Inkscape Extension

https://github.com/bullestock/4xidraw

 

Download Universal Gcode Sender

https://winder.github.io/ugs_website/download/

Generate GCODE

7878.JPG

We are using INKSCAPE software to make G-code. To generate Gcode, we have to download 4xidraw Inkscape Extension. You can Download 4xidraw Inkscape Extension from this link:-

https://github.com/bullestock/4xidraw

After downloading extract the files and add these files as:

Inkscape directory > Share > Extension folder

Now open inkscape set page size 150mm x 150mm

Drag and drop the particular image in the inkscape

Select image go to Trace Bitmap then convert to path

Then go to extension tab > Click on 4xiDraw tools > Generate pen (Servo) Gcode Tool...

GRBL Firmware and Calibration

777.JPG

Download and install GRBL firmware for Arduino Nano:

https://github.com/ruizivo/GRBL-28byj-48-Servo

This GRBL uses an ugly hack to control two motors unipolar stepper motors as 28byj-48 and also supports a servo motor on pin 11.

GRBL Settings:

X -axis travel resolution ($100) and Y-axis travel resolution ($101) : It is calculated on the stepper motor’s step angle - steps per revolution

To calibrate X-axis and Y-axis we need to know current values of $100 and $101 which denotes steps per mm for each axis.

To get these values we need to open UGS and connect it with Arduino nano. After successful connection enter $$ in commands tab. Note down the current values of $100 and $101.

For Ex:-

Current $100 value = 100

Current $101 value = 150

Enter 10mm to commands to run X-axis and note own the distance travelled by X-axis. In my case

Desired Length = 10mm

Actual Length = 8mm

To Calibrate X-axis use this formula to get the new value of $100 value

New $100 value = (Desired Length / Actual Length )* Current $100 value

(10 / 8 ) * 100 = 125 = New $100 value

Use similar procedure to calibrate Y-axis

Enter 10mm to commands to run Y-axis and note own the distance travelled by Y-axis. In my case

Desired Length = 10mm

Actual Length = 8mm

To Calibrate Y-axis use this formula to get the new value of $101 value

New $101 value = (Desired Length / Actual Length )* Current $101 value

(10 / 8 ) * 150 = 187.5 = New $101 value

Enter these value in command tab:-

$100 = 125

$101 = 187.5

Working

1`.JPG
IMG_3258.PNG
IMG_3259.PNG
IMG_3260.PNG
IMG_3261.PNG
IMG_2917.JPG
IMG_3263.PNG

Connect USB Cable to Arduino Nano port, 5V DC power to the power port and 9V DC power to the PWM motor speed controller.

I have used a PVC plastic sheet having 5 nails on it to support thermocol sheet vertically.

Cut a 15cm X 15 cm thermocol / polystyrene sheet and place this sheet on the nails provided on a PVC sheet.

Paste this PVC sheet on the base plate with the help of double-sided tape.

Open UGS, select Port and set Baud to 115200, click on Connect tab.

Set the original coordinates by button Reset Zero. It should be located in the lower left corner.

Click Open > Browse to the G-code file "PLUS.gcode".

Click Send button and Arduino CNC Cutter will start cutting the thermocol / polystyrene sheet.

Some Gcode files attached below:

STL Files

Final Words

I made this project from old scrap materials such as old radio Antenna, electric wire duct/casing, old gas cylinder washer and some 3D printed parts.

If you have any query regarding this tutorial, feel free to ask in comments section.  

Hope you enjoyed this session of Instructables. Thanks for reading my work. I feel glad if you make your own Arduino CNC Cutter with the help of this tutorial.

Stay tuned to my Instructables channel for more upcoming exciting projects.

Thanks again.