En Çok Tercih Edilen Motor Sürücüler Ve Kullanımları

3 74

Robotik sistemlerde veya uygulamalı projelerde motorlar sıkça kullanılmaktadır.Mikrodenetleyicilerden gelen sinyaller direk dc veya step motoru kontrol edemezler.Bunun için sürücü entegreler kullanılır.Bu entegreler gelen sinyalleri kendi akımına göre yükselterek motoru kontrol eder.Transistörler kullanılarak h köprüsü gibi entegreler yapılır.Kullanımları daha kolaylaştırmak için de sürücü devreler de bulunmaktadır.

En çok tercih edilen ve kullanımları kolay olan dc motor sürücüleri:

  • L293D ve L293B Motor Sürücüler

İki sürücünün de pin ve kılıf yapıları aynıdır.L293d ve l239b sürücüler sol ve sağda 8 er pin olmak üzere toplamda 16 bacaklı entegrelerdir.Sol ve sağ taraf birbirinden bağımsız olarak birer dc motoru çift yönlü sürerek toplamda 2 dc motoru kontrol edebilirler.Entegreler üzerinde çentik bulunur.Şekilde de görebilirsiniz.Bu çentik sürücünün baş kısmını belirtir.Şekildeki gibi çentiğin sol tarafından başlayarak pinler 1 den 16 ya kadar numaralandırılır.

Bu sıralamaya göre:

  • 1 ve 9 numaralı pinler pwm sinyali ile motorların dönüş hızı kontrolü için mikrodenetleyiciye bağlanır.
  • 2 ve 7 numaralı pinler 1. dc motorun dönme yönü kontrolü için mikrodenetleyiciye bağlanır.
  • 10 ve 15 numaralı pinler 2. dc motorun dönme yönü kontrolü için mikrodenetleyiciye bağlanır.
  • 3 ve 6 numaralı pinlere 1.dc motor bağlanır
  • 11 ve 14 numaralı pinlere  2. dc motor bağlanır
  • 4, 5, 12, 13 numaralı pinler gnd pinleri
  • 8 numaralı pin motorların enerji pinidir.Motorların özelliğine göre uygun enerji verilmelidir.
  • 16 numaralı pin 5v ile beslenmelidir.

İki sürücünün de çalışma voltajı 5-36v arasıdır.L293d sürücü kanal başına 600 mah, zorlanma durumunda 1.2 A akım vermektedir.L293b sürücü ise kanal başına 1.2A, zorlanma durumunda 2A akım vermektedir.L293b, L293d’ye göre daha iyi bir alternatiftir.

  • L298 Motor Sürücü

L298,  15 pinli yapıda iki kanallı motor sürücülerdir.

Çalışma voltajı 5-46v arasıdır.

Motor başına 2A, zorlanma durumunda 3A akım verir.

L293 ‘lere göre yüksek akım gerektiren durumlar için idealdir.Ayrıca ısıya daha çok dayanıklıdırlar.

Pinleri size bakacak şekilde soldan sağa doğru 1 den 15 e kadar pinler numalandırılırsa:

  • 6 ve 11 numaralı pinler pwm sinyali ile motorların dönüş hızı kontrolü için mikrodenetleyiciye bağlanır.
  • 2 ve 3 numaralı pinlere 1. dc motor bağlanır
  • 13 ve 14 numaralı pinlere 2. dc motorbağlanır
  • 5 ve 7 numaralı pinler 1.dc motorun dönme yönü kontrolü için mikrodenetleyiciye bağlanır.
  • 10 ve 12 numaralı pinler 2.dc motorun dönme yönü kontrolü için mikrodenetleyiciye bağlanır.
  • 9 numaralı pine 5v bağlanmalıdır.Kararsızlığı azaltmak için bu pinle toprak arasına 100nF’lık kondansatör bağlanabilir.
  • 8 numaralı pin gnd pini
  • 4 numaralı pin motorların enerji pinidir.Motorların özelliğine göre uygun enerji verilmelidir.

Örnek Uygulama:

Potansiyometre ile dc motor kontrolü:

Örnek uygulamamızda bir tane dc motoru potansiyometre ile hız kontrollü süreceğiz.Burada 1. pin pwm hız kontrol pini olduğundan bu pine potansiyometreden gelen değerler aktarılarak hızını istediğimiz şekilde arttırıp azaltabileceğiz.1.pine 5. dijital pini bağladık.2 ve 7 numaralı pinlere 6 ve 7.dijital pini bağlayalım.4 ve 5 numaralı gnd pinlerini de arduinonun gnd ye takalım.8.pin motorun enerji pini burada 5v yeterli olacağından arduinonun 5v pinine bağlayabilirsiniz.Gördüğünüz gibi burada sürücünün sadece bir tarafını kullandık.Çünkü iki taraf birbirinden bağımsız çalışarak birer motor sürüyor.

Arduino Kod:

//motor pinleri
int enable1 = 5;
int Motor11 = 6;
int Motor12 = 7;
int potdeger= A0;
int deger;
void setup() {
 
Serial.begin (9600);
//pin ayarları
pinMode (enable1, OUTPUT);
pinMode (Motor11, OUTPUT);
pinMode (Motor12, OUTPUT);
digitalWrite(Motor11,HIGH);
digitalWrite(Motor12,LOW);
}
 
void loop() {
 
deger= analogRead(potdeger);//pot'tan analog değer okuma
deger= map(deger, 0, 1023, 0, 225);// değeri 0 ile 255 pwm değerine çevirme
analogWrite(enable1, deger);//motora pwm değer göndererek hızını belirleme 
delay(10); }

Kodu incelersek analog 0 pinine bağlı potansiyometreden okunan değer map komutu ile 0-1023 değer aralığından 0-255 arası pwm değerine çevriliyor.Ve 5.pine bağlı sürücünün pwm pinine yazdırılarak hız kontrollü sürmemiz sağlanmış oluyor.

Bunları da beğenebilirsin Yazarın diğer yazıları

3 Yorumlar

  1. Halil DOLUMAY

    Teşekkürler, sipariş verdim, gelinceye kadar teorik olarak kodları inceliyorum, dediğiniz gibi gelince kodlarda değişiklik yaparak uygulamaya dökeceğim.

  2. Halil DOLUMAY

    Hocam daha henüz elimde arduino olmadığı için projeyi uygulayamadım, teorik olarak öğrenmekteyim şimdilik. Arduinom gelsin başlayacağız inşallah. Böyle projelerde öğrenmek için kodları inceliyorum. Ancak kodda bir yanlışlık mı var yoksa bana mı öyle geliyor. 23. satırda “analogWrite(potdeger, deger);” ifadesi kullanılmış. Burada potdeger yerine enable1 yazılmayacak mıydı.

    1. Sezgin GÜL
      Sezgin GÜL

      evet öyle olacak gözden kaçmış . Arduinoya başlayacaksanız teorik olarak çalışmayın. Arduino ve yaygın kullanılan sensör ve sürücüler alın hazır projelerin aynısını yapın daha sonra hazır kodları inceleyin ve değişiklikler yapın nelerin değiştiğini görün. Bu şekil yaparsanız çok kısa zamanda öğrenirsiniz.

Cevap bırakın

E-posta hesabınız yayımlanmayacak.