BUILD a PVC CNC PLOTTER IN a SIMPLE WAY

by tuenhidiy in Circuits > Arduino

9845 Views, 141 Favorites, 0 Comments

BUILD a PVC CNC PLOTTER IN a SIMPLE WAY

FT3LB30KUCXRU7A.jpeg
FH1IASYKUCXRU1P.jpeg
FG8KR8CKUCNYVNK.jpeg
BUILD A PVC CNC PLOTTER IN A SIMPLE WAY

Today I'd like to share how to build a CNC plotter and in the easiest, simplest way which I've been done. It has a good looking structure, pretty good plotting quality, with a working range about 300 x 300mm. The CNC mainframe and supports are made mostly of plastic materials, such as: PVC pipes and acrylic sheets.

In this project, I used PVC pipes & fittings Ø21mm. All the bearings and copper nuts are fitted tightly with their holes, so everything becomes quite easy and my CNC does not take up much space.

Please check how it works on introduction video before getting started!

Supplies

The NEXTPCB support me for this project. If you have a PCB project, please visit the NEXTPCB website to get exciting discounts and coupons.

Here are mid-summer sales at NextPCB:

  • Up to 30% off for the PCB orders.
  • Up to 20% off for the PCBA orders.

a. Main materials:

⦾ 1pcs x DFRduino UNO R3 - Compatible with Arduino Uno

⦾ 1pcs x Arduino CNC Shield V3 GRBL.

⦾ 1pcs x 3 Axis Control Board GRBL With Laser Engraver Supported. (Optional if we use Laser engraving mode)

⦾ 1pcs x 2500mW Laser Module (Optional if we use Laser engraving mode).

⦾ 3pcs x Stepper Motor Driver A4988

⦾ 2pcs x Stepper motor NEMA 17.

⦾ 1pcs x CD/DVD Rom Player Drive.

⦾ 1pcs x 50 mm L Stepper Motor Support.

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

⦾ 2pcs x GT2 Timing Pulley 20 Teeth.

⦾ 2pcs x GT2 Timing Pulley 60 Teeth.

⦾ 2pcs x Round Shaft Diameter 8mm, Length 400mm.

⦾ 1pcs x Round Shaft Diameter 8mm, Length 200mm.

⦾ 2pcs x 8mm Linear Rail Shaft Clamping Guide Support.

⦾ 2pcs x T8 Lead Screw 2mm Pitch, 8mm Lead , Length 400mm with Copper Nut.

⦾ 10pcs x Ball Flanged Shielded Bearings 8 x 22 x 7mm.

⦾ 6pcs x Horizontal Ball Bearing Bracket or Vertical Ball Bearing Bracket.

⦾ 1pcs x Aluminum Flexible Shaft Coupling, Inner Hole Size: 10mm x 10mm.

⦾ 1pcs x Power Supply 12/24VDC.

⦾ 2pcs x Clear/White Acrylic, size A3, thickness at least 5mm.

⦾ 4pcs x Copper Brass Pillars L-20mm.

⦾ 1 meter x 8P/16P Rainbow Ribbon Cable.

⦾ 1pcs x 5mm DC Female Power Plug.

⦾ 1pcs x Black and White Board 2 in 1, A4 Size for Kids

⦾ 12pcs x Small Size Neodymium Magnets.

⦾ Some small cable ties, cable spiral wrap, bolts and nuts.

b. PVC pipes and fittings:

⦾ 32pcs x PVC Pipe Tee Ø21mm.

⦾ 8pcs x PVC Pipe Elbow Ø21mm.

⦾ 8pcs x PVC Straight connector Ø21mm.

⦾ 4 meter x PVC Pipe Ø21mm.

c. Firmware & Softwares:

GRBL.

Inkscape.

LaserGRBL.

Engraver Master.

Universal Gcode Platform (UGS).

CNC Main Frame

The CNC base and main frame were assembled from PVC tees and straight connectors Ø21mm with a inner size L x W about 500 x 500mm.

The PVC tees have been arranged horizontally and vertically, as follows:

  • Four horizontal open holes: be connected to the CNC Y axis.
  • Two vertical open holes - facing up: be connected to the CNC X axis.
  • Eight vertical open holes - facing down: be used as the CNC footbase.

The picture below shows the footbase arrangement.

Y Axis

Y axis working support was built from 2 PVC tees and one straight connector. Because outer diameter of bearings and copper nuts are 22mm and tees inner diameter are 21mm, so, they can be tightly installed into two ends of PVC tees. We can use teflon tapes (thread seal tape) in case they are not tight enough.

T8 leadscrew and shaft, length 400mm, were threaded through bearings and copper nut holes.

