5,710
edits
Changes
GRBL
,→Storing Home
=To compile GRBL and upload to the Arduino=
*Download GRBL: https://github.com/grbl/grbl/archive/master.zip
*unzip grbl-master
*Open Terminal.
*Set the following environment variabels (i.e. run these commands in the terminal):
<syntaxhighlight lang="bash">
export AVRPATH=/Applications/Arduino.app/Contents/Java/hardware/tools/avr/
</syntaxhighlight>
<syntaxhighlight lang="bash">
export DEVPATH=/dev/tty.usbmodem1411
</syntaxhighlight>
***(note: DEVPATH should match the name of your currently connected arduino. you can find this from arduino software under Port selection)
<syntaxhighlight lang="bash">
export GRBLHEX=grbl.hex
</syntaxhighlight>
*Add the avr compiler's to your PATH. type this into the terminal:
<syntaxhighlight lang="bash">
export PATH="$PATH:$AVRPATH/bin"
</syntaxhighlight>
*Change to the grbl directory:
<syntaxhighlight lang="bash">
cd ~/Downloads/grbl-master
</syntaxhighlight>
**NOTE: replace <code>~/Downloads</code> with the full path where you downloaded GRBL.
*Compile GRBL. In the grbl-master director, type:
<syntaxhighlight lang="bash">
make
</syntaxhighlight>
GRBL should compile.
*Upload GRBL to the arduino. From the grbl-master directory, run:
<syntaxhighlight lang="bash">
$AVRPATH/bin/avrdude -C$AVRPATH/etc/avrdude.conf -pm328p -carduino -P$DEVPATH -D -Uflash:w:$GRBLHEX
</syntaxhighlight>
adapted from here: https://github.com/grbl/grbl/wiki/Flashing-Grbl-to-an-Arduino
==Upload to Nano V3.0 (slower baud rate)==
Needs 57600 baud rate instead of default uno 115200
<syntaxhighlight lang="bash">
$AVRPATH/bin/avrdude -C$AVRPATH/etc/avrdude.conf -b57600 -pm328p -carduino -P$DEVPATH -D -Uflash:w:$GRBLHEX
</syntaxhighlight>
== How to connect pins of Arduino for GRBL ==https://dl.dropbox.com/u/2221997/Grbl_Pin_Diagram.pnghttps://github.com/grbl/grbl/wiki/Connecting-Grbl == What the GRBL settings mean, and how to change them ==*https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8 == GCode Command Reference ==These are the standard GCode commands implemented by GRBL:* https://github.com/grbl/grbl/wiki==Getting Started with GRBL Commands==Some basic GRBL commands*How to pull up the help menu: <code>$</code>*fast move (G0) (a.k.a "seek")*slow move (G1)*Absolute vs. Relative positioning:<pre> G90 # absolute positioning G92 X10.0 y1.0 # set coordinates of current position</pre> *Homing routines. what is a homing routine. *feed hold and resume.*interrupting a command and starting something totally new (though keeping your position information)**reset GRBL.<code>ctrl-x</code>*querying your position: <code>?</code>*How to configure GRBL: see next section. == My GRBL defaults Settings ==<codepre>
$0=28.175 (x, step/mm)
$1=28.175 (y, step/mm)
$19=25.000 (homing feed, mm/min)
$20=250.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)
</pre>
=== current 20130703 pre-homing save===
<pre>
Grbl 0.8c ['$' for help]
G20ok
G91M3ok
$0=6.964 (x, step/mm)
$1=6.964 (y, step/mm)
$2=6.964 (z, step/mm)
$3=10 (step pulse, usec)
$4=20320.000 (default feed, mm/min)
$5=65000.000 (default seek, mm/min)
$6=56 (step port invert mask, int:00111000)
$7=25 (step idle delay, msec)
$8=900.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=1 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=0 (hard limits, bool)
$17=0 (homing cycle, bool)
$18=0 (homing dir invert mask, int:00000000)
$19=25.000 (homing feed, mm/min)
$20=250.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)
</pre>
=== With Homing ===
<pre>
$0=28.175 (x, step/mm)
$1=28.175 (y, step/mm)
$2=250.000 (z, step/mm)
$3=10 (step pulse, usec)
$4=500.000 (default feed, mm/min)
$5=10000.000 (default seek, mm/min)
$6=56 (step port invert mask, int:00111000)
$7=25 (step idle delay, msec)
$8=500.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=0 (hard limits, bool)
$17=1 (homing cycle, bool)
$18=255 (homing dir invert mask, int:11111111)
$19=400.000 (homing feed, mm/min)
$20=2000.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)
</pre>
===trying to improve continuation of stroke behavior===
<pre>
$0=6.964 (x, step/mm)
$1=6.964 (y, step/mm)
$2=6.964 (z, step/mm)
$3=10 (step pulse, usec)
$4=20320.000 (default feed, mm/min)
$5=65000.000 (default seek, mm/min)
$6=56 (step port invert mask, int:00111000)
$7=25 (step idle delay, msec)
$8=900.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=1 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=0 (hard limits, bool)
$17=1 (homing cycle, bool)
$18=0 (homing dir invert mask, int:00000000)
$19=400.000 (homing feed, mm/min)
$20=10000.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)
ok