1. Arduino IDE Library
Link to download GRBL Setup,兩種版本
grbl V0.9------grbl 1.1
2. Download the library file unzip it and load to
arduino
支持Arduino單片機的GRBL項目, 用該項目做的雕刻機功能專業強大,但是新版1.1只支援Z軸使用步進電機做雕刻部分。不支持舵機。(因為抬筆落筆動作要乾脆俐落,所以如果只是做繪圖器的話我建議首選舵機)我們就使用舊版的固件0.9,
PS: 由於版本原因,從上面連結下載V0.9或V1.1都不能正確控制舵機,因此,還是需要下載我提供的套裝軟體中的MIGRBL固件, 也可以參考:GRBL CNC Shield
+ Z Axis servo MIGRBL。
另外一個固件,此固件可以試試:robottini/grbl-servo
固件的安裝方法:下載直接在ArduinoIDE功能表裡面點專案→載入庫→添加一個ZIP庫→選擇下載包添加,然後回到功能表:檔→示例→MIGRBL→grblUpload 上傳到Arduino裡即可。這套代碼基本適用於Arduino比較常用的板子,建議就用UNO,另外還需要一個專用的CNC擴展板以及兩塊A4988步進電機驅動板。
3. InkScape
·
用於生產GCode的inkscape :官方地址1,因為MI擴展外掛程式已經不再更新,能支持inkScape的最新版本是0.48.5.
·
伺服電機控制擴展:- 按一下此處下載
4. UCGS—通用G代碼發送器:
·
最新版本下載位址:https://github.com/winder/builds,下載方式:此種下載方式肯定有問題,隱隱約約覺得應該用git pull命令,先留下記號吧!
GRBL參數中的脈衝計算
1. 計算每毫米的脈衝數公式
光碟機特點:每步18度(一圈20步),絲杆直徑一般為3mm,絲杆螺距為3mm,也就是步進電機每轉一圈,移動距離為3毫米,
咱主要修改“脈衝數”脈衝/mm這個參數
2. 首先你必須知道你買的滑台的以下參數
即每轉一圈需要20個脈衝(步)
3. 驅動每一步的微步數:16,驅動選擇多少細分就是多少
這個參數計算方法如下
按照上面給出的計算公式
·
不細分: (20×1)÷3=6.666
·
2細分: (20×2)÷3=13.333
·
4細分: (20×4)÷3=26.666
·
8細分: (20×8)÷3=53.333
·
16細分: (20×16)÷3=106.666
還有,另一種方式可以轉G碼。就是下載安裝"MakerBot Unicon"擴充軟體包,安裝成功後可以另存新檔選擇文件類型為"MakerBot Unicon Gcode"就行。
材料清單:
·
Arduino UNO--------------------------------------數量- 1
·
CNC V3 Shield------------------------------------數量-1
·
servo motor----------------------------------------數量-1
·
A4988 Stepper driver shield--------------------數量-2
·
Old scrap DVD Drives---------------------------數量-2
·
Some push buttons as limit S/W---------------數量-2
·
A acrylic sheet for base(亞克力板)
·
Pen holder (slavege from DVD Drive)
·
Some wires
需要清楚電機的參數:步距角(一個脈衝的角度變化我的是0.9度),工作電壓,以
及線序(A+,A-,B+,B-對應的顏色)
擴展板上每個A4988下面需要三個跳線帽,決定細分數,三個都接上。
旁邊四個針腳順序是B+A+B-A-。他們就是接步進電機的位置了;
接錯了,電機不動且有哢哢聲,接對了,電機動,也會有較為不同的聲音,正常
的。
**如果遇到工作時聲音很大和電機發熱嚴重就要適當調節A4988上的旋鈕(逆時針)
限位元開關是可選的(Limit switch are optional)
您可以通過如下更改GRBL設置來使用它們
(You can use them by changing the GRBL setting as
below)
$21=0 (hard limits, bool)
to
$21=1 (hard limits, bool)
Grbl引數配置說明
$0=10 (steppulse, usec) 步進脈衝時間,建議10us
$1=25(step idle delay, msec) 步進電機除能延遲時間
$2=0 (stepport invert mask:00000000) 步進電機驅動埠有效位掩碼
$3=6 (dirport invert mask:00000110) 步進電機驅動方向位掩碼
$4=0 (stepenable invert, bool) 步進電機使能取反有效位設定
$5=0(limit pins invert, bool) 限位IO口取反有效位設定
$6=0(probe pin invert, bool) 探針IO口取反有效位設定
$10=3(status report mask:00000011) 狀態報告掩碼
$11=0.020(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=1(homing dir invert mask:00000001) 歸位方向位掩碼
$24=50.000(homing feed, mm/min) 歸位進給速率
$25=635.000(homing seek, mm/min) 歸位快速速率
$26=250(homing debounce, msec) 歸位邊界反彈時間
$27=1.000(homing pull-off, mm) 歸位點座標離限位器觸發點的距離
$100=314.961(x, step/mm) x軸速度轉化引數 步/毫米
$101=314.961(y, step/mm) y軸速度轉化引數 步/毫米
$102=314.961(z, step/mm) z軸速度轉化引數 步/毫米
$110=635.000(x max rate, mm/min) x軸最大速率 毫米/分鐘
$111=635.000(y max rate, mm/min) y軸最大速率 毫米/分鐘
$112=635.000(z max rate, mm/min) z軸最大速率 毫米/分鐘
$120=50.000(x accel, mm/sec^2) x軸加速度 毫米/(s*s)
$121=50.000(y accel, mm/sec^2) y軸加速度 毫米/(s*s)
$122=50.000(z accel, mm/sec^2) z軸加速度 毫米/(s*s)
$130=225.000(x max travel, mm) x軸最大行程
$131=125.000(y max travel, mm) y軸最大行程
$132=170.000(z max travel, mm) z軸最大行程