Disassemble some lock bearings (about 6pcs for both X and Y axes) from horizontal or vertical ball bearing brackets.

Cut a straight connector into 2 parts, for each part I fitted a bearing on one end and connect the other end to a small piece of pipe Ø21mm.

Cut an acrylic sheet, dimension 210 x 50mm, measure and drill 4 small holes to mount Y stepper motor. To connect to main frame, I punched 2 big holes Ø21mm on this acrylic sheet.

Connect acrylic support to main frame.

Insert 2 locking bearings into tee open holes on the opposite side.

Y axis was installed into the main frame temporarily. I connected Y motor pulley 20 teeth to T8 lead screw by closed timing belts 200mm plus pulley 60 teeth. Then I adjusted & tested the Y axis movement by hand.

X Axis

As same as Y axis, X axis working support was assembled from 2 tees with bearings and copper nut at 4 ends.

T8 leadscrew and shaft, length 400mm, were threaded through bearings and copper nut holes.

I cut an acrylic sheet, dimension 230 x 130mm, and drilled:

  • 4 small holes to mount X stepper motor.
  • 4 other small holes to mount Arduino Uno.
  • 2 big holes Ø21mm to connect this support to main frame via 2 small straight connectors as same as Y axis.

Then I buillt a pipe support for X axis as below picture. X axis was install into this pipe support, connected X stepper motor to T8 lead screw by closed timing belts 200mm plus pulley 60 teeth.

Connect X axis pipe frame into CNC main frame and double check X and Y movements.

Y Axis Working Surface

Disasemble Y working support from main frame, drill and connect 4pcs x copper brass pillars (L-20mm) to the Y axis support.

To build a Y axis working surface, I connected the other end of copper pillars to a black and white board for kid, A4 size.

Reassemble this working surface into the CNC frame.

Z Axis

I used a CD/DVD player for Z axis and it was mounted on an acrylic sheet, dimension about 230 x 100.

Disasemble X working support from main frame, drill and connect 4pcs x copper brass pillars (L-20mm) to the X axis working base.

Connect acrylic support of Z axis above to X axis working base.

Final Assembly and Connection

Mount Arduino Uno & GRBL CNC shield on the X acrylic support.

Assemble all together and connect all wires from GRBL CNC shield to stepper motors. DONE.

Reinforce Main Frame

Since I didn't fix all pipes and fittings with glue or bolts, so the X-axis vibrated during operation. I did the following reinforcement on my CNC:

  • Add more vertical and horizontal pipes on X axis.

  • And the main foot base has also been changed according to the X axis.

Finally, with these modifications, it looked great and worked great too.

  • Front view

  • Back view

GRBL Setting

Download and install GRBL firmware for Arduino: https://github.com/gnea/grbl

GRBL settings:

⦾ X axis travel resolution ($100):

The X stepper motors steps per revolution: 200.

Micro-stepping: 2.

The pulleys ratio: 20:60 (or 1:3)

Leadscrew pitch: 2mm.

➽ $100 = (200 x 3 x 2)/2 = 600 STEP/mm.

⦾ Y axis travel resolution ($101):

The Y stepper motors steps per revolution: 200.

Micro-stepping: 2.

The pulleys ratio: 20:60 (or 1:3)

Leadscrew pitch: 2mm.

➽ $101 = (200 x 3 x 2)/2 = 600 STEP/mm.

⦾ Z axis travel resolution ($102):

The Z stepper motors steps per revolution: 20.

Micro-stepping: 2.

Leadscrew pitch: 3mm.

➽ $102 = (20 x 2)/3 = 13.333 STEP/mm.

Inkscape & UGS

I used following softwares to create the G-code files from texts or images

  • Inkscape and Gcodetools extension.
  • LaserGRBL.
  • Engraver Master.

The CNC laser engraving softwares, such as: LaserGRBL, Engraver Master ... can creat very nice G-code texts and pictures. To use them, I needed to replace Laser ON/OFF commands with Pen DOWN/UP commands. For example:

  • Laser OFF: M5 Pen UP: G0 Z2.
  • Laser ON: M3 Pen DOWN: G1 Z-1 F500.

To send the G-code file that generated by above softwares to CNC controller and monitor the P-CNC in action, I used Universal Gcode Platform (UGS).

Testing Result

Result_2.jpg
Result_4.jpg
Result_5.jpg
Result_6.jpg
Result_7.jpg

My CNC plotter works pretty well. With this version, we can mount a laser module on the back of X axis support and use both pen plotting and laser engraving modes.

Conclusion

Result_00.jpg
View_1.jpg
Result_10 (2).jpg
Beauty_3.jpg
Result_10 (1).jpg
Beauty_5.jpg
Beauty_9.jpg
Result_1.jpg

Thank you for reading my works!