Skip to content Skip to sidebar Skip to footer

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:
Chip Piko keyes cnc shield pinout
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
 

 
driver motor stepper a4988
Pin Out Driver A4988

 

Untuk dapat memilih resolusi stepping, a4988 ini memiliki pin out MS1, MS2,dan MS3.  Mode pengaturan kerja adalah:
  1. Mode Stepping Full Step
    MS1 = Low 
    MS2 = Low
    MS3 = Low

  2. Mode Stepping 1/2
    MS1 = High
    MS2 = Low
    MS3 = Low

  3. Mode Stepping 1/4
    MS1 = Low
    MS2 = High
    MS3 = Low

  4. Mode Stepping 1/8
    MS1 = High
    MS2 = High
    MS3 = Low

  5. 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:

Keyes CNC Shield Wiring Schematics  Chip Piko Keyes CNC Shield V.4 GRBL Serta Cara Menggunakannya
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:

Keyes CNC Shield V.4 GRBL Serta Cara Menggunakannya


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:
 
Chip Piko Keyes CNC Shield V.4 GRBL Serta Cara Menggunakannya
 

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.
 
Chip Piko Keyes CNC Shield V.4 GRBL Serta Cara Menggunakannya
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:
 
Chip Piko Keyes CNC Shield V.4 GRBL Serta Cara Menggunakannya
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"