Berk Akademi
Birebir ders başvurusu Ücretsiz ön görüşme Ana Sayfa

Arduino DC Motor Sürücü Nasıl Bağlanır? PWM, Harici Besleme ve GND Mantığı

arduino-dc-motor-surucu-nasil-baglanir-pwm-harici-besleme-ve-gnd-mantigi
Bu yazıda neler var?
  1. Kısa cevap: Arduino motoru değil, motor sürücüyü kontrol eder
  2. Motor sürücüsündeki pinleri işlevlerine göre ayır
  3. Bağlantı şeması ve güç yolu kontrol listesi
  4. PWM ve yön pinleri nasıl çalışır?
  5. Güvenli test sırası ve yaygın bağlantı hataları
  6. Sık Sorulan Sorular

Arduino DC motor sürücü nasıl bağlanır sorusunun kısa yanıtı şudur: Arduino, motora doğrudan enerji vermek yerine motor sürücüsüne kontrol sinyalleri gönderir. Motorun hareket için gereken enerjisi ise uygun bir harici güç kaynağından gelir ve sürücü üzerinden motora aktarılır.

Arduino motoru beslemez; sürücüyü kontrol eder. Bu ayrım, hem bağlantıyı doğru kurmak hem de Arduino kartını aşırı akım riskinden korumak için önemlidir. Kullanılan motorun ve sürücü modülünün besleme ile akım gereksinimleri, bağlantıdan önce mutlaka kendi üretici veri sayfalarından kontrol edilmelidir.

Kısa cevap: Arduino motoru değil, motor sürücüyü kontrol eder

Bir DC motor sistemi üç farklı görevi ayırarak çalışır: Arduino karar verir, motor sürücüsü bu kararı güç sinyaline dönüştürür, motor ise hareket üretir. Örneğin Arduino bir yön piniyle motorun ileri ya da geri dönmesini seçebilir; PWM sinyaliyle de sürücüye hız komutu gönderebilir.

Motor sürücüsü, Arduino'dan gelen düşük güçlü kontrol sinyallerini kullanarak motorun ihtiyaç duyduğu enerjiyi harici kaynaktan çeker. Böylece motorun güç hattı ile Arduino'nun kontrol hattı birbirinden görev açısından ayrılmış olur.

Arduino kontrol pinleri
        |
        v
Motor sürücüsü <--- Harici güç kaynağı
        |
        v
     DC motor

Bu şemada Arduino'nun görevi, sürücünün kontrol girişlerine sinyal göndermektir. Harici güç kaynağı sürücünün motor besleme girişine bağlanır. Motorun iki ucu da sürücünün motor çıkışlarına bağlanır. Sürücü, aldığı komuta göre bu iki çıkıştaki elektriksel yönü değiştirerek motorun dönüş yönünü kontrol eder.

Bağlantıya başlamadan önce dört bağlantı grubunu birbirinden ayırmak işleri kolaylaştırır:

  • Kontrol girişleri: Arduino'dan gelen yön, etkinleştirme veya PWM sinyallerini alır.
  • Motor çıkışları: Motorun iki kablosunun bağlandığı uçlardır.
  • Motor besleme girişi: Harici güç kaynağından gelen enerjinin sürücüye ulaştığı hattır.
  • GND bağlantısı: Kontrol sinyallerinin doğru yorumlanması için gereken referans hattıdır.

Harici kaynağın yalnızca geriliminin değil, motor çalışırken sağlayabileceği akımın da uygun olması gerekir. Motor kalkış anında veya yük altındayken daha fazla akım çekebilir. Yetersiz bir kaynak, motorun düzensiz hareket etmesine, sürücünün kapanmasına ya da bağlantıların gereksiz biçimde ısınmasına yol açabilir. Bu nedenle motorun ve sürücünün üretici veri sayfasındaki besleme ve akım sınırları birlikte değerlendirilmelidir.

Motor sürücüsündeki pinleri işlevlerine göre ayır

Motor sürücüsündeki pinleri işlevlerine göre ayır

Motor sürücülerinde pin adları modülden modüle değişebilir. Bu nedenle bağlantı yaparken yalnızca pin adını ezberlemek yerine, her pinin devredeki görevini belirlemek daha güvenli bir yöntemdir. IN1, IN2, EN, PWM, OUT1, OUT2, VM ve GND gibi adlar sık görülse de bunların tam işlevi her modülde aynı olmayabilir.

Kontrol girişleri: hız ve yön komutları

Birçok sürücüde yön girişleri, motorun ileri veya geri dönme durumunu belirler. Genellikle iki mantık seviyesi kombinasyonu kullanılır: bir giriş aktifken diğeri pasif olabilir. Ancak hangi kombinasyonun hangi yönü temsil ettiği sürücünün veri sayfasından doğrulanmalıdır.

