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