Arduino ile step motor kontrolü nasıl yapılır?

Bu makalede bir çok projede sıklıkla kullanılan step motorların arduino ile nasıl kontrol edileceğini, bağlantı şemasını ve arduino kodlarını inceleyeceğiz.

24 Nisan 2017 15.604 views 5

Step (adım) motorlar hareketi adım adım kontrol edilebilen motorlardır. Bu özelliği sayesinde bir çok uygulamada kullanılmaktadır. Arduino  projelerinin bir çoğunda step motorlar kullanılmaktadır. Step motorlar sürücü kartları ile birlikte satılmaktadır.

Step motor arduino’ya nasıl bağlanır?

Öncelikle step motorun kablosunun ucunu sürücü karttaki yuvasına yerleştirin. Şemada görüldüğü üzere sürücü kartın;

IN1 pinini  Ardunio 8 numaralı pine,

IN2 pinini  Ardunio 9 numaralı pine,

IN3 pinini  Ardunio 10 numaralı pine,

IN4 pinini  Ardunio 11 numaralı pine,

+ pinini Arduino 5V  pinine

–  pinini Arduino GND pinine bağlayın.

Tüm bağlantılarımız bu kadar. Şimdi sıra geldi arduino kodlarını yazmaya.

Adım 1: Öncelikle step motor kontrolü için gerekli olan VirtualWire kütüphane dosyasını Arduino’nun kurulu olduğu klasördeki Libraries (Kütüphaneler) klasörünün içine kopyalamanız gerekiyor.

Arduino step motor kütüphanesini indirmek için tıklayın…

Arduino kütüphane dosyası yükleme ile ilgili makaleyi okumak için TIKLAYIN…

Step motor arduino kodları:

Kodları açıklayacak olursak;

#include <X113647Stepper.h> kodu ile step motor kütüphane dosyasını arduino kodlarına dahil ettik.

const int stepsPerRevolution = 32 * 32; kodu ile step motorun döneceği adım sayısını belirledik. Eğer step motorun daha fazla tur dönmesini isterseniz buradaki sayıları arttırabilirsiniz.

X113647Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); kodu ile step motoru arduinonun 8,9,10 ve 11 numaralı pinlerine bağladığımızı belirttik.

myStepper.setSpeed(100); kodu ile step motorun dönüş hızını ayarladık. Proje ihtiyaçlarına göre step motor bu kod ile daha hızlı veya yavaş sürülebilir.

myStepper.step(stepsPerRevolution);

delay(50);

myStepper.step(-stepsPerRevolution);

delay(50);

kodları ile de step motorun önce bir yönde sonra da ters yönde dönmesini sağladık.

Projenin durumuna göre eğer ileri ve geri dönüş adımları farklı olacaksa  const int stepsPerRevolution = 32 * 32; değişkeninden bir tane daha oluşturularak ileri farklı adım sayısında, geri farklı adım sayısında hareket sağlanabilir.

Örneğin; Step motor ileri gittiğinin iki katı geri gitmesini isterseniz şu şekilde bir kod yazabilirsiniz.

Arduino ile step motor kontrolü ile ilgili soru, görüş ve önerilerinizi aşağıdaki yorumlar bölümünden yazarak bize ulaşabilirsiniz.

Like
Beğen! Bunu sevdim! Süper! Muhteşem! Eh işte! Beğenmedim!
BENZER KONULAR
YORUM YAZ
Mehmet canlı

Çinden aldığım planet dişli bulunan bir nema 17 step motorum var. Sürücü olaral arduino uno ve easy driver var. 24 saatte 1 tur atacak şekilde hızını nasıl ayarlarım. Teşekkür ederim

    24 saat geçtikten sonra mı 1 tur atacak. Yani 23 saat 59 dakika bekleyecek 24. sat tek bir tur atacak. Ya da 1 tam turu 24 saat içinde mi atacak? Açıklayabilir misiniz?

Mehmet Hakan

merhabalar. ben arduino uno ve motor shield ile iki adet step motoru çalıştırmak istiyorum. motorlardan bırısı asansor görvi görecek ve kata gelip durunca dvd sürücü üzerindeki step ileri geri yapacak ve asansör 0 a dönecek. bunun kodunu ne kadar ugrastıysam yapamadım. ayrı ayrı motorları kontrol ettim ama senkron bir şekilde dediğim gibi çalıştırmak için kod lazım yazamadım. yardımcı olursanız cooookkkk sevinirim. aciliyeti var benım ıcın bıraz. 15 gün içerisinde bitirme projem olarak teslım etmem gerekıyor…

taha boran

merhaba

sıcaklık 30 dereceye ulaşınca step motorun çalışmasını sağlamak istiyorum. yardımcı olur musunuz?

    Bu işlem için dht11 gibi bir sıcaklı ölçer kullanarak istenilen değere ulaşıldığında step motoru çalışacak şekilde düzenleyebilirsiniz. Sitede ikisine ait kodlar da var birleştireceksiniz