Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Menggunakan TB6560 Stepper Motor Driver Arduino

Cara Menggunakan TB6560 Stepper Motor Driver Arduino 

Cara Menggunakan TB6560 Stepper Motor Driver Arduino  - TB6560 adalah sebuah IC Driver untuk motor stepper yang menggunakan mode PWM untuk mengontrol microstep pada motor bipolar. 

IC TB6560 ini mampu menggontrol stepper mengurangi getaran, memutar maju dan mundur serta mengatur kecepatan hanya menggunakan sinyal clock.

Spesifikasi TB6560 Modul Driver:

  • Tegangan power  6V - 40V
  • Arus maksimal 3A 
  • Mode Eksitasi 1/1 (2 phase), 1/2 (1-2 phase), 1/8 (2W1-2 phase) dan 1/16 (4W1-2 phase)
  • Mampu Rotasi forward dan reverse
  • Pin Reset dan Enable
  • Thermal Shutdown (TSD)
  • Untuk lebih lengkap, lihat datasheet dibawah.

chip piko, Cara Menggunakan TB6560 Stepper Motor Driver Arduino
Konfigurasi TB6460 Stepper Driver


Untuk motor stepper yang saya gunakan pada tutorial ini adalah Wantai Motor Stepper Nema 17 42BYGHW811. Sedangkan untuk Power, pada artikel ini saya gunakan adaptor dengan tegangan 9V dan Arus 1A. Anda dapat mengganti sesuai dengan kebutuhan.


Spesifikasi Motor Stepper Nema 17 42BYGHW811:
  • Step Angle 1.8°
  • Step Akurasi 5%
  • 200 step per 1 putaran penuh
  • Tegangan Kerja 3.1V
  • Arus Kerja Max 2.5A
  • Torsi 4.8 kg/cm
  • Jenis motor BiPolar
  • Untuk lebih lengkap, lihat datasheet dibawah.

A. Rangkaian Dasar Schematic TB6560 Arduino

Untuk dapat mengontrol atau menggerakankan motor stepper menggunakan driver TB6560, kita harus menghubungkan arduino ke IC Driver ini dengan benar. Adapun rangkaiannya adalah sebagai berikut:
chip piko, Schematic TB6560 Arduino, Rangkaian TB6560 Arduino, Cara Menggunakan TB6560 Stepper Motor Driver Arduino
Rangkaian TB6560 Arduino



Perhatikan gambar diatas, saya aktifkan (On) pada SW2, karena saya hanya menggunakan arus 0.5A dalam percobaan ini. Adapun saklar sebelah kiri (merah), saya aktifkan (On) hanya pada S4, karena dalam contoh dasar ini, saya akan menggunakan step per resolution 1/16.

Jika anda masih bingun dengan step per resolution dan angkanya, anda dapat membaca artikel Cara Kerja Motor Stepper, Jenis-jenisnya dan Mikrostepping.


B. Progam Untuk Mengendalikan Stepper Menggunakan Driver TB6560

1. Program Dasar TB6560 Berputar Per 1°

Pada progam ini, kita akan mencoba memutar motor stepper untuk dapat bergerak per 1° hingga 360°, kemudian kembali ke 0°, dan seterusnya. 

Berikut adalah kode singkatnya.

int dirPin = 2;
int stepPin = 3;

//stepsPerRevolution 200 tidak digunakan pada kode ini.
//int stepsPerRevolution = 400; //Untuk 1/2 --> Ubah saklar S3=1 & S4=0
//int stepsPerRevolution = 1600; //Untuk 1/8 --> Ubah saklar S3=1 & S4=1
int stepsPerRevolution = 3200; //Untuk 1/16 --> Ubah saklar S3=0 & S4=1

int sudut = 0;
int nilai = 0;
int nilaiDelay = 30;
int cekSudut = 0;
int a = 0;

void setup() {
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}

void loop()
{
if (cekSudut == 0) {a = +1; }
if (cekSudut == 360) {a = -1; }

sudut = sudut + a ;
a = sudut;
nilai = map(a, 0, 360, 0, stepsPerRevolution);

//Jika data bernilai +, maka putar ke kanan
if (a == 1)
{
digitalWrite(dirPin, LOW);

for (int i = 0; i < nilai; i++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(nilaiDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(nilaiDelay);
}

}

//Jika data bernilai -, maka putar ke kiri
if (a == -1)
{
digitalWrite(dirPin, HIGH);

for (int i = 0; i > nilai; i--)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(nilaiDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(nilaiDelay);
}
}

delay(100);
}

2. Kontrol Putaran Derajat TB6560  Stepper Motor Menggunakan Serial Monitor Arduino

Skenario program berikut adalah mengontrol perputaran motor stepper dengan mengirimkan nilai sudut melalui serial monitor arduino.

Sebagai contoh jika kita ingin memutar 90°, maka ketikkan 90 pada Serial Monitor Arduino lalu enter. Jika ingin membalikkan 90°, ketikkan -90 lalu enter, dan seterusnya.

chip piko, Cara Menggunakan TB6560 Stepper Motor Driver Arduino
Pengujian Kode Program

//www.chippiko.com

int dirPin = 2;
int stepPin = 3;

//int stepsPerRevolution = 200; //Untuk 1/1 --> Ubah saklar S3=0 & S4=0
//int stepsPerRevolution = 400; //Untuk 1/2 --> Ubah saklar S3=1 & S4=0
//int stepsPerRevolution = 1600; //Untuk 1/8 --> Ubah saklar S3=1 & S4=1
int stepsPerRevolution = 3200; //Untuk 1/16 --> Ubah saklar S3=0 & S4=1

int dataSerial = 0;
int nilai = 0;
int nilaiDelay = 30;

void setup() {
Serial.begin(9600);
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}

void loop()
{
if (Serial.available() != 0)
{
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(dirPin, LOW);

for (int i = 0; i < nilai; i++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(nilaiDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(nilaiDelay);
}

}

//Jika data bernilai -, maka putar ke kiri
if (dataSerial < 0)
{
digitalWrite(dirPin, HIGH);

for (int i = 0; i > nilai; i--)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(nilaiDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(nilaiDelay);
}
}

delay(1000);
}


Jika anda butuh datasheet TB6560, anda dapat melihat datasheetnya sebagai berikut:

Jika anda butuh datasheet Motor Stepper Nema 17 42BYGHW811, anda dapat melihat datasheetnya sebagai berikut:



Semoga artikel ini bermanfaat.

Posting Komentar untuk "Cara Menggunakan TB6560 Stepper Motor Driver Arduino "