ARDUİNO VE L298N DC MOTOR SÜRÜCÜ KULLANARAK DC MOTOR KONTROLÜ, BAĞLANTI VE KODLARI
Bu yazıda şunlardan bahsedilecektir
ARDUİNO VE L298N MOTOR SÜRÜCÜSÜ KULLANARAK DC MOTOR KONTROLÜ
DC MOTOR NEDİR
DC MOTOR ÇEŞİTLERİ NELERDİR
MOTOR SÜRÜCÜSÜ NEDİR
ARDUİNO İLE KULLANILAN DC MOTOR SÜRÜCÜLERİ NELERDİR
ARDUİNO VE DC MOTORLAR İLE YAPILAN PROJELER NELERDİR
ARDUİNO VE L298N DC MOTOR SÜRÜCÜ KULLANARAK DC MOTOR KONTROLÜ, BAĞLANTI VE KODLARI
BAĞLANTILAR
KODLAR
KODLARIN AÇIKLANMASI
ARDUİNO VE DC MOTOR KULLANARAK POTANSİYOMETRE İLE HIZ KONTROLÜ
ARDUİNO İLE DC MOTOR KULLANIRKEN DİKKAT EDİLMESİ GEREKENLER
DC MOTOR NEDİR
DC motorlar, DC akımlarının elektromanyetik etkisiyle çalışan mekanik araçlar olarak tanımlanabilir. DC motorlar, bir rotoru manyetik alan etkisi altında döndürür. Bu manyetik alan, rotor çevresinde dolaşan elektrik akımlarının manyetik alanlarından oluşur.
DC motorlar bir stator ve bir rotor içerir. Stator, sabit bir manyetik alan oluşturmak için kalın metal bir kalıba benzer ve rotor, bir elektromanyetik makine olarak tanımlanabilir. Rotor, akım tarafından beslenen manyetik maddeler içerebilir veya bobin şeklinde bir yapıda olabilir.
DC motorların çalışması, rotor ve stator arasındaki manyetik etkileşim sonucu mekanik enerji oluşmasına dayanır. Rotor, stator tarafından üretilen manyetik alan etkisi altında döndürülür ve bu dönüş enerjisi mekanik enerjiye dönüşür.
DC motorlar, hızı ve yönü kontrol edilebilir olması nedeniyle, çok çeşitli uygulamalarda kullanılır. Örneğin, ev aletleri, araçlar, endüstriyel makine ve robotik sistemler gibi birçok alanda DC motorlar kullanılır.
DC MOTOR ÇEŞİTLERİ NELERDİR
DC motorlar, iç tasarımları, çalışma prensipleri ve özellikleri gibi birçok faktöre göre sınıflandırılabilir. Aşağıdaki başlıklar DC motorların genel çeşitlerini tanımlar:
- Seri ve Paralel DC motorlar: Seri DC motorlar, rotor ve stator arasındaki direnç değerleri değiştiğinde hızı değişebilir, ancak güç ve tork değeri sabittir. Paralel DC motorlar ise hız sabittir ve güç ve tork değerleri rotor ve stator arasındaki direnç değerlerindeki değişimlere bağlı olarak değişebilir.
- Sabit ve Değişken Hız DC motorları: Sabit hız DC motorları, belirli bir hızda çalışır ve değişken hız DC motorları, hız kontrol devresi veya dijital girişlerle programlanabilir.
- Kompaund DC motorlar: Bu motorlar, seri ve paralel DC motorların bir kombinasyonudur ve hız ve güç/tork değerlerini kontrol etmek için kullanılır.
- Şerit DC motorlar: Bu motorlar, çok uzun rotoru olan DC motorlar olarak tanımlanabilir ve çalışma prensipleri diğer DC motorlarına benzerdir.
- Brushless DC motorlar: Brushless DC motorlar, komut elemanı olarak bir kontrol devresi kullanır ve fırçalı DC motorlarına göre daha verimli ve uzun ömürlüdür.
FIRÇALI VE FIRÇASIZ DC MOTORLARIN FARKI NEDİR
Fırçalı ve Brushless (fırçasız) DC motorlar, iç mekanizmaları ve kontrol elemanları bakımından birbirlerinden farklıdır. Aşağıdaki başlıklar fırçalı ve fırçasız DC motorlar arasındaki farkları tanımlar:
- Kontrol Elemanı: Fırçalı DC motorlar, komut elemanı olarak fırçalar kullanır. Bu fırçalar, rotor ve stator arasında akımı ileten ve rotorun hızını kontrol eden elemanlarıdır. Brushless DC motorlar ise, komut elemanı olarak bir kontrol devresi kullanır ve rotorun hızını kontrol eder.
- Verim ve Ömür: Brushless DC motorlar, fırçalı DC motorlara göre daha verimli ve uzun ömürlüdür. Fırçaların aşınması, fırçalı DC motorların verimini ve ömrünü azaltabilir ve bu nedenle, düzenli bakım gerektirir. Brushless DC motorlar ise, bu tip bir problem olmadığı için daha uzun bir ömür sunarlar.
- Kontrol Edilebilirlik: Brushless DC motorlar, dijital girişler veya hız kontrol devresi kullanılarak programlanabilir ve kolayca kontrol edilebilir. Fırçalı DC motorlar ise, manuel olarak kontrol edilir ve hızının değişmesi için mekanik bir araç gerektirir.
- Maliyet: Fırçalı DC motorlar, Brushless DC motorlara göre daha ucuzdur ancak verim ve ömrü açısından daha az avantajlıdır. Brushless DC motorlar ise, fırçalı DC motorlara göre daha pahalıdır ancak verim ve ömür açısından daha avantajlıdır.
ARDUİNO İLE KULLANILAN DC MOTORLAR NELERDİR?
Arduino ile kullanılan DC motorlar şunlardır:
- Brushed DC Motors: Bu tip motorlar, klasik DC motorların bir türüdür ve elektrikli fırçalar aracılığıyla çalışır.
- Brushless DC Motors (BLDC): Brushless DC motorlar, elektrikli fırçalar kullanmaz ve yerine elektronik devreleri kullanır. Bu tip motorlar, daha yüksek verimli ve daha az gürültülü çalışma sağlar.
- Stepper Motors: Bu tip motorlar, adım adım çalışır ve arduino ile kolayca kontrol edilebilir. Stepper motorlar, pozisyon kontrolü gerektiren uygulamalar için idealdir.
- Micro DC Motors: Micro DC motorlar, küçük boyutlu ve hafif aplikasyonlar için uygundur.
Arduino ile birlikte kullanılan bu DC motorlar, arduino’nun analog veya dijital giriş/çıkış pinleri üzerinden kontrol edilebilir ve çeşitli sensörler veya kontrol sistemleri ile entegre edilebilir.
MOTOR SÜRÜCÜSÜ NEDİR
Motor sürücü, elektrikli motorların çalışmasını kontrol etmek için kullanılan bir elektronik araçtır. Motor sürücü, motorun hızını, direncini ve akımını kontrol eder ve bu sayede motorun istenen performansı vermesini sağlar. Motor sürücüler, DC ve AC motorlar için farklı tasarımlara sahip olabilir ve aşağıdaki fonksiyonları yerine getirebilir:
- Hız Kontrolü: Motor sürücü, motorun hızını kontrol etmek için gerekli giriş sinyallerini alır ve motorun hızını ayarlamaya yarar.
- Akım Kontrolü: Motor sürücü, motorun çalışması sırasında gereken akımı kontrol eder ve bu sayede motorun güç tüketimini ve verimliliğini artırır.
- Gerilim Kontrolü: Motor sürücü, motorun gerilimini kontrol eder ve bu sayede motorun güç verimliliğini artırır.
- Kalkış ve Frenleme: Motor sürücü, motorun hızının yavaşça yükselmesini ve hızla düşmesini sağlar.
- Güç Kontrolü: Motor sürücü, motorun güç tüketimini kontrol eder ve bu sayede motorun verimliliğini artırır.
Motor sürücüler, birçok uygulamada kullanılabilir ve endüstriyel robotlar, otomatik kapı sistemleri, CNC makinaları ve diğer mekanik sistemler için uygundur.
ARDUİNO İLE KULLANILAN DC MOTOR SÜRÜCÜLERİ NELERDİR
- L293D: DC motorların hızını ve yönünü kontrol etmek için kullanılabilir.
- L298N: İki kanalı vardır ve aynı anda iki motorun kontrolünü sağlar.
- A4988: Basit ve ekonomik bir seçenektir ve kolay entegrasyon sunar.
- TB6612FNG: İki kanalı vardır ve aynı anda iki motorun kontrolünü sağlar.
- DRV8833: 2A corrent çıkışına sahiptir ve PWM sinyalini kullanarak motor hızını kontrol edebilir.
- SN754410: Quad Half H veya H-Bridge sürücüdür.
- DRV8871: 3A corrent çıkışına sahiptir ve PWM sinyalini kullanarak motor hızını kontrol edebilir.
- VNH2SP30: 20A corrent çıkışına sahiptir ve kolay entegrasyon sunar.
- L6234: 3 kanalı vardır ve aynı anda üç motorun kontrolünü sağlar.
- TLE94112EL: İki kanalı vardır ve DC motorların hızını ve yönünü kontrol etmek için kullanılabilir.
Bu yazıda L298N dc motor sürücüsü ile dc motor kontrolü üzerinde durulacaktır. Bu yüzden bu sürücü hakkında biraz daha özellik verelim;
L298N MOTOR SÜRÜCÜNÜN ÖZELLİKLERİ NELERDİR

