Ana Sayfa Arduino Arduino Joystick İle Step Motor Kontrolü

Arduino Joystick İle Step Motor Kontrolü

4 min read
0
0
13,213

Merhaba arkadaşlar bu yazımızda Arduino ile joystick yardımıyla step motorun ileri-geri kontrolünü yapacağız.

Step Motorlar, bir başka deyişle adım motorları açısal konumu adımlar hâlinde değiştiren, hassas uygulamalarda tercih edilen motorlardır. Step motorlar, bipolar ve unipolar olmak üzere iki çeşittir. Bipolar step motorlar 4 kablolu, ünipolar step motorlar ise 4,5,6 veya 8 kabloludur.

Kullanılan Malzemeler

  • Arduino Uno
  • 28BYJ-48 Step Motor ve ULN2003 Sürücü Kartı
  • Arduino XY Joystick Modülü
  • Jumper Kablo
  • BreadBoard

28BYJ-48 Step Motor Yapısı

28BYJ-48, 4 kablolu,boyut olarak küçük ve ucuz bir step motordur. Çalışma voltajı 5-12V’dır. ULN2003 Step Motor Sürücüsü ile uyumlu çalışabilmektedir. Özellikle Arduino ile yapılan Robotik projeler için çok uygundur.

28BYJ-48 Step Motor 4 uca sahiptir. Aşağıdaki resimde Yarım Adımlı step sürmek için hangi uçları Aktif yapmamızı gösteren grafik görülmektedir. Uçlardan sırasıyla önce 1, daha sonra 1 ve 2.uç ve bu şekilde devam ederek 8 aşama da tamamlanmaktadır.

Devre Şeması

Gerekli olan Kütüphane

static const int Pin0 = 5;
static const int Pin1 = 6;
static const int Pin2 = 7;
static const int Pin3 = 8;

int step = 0;
const int x = A0;

int x_eksen;

void setup() {
pinMode(Pin0, OUTPUT);
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
}

void loop() {

x_eksen = analogRead(A0);

switch(step) {
case 0:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
break;
case 1:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, HIGH);
break;
case 2:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
break;
case 3:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
break;
case 4:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 5:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 6:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 7:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
break;
}

if(x_eksen>550) step++;
if(x_eksen<50) step–;

if(step>7) step=0;

if(step<0) step=7;

delay(1);

}

Programı yukarıdan kopyalayabilir ya da  buradan ulaşabilirsiniz.

Aşağıda sitemizde bulunan diğer step motor kontrol uygulamalarına bakarak step motor hakkında daha detaylı bilgiye sahip olabilirsiniz.

PIC16F84A ile Step Motor Kontrolü

PIC|ULAK ile Bilgisayardan Step Motor Kontrolü

FPGA ile Step Motor Kontrolü

STM32F4 Discovery Step Motor Uygulaması


Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Muhammet Özcan
Daha Fazla Göster -  Arduino

Bir cevap yazın

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

Bak Bakalım ?

IEEE YTÜ 16. İLTEK Günleri

“Sadece Derse Girerek Mühendis Olunmaz!” sloganı ile yıllardır profesyonel işle…