PWM ya da etkinleştirme girişi ise sürücünün motora ilettiği gücün zamanlamasını kontrol etmek için kullanılabilir. Arduino bu pine değişken görev döngülü bir sinyal gönderdiğinde motorun ortalama gücü değişir; bu da hız kontrolüne yardımcı olur. Bazı modüllerde PWM işlevi ayrı bir girişteyken, bazılarında yön girişlerinden biri bu amaçla kullanılabilir.

Güç ve motor uçları: enerjinin izlediği yol

Motor çıkışları, motorun iki kablosuna gider. Bu uçlar genellikle OUT ile başlayan isimler taşısa da etikete bakarak karar vermek yerine modül şemasını incelemek gerekir. Motor besleme girişi ise harici kaynağın bağlandığı hattır. VM, motor beslemesi veya benzer bir ad bu görevi ifade edebilir; yine de kesin bağlantı için üretici dokümanına bakılmalıdır.

GND, yalnızca “eksi uç” olarak düşünülmemelidir. Ortak referanslı sürücülerde Arduino GND'si ile sürücünün kontrol tarafındaki GND hattı ortaklanmadığında, sürücü Arduino'dan gelen HIGH ve LOW sinyallerini güvenilir biçimde yorumlayamayabilir. Harici güç kaynağının GND hattı da çoğu standart ortak referanslı düzende bu ortak noktaya dahil edilir.

Bununla birlikte bazı sürücüler izolasyonlu yapıda olabilir. Böyle bir modülde GND bağlantısı, standart ortak GND düzeninden farklı kurulabilir. Kullanılan modülün pin adları, ortak GND gereksinimi ve izolasyon yapısı üretici veri sayfasından doğrulanmadan bağlantı yapılmamalıdır.

Bağlantı şeması ve güç yolu kontrol listesi

Bağlantı şeması ve güç yolu kontrol listesi

DC motor bağlantısında iki ayrı hat vardır: kontrol hattı ve güç hattı. Arduino kontrol sinyallerini üretir, motor sürücü ise bu sinyallere göre motorun ihtiyaç duyduğu enerjiyi harici kaynaktan motora aktarır. Arduino motoru değil, motor sürücüyü kontrol eder.

Modelden bağımsız temel bağlantı mantığı aşağıdaki gibi okunabilir:

Arduino kontrol pini  ──> Sürücü kontrol girişi
Arduino GND           ──> Sürücü GND / kontrol referansı

Harici güç kaynağı +   ──> Sürücü motor besleme girişi +
Harici güç kaynağı -   ──> Sürücü motor besleme girişi -

Sürücü motor çıkışı A ──> Motorun bir ucu
Sürücü motor çıkışı B ──> Motorun diğer ucu

Şemayı okurken önce güç yolunu takip et: harici kaynak, sürücünün motor besleme girişi, sürücünün motor çıkışları ve motor. Ardından kontrol yoluna bak: Arduino dijital pinleri, sürücünün PWM ve yön girişlerine gider. Bu ayrım, motor kablosunu yanlışlıkla Arduino pinine bağlama riskini azaltır.

  1. Arduino üzerindeki seçtiğin dijital pinleri sürücünün kontrol girişlerine bağla.
  2. Motorun iki ucunu, sürücünün motor çıkış terminallerine bağla.
  3. Harici güç kaynağının artı ve eksi uçlarını sürücünün motor besleme girişlerine bağla.
  4. Sürücünün kontrol devresi ortak referans gerektiriyorsa Arduino GND ile sürücü GND hattını bağla.
  5. Motoru ve harici güç kaynağını bağladıktan sonra Arduino'yu USB veya kendi uygun besleme yöntemiyle çalıştır.

Bağlantı öncesi güç yolu kontrolü

  • Motor uçlarının Arduino dijital pinlerine değil, sürücü çıkışlarına bağlı olduğunu kontrol et.
  • Harici güç kaynağının sürücünün motor besleme girişine gittiğini doğrula.
  • Motorun iki kablosunun sürücüdeki iki motor çıkışında olduğunu incele.
  • Arduino GND ve sürücü GND bağlantısının, kullandığın sürücünün belgelerine uygun olduğundan emin ol.
  • Güç kaynağı ve motor uçlarında artı-eksi polaritesini tekrar kontrol et.
  • Gevşek jumper kablosu, açıkta iletken bölüm veya kısa devre ihtimali olmadığını incele.

Her motor sürücüsünde GND mantığı aynı değildir. İzolasyonlu bir modülde kontrol tarafı ile motor tarafının elektriksel olarak ortak referans isteyip istemediği, modülün bağlantı şeması ve üretici belgelerinden kontrol edilmelidir. Ortak GND gereken bir devrede bu bağlantının eksik olması, PWM ve yön sinyallerinin sürücü tarafından doğru yorumlanmamasına yol açabilir.

