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.
![]() |
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:
![]() |
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.
![]() |
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 bermanfaat.
Posting Komentar untuk "Cara Menggunakan TB6560 Stepper Motor Driver Arduino "