3-axis cnc with Arduino?

Started by pline, November 13, 2014, 04:21:26 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pline

Hello,
has anyone tried building 3-axis stepper motor controller with an Arduino Uno rev3 board ?
thinking of building one for a small home made milling machine, any suggestions and inputs would be of immense help.
Regards
Nilanjan Paul

tymkr

Yes. I have. Where are you at it ? What help do you need ?

Regards,
tymkr

pline

Hello I have got the uno, 3 stepper motors (NEMA17 7.2v 560ma) and 3 easy drivers from sparkfun.
now am not sure what sware to use. Have read grbl documentation on github, but still not very sure.

I have earlier constructed a 3-axis mill using Mach3 on a parallel port BOB, but never anything using the serial ports. Want to use win7 for the uno 3-axis project any help would be of immense help.
Regards
Nilanjan paul

lastRites

Your best bet would be look at youTube videos. There are a lot of ways you can talk to the arduino to operate the cnc. I suggest you google "Arduino Grbl"
It is the pervading law of all things organic and inorganic,
Of all things physical and metaphysical,
Of all things human and all things super-human,
Of all true manifestations of the head,
Of the heart, of the soul,
That the life is recognizable in its expression,
That form ever follows function. This is the law.

tymkr

Hey Nilanjan ! I saw your mail quite late. I don't know whether you still wish to know, but here it is:

1) Use this reference for Arduino UNO : http://i2.wp.com/blog.protoneer.co.nz/wp-content/uploads/2013/01/Grbl_Pin_Layout.png

The above are the default pinouts for grbl. You can also change in the library but right now its recommended to use the default.

2) Download grbl library and copy it in the library of Arduino's folder.

3) Simply upload the following program :

#include<grbl.h>

p.s. no need to put void setup() and void loop()

4) Your Arduino is grbl ready now after successful uploading.

Now the hardware connections. These connections are the most basic ones you need to know to get your CNC running.

5) Connect your stepper motors to each easydriver board. Connect the grounds of each driver and arduino together. Also give basic power connections to the easydrivers. https://cdn.sparkfun.com/datasheets/Robotics/EasyDriver_v45.pdf
Configure each easydriver independently for SLEEP, MS1, MS2, ENABLE, RESET, PFD.

The only connections from the easyDriver to the Arduino will be the GND, DIR & STEP signals for each axis and connect them to arduino pins :  2,3,4,5,6,7.  If needed, connect the ENABLE of all three drivers with pin8 of arduino or externally enable the easydrivers.
ref > http://i2.wp.com/blog.protoneer.co.nz/wp-content/uploads/2013/01/Grbl_Pin_Layout.png

6) Use a gcode sender such as this one : http://zapmaker.org/projects/grbl-controller-3-0/

Try to connect with Arduino. If done correctly, the motors should move when you press the arrow keys. You might have to send feed rate before. Set it at your required value by sending F(feedrate) in mm/min that is :
F100 for 100 mm/min or F200 for 200mm/min. This also decides the speeds at which your axes will be moving.

Regards,
tymkr

Power_user_EX

You will need to edit the grbl configuration before flashing (Steps per mm, Max feeds, etc.., baud). Though most settings can be overridden via console. I am using Universal Gcode sender. Its pretty basic compared to MACH3 but does the job.