PWM ve yön pinleri nasıl çalışır?

PWM sinyali, sürücüye motor için hız komutu verir. Sürücü bu komuta göre motor beslemesini anahtarlayarak motorun hareketini ayarlar. Yön pinleri ise motor akımının hangi yönde uygulanacağını belirler. Bu nedenle PWM ile yön sinyali aynı görevi yapmaz: yön pinleri tek başına hız kontrolü için kullanılmaz.

Aşağıdaki örnek, ayrı bir PWM girişi ve iki yön girişi bulunan genel bir sürücü mantığı içindir. PWM_PIN değerini, kullandığın Arduino kartının resmi pinout belgesinde PWM destekli olduğu belirtilen bir pinle değiştirmelisin. Ayrıca sürücünün IN1, IN2 ve PWM girişlerinin doğruluk tablosunu kendi üretici belgesinden kontrol etmelisin.

const byte PWM_PIN = 9;
const byte IN1 = 7;
const byte IN2 = 8;

void dur() {
  analogWrite(PWM_PIN, 0);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
}

void ileri(int hiz) {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(PWM_PIN, hiz);
}

void geri(int hiz) {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  analogWrite(PWM_PIN, hiz);
}

void setup() {
  pinMode(PWM_PIN, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
}

void loop() {
  ileri(180);
  delay(2000);

  dur();
  delay(1000);

  geri(180);
  delay(2000);

  dur();
  delay(1000);
}

Bu kodda motor önce ileri yönde döner, ardından durur, sonra ters yönde döner ve yeniden durur. Motorun uçlarını sürücü çıkışlarında ters bağlarsan kod değişmese bile fiziksel ileri ve geri yönleri yer değiştirebilir. Bazı sürücülerde durma davranışı yalnızca PWM değerini sıfırlamakla, bazılarında ise yön girişleri için farklı bir mantıkla tanımlanabilir; bu nedenle son bağlantı ve kod kontrolünü sürücünün üretici belgelerine göre yap.

Güvenli test sırası ve yaygın bağlantı hataları

İlk çalıştırmada küçük ve kontrollü bir test yapmak, bağlantı hatalarını büyümeden fark etmeyi kolaylaştırır. Arduino motoru beslemez; sürücüyü kontrol eder. Motorun enerjisi uygun harici kaynaktan, kontrol sinyalleri ise Arduino’dan gelir.

  1. Enerjiyi kesin ve USB bağlantısı dâhil tüm güç kaynaklarını devreden çıkarın.
  2. Bağlantıları şemaya göre gözden geçirin. Sürücü modeline göre pin adları ve çalışma mantığı değişebilir. Bu nedenle EN, PWM, IN, DIR, OUT, VM veya GND gibi adların anlamını kullanılan sürücünün üretici veri sayfasından doğrulayın.
  3. Harici beslemenin artı ve eksi uçlarını kontrol edin. Arduino GND ile sürücünün GND bağlantısının ortak olduğundan emin olun.
  4. Motoru tezgâhta sabitleyin. İlk testte dönen milin kabloya, parmağa veya başka bir parçaya takılmayacağı bir düzen kurun.
  5. PWM başlangıç değerini düşük tutun. İlk denemede kısa süreli ileri hareket komutu verin.
  6. Enerjiyi kesin ve kabloları, klemensleri ve sürücüyü kontrol edin. Anormal ısınma, koku, gevşeme veya beklenmeyen ses varsa teste devam etmeyin.
  7. Bağlantıları tekrar kontrol ettikten sonra dur komutunu, ardından kısa süreli geri hareket komutunu deneyin.

Aşağıdaki örnek, sürücünün iki yön kontrol pini ve bir PWM girişine sahip olduğu varsayımsal bir kontrol düzenini gösterir. Gerçek pin numaralarını ve pin adlarını kendi kartınıza göre uyarlayın.

const int yon1 = 7;
const int yon2 = 8;
const int pwm = 5;

void setup() {
  pinMode(yon1, OUTPUT);
  pinMode(yon2, OUTPUT);
  pinMode(pwm, OUTPUT);
}

void loop() {
  digitalWrite(yon1, HIGH);
  digitalWrite(yon2, LOW);
  analogWrite(pwm, 80);
  delay(1500);

  analogWrite(pwm, 0);
  delay(1000);

  digitalWrite(yon1, LOW);
  digitalWrite(yon2, HIGH);
  analogWrite(pwm, 80);
  delay(1500);

  analogWrite(pwm, 0);
  delay(2000);
}

Beklenen davranış, motorun düşük hızda kısa süre ileri dönmesi, durması, ardından ters yönde dönmesi ve tekrar durmasıdır. Ters polarite, sürücünün izin verdiği aralık dışındaki besleme, yetersiz akım sağlayan kaynak veya gevşek bağlantı; sürücünün kararsız çalışmasına, resetlenmesine ya da hasar görmesine yol açabilir. Motoru doğrudan Arduino’nun 5V pininden beslemek ve motor uçlarını kontrol pinlerine bağlamak da uygun değildir. Kullanılan sürücünün koruma mekanizmalarını ve elektriksel sınırlarını mutlaka üretici veri sayfasından kontrol edin.

Sık Sorulan Sorular

Arduino GND ile motor sürücünün GND'si neden bağlanır?

Arduino’nun gönderdiği PWM ve yön sinyallerinin hangi elektriksel referansa göre yorumlanacağını belirlemek için ortak GND gerekir. Ortak referans kurulmazsa sürücü, kontrol sinyallerini kararsız veya hatalı algılayabilir.

Motoru doğrudan Arduino'nun 5V pininden beslemek neden uygun değildir?

Motorlar ilk harekette ve yük altında Arduino pinlerinin sağlayabileceğinden daha yüksek akım çekebilir. Bu durum Arduino’nun resetlenmesine, beslemenin çökmesine veya karta zarar gelmesine neden olabilir. Motor enerjisi, sürücünün gerektirdiği uygun harici kaynaktan sağlanmalıdır.

PWM pini ile yön pinleri arasındaki fark nedir?

PWM pini motorun sürücü üzerinden ne kadar etkin çalışacağını, yani hız komutunu belirlemek için kullanılır. Yön pinleri ise motor uçlarındaki sürme yönünü belirler. Ancak bazı sürücülerde bu görevler farklı adlarla veya farklı bir kontrol düzeniyle uygulanabilir.

Motor sürücüsündeki pin adları neden modele göre değişir?

Üreticiler aynı temel işlev için EN, PWM, IN, DIR, A, B veya benzeri adlar kullanabilir. Bazı kartlarda yön ve hız ayrı pinlerle, bazılarında farklı bir lojik düzeniyle kontrol edilir. Bu nedenle bağlantıdan önce ilgili veri sayfasındaki pin açıklamaları incelenmelidir.

Güvenli bir motor testi için düşük PWM değeriyle başlayın, enerjiyi keserek kontroller yapın ve sürücünün veri sayfasındaki sınırları aşmayın.

Bu içerik aradığın cevabı verdi mi?
Yanıtın, hangi yazıları geliştirmemiz gerektiğini anlamamıza yardımcı olur.
Bu içeriğin üretilmesinde yapay zeka araçlarından destek alınmıştır.

Bu konudan sonra ne okuyabilirsin?

Tüm yazılar

İlgili Eğitimler

Berk Keskin, yazılım geliştirici ve eğitmen
Yazar

Berk Keskin Kimdir?

Yazılıma 12 yaşında başladı; İzmir Ekonomi Üniversitesi'ni bölüm birincisi ve yüksek şeref öğrencisi olarak tamamladı. Bugün yalnızca eğitim vermekle kalmıyor, sektörde aktif olarak yazılım projeleri geliştiriyor ve gerçek dünya deneyimini birebir derslerine taşıyor. Ezberden uzak, mühendislik zihniyetini merkeze alan sürdürülebilir öğrenme sistemleri tasarlayarak sorgulayan, üreten ve problem çözebilen yeni nesil yazılımcılar yetiştiriyor.

Sektörel Deneyim & Projeler

  • Ticarify Entegrasyon Yazılım logosu CEO Ticarify Entegrasyon YazılımPazaryerleri ve e-ticaret sitelerine otomatik e-fatura kesimi, sipariş ve kargo takibi hizmetleri sunan e-Dönüşüm platformunun API mimarisini ve yazılım ekibini yönetmektedir.
  • Benim Düğünüm logosu CEO Benim DüğünümDijital etkinlik ve anı paylaşım platformu.
  • Siberdizayn logosu Yazılım Ekibi Lideri SiberdizaynYüksek anlık oyuncu trafiğine sahip oyun kontrol panelleri ve sunucu altyapıları geliştiren yazılım ekibine liderlik etmektedir.
  • MEDYOGRAFYA 360° Dijital Çözümler logosu Dijital Strateji Lideri MEDYOGRAFYA 360° Dijital ÇözümlerŞirketlerin dijital çözümlerde uzun vadede nasıl ilerlemesi gerektiği ve dijital dönüşüm süreçlerinin yönetilmesine destek olmaktadır.
  • İzmir Ekonomi Üniversitesi logosu Danışma Kurulu Üyesi İzmir Ekonomi ÜniversitesiMezun olduğu üniversitesinde, Bilgisayar Programcılığı bölümünün akademik müfredatını güncel sektör ihtiyaçlarına göre şekillendirmek adına Danışma Kurulu'nda görev almaktadır.
WhatsApp Hemen Ara