L298N DC motor sürücüsünün özellikleri şunlardır:
- Güç Kapasitesi: L298N, iki motorun aynı anda kontrolünü sağlar ve maksimum 2A corrent çıkışına sahiptir.
- Hız Kontrolü: L298N, PWM sinyali kullanarak motorların hızını doğrudan kontrol edebilir.
- Çalışma Voltajı: L298N, 5V ile 46V arasında çalışma voltajına sahiptir.
- Entegrasyon: L298N, arduino ile kolay entegre edilebilir ve motorların kontrolü için kullanılabilir.
- Proteksiyon: L298N, soğutma fanı, aşırı akım koruma, kısa devre koruma gibi özelliklere sahiptir.
- Dual Channel: L298N, iki kanalı vardır ve aynı anda iki motorun kontrolünü sağlar.
L298N DC motor sürücüsü, arduino projeleri için kullanılabilen uygun bir seçenektir ve iyi bir hız kontrolü, yüksek güç kapasitesi ve kolay entegrasyon sunar.
ARDUİNO VE DC MOTORLAR İLE YAPILAN PROJELER NELERDİR
- Otomatik kapı sistemi: Sensörler ve DC motorlar kullanarak otomatik kapı sistemi tasarımı.
- Robot yapımı: DC motorlar kullanarak robotların hareketini ve sensörlerle birlikte algılamasını sağlamak.
- Uçan objeler: Quadcopter veya tek kanatli uçan araçlar yapmak için DC motorların kullanımı.
- Otomatik sulama sistemi: Su sensörleri ve DC motorlar kullanarak bitkilerin sulanmasını kontrol etmek.
- Ev otomasyonu: Sensörler ve DC motorlar kullanarak evdeki ekipmanların otomatik olarak kontrol edilmesi.
- Merdiven asansörü: Merdiven asansörü sistemi yapmak için DC motorların kullanımı.
- Üretim makinaları: Endüstriyel üretim makinalarının otomatik olarak çalışmasını sağlamak için DC motorların kullanımı.
Bu projeler sadece birkaç örnek ve fikirdir, Arduino ve DC motorlar ile yapılabilecek projelerin sayısı sınırsızdır ve yalnızca hayal gücünüz sınırlar.
ARDUİNO VE L298N DC MOTOR SÜRÜCÜ KULLANARAK DC MOTOR KONTROLÜ, BAĞLANTI VE KODLARI
BAĞLANTILAR

