İçindekiler
Arduino ile DC Motor Kullanımı Giriş
Arduino ile DC Motor Kullanımı. DC motorlar, elektrik enerjisini dönme hareketine çeviren temel elektromekanik aygıtlardır ve robotikten otomasyona, ev içi cihazlardan endüstriyel sistemlere kadar geniş bir kullanım alanına sahiptir. Arduino ile DC motor kontrolü ise elektronik projelerde dinamik, hareketli ve etkileşimli sistemler oluşturmanın temelini oluşturan becerilerden biridir. Bu kapsamlı rehberde DC motorun çalışma prensiplerini, Arduino ile kontrol yöntemlerini, en çok sorulan soruların profesyonel cevaplarını, gerçek hayat kullanım örneklerini ve geliştirilebilir proje fikirlerini derinlemesine ele alacağız.
1. DC Motorun Temel Çalışma Prensibi
DC motorlar sürekli akım ile çalışır. Fırçalı DC motor (brushed) ve fırçasız DC motor (BLDC) olmak üzere iki temel kategoriye ayrılır. Arduino projelerinde genellikle fırçalı DC motorlar kullanılır. Çünkü:
- Kontrol devresi daha basittir,
- Düşük maliyetlidir,
- PWM ile hız kontrolü kolaydır.
DC motorun çalışma mantığı, manyetik alan etkileşimi ile rotorun dönmesidir. Akım arttıkça motor daha hızlı döner. Yük arttığında akım da artar. Arduino doğrudan DC motoru süremez; çünkü motorun ihtiyaç duyduğu akım Arduino pinlerinin toleransını aşar. Bu nedenle motor sürücü entegreleri (L293D, L298N, TB6612FNG vb.) veya transistörlü güç sürücü devreleri kullanılmalıdır.
2. Arduino ile DC Motor Bağlantısı (L298N Örneği)
DC motorları Arduino üzerinden güvenli ve kontrollü çalıştırmak için en uygun sürücülerden biri L298N çift kanal motor sürücüsüdür.
Gerekli Malzemeler
- Arduino Uno / Nano
- L298N motor sürücü kartı
- 6V–12V DC motor
- Harici güç kaynağı (pil veya adaptör)
- Jumper kabloları
Temel Bağlantı Şeması
Arduino ---- L298N
D9 ---- ENA (Hız kontrolü / PWM)
D8 ---- IN1
D7 ---- IN2
GND ---- GND
Motor ---- OUT1 – OUT2
12V ---- Motor power input
3. Arduino ile DC Motor Kontrol Kodu (İleri–Geri–Hız Kontrolü)
Aşağıdaki örnek kod, DC motoru ileri–geri döndüren, hızını artırıp azaltan temel bir algoritmadır:
int enA = 9;
int in1 = 8;
int in2 = 7;
void setup() {
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
}
void ileri(int hiz) {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, hiz);
}
void geri(int hiz) {
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, hiz);
}
void dur() {
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
void loop() {
ileri(200);
delay(2000);
dur();
delay(1000);
geri(200);
delay(2000);
dur();
delay(1000);
}
Bu kod, motorun yön ve hız kontrolünü PWM tabanlı bir motor sürücü ile sağlar.
Sıkça Sorulan Sorular
1. Arduino doğrudan DC motoru sürebilir mi?
Hayır. Arduino pinleri en fazla 40mA akım verebilir. DC motorlar 200mA–2A arası akım çekebilir. Bu yüzden L298N, L293D gibi sürücüler kullanılmalıdır.
2. DC motor hız kontrolü nasıl yapılır?
Motorun güç beslemesine PWM sinyali uygulanarak hız kontrol edilir. Arduino’da analogWrite() fonksiyonu bu görev için kullanılır.
3. DC motor yönü nasıl değiştirilir?
Motorun uçlarına uygulanan polarite ters çevrilerek yön kontrolü sağlanır. H-köprü devresi bu işin temelidir.
4. DC motor çalışırken neden gürültü çıkarır?
Fırçalı motorlarda kolektör ve fırça sürtünmesi sebebiyle mekanik ve elektriksel gürültü oluşur. Bu normaldir.
5. DC motor neden titrer?
Düşük PWM frekansı, düşük çalışma voltajı veya yetersiz akım motorun titreşmesine neden olabilir.
6. Motor çalışırken Arduino reset atıyor, neden?
Motor kalkış anında yüksek akım çeker. Aynı kaynaktan beslenen Arduino voltaj düşmesi yaşar ve reset atar. Ayrı güç kaynağı tavsiye edilir.
7. DC motor ile servo motor arasındaki fark nedir?
DC motor sürekli döner; servo motor sınırlı açıda hassas pozisyon kontrolü sağlar.
8. DC motor neden harici güç kaynağı ister?
Arduino’nun 5V pininden verilen akım motor için yetersizdir. Bu yüzden harici kaynak gereklidir.
9. Motor sürücü seçerken nelere dikkat edilmelidir?
- Akım kapasitesi (motorun çektiğinden fazla olmalı)
- Giriş voltajı aralığı
- PWM desteklemesi
- Isı dağılımı
10. DC motor için hangi voltaj kullanılmalı?
Motorun etiket değerine göre 6V, 9V veya 12V kullanılmalıdır. Düşük voltaj motoru yavaşlatırken yüksek voltaj motoru yakabilir.
5. Gündelik Hayatta DC Motor Kullanımından 10 Örnek
- Oyuncak araba motoru
- Blender, mikser gibi ev aletleri
- Havalandırma fanları
- Elektrikli süpürgeler
- Araba cam mekanizması
- Laptop fanları
- Yazıcı kağıt besleme mekanizması
- Matkaplar
- Robot süpürgeler
- Otomatik kapı mekanizmaları
6. Geliştirilebilir 10 Arduino + DC Motor Proje Fikri
- Hız kontrollü akıllı fan sistemi
- Otomatik sulama sistemi için su pompası kontrolü
- Güneşi takip eden solar panel hareket mekanizması
- Robot araba projesi
- Akıllı perde açma sistemi
- Mini konveyör bant sistemi
- Güvenlik için lazer kapı kapanma motoru
- Çöp kutusu otomatik kapak açma sistemi
- Kapı kilidi dönme motoru
- Hız kontrollü mini torna-motor düzenekleri
Kodlu Örnek Proje: PWM Kontrollü Akıllı Fan Sistemi
Bu proje ortam sıcaklığına göre motor hızını otomatik ayarlar.
Gerekli Malzemeler
- Arduino Uno
- L298N motor sürücü
- DC fan
- LM35 sıcaklık sensörü
Bağlantı
- LM35 → A0
- Motor → L298N
- L298N ENA → 9
- IN1 → 8
- IN2 → 7
Kod
int sensorPin = A0;
int enA = 9;
int in1 = 8;
int in2 = 7;
void setup() {
Serial.begin(9600);
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
void loop() {
int deger = analogRead(sensorPin);
float sicaklik = (deger * 5.0 / 1023.0) * 100;
int hiz = map(sicaklik, 20, 50, 80, 255);
if (hiz < 0) hiz = 0;
if (hiz > 255) hiz = 255;
analogWrite(enA, hiz);
Serial.print("Sıcaklık: ");
Serial.print(sicaklik);
Serial.print(" C - Motor Hizi: ");
Serial.println(hiz);
delay(500);
}
Bu proje, sıcaklık arttıkça fan hızını otomatik yükselten basit ama etkili bir otomasyon sistemi sağlar.
Eğitimlerimize katılarak bu ve diğer projeleri uygulamalı olarak öğrenebilirsiniz. Eğitimlerimize ve diğer bilgilere buradaki linkten (https://www.facadium.com.tr/) ulaşabilirsiniz. Ürünlerimize STEM Kits üzerinden ulaşabilirsiniz. STEM Kits (https://www.stemkits.com.tr/) Lütfen bizlere iletişim kanallarından ulaşınız.
