Arduino ile Step Motor Kontrolü

Bu makalede Arduino Uno kullanarak bir step motor nasıl kontrol edilir onu açıklayacağız. Bu proje için arduino ve step motora (adım motoru) ek olarak L298N bir H-köprü modülü sürücü devresi gereklidir. L298N H köprü çift motorlu sürücü modülünü eBay üzerinden yada Türkiye lokasyonlu elektronik malzeme satan firmalar dahil ucuz fiyata bulabilirsiniz. Kullanacağımız step motorun çalışma mantığını anladığımızda uygulamamızı daha rahat anlayacaksınız.

Step motorlar; elektriksel palsleri mekanik hareketlere çeviren sistemlerdir. Step motorlar terminallerine voltaj uygulandığında uygulanan terminale göre dönme hareketini sağlamaktadır. Bu küçük dönüş hareketlerinin her birine bir adım denir. Bu sebeple adım motoru denir. Step motorun rotorunun etrafını çevreleyen bobinlere sürücü devre tarafından sinyaller gönderilir. Yaratılan elektromanyetik etki ile step motor küçük bir dönüş yapar. Diğer sinyalde bir sonraki bobine sinyal verilmesiyle elektromanyetik çekim bu kez de o bobine doğru gerçekleşir ve böylece küçük hareketlerle dönme işlemi sürdürülerek devam eder.

Aşağıdaki şekilde belirtilen bağlantıyı gerçekleştirelim. Başta belirttiğmiiz gibi biz L298N H köprülü sürücü devresini kullanıyoruz. Elinizde olan sürücü devresi veya entegresinin datasheetine bakarak benzer bağlantıları gerçekleştirebilirsiniz.

Step Motorun Arduino ile Bağlantısı
Step Motorun Sürücü Devresi L298 ve Arduino ile Bağlantısı

Bağlantıları bipolar step motor sürücümüzün AA çıkışlarından alarak motor sürücü entegremizin MA+ ve MA- girişlerine ve BB çıkışından alarak motor sürücü entegremizin MB- ve MB+ girişlerini gerçekleştirelim. Burada dikkat edilmesi gereken yer motorumuzun fazla akım çekme isteği oluşabilir bu yüzden 12 yada 5v gibi çıkışları arduinomuzdan almıyoruz arduinonun yanmaması için harici bir güç kaynağından 12V ve GND bağlantılarımızı gerçekleştiriyoruz. Sürücü devremizin çıkışlarındanda arduinomuzla olan bağlantılarını gerçeleştirelim. Sürücü devresi üzerinde bulunan pinlerden çıkışlar alarak Arduinomuzun Pin8, Pin9, Pin10 ve Pin11 girişlerini yapıyoruz. Bu pinleri siz değiştirebilirsiniz ancak kodlamamızı buna göre yapacağız. Pin bağlantılarını sırası ile yaptığınıza dikkat ediniz.

Eğer ULN2003 entegresi kullanarak bağlantı gerçekleşitrecekseniz aşağıdaki bağlantı şeklini hazırlayabilirsiniz.

Arduino ULN2003 ile step motor kontrolü
Arduino ULN2003 ile step motor kontrolü

Arduino IDE programını başlatarak bilgisayara arduino bağlantısı gerçekleştirelim ve ardından  stepper_oneRevolution örneğini açarak arduinomuza yükleyelim.

steper_oneRevolution Örneği
steper_oneRevolution Örneği

Örnek kütüphaneye sahip değilseniz aşağıdaki kodları kullanabilirsiniz.


#include
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}

İşlem sonunda eğer step motorunuz çalışmıyorsa bobin bağlantı sıralamasını kontrol ediniz muhtemelen bu yüzden çalışmıyor olabilir. Kodlama üzerindeki sayısal değişiklikler gerçekleştirerek motorun daha hızlı ve daha yavaş değerlerde dönmesini sağlayabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.