28 Ekim 2015 Çarşamba

Arduino ile DC Motor Sürme


1)L298 Motor Sürücü Kartı

a)INPUT 1, 2, 3 ve 4 :INPUT pinleri motorların dönme yönünün kontrolü için Arduino'ya bağlanır. INPUT 1 ve 2 pinleri 1. motorun, INPUT 3 ve 4 pinleri ise 2. motorun kontrolünde kullanılır. 1. Motorun kontrolü için, INPUT 1 pini 5 volt, INPUT 2 pini 0 volt yapılır ise motor ileri yönde dönmeye başlar. Eğer INPUT 1 pini 0 volt ve INPUT 2 pini 5 volt yapılır ise motor geri yönde dönmeye başlar. İki pinin aynı anda 5 volt olması motoru kilitleyerek fren yapmasını sağlar. İki pininde 0 volt düzeyinde olması ise motorun boşta olmasına neden olup kısa süre sonra motorun durmasını sağlar.

b)ENABLE A ve ENABLE B: ENABLE A pini 1. motorun, ENABLE B pini ise 2. motorun hızını kontrol etmek için kullanılır. PWM sinyalinin görev zamanına göre motorun hızı arttırılabilir veya azaltılabilir.Eğer hız kontrolü yapılmayacak sa bu pinler 5 volt hattına bağlanabilir.



                                           
                                        ŞEKİL 1) L248 DC Motor Sürücüsü

2)Modül Bağlantısı
 
>Motor kısmına, motorumuzu bağlıyoruz (sol tarafta). Aynı şekilde sağ tarafada motor bağlıyoruz. 

>GND yi ve 5V tu arduinomuzdan alıyoruz. 

>Vcc yi isterseniz 12 ya da 9 V dc volt ile besliyoruz.Bunu yaparken -(negatif) ucu modülümüzün üstündeki GND ye bağlıyoruz, + yıda Vcc ye bağlıyoruz. Bu güç kaynağı arduinodan almaya kalkışmayın.

>IN1=8.

  IN2=9.
  
  IN3=10.
  
  IN4=11. pinlere bağlıyoruz.
  

3)ARDUİNO KODALARI

1) Burada sadece motorların ileri geri hareketi sağlanacaktır, hız ayarlarınıda siz değerli arkadaşlara bırakıyoruz. Sorularınız olursa mail atabilirsiniz.



//KODLAR
const int sagileri = 8;
const int saggeri = 9;
const int solileri = 10;
const int solgeri = 11;

void setup()
{
  pinMode(sagileri,OUTPUT);
  pinMode(saggeri,OUTPUT);
  pinMode(solileri,OUTPUT);
  pinMode(solgeri,OUTPUT);
}
void loop()
{
 digitalWrite(sagileri,HIGH); /* ileri dönme sağlanıyor */
 digitalWrite(saggeri,LOW); /* ileri dönme sağlanıyor */
 digitalWrite(solileri, HIGH); /* ileri dönme sağlanıyor */
 digitalWrite(solgeri,LOW); /* ileri dönme sağlanıyor */
 delay(10000);
 digitalWrite(sagileri,LOW); /* GERİ dönme sağlanıyor */
 digitalWrite(saggeri,HIGH); /* GERİ dönme sağlanıyor */
 digitalWrite(solileri, LOW); /* GERİ dönme sağlanıyor */
 digitalWrite(solgeri,HIGH); /* GERİ dönme sağlanıyor */
 
}









Hiç yorum yok:

Yorum Gönder