Polargraph Plotter

by Deepaksh123 in Circuits > Arduino

638 Views, 11 Favorites, 0 Comments

Polargraph Plotter

IMG_8097.jpeg
6.PNG
How to make Polargraph Plotter
Polargraph Plotter #vertical plotter #cncplotter #3dprinting #machine #cncprojects #arduinodiy

A Polargraph plotter is a type of drawing machine that uses two stepper motors to control a pen suspended by strings. The pen is moved by adjusting the lengths of the strings via the motors. However, you have seen many types of Polargraph or vertical wall plotter but this one is different. I have designed this plotter using cheap parts and 3d printed parts. This plotter is very compact, easy to assemble, low making cost as it uses only 3d printed parts, old selfie sticks, an Arduino Nano, two 28BYJ-48 stepper motors, and a servo motor.

The Width of this Polargraph machine varies from 375mm to 690mm. So you can plot different size of designs on a very small to very large space.

Here’s a step-by-step guide to build a Polargraph using an Arduino Nano, two 28BYJ-48 stepper motors, and a servo motor:

Supplies

IMG_7796.jpeg
IMG_7802.jpeg
IMG_7808.jpeg
IMG_7797.jpeg
IMG_7805.jpeg
IMG_8221.JPEG
  1. 1pcs x Arduino Nano (with USB cable)
  2. 2pcs x 28BYJ-48 Stepper Motors (with ULN2003 driver IC)
  3. 1pcs x Servo Motor
  4. 2pcs x Old Selfie Sticks (Length = 280mm)
  5. 1pcs x 5V Female DC power jack
  6. String or Thread (for suspending the pen)
  7. Pen or Marker
  8. Drawing Surface (a vertical board or sheet)
  9. Power Supply (USB power or external power supply for motors)
  10. 3D Printed Parts
  11. Bearing and Screws
  12. Super Glue

Tools used

  1. 3D printer
  2. Mini drill machine
  3. Screw driver set
  4. Soldering iron
  5. Vernier Caliper Digital
  6. Measuring tape/ scale

Assemble the Machine

IMG_7817.jpeg
IMG_7823.jpeg
IMG_7825.jpeg
IMG_7828.jpeg
IMG_7832.jpeg
IMG_7839.jpeg
IMG_7861.jpeg
IMG_7868.jpeg
IMG_7869.jpeg

The 3D printed parts consist of three main body parts of the Polargraph plotter.

  1. The Main part ( Circuit housing):
  2. This part holds the controlling circuit which includes Arduino Nano and ULN2003 IC drivers.
  3. It also holds the two selfie sticks on the left and right face of the body.
  4. A rectangular cavity is provided at the top and bottom of the main body for the servo motor wires. You can use either cavity to make servo motor wires connections to circuit board.
  5. The Motor Holding Part
  6. Attach the stepper motors inside the cavity provided in the 3D printed parts using screws.
  7. There is a cavity provided in each holding part to pass motor wires from it.
  8. These cavities is then used to hold up with the other end of the selfie sticks.
  9. Mount the stepper motors assembly at the end of selfie sticks with the help of super glue.
  10. The Moving Part (Gondola)
  11. The Moving part (Gondola) is consists of a 3D printed part, a Bearing and some screws.
  12. This parts hold pen or marker and Servo motor.
  13. Use a long wire for servo motor as the gondola has to travel all across the drawing area.
  14. Attach the servo motor on the 3D printed using super glue while ensuring that the servo arm can move across the gap provided in the 3D printed part.
  15. The 3D printed Gondola has 2 movable arm attached to it with the help of screws.
  16. Do not tight these screws so that these arms can moves freely as a pivotal joint.
  17. The Bearing is used play as a dead weight role and nothing. You can use a nut or other dead weight to ensure that the gondola remains stable while moving throughout the drawing area.

Circuit Schematics_1

circuit_image (1).png
IMG_7804.jpeg

Connect the ULN2003 IC to the Arduino Nano:

For X-axis Motor

  1. IC pin → Arduino pin
  2. IN4 → D2
  3. IN3 → D3
  4. IN2 → D4
  5. IN1 → D5

For Y-axis Motor

  1. IC pin → Arduino pin
  2. IN4 → A0
  3. IN3 → A1
  4. IN2 → A2
  5. IN1 → A3

Servo Motor Connection:

  1. Signal pin (Brown wire) → D9
  2. Power (Red wire) → 5V
  3. Ground (Black wire) → GND.

Connect the two 28BYJ-48 stepper motors to their respective ULN2003 driver IC pins as per the circuit diagram.

Provide external power to the ULN2003 driver IC and stepper motors using 5V female DC jack.

Make necessary connections as per the circuit diagram.

Circuit Schematics_2

circuit_image.png

If you want to use ULN2003 Motor Drivers then you can follow this Circuit diagram.

Upload Code

How To Upload Arduino Code and Configure Machine Settings (Polargraph Plotter)

Download the Polargraph plotter source code from the following link:

