Introduction: CNC Plotter

About: I love to make useful things with the help of Scrap. Creative and Innovative one.

In this project, I'd like to share how to build a homemade 3 axis CNC machine with its frame and supports made of electrical wire casing/duct and plywood sheet. Basically it is a pen plotter and can be used as a laser Engraver with a plot area of 25cm X 25cm. The idea of making linear rails with the electrical wire casing/duct makes the whole machine cheaper and of less weight. Hope you like this Idea.

Step 1: Step 1: Material Required

· 1pcs x Old Plywood

· 3pcs x Stepper Motor Driver A4988 with CNC Shield V3.

· 2pcs x Stepper motor NEMA 17.

· 1pcs x Arduino Uno.

· 1pcs x Servo Motor.

· 1pcs x Cardboard(28cm X 26cm)

· 2pcs x GT2 6mm Closed Timing Belt 200mm.

· 4pcs x GT2 Timing Pulley 20 Teeth.

· 1pcs x Electrical wire Casing/duct (4 meters).

· 20pcs x Screws.

· 2pcs x Springs.

· 1pcs x Power Supply 12VDC.

· 4pcs x Small Neodymium Magnets.

Step 2: Step 2: X-axis, Y-axis

The X-axis and the Y-axis of the plotter are made up of plywood and 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.

For the support of linear rails I have used old piece of plywood, which is to be cut in two pieces of dimension (35cm X 9 cm) each. As the dimension of casing to be used as linear rail is (35cm X 3cm) and a piece of plywood (16cm X 10 cm) used as a Base .

Here you also need a plywood piece of same dimension i.e. 35cm X 9cm to support X axis.

All Other parts like slider for all three axis and supports are made up electrical wire casing.

Total casing/duct parts required:

16 pcs X 10 cm each.

4 pcs X 35cm each (for linear rail).

Step 3: Step 3: Z-axis

The Z-axis is controlled by Servo Motor. The parts for lifting pen in Z-direction are made of casing and a small piece of PVC pipe as shown in image.

Step 4: Step 4: Preparation of All Parts

After cutting plywood and casing with a hand saw and drilling holes, the all parts first assembled separately. The X-axis rail, Y-axis Rail, Servo motor as Z-axis and other supporting parts.

For the Work table I have used a cardboard with metal sheet of thin layer pasted over it and covered with White Paper Sheet. The cardboard size is 28cm X 26cm.

Step 5: Step 5: Assembly of All Parts

With the help of screws all final parts are assembled together to form basic structure of the machine. The NEMA 17 Stepper Motor with pulley belt mechanism is used for both x-axis and y-axis. Here Casing Parts are used to support X-axis.

Step 6: Step 6: Connection Diagram

The Connection should be made as per the diagram. Plugging stepper motor drivers A4988 on the CNC Shield V3 and connecting steppers motor to it. The Servo motor signal wire should be connected to Z+ pin of CNC Shield and the power supplied to it by 5V pin and GND pin of CNC shield.

Step 7: Step 7: Software Used

· Arduino IDE

· Inskcape.

· Grbl Controller.

Link to download GRBL file:

https://github.com/grbl/grbl

Download the library file unzip it and load to arduino as:

File > Example > grbl upload compile and upload code to arduino

Step 8: Step 8: G-CODE Setup in Inkscape

We are using INKSCAPE software to make G-code. As we are using GRBL & CNC Shield for this machine s

o it will not support a servo motor as a Z-Axis so we can use MI Extension here to get it work with Z-axis Servo

You can Download MI Extension from inkscape page.

After download add this files as:

inkscape directory > Share > Extension folder

Now open inkscape set page size 100mm x 100mm

select image go to Trace Bitmap then convert to path

then go to extension click on MI GRBL Z-AXIS SERVO CONTORL

Step 9: Step 9: GRBL Controller

Open GRBL Controller > Select COM port > Set Baud rate 115200 > click on "OPEN"

go in "COMMANDS" Tab

enter $$ for GRBL configuration

Example: Suppose we want to change the $100 value from 100 to 50

so enter $$ in command line and write $100=50 and press enter.

GRBL CONFIGURATION:

G21

$$

$0=10 (step pulse, usec)

$1=25 (step idle delay, msec)

$2=0 (step port invert mask:00000000)

$3=0 (dir port invert mask:00000000)

$4=0 (step enable invert, bool)

$5=0 (limit pins invert, bool)

$6=0 (probe pin invert, bool)

$10=3 (status report mask:00000011)

$11=0.010 (junction deviation, mm)

$12=0.002 (arc tolerance, mm)

$13=0 (report inches, bool)

$20=0 (soft limits, bool)

$21=0 (hard limits, bool)

$22=0 (homing cycle, bool)

$23=0 (homing dir invert mask:00000000)

$24=25.000 (homing feed, mm/min)

$25=500.000 (homing seek, mm/min)

$26=250 (homing debounce, msec)

$27=1.000 (homing pull-off, mm)

$100=100.000 (x, step/mm)

$101=100.000 (y, step/mm)

$102=250.000 (z, step/mm)

$110=500.000 (x max rate, mm/min)

$111=500.000 (y max rate, mm/min)

$112=500.000 (z max rate, mm/min)

$120=10.000 (x accel, mm/sec^2)

$121=10.000 (y accel, mm/sec^2)

$122=10.000 (z accel, mm/sec^2)

$130=200.000 (x max travel, mm)

$131=200.000 (y max travel, mm)

$132=200.000 (z max travel, mm)

Step 10: Step 10: Working

Now time to stream Gcode to machine go to "FILE MODE" Tab Browse your gcode file and hit enter. Your machine starts plotting.

Anything Goes Contest 2021

Participated in the
Anything Goes Contest 2021