Arduino Uno ile L298N Motor Sürücü Kullanımı
Bu projede, Arduino Uno ve L298N Motor Sürücü kullanarak bir DC motorun hızını ve yönünü nasıl kontrol edebileceğimizi adım adım inceleyeceğiz. DC motor kontrolü için farklı yöntemler olsa da, L298N sürücü; kolay kullanımı, uygun maliyeti ve güçlü yapısı sayesinde en çok tercih edilen çözümlerden biridir.
L298N Motor Sürücü Nedir?
L298N, iki adet DC motoru bağımsız olarak sürebilen çift kanallı (dual H-bridge) bir motor sürücü kartıdır. Arduino gibi mikrodenetleyicilerden gelen düşük akımlı sinyalleri kullanarak yüksek akım çeken motorları kontrol etmemizi sağlar.
Gerekli Malzemeler
- Arduino Uno R3 (DIP Klon)
- L298N Motor Sürücü Kartı
- 10K Potansiyometre
- 12V 1000 RPM Redüktörlü DC Motor
- Buton
- Harici güç kaynağı (12V önerilir)
- Bağlantı kabloları
L298N Motor Sürücü Özellikleri
- 4.8V – 46V çalışma gerilimi
- Kanal başına maksimum 2A akım
- Çift motor sürme kapasitesi (2 kanal)
- Dahili 5V regülatör
- Yüksek sıcaklık koruması
- Kısa devre koruması
- Motor yönüne göre LED göstergeler
- Dahili soğutucu (heatsink)
- Akım ölçümü için Current Sense pinleri
Bu özellikleri sayesinde L298N; sumo robotlar, çizgi izleyen robotlar, robot kollar ve otomasyon projelerinde sıkça tercih edilir.
L298N Pin Yapısı
Motor sürücünün temel pinleri:
- IN1, IN2 → Motor yön kontrolü
- ENA → Motor hız kontrolü (PWM)
- OUT1, OUT2 → Motor bağlantısı
- 12V → Motor besleme girişi
- GND → Toprak
- 5V → Regüle çıkış (bazı durumlarda giriş olarak da kullanılabilir)
Bağlantı Şeması (Mantık)
Motor Bağlantısı:
- Motor uçları → OUT1 ve OUT2
Arduino – L298N Bağlantısı:
- IN1 → Arduino D8
- IN2 → Arduino D9
- ENA → Arduino D10 (PWM)
- GND → GND
- 12V → Harici güç kaynağı
Potansiyometre:
- Orta pin → A0
- Diğer pinler → 5V ve GND
Buton:
- Bir ucu → Arduino D7
- Diğer ucu → GND
Çalışma Mantığı
Buton ile motor başlatma/durdurma veya yön değiştirme yapılabilir..
IN1 ve IN2 pinleri, motorun dönüş yönünü belirler:
IN1 = HIGH, IN2 = LOW → Saat yönü
IN1 = LOW, IN2 = HIGH → Saat yönü tersi
ENA pini, PWM sinyali ile motor hızını ayarlar.
Potansiyometre, analog değer üretir ve bu değer PWM’e çevrilerek hız kontrolü yapılır.
- Boyutları: 57mm x 43mm
- Ağırlık: 29gr
- Pin Bağlantıları:
- ENA: Sol motor kanalını aktif etme pini
- ENB: Sağ motor kanalını aktif etme pini
- IN1: Sol motor 1. girişi
- IN2: Sol motor 2. girişi
- IN3: Sağ motor 1. girişi
- IN4: Sağ motor 2. girişi
- OUT1: Sol motor 1. çıkışı
- OUT2: Sol motor 2. çıkışı
- OUT3: Sağ motor 1. çıkışı
- OUT4: Sağ motor 2. çıkışı
- GND: Toprak bağlantısı
- VS: Besleme voltaj girişi(4.8V-46V)
- VSS: Kart besleme girişi (6V-12V)
Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino uno kartımıza yükleyip test edebiliriz.
-
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
int mot1 = 8;
int mot2 = 9;
int en1 = 10;
int dir = 6;
bool state = true;
int nob = A0;
int val=0;
void setup()
{
// pin ayarları
pinMode(mot1,OUTPUT);
pinMode(mot2,OUTPUT);
pinMode(en1,OUTPUT);
pinMode(dir,INPUT_PULLUP);
}
void loop()
{
// 10K potans oku
val = analogRead(nob);
// Okunan değerin 4/1 ini hız olarak yansıt
analogWrite(en1, val / 4);
// butona basılmışsa dur
if(digitalRead(dir)==LOW)
{
state=!state;
while(dir==LOW);
delay(300);
}
// eğer durmuşken butona basılmışsa çalış
if(state)
{
digitalWrite(mot1,HIGH);
digitalWrite(mot2,LOW);
}
else
{
digitalWrite(mot1,LOW);
digitalWrite(mot2,HIGH);
}
}
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
sayfamızda sürekli olarak yeni içerikler paylaşmaya devam edeceğiz. Lütfen sormak istediğiniz soruları yorum olarak bize gönderin!
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
yazısı ilk önce
Bu bağlantıyı görüntüleyebilmek için kayıt olmalı zaten üyeyseniz üye girişi yapmalısınız.
üzerinde ortaya çıktı.