How to Make GRBL + CNC V3 Shield Based Mini CNC Machine From Scrap DVD Drive

79,383

215

32

About: Electrical engineer by profession

This CNC is based on GRBL0.9 Firmware and CNC V3 shield GRBL is Hacked for Z-axis Servo.

CNC Shield & GRBL combinly works very preciselyIt is loaded with very useful functions like Hard limit, Soft limit, Homing, etc


This is about how to make

GRBL+CNCV3 shield+Arduino based CNC machine

This guide include all necessary instruction required

like How to assemble CNC machine

How to Load GRBL to arduino

Inkscape extension installation

GRBL Configuration & G-code streaming

It is loaded with very useful functions like Hard limit, Soft limit, Homing, i will guide you in detail how to Make GRBL Based mini CNC machine at home

Step 1: Watch Video to Know How to Make

Watch this video it will clear you how to make and operate CNC machine

Step 2: Material Required

This are the list of some use full material required


  1. Arduino UNO--------------------------------------QTY- 1
  2. CNC V3 Shield------------------------------------QTY-1
  3. servo motor----------------------------------------QTY-1
  4. A4988 Stepper driver shield--------------------QTY-2
  5. Old scrap DVD Drives---------------------------QTY-2
  6. Some push buttons as limit S/W---------------QTY-2
  7. A acrylic sheet for base
  8. Pen holder (slavege from DVD Drive)
  9. Some wires
  10. Hardware like nut bots etc.

Step 3: Software Required

1. Arduino IDE

GRBL LIBRARY :- Click here to download

--------------------------------------------------------------------------------------

2. INKSCAPE

SERVO CONTROL EXTENSION :-Click here to download

---------------------------------------------------------------------------------------------

3. UNIVERSAL G-CODE SENDER : - Click here to download

----------------------------------------------------------------------------------------------

Step 4: Machine Assembley

  1. Place X-axis Horizontally on the bolt mounted on acrylic sheet
  2. Four bolt mounted on a metal sheet to fit Y-axis on it
  3. Now place the Pen up down holder on y axis whit the help of A bolt through the center
  4. Now place Y-axis on metal sheet and place it vertically on X-axis
  5. Now fit servo motor so that it will move z-axis which is our pen up and down
  6. Now mount CNC shield on Ardunino
  7. Do wiring A shown in wiring circuit as in Next step

For better understand please watch Video & pic attached here

Step 5: Wiring Diagram

Do wiring as shown here in image


Limit switch are optional

You can use them by changing the GRBL setting as below


$21=0 (hard limits, bool)

to

$21=1 (hard limits, bool)

Step 6: GRBL Loading to Arduino

Link to download GRBL Setup

http://www.mediafire.com/file/c36xny4qw9b7s5k/MI_G...

Download the library file unzip it

and load to arduino

Now go to File>Example>grbl upload compile and upload code to arduino


Note:- delete any previously loaded GRBL library

Step 7: G-CODE Setup in Inkscape

Again we are using here INKSCAPE software to make G-code

As we are using GRBL & CNC Shield for this machine s

o it will not support a servo motor as a Z-Axis

so here some hack by doing so we can able to manage Servo works on Z-axis

you need to add MI Extension here to get it work with Z-axis Servo

Download link http://www.mediafire.com/file/nl4w871suk192x2/MI_...

after download add this files to the

inkscape directory>Share>Extension folder

Now open inkscape set page size 40 x 40mm

draw what you want to plot

select image go to convert to path

then go to extension click on MI GRBL Z-AXIS SERVO CONTORL

Servo up = M3

Servo down = M5

X-axis speed = 2000

Y-axis speed = 2000 S

ervo angle = 90

Delay = 1

Directory = as per you convenient or keep as it is

File name = as per you convenient or keep as it is

Clik on Apply now you G-code is saved @ location you mention

Step 8: GRBL Configuration & Streaming G-code

Download link for Universal Gcode sender

https://www.mediafire.com/?2l16dvqivwgc9el

Open Universal G-code sender (Arduino must stay connected with PC/LAPTOP)

Select COM port

Set Baud rate 115200

clik on "OPEN"

go in "COMMANDS" Tab

enter $$ for GRBL configuration

Example Suppose we want to change the $0(step pulse, usec) value from 10 to 20

so enter in command line $0=20 & hit enter its done

My GRBL SETTING

$0=10 (step pulse, usec)

$1=25 (step idle delay, msec)

$2=0 (step port invert mask:00000000)

$3=0 (dir port invert mask:00000000)

$4=0 (step enable invert, bool)

$5=0 (limit pins invert, bool)

$6=0 (probe pin invert, bool)

$10=3 (status report mask:00000011)

$11=0.010 (junction deviation, mm)

$12=0.002 (arc tolerance, mm)

$13=0 (report inches, bool)

$20=0 (soft limits, bool)

$21=0 (hard limits, bool)

$22=0 (homing cycle, bool)

$23=0 (homing dir invert mask:00000000)

$24=25.000 (homing feed, mm/min)

$25=500.000 (homing seek, mm/min)

$26=250 (homing debounce, msec)

$27=1.000 (homing pull-off, mm)

$100=5.000 (x, step/mm)

$101=5.000 (y, step/mm)

$102=100.000 (z, step/mm)

$110=500.000 (x max rate, mm/min)

$111=500.000 (y max rate, mm/min)

$112=500.000 (z max rate, mm/min)

$120=10.000 (x accel, mm/sec^2)

$121=10.000 (y accel, mm/sec^2)

$122=10.000 (z accel, mm/sec^2)