Arduino ve L298N DC motor sürücüsü arasındaki bağlantı şu şekildedir:
- L298N “Enable A” pini ile Arduino’nun 5V pini bağlanır.
- L298N “Input 1” pini ile Arduino’nun digital pin bağlanır (örneğin, pin 8).
- L298N “Input 2” pini ile Arduino’nun diğer bir digital pin bağlanır (örneğin, pin 9).
- L298N “Output A” pini ile DC motor bağlanır.
- L298N “VCC” pini ile Arduino’nun 5V pini bağlanır.
- L298N “GND” pini ile Arduino’nun GND pini bağlanır.
Not: Bu bağlantılar genel bir örnektir ve farklı uygulamalar için farklı bağlantılar yapılabilir.
L298N DC motor sürücüsüne motorlar ve güç şu şekildedir:
- DC motorlar “Output A” ve “Output B” terminallerine bağlanır.
- “VCC” terminali sürücüyü besleyecek bir güç kaynağına (örneğin, 12V akü) bağlanır.
- “GND” terminali sürücünün masına bağlanır.
KODLAR
Arduino ve l298n dc motor sürücü kullanarak iki adet dc motoru 5 er saniye aralıklarla farklı yönlere döndüren bir kod yazalım:
//////////////
int motor1_pin1 = 8; // motor 1’in hız kontrol pinleri
int motor1_pin2 = 9;
int motor2_pin1 = 10; // motor 2’nin hız kontrol pinleri
int motor2_pin2 = 11;
void setup() {
pinMode(motor1_pin1, OUTPUT); // motor 1’in hız kontrol pinlerini çıkış olarak ayarlayın
pinMode(motor1_pin2, OUTPUT);
pinMode(motor2_pin1, OUTPUT); // motor 2’nin hız kontrol pinlerini çıkış olarak ayarlayın
pinMode(motor2_pin2, OUTPUT);
}
void loop() {
// motor 1 dön
digitalWrite(motor1_pin1, HIGH);
digitalWrite(motor1_pin2, LOW);
delay(5000); // 5 saniye bekle
// motor 1 dur
digitalWrite(motor1_pin1, LOW);
digitalWrite(motor1_pin2, LOW);
delay(5000); // 5 saniye bekle
// motor 1 ters yönde dön
digitalWrite(motor1_pin1, LOW);
digitalWrite(motor1_pin2, HIGH);
delay(5000); // 5 saniye bekle
// motor 2 dön
digitalWrite(motor2_pin1, HIGH);
digitalWrite(motor2_pin2, LOW);
delay(5000); // 5 saniye bekle
// motor 2 dur
digitalWrite(motor2_pin1, LOW);
digitalWrite(motor2_pin2, LOW);
delay(5000); // 5 saniye bekle
// motor 2 ters yönde dön
digitalWrite(motor2_pin1, LOW);
digitalWrite(motor2_pin2, HIGH);
delay(5000); // 5 saniye bekle
}
///////////////
KODLARIN AÇIKLANMASI
- Pin Tanımlama: İlk olarak, motorların hız kontrol pinleri tanımlanır. motor1_pin1 = 8 ve motor1_pin2 = 9, motor2_pin1 = 10 ve motor2_pin2 = 11 şeklinde tanımlanır.
- Setup Fonksiyonu: setup fonksiyonu, motorların hız kontrol pinlerinin çıkış olarak ayarlandığı yerdir.
- Loop Fonksiyonu: loop fonksiyonu, motorların çalışmasını kontrol eder. İlk olarak, motor1 dönür, 5 saniye beklenir, durur ve ters yönde döner. Aynı şey motor2 için de yapılır.
- digitalWrite Fonksiyonu: digitalWrite fonksiyonu, belirtilen pinin değerini (HIGH veya LOW) ayarlar. Böylece, motorların hız kontrol pinleri aracılığıyla motorların çalışması kontrol edilir.
- Delay Fonksiyonu: delay fonksiyonu, belirtilen milisaniye kadar bekleme yapar. Böylece, motorların dönüş süresi kontrol edilir.
PWM NE DEMEKTİR PWM İLE DC MOTOR HIZ KONTROLÜ NASIL YAPILIR
PWM kelimeleri Pulse Width Modulation (Dalga Genişliği Modülasyonu) anlamına gelir. PWM, bir giriş sinyali olarak analog bir seviyeyi, düzenli aralıklarda düzenli olarak açık ve kapalı olan bir dizi darbe ile benzersiz bir şekilde kodlayan bir tekniktir.
DC motor hız kontrolü, PWM kullanarak yapılabilir. Bu, motora verilen sinyalin amplitudunu (genişliğini) ve frekansını değiştirerek gerçekleştirilir. Yüksek frekansli ve geniş sinyaller, motorun hızını artırırken, düşük frekanslı ve dar sinyaller motorun hızını azaltır. Bu, motor hızını kontrol etmek için kullanılan bir yöntemdir.
ŞİMDİ DE 1 ADET DC MOTORUN HIZINI KONTROL ETTİĞİMİZ BİR KOD YAZALIM:

