2 min read

Arduino Uygulamaları-9 L298N Modülü ile 2 Adet Dc Motor Sürme

Arduino Uygulamaları-9 L298N Modülü ile 2 Adet Dc Motor Sürme

Merhabalar bu yazımızda sistemde motor sürerken neden ekstra bir modüle ihtiyaç duyuyoruz ondan bahsedeceğiz.

Rc araçlar, Drone, 3D yazıılar aslında tüm bu sistemleri hareketli sistem haline getiren DC, AC farklı modellerde motorlardır. Rc araçlarda ve Drone da dc bir motor olan fırçasız motorlar kullanılırken 3D yazıcılarda konum ve dereceyle kullanımı önemli ve ön planda olduğu için Step motorlar kullanılır.Bu motorlar bir sistemi hareket ettirdiği ve burada da güç ön plana çıktığı için sistemde Arduino'nun çıkışına verdiğinden daha çok Amper(I) ihtiyacı ortaya çıkar. Örneğin; Arduino max 40-50mA çıkış verebiliyorken; Dc bir motor yük altında 1000mA'leri çok rahat görebilir. Bir modül olmadan motoru Arduino'ya direk bağladığımızda, Arduino'nun verdiği çıkıştan tam 25kat daha fazla I vermesini isteyeceğiz. Bu da haliyle kartımızı yakmamıza sebep olacaktır.

İşt bunun önüne geçmek için Bu modülü kullanıyoruz. 45V'a kadar besleyebildiğimiz bu modülde 2A'e kadar da I sağlayabiliyor. Aynı anda 2 motor sürebiliyoruz. Bu motorları In girişleriyle de Arduino kartıyla kontrol edebiliyoruz.


-->Devrenin Malzemeleri

  1. Arduino Uno Kart
  2. L298N Motor Sürücü Modülü
  3. 2 Adet Dc Motor
  4. 9V Pil
  5. Jumper Kablolar

-->Devrenin Kodlaması

const int IN1 = 13; //İn1 Pini
const int IN2 = 12; //İn2 Pini
const int IN3 = 11; //İn3 Pini
const int IN4 = 10; //İn4 Pini

void setup()
{
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT); // Modülün pinlerini çıkış olarak ayarladık.
}

void loop()
{
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(1000);

digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(1000);

digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(1000);

digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(1000);
}

Devrenin en basit haliyle kodlaması bu şekilde. Devreye Joystick Modül ekleyip Motorları da bu sayede kontrol edebilirsek ENA ve ENB girişlerini de kullanabiliriz ya da eklediğimiz başka modüllerle bu kodu geliştirebiliriz. Örneğin; Bluetooth modül ekleyip ve belki basit bir Android uygulamasıyla uzaktan kontrollü bir araba yapabiliriz.

--> Devrenin Montajı

L298N Modülüyle Arduino arasındaki montajımıza IN çıkışlarıyla başlıyoruz IN1->D13; IN2->D14; IN3->D15; IN4->D16 'ya bağlantısını yapıyoruz. 01,02 uçlara 1. motorumuzu 03,04 uçlarına da 2. motorumuzu bağlıyoruz. Bu projemizde en temel motor sürmeyi öğreteceğimiz için ENA ve ENB uçlarını boş bırakıyoruz.

Devremizi 9V ya da 12V ile besliyoruz, 48V a kadar modülün desteklediğini hatırlatalım. Modül üzerindeki 5V anahtarlama voltajıdır.

Kodu yazdık, montaj hazır sıra geldi enerji vermeye. Enerjiyi de verip motorları çalıştırabiliriz.