A4988 ile Step Motor Kontrolü, Arduino Nema 17 Kullanımı

A4988 ile step motor kontrolü nasıl yapılır, a4988 step motor sürücü devresi ile Nema 17 motor nasıl kontrol edilir. Bu alıştırmada bağlantı şeması, gerekli yazılım ve malzeme listesinden bahsedeceğiz. Eğer bu projeyi potansiyometre kullanarak yapmak isterseniz Arduino ile step motor kontrolü yazımızı okuyabilirsiniz.

A4988, kolay kullanıma sahip, iki kutuplu step motorları sürmek için dizayn edilmiş bir mikro step motor sürücüdür. Adım hassasiyetini ve dönüş yönünü kontrol etmemizi sağlar.

Sürücü beş farklı adım çözünürlüğü sağlar: tam adım, haft adımı, çeyrek adımı, 1/8 adımı ve 1/16 adım. Ayrıca, akım çıkışını, aşırı sıcaklıkta termal kapanmayı ve çapraz akım korumasını ayarlamak için bir potansiyometreye sahiptir.

İyi bir ilave soğutma sağlandığında lojik voltajı 3 ila 5.5 V arasındadır ve faz başına maksimum akım 2A’dir. Soğutucu olmadığında ise 1 amper’de kullanılmalıdır.



Malzeme Listesi

A4988 Arduino Bağlantı Şeması

Şimdi sürücünün pin çıkışlarına yakından bakalım ve step motor ve Arduino ile bağlayalım. Aşağıda yer alan bağlantı şemasında görüldüğü gibi; VMOT ve GND pinleri step motorumuzun güç çektiği pinlerdir. VDD ve GND ise step sürücü devremizin çalışması için gereken enerjiyi aldığı pinlerdir. 1A, 1B, 2A, 2B pinleri ise step motorumuzun uçlarına bağlanmaktadır. STEP ucu adım, DIR ise yönü ayarlamamızı sağlar. Sürücü kartını voltaj yükselmelerinden korumak için en az 47 µF’lik bir kondansatör kullanmamızda fayda var.

a4988 arduino bağlantı

 

Uygulamamızda sürücüyü Tam Adım Modunda kullanacağız, bu yüzden MS pinlerini boş bırakacağız. Yön ve adım pinlerimizi Arduino’muzun 3 ve 4 numaralı pinlerine takacağız. Ayrıca yukarıda bahsettiğimiz gibi bir kondansatör kullanacağız. Step Motorumuzun A ve C uçarını 1A ve 1B pinlerine, B ve D uçlarını ise 2A ve 2B uçlarına takacağız. Aşağıda yer alan görsele sadık kalarak tüm bağlantılarınızı yapabilirsiniz.

a4988 ile nema 17 kontrolü

 

Arduino A4988 Kodları

Öncelikle adım ve yön pinlerimizi tanımlamamız gerekmektedir. Bağlantı yaptığımız 3 ve 4 numaralı pinleri stepPin ve dirPin olarak tanıtacağız. Aşağıda yer alan kodu kopyalayarak direk kullanabilirsiniz.



// defines pins numbers
const int stepPin = 3;
const int dirPin = 4;

void setup() {
// Sets the two pins as Outputs
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
}
void loop() {
digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
// Makes 200 pulses for making one full cycle rotation
for(int x = 0; x < 200; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(500);
}
delay(1000); // Bir saniye gecikme

digitalWrite(dirPin,LOW); //Donus yonu degistirme
// Makes 400 pulses for making two full cycle rotation
for(int x = 0; x < 400; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(500);
}
delay(1000);
}