Bağlantılar:
- L298N EnableA pini (7) Arduino pini (6) ile bağlanır
- L298N In1 pini (2) Arduino pini (8) ile bağlanır
- L298N In2 pini (7) Arduino pini (9) ile bağlanır
- L298N +12V pini (+12V güç kaynağı) ile bağlanır
- L298N GND pini (GND güç kaynağı) ile bağlanır
- Motor + kutbuL298N OUT1 (+) ve OUT2 (-) piniyle bağlanır
- Motor – kutbu L298N OUT2 (+) ve OUT2 (-) piniyle bağlanır.
KODLAR
////////////////
int motorPin1 = 8; // L298N motor sürücüsündeki motor 1 pin 1
int motorPin2 = 9; // L298N motor sürücüsündeki motor 1 pin 2
int motorSpeed = 200; // motor hızı
void setup() {
pinMode(motorPin1, OUTPUT); // motor pinlerini çıkış olarak ayarlayın
pinMode(motorPin2, OUTPUT);
}
void loop() {
// motor hızını artırın
for (int i = 0; i < 255; i++) {
analogWrite(motorPin1, i);
analogWrite(motorPin2, i);
delay(20);
}
// PWM Kullanarak motor hızını azaltın
for (int i = 255; i > 0; i–) {
analogWrite(motorPin1, i);
analogWrite(motorPin2, i);
delay(20);
}
delay(2000); // 2 saniye bekle
}
////////////
KODLARI AÇIKLAYALIM
Bu kodda, motorun hızı 2 saniye aralıklarla artar ve azalır. Motor hızını ayarlamak için analogWrite fonksiyonunu kullanıyoruz. analogWrite fonksiyonu 0 ile 255 arasındaki bir sayı alır ve bu sayıyı PWM sinyali olarak verir. Böylece motorun hızı değiştirilebilir. delay fonksiyonu da belirli bir süre beklemek için kullanılır.
ARDUİNO VE DC MOTOR KULLANARAK POTANSİYOMETRE İLE MOTOR HIZINI KONTROL ETME

