Advertisement

Responsive Advertisement

Arduino ile L298N Motor Sürücü Kullanımı

 

Arduino ile L298N Motor Sürücü Kullanımı

Arduino Uno ile L298N Motor Sürücü Kullanımı Nasıl Yapılır?

Bu projede, Arduino Uno ve L298N Motor Sürücü Kullanımı yaparak bir DC Motorun nasıl kontrol edileceğini göreceğiz. Bir DC Motorunu kontrol etmenin farklı yolları vardır, fakat L298N Motor Sürücüsünü kullanan Arduino DC Motor Kontrolü birçok nedenden dolayı oldukça popüler hale gelmektedir.

Gerekli Malzemeler:

L298N Motor Sürücü Özellikleri

L298N DC Step Motor Sürücü 4.8V-46V arasındaki iki motoru sürmek için hazırlanmış bir motor sürücü kartıdır. İki kanallı bu motor sürücü kanal başına 2A akım vermektedir.

Kart üzerinde L298N motor sürücü entegresi kullanılmıştır. Sumo, mini sumo, çizgi izleyen robotlarda ve çok çeşitli motor kontrol uygulamalarında kullanılabilir.

Birbirinden bağımsız olarak iki ayrı motoru kontrol edebilir. Kanal başına 2A akım verebilmektedir. Üzerinde dahili regülatörü vardır. Yüksek sıcaklık ve kısa devre koruması vardır. Motor dönüş yönüne göre yanan ledler vardır. Kart üzerinde dahili soğutucu vardır. Akım okuma (current sense) pinleri dışa verilmiş haldedir.

l298n-motor-surucu-kullanimi

  • 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)

l298-dc-motor-surucu-arduino-baglanti-semasi

Bağlantıları şemaya uygun yaptıktan sonra kodumuzu Arduino uno kartımıza yükleyip test edebiliriz.

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);
}
}

 

Yorum Gönder

0 Yorumlar