Bir cümlelik özet
DC motor elektrik enerjisini sürekli dönme hareketine çevirir; hızını ve yönünü kontrol etmek, motoru güvenle çalıştırmak için ise bir motor sürücü (motor driver) ve ayrı bir güç kaynağı kullanırız.
Neden önemli?
Servo motoru bir önceki derste öğrendik. Servo belirli bir açıya döner ve orada durur; bir kolun ya da direksiyonun konumunu ayarlamak için harikadır. Ama bir robotun tekerleğini döndürmek istiyorsan sürekli dönen bir motora ihtiyacın var. İşte DC motor tam olarak bunu yapar.
Oyuncak arabalar, vantilatörler, elektrikli diş fırçaları, fan ve pek çok robot tekerleği DC motorla çalışır. Bu yüzden robot yapmaya başlayan hemen herkes bir noktada DC motorla tanışır.
Ancak burada önemli bir güvenlik ve mühendislik konusu var: DC motor, bir LED'e göre çok daha fazla akım çeker. Motoru doğrudan micro:bit ya da Arduino'nun pinine bağlarsan kartına zarar verebilirsin. Bu derste motoru neden ayrı beslediğimizi ve motor sürücünün ne işe yaradığını öğreneceğiz.
DC motor nedir ve nasıl çalışır?
Ne yapar?
DC motor, doğru akım (İngilizce "direct current", kısaca DC) ile çalışan ve mile sürekli dönme hareketi veren bir motordur. İki bağlantı ucu vardır. Bu uçlara pil bağladığında mil döner; kutupları ters çevirdiğinde ters yöne döner.
Basit bir fikirle nasıl döner?
İçinde bir mıknatıs ve bir de elektrikle mıknatıslanan bobin bulunur. Elektrik geçtiğinde bobin mıknatıslanır; mıknatısla iterek ve çekerek mili döndürür. Yani elektrik enerjisi hareket enerjisine dönüşür. Bu fikri şöyle özetleyebiliriz:
- Daha yüksek gerilim veya daha fazla akım → genelde daha hızlı dönüş.
- Kutupları ters bağlamak → ters yönde dönüş.
Servo ile farkı
- Servo: Belirli bir açıya gider ve durur (örneğin 0°–180°). Konum kontrolü içindir.
- DC motor: Durmadan döner. Hız ve yön kontrolü içindir, ama tek başına "kaç derece döndüm" bilgisini vermez.
Günlük hayattan iki örnek
- Oyuncak araba: İçindeki DC motor tekerleği döndürür; pili ters takarsan araba geri gider.
- Masaüstü vantilatör: Aynı prensip; DC motor pervaneyi döndürür, düğmeyle hızını değiştirirsin.
Motoru neden doğrudan karttan beslemeyiz?
Akım meselesi
Bir LED çok küçük akım çeker, bu yüzden onu doğrudan bir pine bağlayabiliriz. DC motor ise çalışırken ve özellikle ilk hareket anında çok daha fazla akım ister. micro:bit veya Arduino'nun pinleri bu kadar akımı veremez.
Basit kural: Kartın pini bir motoru döndürmek için tasarlanmamıştır. Pin sadece "emir" verir; gücü başka bir yerden almalıyız.
Motoru doğrudan pine bağlarsan iki kötü şey olabilir: kart yeterli akımı veremediği için motor zar zor döner ya da karta aşırı yük binip pin veya kart zarar görür.
Çözüm: Motor sürücü
Motor sürücü (motor driver), kartın verdiği küçük sinyali alıp motoru ayrı bir güç kaynağından besleyen bir aracıdır. Okullarda çok kullanılan örnekleri L298N ve L9110 gibi kartlardır.
Motor sürücü iki işi birden yapar:
- Kartın küçük sinyalini kullanarak motoru açar/kapatır ve yönünü seçer.
- Motorun ihtiyaç duyduğu akımı ayrı güç kaynağından (pil paketi gibi) çeker, böylece kartını korur.
Bunu bir musluk gibi düşünebilirsin: Parmağınla küçük bir kolu ittirirsin (sinyal), ama akan su borudan gelir (ayrı güç). Parmağın az kuvvet harcar, su ise borunun basıncından gelir.
Hız ve yön nasıl kontrol edilir?
- Yön: Sürücüye "ileri" ya da "geri" dediğinde, sürücü motorun uçlarındaki kutupları değiştirir ve motor ters yöne döner.
- Hız: PWM adı verilen bir yöntemle motora gücü çok hızlı açıp kapatırız. Ne kadar çok "açık" kalırsa motor o kadar hızlı döner. Küçük bir yüzde ile başlayıp yavaşça artırmak en güvenli yoldur.
Sözde kod ve örnek
Aşağıdaki sözde kod, motoru bir sürücü üzerinden nasıl kontrol ettiğimizi gösterir. Gerçek pin numaraları kullandığın karta göre değişir.
Başla
Motor gücünü çok düşük ayarla (örneğin %30)
İleri yönü seç
2 saniye ileri dön
Motoru durdur
Geri yönü seç
2 saniye geri dön
Motoru durdur
Bitir
micro:bit benzeri bir sözde snippet (mantık aynı kalır):
# Motoru ayrı güç kaynağı ve sürücü ile kontrol ediyoruz
suru = MotorSurucu(yon_pin=1, hiz_pin=2)
suru.yon("ileri")
suru.hiz(30) # düşük hızda başla (%30)
uyu(2000) # 2 saniye dön
suru.dur()
suru.yon("geri")
suru.hiz(30)
uyu(2000)
suru.dur() # işimiz bitince motoru durdur
Dikkat: Hız değeri düşük (%30) başlıyor. Motoru her zaman düşük hızda test edip sonra artırırız.
Mini uygulama
Bir masaüstü vantilatör davranışı tasarla: Motor önce yavaş, sonra orta, sonra hızlı dönsün; ardından yön değiştirsin ve dursun. Önce sözde kodunu yaz, sonra bir yetişkinle birlikte sürücü ve pil paketiyle dene.
Başla
Yön: ileri
Hız %30, 2 saniye bekle
Hız %60, 2 saniye bekle
Hız %90, 2 saniye bekle
Motoru durdur
Yön: geri
Hız %40, 2 saniye bekle
Motoru durdur
Bitir
Kontrol soruları kendine:
- Motoru hangi hızda başlattın? Neden düşük hız daha güvenli?
- Yön değiştirmeden önce motoru durdurdun mu?
- Güç kaynağı ayrı mı, yoksa yanlışlıkla karttan mı besledin?
Uygulama laboratuvarı: DC Motor ve Motor Sürücü
DC Motor ve Motor Sürücü konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada DC motor nedir ve nasıl çalışır? ile Basit bir fikirle nasıl döner? arasındaki ilişkiyi kullanarak ölçüm tablosu, kalibrasyon kararı ve güvenli çıktı davranışı hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.
Görev senaryosu
Şu senaryoyu ele al: karanlıkta açılıp aydınlıkta kapanan gece lambası. Dersin ana hedefi “DC motorun hız ve yönünü motor sürücü ve ayrı güçle güvenle kontrol etmeyi öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.
- Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
- En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
- Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
- Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
- Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.
Başarı ölçütleri
- Sensör değeri farklı koşullarda kaydedildi mi?
- Eşik değeri tek ölçüme değil gözleme dayanıyor mu?
- Gürültülü veri filtreleniyor veya ortalanıyor mu?
- Aktüatör güvenli başlangıç durumunda mı?
- Sensör koparsa sistemin nasıl davranacağı tanımlı mı?
“DC Motor ve Motor Sürücü” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın karanlıkta açılıp aydınlıkta kapanan gece lambası senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, DC motor nedir ve nasıl çalışır? ve Basit bir fikirle nasıl döner? ilişkisini daha küçük adımlara bölerek düzelt.
Sık yapılan hatalar
Motoru doğrudan karta bağlamak
Motoru micro:bit ya da Arduino pinine doğrudan bağlamak en sık ve en tehlikeli hatadır. Her zaman bir motor sürücü kullan.
Güç kaynağını ayırmamak
Motor ve kart aynı zayıf kaynaktan beslenirse kart yeniden başlayabilir ya da motor dönmez. Motora ayrı bir pil paketi ver.
Yüksek hızda başlamak
Motoru birden tam hızda çalıştırmak kabloları çekebilir, robotu masadan düşürebilir. Düşük hızda başla, yavaşça artır.
Yön değişimini aniden yapmak
Motor tam hızda ileri giderken bir anda geri komutu vermek sürücüyü ve motoru zorlar. Önce durdur, sonra ters yönü ver.
Güvenlik notu
DC motorlar dönen, hareketli parçalardır. Güvenli çalışmak için:
- Dönen mile, dişliye ya da pervaneye parmağını, saçını ve giysini uzak tut. Uzun saçı topla.
- Kabloları dönen parçalardan uzak tut; dolanabilir.
- Motoru motor sürücü üzerinden bağla; asla doğrudan kartın pininden besleme.
- Motorun gücünü ayrı ve düşük gerilimli bir kaynaktan (pil paketi, USB gibi) al. Asla şebeke (priz) elektriği kullanma.
- Motoru düşük hızda başlat, sonra artır.
- Kablolar ısındığında, garip bir koku ya da ses geldiğinde hemen gücü kes.
- Tüm bağlantı ve denemeleri bir yetişkin gözetiminde yap.
Ders özeti
- DC motor sürekli döner; hızını ve yönünü kontrol edebiliriz.
- Kutupları ters çevirmek dönüş yönünü değiştirir; PWM ile hızı ayarlarız.
- DC motor bir LED'den çok daha fazla akım çektiği için doğrudan karttan beslenmez.
- Motor sürücü, kartın küçük sinyalini alıp motoru ayrı güç kaynağından besler ve kartı korur.
- Güvenlik için düşük hızda başla, hareketli parçalardan uzak dur ve yalnızca düşük gerilimli kaynak kullan.
Kontrol soruları
- DC motor ile servo motor arasındaki en temel fark nedir?
- Motorun dönüş yönünü değiştirmek için ne yaparız?
- DC motoru neden doğrudan micro:bit veya Arduino pinine bağlamayız?
- Motor sürücünün iki temel görevi nedir?
- Motoru güvenle çalıştırmak için gücü nereden almalıyız ve hangi hızda başlamalıyız?
Cevaplar
- DC motor sürekli döner (hız/yön kontrolü); servo ise belirli bir açıya gidip durur (konum kontrolü).
- Motorun uçlarındaki kutupları ters çeviririz; sürücüye "ileri/geri" komutu bunu yapar.
- Çünkü DC motor çok fazla akım çeker; kartın pini bu akımı veremez ve kart zarar görebilir.
- Kartın sinyaliyle motoru açıp kapatmak ve yönünü seçmek; motoru ayrı güç kaynağından besleyerek gerekli akımı sağlamak.
- Gücü ayrı ve düşük gerilimli bir kaynaktan (pil paketi/USB) almalıyız; motoru düşük hızda başlatıp yavaşça artırmalıyız.
Kaynak ve doğrulama notu
“DC Motor ve Motor Sürücü” dersi için doğrulama odağı DC motor nedir ve nasıl çalışır? ile Basit bir fikirle nasıl döner? arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Sensör değerleri modele, besleme gerilimine ve ortama göre değişebilir. Bu nedenle derslerdeki eşikler örnek kabul edilmeli; gerçek projede ölçüm tablosu oluşturularak kalibrasyon yapılmalıdır.
Sonraki ders
Step Motor Nedir?