Mini Arduino Plotter Without a Servo Motor

by TunMaker in Workshop > CNC

24175 Views, 275 Favorites, 0 Comments

Mini Arduino Plotter Without a Servo Motor

Mini arduino plotter from 2 DVD-drives and L293 H-bridges
mini arduino plotter wiring diagram 1.png
mini arduino plotter wiring diagram 2.png

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

Gathering the Parts We Need From the DVD-drives

Snapshot_3.png
Snapshot_6.png
Snapshot_7.png
Snapshot_8.png
Snapshot_9.png
Snapshot_10.png
Snapshot_11.png
Snapshot_12.png
Snapshot_13.png
Snapshot_14.png
Snapshot_15.png
Snapshot_16.png
Snapshot_17.png
Snapshot_18.png

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 :

Wiring the Stepper Motors

Snapshot_30.png
Snapshot_29.png
Snapshot_28.png
Snapshot_27.png
Snapshot_26.png
Snapshot_25.png

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.

Assembling the Plotter

Snapshot_19.png
Snapshot_20.png
Snapshot_21.png
Snapshot_22.png
Snapshot_23.png
Snapshot_24.png

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

Wiring the Circuit

mini arduino plotter wiring diagram 1.png
mini arduino plotter wiring diagram 2.png

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 :

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();

}

Make G-code and Start Plotting

IMG_1188.JPG
IMG_1192.JPG
IMG_1196.JPG

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