Keyes CNC Shield V.4 GRBL Serta Cara Menggunakannya
Keyes CNC Shield V.4 GRBL
Keyes CNC Shield GRBL Serta Cara Menggunakannya - CNC Shield adalah sebuah modul untuk CNC driver motor stepper. Pada artikel ini kita akan belajar CNC Shield dari Keyes Studio.
Keyes CNC Shield ini menggunakan driver A4988 untuk masing-masing motor stepper dan untuk menggerakkan atau mengontrol CNC Shield ini menggunakan Arduino Nano.
Adapun spesifikasi CNC Shield ini adalah:
- 3 Driver motor stepper
- Kompatibel dengan mesin laser mikro dan mesin ukir
- Dapat mengontrol motor stepper dua fasa hingga 2A
- Antarmuka I/O seperti ENDSTOP mudah untuk dihubungkan
- Tersedia antarmuka I2C yang dapat dihubungkan dengan modul LCD.
- Memiliki Jack input DC dari 7.5 hingga 12V
- Kompatibel dengan GRBL 8.
A. Keyes CNC Shield PinOut
Adapun pinout Keyes CNC Shield adalah sebagai berikut:
![]() |
Keyes CNC Shield (Sumber: https://wiki.keyestudio.com) |
B. Driver Motor Stepper A4988
Karena CNC Shield ini menggunakan Driver A4988, alangkah baiknya kita
mempelajari sedikit tentang driver ini.
Driver A4988 ini merupakan driver mikrostep DMOS yang mendukung resolusi
stepping full, 1/2, 1/4, 1/8, dan 1/16. Adapun spesifikasinya adalah sebgai
berikut.
Spesifikasi Driver A4988:
- Min Tegangan Logika 3V
- Max Tegangan Logika 5.5V
- Max Arus per Fasa 2A
- Arus Kontinu per Fasa 1A
- Min Tegangan Operasi 8V
- Max Tegangan Operasi 35V
![]() |
Pin Out Driver A4988 |
Untuk dapat memilih resolusi stepping, a4988 ini memiliki pin out MS1, MS2,dan
MS3. Mode pengaturan kerja adalah:
-
Mode Stepping Full Step
MS1 = Low
MS2 = Low
MS3 = Low
-
Mode Stepping 1/2
MS1 = High
MS2 = Low
MS3 = Low
-
Mode Stepping 1/4
MS1 = Low
MS2 = High
MS3 = Low
-
Mode Stepping 1/8
MS1 = High
MS2 = High
MS3 = Low
-
Mode Stepping 1/16
MS1 = High
MS2 = High
MS3 = High
* Low = Gnd dan High = Vcc
Di modul driver A4899 terdapat sebuah potensiometer SMD yang berguna untuk
mengatur penggunaan Arus.
Untuk informasi lebih lanjut tentang driver ini, silahkan menuju halaman wiki
keyesstudio
disini.
Atau jika anda ingin lebih lengkah tentang Chip, berikut saya lampirkan
Datasheet A4988 PDF Download:
C. Arduino Nano
Sekarang kita akan membahas sedikit tentang komunikasi serial Arduino Nano dan
hal terkait dengannya.
Arduino Nano banyak yang memproduksinya, sehingga hal yang paling mendasar
perbedaan dari Arduino Nano ini adalah pada bagian Chip Serial Konverternya.
Ada yang menggunakan chip FTDI dan ada yang menggunakan CH340. Kebanyakan
produk arduino Nano yang berasal dari China menggunakan chip CH340.
Terutama untuk chip CH340, kita harus install driver softwarenya agar proses
upload kode nanti berjalan dengan lancar.
Untuk cara install driver, saya telah menuliskannya di halaman "Penyebab Port Arduino Tidak Terdeteksi CH340 Driver".
Sekarang, silahkan pasang Arduino Nano ke keyes CNC Shield.
D. Hubungkan Motor Stepper ke CNC Shield Keyes
Setelah Arduino terpasang ke board Shield, langkah selanjutnya adalah
mehubungkan motor stepper ini ke board shield.
Silahkan mengikuti gambar berikut:
![]() |
CNC Shield V4 Connection Stepper Motor |
Pastikan anda menghubungkan ke seluruh pin header motor stepper yang telah
disediakan di board diantaranya X, Y, Z.
E. Uji Coba Motor Stepper
Sebelum kita lanjut ke langkah seterusnya, kita harus menguji terlebih dahulu
motor stepper yang telah kita hubungkan ke Shield untuk memastikan motor
bekerja dengan normal.
Silahkan upload kode berikut ke arduino anda.
#define pinEN 8 #define stepPinX 5 #define stepPinY 6 #define stepPinZ 7 #define dirPinX 2 #define dirPinY 3 #define dirPinZ 4 void setup() { pinMode(stepPinX , OUTPUT); pinMode(stepPinY , OUTPUT); pinMode(stepPinZ , OUTPUT); pinMode(dirPinX , OUTPUT); pinMode(dirPinY , OUTPUT); pinMode(dirPinZ , OUTPUT); pinMode(pinEN , OUTPUT); digitalWrite(pinEN, LOW); // Aktifkan Driver, jika ingin non-aktifkan driver, set to HIGH } void loop() { digitalWrite(dirPinX, HIGH); digitalWrite(dirPinY, HIGH); digitalWrite(dirPinZ, HIGH); for (int x = 0; x < 200; x++) { digitalWrite(stepPinX, HIGH); digitalWrite(stepPinY, HIGH); digitalWrite(stepPinZ, HIGH); delayMicroseconds(500); digitalWrite(stepPinX, LOW); digitalWrite(stepPinY, LOW); digitalWrite(stepPinZ, LOW); delayMicroseconds(500); } delay(1000); //Balik Arah digitalWrite(dirPinX, LOW); digitalWrite(dirPinY, LOW); digitalWrite(dirPinZ, LOW); for (int x = 0; x < 200; x++) { digitalWrite(stepPinX, HIGH); digitalWrite(stepPinY, HIGH); digitalWrite(stepPinZ, HIGH); delayMicroseconds(500); digitalWrite(stepPinX, LOW); digitalWrite(stepPinY, LOW); digitalWrite(stepPinZ, LOW); delayMicroseconds(500); } delay(1000); }
Jika ketiga motor stepper anda berputar sama, maka hubungan antara stepper dan
Shield sudah normal.
Sekarang kita akan masuk ke bagian softwarenya.
F. Kontrol 1 Motor Stepper Berputar Melalui Serial Monitor
Sekarang kita akan coba memutar motor stepper menggunakan Serial Monitor
Arduino IDE. Untuk dapat berputar, masukkan nilai derajatnya di form serial
monitor.
Misalnya, kita ingin motor berputar sepanjang 90°, maka ketikkan 90 lalu
enter. Jika kita ingin kembali 90° berputar sebaliknya, ketikkan -90.
Namun, progam dibawah ini hanya untuk satu axis motor stepper saja saya
buatnya. Jika anda ingin semua dapat diatur berdasarkan serial monitor,
silahkan modifikasi progam ini.
Progamnya adalah sebagai berikut:
int pinEN = 8; int dirPinX = 2; int stepPinX = 5; //int stepsPerRevolution = 200; //Untuk 1/1 int stepsPerRevolution = 400; //Untuk 1/2 //int stepsPerRevolution = 1600; //Untuk 1/8 //int stepsPerRevolution = 3200; //Untuk 1/16 int dataSerial = 0; int nilai = 0; int nilaiDelay = 500; void setup() { Serial.begin(9600); pinMode(stepPinX, OUTPUT); pinMode(dirPinX, OUTPUT); pinMode(pinEN, OUTPUT); } void loop() { if (Serial.available() != 0) { digitalWrite(pinEN, LOW); //Aktifkan driver dataSerial = Serial.parseInt(); nilai = map(dataSerial, 0, 360, 0, stepsPerRevolution); Serial.print("Dari Serial:"); Serial.print(dataSerial); Serial.print(" Step:"); Serial.println(nilai); } //Jika data bernilai +, maka putar ke kanan if (dataSerial > 0) { digitalWrite(dirPinX, LOW); for (int i = 0; i < nilai; i++) { digitalWrite(stepPinX, HIGH); delayMicroseconds(nilaiDelay); digitalWrite(stepPinX, LOW); delayMicroseconds(nilaiDelay); } } //Jika data bernilai -, maka putar ke kiri if (dataSerial < 0) { digitalWrite(dirPinX, HIGH); for (int i = 0; i > nilai; i--) { digitalWrite(stepPinX, HIGH); delayMicroseconds(nilaiDelay); digitalWrite(stepPinX, LOW); delayMicroseconds(nilaiDelay); } } delay(1000); digitalWrite(pinEN, HIGH); //Matikan driver, gunakan ini untuk testing saja.
//Jika didalam praktek, ini mungkin akan di hilangkan
//Kenapa di matikan, karena untuk menjaga agar motor stepper tidak panas.
}
Setelah anda upload ke Arduino Nano, silahkan buka serial monitor dan ketikkan
nilai derajatnya, lalu kirimkan.
G. Kontrol 3 Motor Stepper Melalui Serial Monitor
Untuk menggerakkan motor stepper lebih dari 1 secara bersamaan melalui serial
monitor, kita tidak bisa menggunakan kode diatas (F), namun kita perlu
menambahkan fungsi interrupt.
Untuk program lengkapnya karena lebih panjang, saya menuliskannya pada satu halaman khusus, silahkan klik disini.
H. Install Firmware GRBL dan GRBL Kontroller
Apa itu GRBL?
GRBL adalah sebuah firmware untuk mikrokontroller yang dapat mengkonversi
bahasa pemrogaman G-Code menjadi pergerakan motor stepper pada mesin CNC.
Firmware ini akan diprogram ke Arduino. Kemudian arduino menerima data G-Code
dari PC dan kemudian mengolahnya sehingga mengirimkan sinyal tertentu ke
Driver Motor Stepper.
Dalam hal ini motor driver nya adalah A499.
Untuk dapat menjalankan G-Code GRBL ini ke Arduino, pada PC kita membutuhkan
suatu software namanya GRBL Controller.
Untuk bisa menggunakan Firmware GRBL, kita download terlebih dahulu file
librarynya. Silahkan anda download pada tombol berikut:
Silahkan tambahkan ke Arduino IDE anda.
Setelah library ditambahkan ke Arduino IDE anda, kita harus merubah aturan pin
direction dan step nya dengan cara edit file "config.h".
Adapun foldernya ada didalam folder grbl seperti pada gambar beikut:
Nanti didalam file config.h anda cari baris program ini:
// Define pin-assignments // NOTE: All step bit and direction pins must be on the same port. #define STEPPING_DDR DDRD #define STEPPING_PORT PORTD #define X_STEP_BIT 2 // Uno Digital Pin 2 #define Y_STEP_BIT 3 // Uno Digital Pin 3 #define Z_STEP_BIT 4 // Uno Digital Pin 4 #define X_DIRECTION_BIT 5 // Uno Digital Pin 5 #define Y_DIRECTION_BIT 6 // Uno Digital Pin 6 #define Z_DIRECTION_BIT 7 // Uno Digital Pin 7
Ubah menjadi:
// Define pin-assignments // NOTE: All step bit and direction pins must be on the same port. #define STEPPING_DDR DDRD #define STEPPING_PORT PORTD #define X_STEP_BIT 5 // Uno Digital Pin 2 #define Y_STEP_BIT 6 // Uno Digital Pin 3 #define Z_STEP_BIT 7 // Uno Digital Pin 4 #define X_DIRECTION_BIT 2 // Uno Digital Pin 5 #define Y_DIRECTION_BIT 3 // Uno Digital Pin 6 #define Z_DIRECTION_BIT 4 // Uno Digital Pin 7
Sekarang silahkan simpan file "config.h".
Kemudian untuk dapat berkomunikasi antara motor stepper shield dan GRBL
Controller, kita harus memprogram arduino nano dengan progam GRBL.
Silahkan upload dan burn bootloader dengan progam dasarnya adalah:
#include <grblmain.h> void setup(){ startGrbl(); } void loop(){} //Burn the code above to keyestudio nano ch340
Setelah program diatas di upload ke Arduino Nano, silahkan dowload GRBL
Kontroller untuk dapat mengontrol driver motor secara GUI melalui komputer.
Kemudian install GRBL Kontroller di sistem operasi Windows anda hingga
selesai, maka tampilan dari GRBL Kontroller adalah sebagai berikut:
H. Uji G-Code pada Grbl Controller
Sekarang kita akan menguji coba GRBL yang sudah di burn kedalam chip. Sulahkan
sambungkan arduino Nano ke Komputer, lalu buka GRBL Kontrollernya.
Pada form "Port name" pilih nama port Arduino Nano yang terdeteksi. Kemudian
setting Baud Rate pada nilai 9600.
Dan klik tombol "Open".
Setelah tombol "open" ditekan, maka tombol berubah menjadi merah dan teksnya
adalah "Close/Reset", artinya GRBL kontroller telah terhubung ke Arduino Nano.
Sekarang perhatikan gambar dibawah ini, tmbol yang dilingkari kotak merah.
![]() |
GRBL Kontroller Testing (Gambar ini milik wiki.keyestudio.com) |
Yang dilingkari kotak merah itu adalah tombol testingnya, silahkan anda klik
tombol tersebut dan perhatikan motor stepper.
Jika motor stepper anda bergerak. Artinya GRBL kontroller telah dapat
digunakan.
I. Uji G-Code pada Grbl Controller Menggunakan File G-Code
Sekarang kita akan tes menggunakan sebuah file G-Code.
Perhatikan pada GRBL kontroller, anda akan melihat tombol "Choose File". Silah
kan diklik tombol tersebut dan silahkan pilih file Gcodenya.
Misalnya dalam artikel ini saya memilih falah satu file GCode dengan nama
"test.nc".
Maka akan tampil review dari Gcode yang berada pada menu kanan.
Kemudian klik "Begin", maka anda akan melihat proses akan berlangsung pada
sebelah kiri.
Perhatikan gambar berikut:
|
Testing Kontroller GRBL |
Selamat mencoba.
Terima kaish telah berkunjung pada website Chip Piko.
Jika anda merasa artikel ini bermanfaat, anda dapt membagikan nya menggunakan tombol berikut:
Post a Comment for "Keyes CNC Shield V.4 GRBL Serta Cara Menggunakannya"