Learn to Make Arduino vertical plotter that is one of amazing projects which all dream making!
Hello readers in this project we will be making vertical axis plotter that can draw images present in your phone or computer onto a sheet of paper on a wall, before starting with project let me go through some basics
What is vertical axis plotter
The basic principle behind its working follows operating principles of CNC machines, CNC or computer numerically control machines use steppers which move according with set of commands
These commands will be in form of G-code preprocessed by computer and further sent to microcontroller
In our project Arduino mega will be the controller which sends signals to motor/ stepper drivers which later makes axis movements as per commands
What’s special about this plotter?
The main difference being here is conventional plotters performs their operation on a horizontal Axis similar to us writing on books but here the same task is done vertically and hence the name vertical axis plotter
Here all types of image can be drawn using this plotter on wall in large sheet of paper
i would highly recommend it for making outline for paintings
Supplies necessary to Make Arduino vertical plotter
All the materials which you need to make this project is below
- Arduino Mega board with programming cable
- Arduino IDE
- RAMPS 1.4 Controller.
- Two Stepper Motors
- Stepper Driver Module A4988 x 2
- Servo Motor SG90, Metal gear works better
- Blackboard Dimension 780x1200mm.
- PVC Square Plastic
- Empty Plastic Coil Spool
- Cable Gland For 8 – 12mm Cable Diameter x 2pieces
- Round Neodymium Magnets 16 pieces
- GT2 6mm Timing Belt 2000mm (movements)
- GT2 Timing Pulley x piece with 80 gear teeth ( for stepper shaft)
- 4P 20cm Wire Cable Double Connector x 2 pieces
The main components for assembling the handle holder are: fitting, cable gland, strap, and nuts.
- Rainbow Ribbon Cable.
- Two cores Power Cable i use 2 meters
- Power Supply unit 12/24 VDC.
- Some nuts
- cable ties
- Paper A1 size
- Marker for drawing
- Plane wall
These were the essentials to make this now lets begin with steps to build this
The plotter dimensions are as follows:
Building drawing part for Arduino vertical plotter
Firstly we will start by connecting timing belt to connectors, cut the 2-meter timing belt into two pieces, each 1 meter long, exact way of doing this is as shown in image below
Make sure the belt is fixed well to holders as this will be driving belt which has to bear loads when the machine is working
Now to make part that is responsible for drawing i will make this by making use of empty spool of wire
To make this just drill 4 holes which are of equal distance from each other
As the circle is 360 degree dividing it by 4 gives 90 degrees means all holes should be 90 degree apart
After drilling holes insert screws and fix it with nuts
To make pen holder i have glued piece of pvc in center of this spool
After making this to balance weights i add some nuts (M10 nuts) . which is shown in image below, adding 5 nuts on each side balances weights and eliminated unnecessary vibrations
Now we can connect these belts to drawing part and also this is the part to which markers will be connect
Just connect to screws which was previously insert inside spool
To make this step even more clear i have shown this from other viewing angle!
So now we can glue micro servo to the wheel which will perform the function of raising and lowering marker/pen while drawing process is going on
Now this is ready to be hook into steppers but before that we need to place steppers on board
Sets up a pencil and checks the work.
Preparing the blackboard
The blackboard, including the aluminum frame, measures 780 x 1200 mm.
Board thickness 30 mm.
On the one hand, he drills holes for stepper motors in the corners.
The distance between the centers of the two holes is 600 mm.
To do this i made 2 holes on either top sides of board, same shown in below step
From back side we can insert steppers and fix it with screws, this needs to be very firm as it carries weight
View from back side is shown as it becomes very much clear to understand
Install the stepper motors on the back of the board.
After adding steppers connect wires
Now add pulleys on stepper shafts, the pulley has 80 teeth. Front view after placing stepper motors with pulleys.
Circuit for Arduino vertical plotter
Connection are very easy to make as we are using X and Y axis steppers will be connect to those slots
The main controllers of the vertical plotter are Arduino Mega 2560 and RAMPS 1.4. they drive 2 stepper motors via A4988 drivers and one servo motor.
Here as this is vertical plotter two stepper motors should rotate in opposite directions, So don’t forget to reverse the wires of right side motor.
Micro servo will be connect to servo slot on board
NOTE: RAMPS 1.4 Controller is attach on top of mega board
Follow this circuit and connect all components to board
Drills 4 holes and install the Arduino Mega 2560 + RAMPS board in the center of the top of the board.(see photo below)
I glued the servo to the bottom of the plastic coil and soldered 3 wires from the servo to the RAMPS 1.4 controller.
Finally, a handle holder was attached to the stepper motor pulleys. Checked the movement of the node.
later attach draw mechanism that was made earlier after which project looks like this
Up to these steps we made all hardware setup, now we should start calibration of this device
The plotter used the Makelangelo firmware . this firmware can be used in many different controllers and kinematic systems.
Software use to Make Arduino vertical plotter
Makelangelo firmware will run this plotter to which some mods should be made this software can be found at github for download
This require some changes
What are changes that were made?
“configure.h“: This will be Configuration settings for vertical plotter
Plotter type: Polargraph
Controller: Arduino Mega 2560 + RAMPS 1.4
No LCD ( as there is no display)
“robot_polargraph.h“: Configuration settings for polargraph
With Pen Lift.
No LCD – No SDCard – No limit switches.
“configMotors.h“: Stepper motor and pulley settings
I used stepper motors NEMA 17 with step angel: 1.8°. So the number of steps required for stepper motors to make 1 complete revolution: 200 step/rev.
A4988 micro-steps setting: 16.
“board_ramps.h“: Arduino Mega 2560 pin setting
Setting up software
After this connect Mega board to computer and open Makelangelo software
To check stepper motion click on Manual Driving option and check movements for all given measurements
- Click pen lift and drop option and verify if that if micro servo is working
- Click on Setting tab and add following values
- Model to Makelangelo by default
- Machine Width should be 550mm (as per size of canvas)
- Machine Height will be 800mm
- Acceleration is10mm/s²
- Now after this open menu to set paper size, set this as per values of paper which you use
- You can use test button to calibrate servo
- After this we can add image which should be drawn by this plotter
- For all CNC machines GCODE will be format which can be read by MC’s here this software readily converts jpg, png and other image formats to GCODE
Before the print work actually starts we can see its simulation, Many might be wondering HOW?
We can do this with help of small simulator which i made using excel
Here we can enter values for X and Y coordinates
How to perform test?
Click on generate art and them type your message on Your message here column and click start
Machine will start its work meanwhile you can sit and watch!
Sample drawing done from this plotter
Working video available here Thank you for your time!