Arduino L298N DC motor sürücüsü ve potansiyometre ile bir DC motorun hızını artırmak için şu adımlar izlenebilir:
- Malzemeleri toplayın: Arduino, L298N DC motor sürücüsü, bir DC motor, bir potansiyometre, breadboard, jump wire’lar.
- Bağlantıları yapın: Potansiyometrenin bir ucunu GND’ye, diğer ucunu +5V’a bağlayın. Potansiyometre üzerindeki orta konnektörünü PWM pinine bağlayın. L298N sürücüsünün IN1 ve IN2 pinlerini, Arduino’daki digital pinlere bağlayın. DC motorun kablo başlıklarını L298N sürücüsünün OUT1 ve OUT2 pinlerine bağlayın.
- Kodu yazın: Aşağıdaki kod ile potansiyometre değerine göre motor hızını artırıp azaltabilirsiniz.
///////////
int potPin = 0; // Potansiyometre girişi pin
int motorPin = 3; // Motor sürücü pwm pin
void setup() {
pinMode(motorPin, OUTPUT); // motorPin çıkış olarak ayarlanır
}
void loop() {
int potValue = analogRead(potPin); // Potansiyometre değeri okunur
int pwmValue = map(potValue, 0, 1023, 0, 255); // Okunan değer 0 ile 255 arasında map edilir
analogWrite(motorPin, pwmValue); // Motorun hızı potansiyometre değerine göre ayarlanır
}
//////////////
- Arduino’yu programlayın ve motorun hızını potansiyometre ile kontrol edin.
Not: Kod ve bağlantılar, fiziksel sisteminize göre değişebilir. Bağlantıları yapmadan önce L298N sürücüsünün datasheet’ini ve Arduino’nun PWM pinlerini kontrol edin.
ARDUİNO İLE DC MOTOR KULLANIRKEN DİKKAT EDİLMESİ GEREKENLER
- Güç kaynağı: DC motorları çalıştırmak için yeterli güç sağlamaya çalışın.
- Bağlantılar: Bağlantıları doğru bir şekilde yapın, aksi halde zarar görülebilir.
- Sürücü seçimi: Doğru sürücü seçin ve onun özelliklerini doğru bir şekilde kullanın.
- Kodlamaya dikkat: Kodlamada doğru bir şekilde yapın ve doğru yapılan kodlarla çalışın.
- Uygun sıcaklık: Motorların çalışması sırasında sıcaklığını kontrol edin ve ihtiyaç durumunda soğutma önlemleri alın.