Home > Projects > Robotics – Automation Projects > VERTICAL X-Y PLOTTER || DRAWING ROBOT || ARDUINO PLOTTER

VERTICAL X-Y PLOTTER || DRAWING ROBOT || ARDUINO PLOTTER

Summary of VERTICAL X-Y PLOTTER || DRAWING ROBOT || ARDUINO PLOTTER


This article details the construction of a Vertical XY Plotter using Arduino to draw on various surfaces. It covers hardware assembly, 3D printing requirements, circuit modifications for high-torque motors, and software setup with Makelangelo. The project emphasizes managing tension and friction for optimal performance while converting vector images into executable drawing commands.

Parts used in the Vertical XY Plotter:

  • Arduino UNO R3
  • L293D Motor Drive Shield
  • L293D Motor Drive IC (x2)
  • NEMA 17 Stepper Motors (x2)
  • MG90S Servo Motor
  • GT2 Pulley 16 Teeth Set (x2)
  • GT2 Rubber Belt (5M)
  • 5V -2A Power Supply
  • External weights (around 200 grams each)
  • Jumper wires
  • Whiteboard Marker
  • 3D printed parts

In this instructable, we will learn to make an XY plotter/ Vertical plotter drawing machine using Arduino. With this very efficient Vertical Drawing machine, We can draw images on different paper sizes, walls, or whiteboards along with printing texts, generating arts and graffiti. Vector images(SVG) are fed to them as input, for printing jpeg and png files, use a converter so as to convert the file to SVG file format. We will be using Arduino, l293d shield, and IC, servo, 3-D printer as a basic requirement for printing the parts required. Along with this hardware, the MAKELANGELO jar file will also be used as software for feeding instructions. Physics plays an important role in the proper and efficient working of this project, so we should keep an eye on the functioning of tension and friction throughout the time we are working on this project.

Step 1: REQUIRED PARTS FOR PLOTTER:

Step 2: 3D Models:

Applications that I used:

  • Autodesk fusion 360 for preparing the 3-D model of the required files
  • Ultimaker Cura 4.8.0 for slicing the file and converting it to g-code file format.

Step 3: ASSEMBLY OF HARDWARE:

  • Connect the rubber belts on the central marker holding 3d printed part. (Adjust the length of the belts as per the size of your whiteboard.)
  • Connect your servo motor to the central marker holding 3d printed part such that its head faces upward.(For pen lifting servo, use one capacitor across VCC and GND(470uf or above),
    it will avoid jittering issues of servo.)
  • Assemble the Nema 17 stepper motors on the mounting brackets that you have printed.
  • Make sure to attach weight around both sides of the motors so that the tension between the connected belts are maintained.(I used old iron rods and old lipos of around 200 grams each on both the sides.)
  • Don’t forget to attach a weight to the central marker holding 3d printed part so that the marker draws efficiently.

Step 4: CIRCUIT CONNECTIONS:

UPGRADING MOTOR SHIELD DRIVER FOR HIGH TORQUE NEMA-17 STEPPER MOTORS:

In the link mentioned below, you will get to know how to use a high-torque stepper motor(in this case we are using Nema 17 having torque of 4.2 kg-cm) with the L293D motor driver. Since, using high torque stepper motors with a motor driver generates a lot of heating issues, using two ICs one above another reduced overheating and efficient working of the plotter. The cause is the high current requirement. So, he modified the L293D Motor driver shield to solve this problem.

After mounting IC’s , make all the connections as mentioned in the picture shown above.

Step 5: SOURCE CODE AND MAKELANGELO:

  • Install Arduino IDE .
  • Download the following compressed file for Makelangelo and its libraries from any of these two links:

Software link:

https://drive.google.com/file/d/1dpYN3MvAzodpJ1D5Gcl-Q_iCNZoIiZjE/view?usp=sharing

  • Unzip the .rar file and save the files and folders onto any of your local disks.
  • Now open Makelangelo folder and go to makelangeloFirmwareAMS-2 folder, open the Arduino sketch file and make desired changes in the code according to your hardware setup and upload the code to your Arduino Uno R3. (remember the COM port used for communication with Arduino for using the Makelangelo file.)
  • Come back to the parent folder and open the executable jar file(Makelangelo-7.11.0-with-dependencies).
  • Go to Settings inside Makelangelo-7.11.0-with-dependencies file and make desired changes in machine, paper, pen settings according to your whiteboard dimensions.(You can also change the page size from 4A0,A1,A2,A3…….ARCH E1. )
  • Make sure to use proper machine dimensions and paper settings and leaving 10-20% margin towards each edge of the paper size you choose.
  • Now click on CONNECT option and select the COM port whichever port you are using for your communication with Arduino.(Now, communication is established between the jar file and the Arduino.)
  • Now once the connection is done, Set Home the marker to your desired location(mostly preferred to set the marker 0.35 of the length of the whiteboard. )
  • Use Open File and Generate Art to insert different images of SVG type(Find any vector drawing image. Convert image to the SVG format from any converter platform like inkscape) and generate different arts pre-installed and text of your own choice.
  • Finally, press Start to start plotting amazing drawings and texts of your choice .To stop the plotter, use Pause and Halt.

Step 6: SOME AWESOME PROJECTS:

HAVE A LOOK AT SOME OF THESE AMAZING PROJECTS.

Copyright © 2021 The Makelangelo. http://www.makelangelo.com/

Source: VERTICAL X-Y PLOTTER || DRAWING ROBOT || ARDUINO PLOTTER

Quick Solutions to Questions related to Vertical XY Plotter:

  • What software is used to feed instructions to the plotter?
    Makelangelo jar file is used as software for feeding instructions.
  • How can I convert JPEG or PNG files for this project?
    Use a converter to transform jpeg and png files into SVG file format before feeding them to the machine.
  • Does the L293D shield require modification for NEMA 17 motors?
    Yes, two ICs are mounted one above another to reduce overheating caused by the high current requirement of high-torque stepper motors.
  • What tool is used to slice 3D model files into g-code?
    Ultimaker Cura 4.8.0 is used for slicing the file and converting it to g-code file format.
  • How do you maintain tension between the connected belts?
    Attach external weights around both sides of the motors, such as old iron rods or lipos of around 200 grams each.
  • Can this plotter draw on surfaces other than paper?
    Yes, it can draw images on different paper sizes, walls, or whiteboards along with printing texts and generating arts.
  • What happens if a capacitor is not used across VCC and GND for the servo motor?
    Jittering issues of the servo may occur without adding a capacitor of 470uf or above across VCC and GND.
  • Which file format is required as input for the plotting software?
    Vector images in SVG format are fed to the machine as input.

About The Author

Scroll to Top