$130=40.000 (x max travel, mm)

$131=40.000 (y max travel, mm)

$132=200.000 (z max travel, mm)

ok

Now time to stream Gcode to machine go to "FILE MODE" Tab Brows your gcode file and hit enter thats it

youR machine start plotting Hope you like this Comment below if any doubt

3 People Made This Project!

Recommendations

  • Colors of the Rainbow Contest

    Colors of the Rainbow Contest
  • Classroom Science Contest

    Classroom Science Contest
  • Beauty Tips Contest

    Beauty Tips Contest

32 Discussions

0
None
RomanR59

3 months ago

I have a 180x200 mm table. What to do to draw the whole table?

0
None
alpinex19

Question 11 months ago on Step 8

Hello. Servo SG90 is controlled by M3 code but angle was not 90º of action. it went to end of limit servo sg90. M5 code didnt work. servo couldnt turned manually when code M3 was active. Servo could turned by hand when M5 code active. What is the problem? can someone help me?

2 answers
0
None
JonatanS10alpinex19

Answer 5 months ago

same problem. Anyone got an answer? M3 and M4 moves same direction to max, but nothing moves it the other way

0
None
ПавелБ16alpinex19

Answer 9 months ago

Hi! I have the same problem. Did you find the solution. I use programm GRBL Controller and I added the command M3 S200 the servo turned. Then I entered M5 and servo didn't move ((( I enter M3 S10 and I hear the sound of the motor but it doesn't move.

Does anybody knows what heppens?

0
None
ggarcía-2

6 months ago

You forgot Something, You don't mention how to calibrate the Vref on the A4988 Drivers, in order to set the appropriate current that the DVD Servomotors need.

Remember, If you set a lower value than the motors needs, you will loose strength, otherwise if you set a higher value than motors needs, you will overheat the motors, or burn the motors.

Of Course, How many Current this DVD servomotors needs?

NEMA 17 Stepmotors uses 1.7Amps.



Regards

0
None
EduardoP138

Question 8 months ago

Buen día gracias por compartir tu proyecto . Me podrás ayudar mi moto es un 28byj-48 pero alconectar solo gira hacia un lado a si de movimiento a la derecha o a la izquierda gira en una solo.direccion

0
None
AndreaD20

12 months ago

Hi, thanks for the instructable. One simple question: What's the Vref at the driver for these type of motors, considering that my driver has an R100 resistor? My calculation is 0.24 8*0.1 = 0.192 Volt, but I want to be sure. Thanks!!

0
None
AmitV60

Question 1 year ago on Step 7

What will be do if directary show not be exist after apply

0
None
slanwar

1 year ago

my stepper motors works fine but not my servo and I tried 2 arduino unos, 2 cnc shield and 3 servos sg90 ( i have another attached to my 3d printer), I have no idea what to do anymore, connecting the servo to the arduino itself works for a bit but because is drawing the 5 v from my computer usb stops after a few movements. I reinstalled the grbl a few times with no luck

0
None
ChipStewart

1 year ago

Now the X Axis is doing it! I tried using another arduino and another driver. I guess I've fried the steppers.

0
None
ChipStewart

1 year ago

I build one almost exactly like this, then found this Instructable. Only differences were the use of RJ45 jacks for X, Y, & Z axis inputs; and, floppy drive stepper for pen up/down.

Unfortunately, I'm still trying to get it to work. The X axis works beautifully, moving strongly and smoothly. The Z is a little weak, but will probably suffice. The Y axis, however, has been a PITA from the beginning! First, it wouldn't do anything, which I fixed by re-soldering the connection and covering with U-cure glue for strength. Then it would twitch a little, but not really move. I was able to adjust the trimmer on the driver to get it to move. It's weak, but at least moves most of the time.

Only problem is, it only moves in one direction - regardless of whether I press +Y or -Y! I tried another stepper: same result. Switching another A4988 driver board didn't make a difference either. Should I bump up the voltage a little more? I'm at a measured voltage of 12.02V now. If I go higher, will I fry the steppers?

Any ideas why? Any suggestions? I've added pics of the front and back, and a video of X, A, and Y movement.

Thanks

Back.jpgFront.jpg
0
None
ChipStewart

1 year ago

I made one almost exactly like this one, before seeing this. The physical build went well, using polycarbonate and steel. I used RJ45 jacks to connect the X, Y, and Z axis, so I can switch machines.

The x-axis stepper works great - seems good and strong. The z is okay, after I got it to work. The Y, however, has been giving me a hard time. I finally got it working - kind of. At first it would only twitch. By fiddling with the driver trimmer, I got it to turn. Only problem is, it goes the same direction whether I jog +Y or -Y. I tried switching drivers, switching steppers, moving the cables around on the Y stepper outputs. Still, no change.

Any ideas?

0
None
DariusA4

1 year ago

Guys, anyone know why stepper motors become very hot ? thanks

1 reply
0
None
GaetanoEDariusA4

Reply 1 year ago

Attention you must use the tension of 5 Volt for these engines, even if on the shield there is written 12_36 Volt, otherwise they will end up burning

0
None
AbishRmostafa12345

Reply 1 year ago

Reduce the laser power while converting the image to gcoded
in inkscape (use J tech Photonic extension)

J-Tech-Laser-Tool-inkscape-picture-2.jpg
0
None
AdrianR11

1 year ago

Hi! I'm having troubles when I try to use the extension: I got an error and the gcode file is not generated. Please see the attached image for details. I'm using Inkscape 0.92 Thanks!

2017-12-27.png
1 reply