https://github.com/zanedrys/IPAD

  1. Unzip it. Then open the Processing software. Find the Sketch Book folder from file / preferences/ sketchbook/ location
  2. Find the Processing libraries in the Polargraph folder. Copy all the library folders in this folder into the libraries folder in the Processing Sketchbook folder.
  3. Move the Polargrapcontroller folder inside the Polargraph folder/ processing-source/ folder into the sketchbook folder.
  4. Copy the libraries to be used for the Arduino source code. (Copy the libraries in the Polargraph libraries folder to the Arduino libraries folder.)
  5. Find the source code to use for the Arduino. (Open the cource code in the Polargraph/ arduino-source/ polargraph_server_a1 folder.)


Configure Machine Settings

2.PNG
1.PNG

For using 28BYJ-48 stepper motors, and ULN2003 Drivers you have to make some changes in the Polargraph source code.

  1. Open the polargraph_server_a1.ino source code in the Arduino IDE.
  2. In polargraph_server_a1 tab do the following changes:
  3. In line 71 put //
  4. And in line 76 remove //


  1. Go to the Configuration tab and make these changes:
  2. Remove the line 96: AccelStepper motorA(8, 6,8,7,9); with this line AccelStepper motorA(8, A0,A2,A1,A3);
  3. Upload the polargraph_server_a1.ino source code to the Arduino Nano.


Final Assembly

IMG_7839.jpeg
IMG_8119.jpeg
IMG_8120.jpeg
IMG_8121.jpeg
IMG_8218.jpeg
IMG_8219.jpeg

Attach strings to the motor shafts. The strings should suspend the pen holder (or gondola) in the middle.

Attach the servo motor to the pen holder to lift and lower the pen.

Ensure the strings are of equal length and the system is balanced.

Machine Settings

aa.png
3.PNG
4.PNG
5.PNG

Open Processing 2 app. then open polargraphcontroller (file -> sketchbook -> polargraphcontroller)

  1. Run the program by pressing the Run button.
  2. Click on the Setup tab from the tool bar.
  3. Adjust the size between two pulleys on the Machine Width
  4. Adjust the Machine Height (height between the pulley and the end of the panel)
  5. After machine dimensions, adjust the size the area you will draw.
  6. Then, first click the Center Page and then set the Page Pos Y value 197.
  7. Secondly click Center Home Point and set Home Pos Y value 197.

Stepper motor settings

  1. Set the STEP PER REV value according to the pulley and belt you are using. I am using 28byj-48 Stepper motor so the STEP PER REV for these motors is 2048.

Servo motor (Pen) settings

  1. Pen Up Position and Pen Down Position values are the operating angle of the servo motor.
  2. Click Serial Port and select Arduino's port from the list of connected devices.
  3. When the correct port is selected, the 'No Serial Connection' display will turn GREEN and the port number to which it is CONNECTED will be displayed.
  4. Click on 'Command Queue' and command transmission is activated.
  5. Click Upload Lift Range, then click Test Lift Range and test the servo motor angle.


Generate SVG File

Use software like Inkscape to create SVG File.

Open INKSCAPE.

Click on File tab > Document properties > Width equals to 100mm and Height equals to 100mm.

Drag and drop the particular image in Inkscape > Select Image > Convert to Path > Delete the original image > Path tab> Object to path.

Click on File tab > Save As > Filename.SVG > Click Save

Send the SVG File to the Arduino using a serial monitor or a Polargraph controller program.

Working

IMG_8061.jpeg
IMG_8069.jpeg
IMG_8072.jpeg
IMG_8077.jpeg
IMG_8085.jpeg
IMG_8090.jpeg

Load vector

  1. Save your setting. Load your setting every time you turn on the program.
  2. Click the Input tab and switch to the main screen of the program.
  3. Then we will manually set the gondola for 'Set Home' manually. Move the gondola by manually and move it to the previously defined home point. The gondola must be adjusted this way before each drawing before clicking 'Set Home'.
  4. After this adjustment is done, Set Home and Set Pen Position are clicked.
  5. Click Set Area to specify your drawing are. Then click Set Frame to Area to make all necessary settings for drawing.

Draw Vector

  1. Find any vector drawing image. Convert image to the SVG format from any converter platform.
  2. After select Load Vector from program. Adjust image size with Resize Vector. Move the image to the desired area with Move Vector. Then adjust the area to be printed with Select Area and Set Frame to Area.
  3. Finally, click the Draw Vector command to start the machine.


Tips for Better Results:

  1. Use smooth strings or fishing lines for minimal friction.
  2. Add a counterweight to stabilize the pen holder.
  3. Calibrate the system to ensure accurate scaling of the drawing.

With this setup, you should be able to create a functional Polargraph plotter and experiment with drawing intricate patterns!

Results

IMG_8130.jpeg
IMG_8136.jpeg
IMG_8137.jpeg
IMG_8140.jpeg
IMG_8142.jpeg
IMG_8144.jpeg

STL Files and SVG Files

Final Words

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 Polargraph Plotter with the help of this tutorial.

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

Thanks again.