Introduction: Mini Arduino Plotter Without a Servo Motor

About: i am a Mechatronics engineering student from Tunisia i love robotics and all kinds of projects ,from time to time i make tutorials and share some projects am making.you can find me on instructables.com or my w…

In this project I will show you how to turn two old DVD-drives into a mini plotter.this project is simple and easy to do and makes a good practice if you want to make a real CNC machine(this is why i started this project to prepare my self for a bigger CNC),you get to drive stepper motors and convert vector files to gcode..

this plotter is diffrent from the others because i used the cd tray mechnism for the z axis instead of a servo motor to lower the cost of the project hope you like it

let's get started :

Parts and tools:

2 - DVD-drives

3 - L293 H-bridges IC

1- Arduino uno

1 - Breadboard

- Some wires

- hot glue or something similar

- small pieces of plastic

- USB cable (i power the circuit from the pc)

1 - screw driver

i filmed all the steps on my youtube channel so check them out for more information :

Tunisian Maker : https://www.youtube.com/channel/UCsFmFKMpUdyIiE55W3KsTzw

Step 1: Gathering the Parts We Need From the DVD-drives

in this step we will begin by disassembling the DVD-drives to get the stepper motors and the carriages of the laser that reads the disk it's simple grab a screwdriver open the metal case and keep it it'll be the main body of our plotter also we will need the plastic mechanism of the DVD tray for our Z-axis this is how it looks :

this video is for step 2 and 3 also :

Step 2: Wiring the Stepper Motors

This is a tricky part cause the stepper motors are tiny and you need to take your time and be careful not to damage the motor cause i did and this is why:(IMPORTANT)

the stepper motor wires are attached in place with the plastic connector itself so if you remove the old connector the wire get loose and its hard to recover them after so you need to wire the new ones on top of the old one

each stepper motor needs 4 wires cut the four wires to the same length put a tip of solder on top then solder them to the stepper motor.

Step 3: Assembling the Plotter

the base of our plotter is the metal case itself i attached it with screws and bolts but you can use hot glue.

i mounted the X and Y axis perpendicular to each other with hot glue i didn't measure anything but it worked fine

for the Z axis i glued a piece of plastic to its back and glued it to the carriage of the Y axis

Step 4: Wiring the Circuit

get your breadboard put the 3 L293 IC first and wire the wires around them the last step would be wiring the motors

the drawings show it all.now before wiring the motors we need to find out the two pairs of coils i used my multimeter to find out the connected wires and connected each pair on a side of the IC

For the z axis it has a built in dc motor wich connects on a side of the third IC.

connect the arduino:

X axis 2,3,4,5

Y axis 6, 7,8,9

Z axis 10 11 but you can change it in the code if you want

this is the video :

Step 5: Testing the Connections and the Stepper Motors

its a simple arduino sketch using the fuctions of the stepper library like so:

For the X axis

#include <Stepper.h>

const int stepsPerRevolution = 20; //Connection pins: Stepper myStepperX(stepsPerRevolution, 8,9,10,11); void setup() { //Set speed: myStepperX.setSpeed(100); //max 250 steps for dvd/cd stepper motors myStepperX.step(160); delay(100); } void loop() {

}

For the Y axis

#include <Stepper.h>

const int stepsPerRevolution = 20; //Connection pins: Stepper myStepperX(stepsPerRevolution, 6,7,8,9); void setup() { //Set speed: myStepperX.setSpeed(100); //max 250 steps for dvd/cd stepper motors myStepperX.step(160); delay(100); } void loop() {

}

For the Z axis :

void setup() {
// Setup Serial.begin( 9600 ); pinMode(10, OUTPUT); pinMode(11, OUTPUT); delay(200);}

// Raises pen
void penUp() { digitalWrite(I1 , LOW);

digitalWrite(I2 , HIGH);

delay(200);

digitalWrite(I2 , LOW);

digitalWrite(I1 , LOW);

Serial.println("Pen up!"); }

// Lowers pen void penDown() {

digitalWrite(I2 , LOW);

digitalWrite(I1 , HIGH);

delay(200);

digitalWrite(I2 , LOW);

digitalWrite(I1 , LOW);

Serial.println("Pen down."); }

void loop() {

penUp();

penDown();

}

Step 6: Make G-code and Start Plotting

you need inkscape version 0.48.5 or it wont work and the plugin unicorn gcode plugin and the rest of the software with all the links is included are ready download