Panduan CNC Shield V.4 GRBL Keyes Untuk Pemula

A. Keyes CNC Shield V.4 GRBL

Keyes CNC Shield V.4 GRBL Serta Cara MenggunakannyaCNC Shield adalah sebuah modul untuk CNC driver motor stepper. Keyes CNC Shield menggunakan driver A4988 untuk masing-masing motor stepper dan untuk menggerakkan atau mengontrol CNC Shield menggunakan Arduino Nano. Pada artikel kita akan belajar CNC Shield dari Keyes Studio.



B. Spesifikasi CNC Shield

  • 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.


C. Keyes CNC Shield PinOut

Adapun pinout Keyes CNC Shield adalah sebagai berikut:

Panduan CNC Shield V.4 GRBL Keyes Untuk Pemula
Keyes CNC Shield (Sumber: https://wiki.keyestudio.com)



D. Driver Motor Stepper A4988

Karena CNC Shield menggunakan Driver A4988, alangkah baiknya kita mempelajari sedikit tentang driver.

Driver A4988 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:Pinout 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


Untuk dapat memilih resolusi stepping, a4988 memiliki pin out MS1, MS2,dan MS3.  Mode pengaturan kerja adalah:

Mode SteppingMS1MS2MS3
Full StepLowLowLow
1/2 StepHighLowLow
1/4 StepLowHighLow
1/8 StepHighHighLow
1/16 StepHighHighHigh
*Low = Gnd dan High = Vcc


Untuk informasi lebih lanjut tentang driver , silahkan menuju halaman wiki keyesstudio disini. Atau jika anda ingin lebih lengkah tentang Chip, berikut saya lampirkan Datasheet A4988 PDF Download:



E. 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 adalah pada bagian Chip Serial Konverternya.

Ada yang menggunakan chip FTDI dan 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.



F. Hubungkan Motor Stepper ke CNC Shield Keyes

Setelah Arduino terpasang ke board Shield, langkah selanjutnya adalah mehubungkan motor stepper ke board shield. Silahkan mengikuti gambar berikut:

Rankaian Hubungkan Motor Stepper ke CNC Shield Keyes
CNC Shield V4 Connection Stepper Motor

Pastikan anda menghubungkan ke seluruh pin header motor stepper yang telah disediakan di board diantaranya X, Y, Z.



G. 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 artinya hubungan antara stepper dan Shield sudah normal. Sekarang kita akan masuk ke bagian softwarenya.



H. 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 hanya untuk satu axis motor stepper saja saya buatnya. Jika anda ingin semua dapat diatur berdasarkan serial monitor, silahkan modifikasi progam. 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  untuk testing saja.
                             //Jika didalam praktek,  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.



I. 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 (H), namun kita perlu menambahkan fungsi interrupt.

Untuk program lengkapnya karena lebih panjang, saya menuliskannya pada satu halaman khusus, silahkan klik disini.



J. 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 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 motor driver nya adalah A499.

Untuk dapat menjalankan G-Code GRBL 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 berikut:

Panduan CNC Shield V.4 GRBL Keyes Untuk Pemula config.h


Nanti didalam file config.h anda cari baris program :

// 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:

Panduan CNC Shield V.4 GRBL Keyes Untuk Pemula


K. 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 , tmbol yang dilingkari kotak merah.

Panduan CNC Shield V.4 GRBL Keyes Untuk Pemula


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.



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

Panduan CNC Shield V.4 GRBL Keyes Untuk Pemula
Testing Kontroller GRBL

Selamat mencoba. Terima kasih telah berkunjung pada website Kini Saya Ngerti. Jika anda merasa artikel Cara Menggunakan CNC Shield V.4 GRBL Keyes ini bermanfaat, anda dapat membagikan nya menggunakan tombol berikut:

Similar Posts