L9110S motor sürücüsü, Arduino projelerinizdeki DC motorlarını ve step motorları kontrol etmek için kompakt ve verimli bir çözümdür. İster basit bir robot ister daha karmaşık bir otomasyon sistemi inşa edin, L9110S, minimum kablolama ve programlama karmaşıklığı ile motor işlemlerini yönetmek için güvenilir bir yol sunar. Bu blog yazısında, L9110S motor sürücüsünün özelliklerini, bir Arduino'ya nasıl bağlanacağınızı ve başlamanız için örnek kod sağlayacağını keşfedeceğiz.
L9110'lar nedir?
L9110S, iki DC motorunun veya bir step motorun hızını ve yönünü kontrol etmek için tasarlanmış çift kanallı motor sürücü IC'dir. 2.5V ila 12V voltaj aralığında çalışır ve bu da çeşitli uygulamalar için çok yönlü hale getirir. L9110S, kompakt boyutu, düşük güç tüketimi ve Arduino gibi mikrodenetleyicilerle entegrasyon kolaylığı ile bilinir.
Neden L9110'ları Seçmelisiniz?
- Kompakt Tasarım: Küçük ayak izi, sınırlı alana sahip projeler için idealdir.
- Çift kanallar: Karmaşık hareketlere izin vererek iki motoru bağımsız olarak kontrol edin.
- Kullanımı kolay: Kolay bağlantılar için net etiketleme ile basit arayüz.
- Maliyet etkin: İşlevsellikten ödün vermeden uygun fiyatlı fiyatlandırma.
L9110'ları Arduino'ya bağlamak
L9110'ların bir arduino ile ayarlanması basittir. Aşağıda bağlantıları yapmak için adım adım bir kılavuz bulunmaktadır:
-
Güç Bağlantıları:
- Bağla
VCC
L9110'ların pimi Arduino'daki 5V pimine. - Bağla
GND
L9110'ların pimi Arduino'daki GND pimine.
- Bağla
-
Motor bağlantıları:
- İlk motoru
OUT1
VeOUT2
pimler. - İkinci bir motor kullanıyorsanız,
OUT3
VeOUT4
pimler.
- İlk motoru
-
Kontrol pimleri:
- Bağla
AIN1
VeAIN2
Arduino üzerinde iki dijital pime pimleri (örn. Pin 2 ve 3). - İkinci bir motor kullanıyorsanız, bağlayın
BIN1
VeBIN2
diğer iki dijital pim (örn., Pinler 4 ve 5).
- Bağla
Bağlantıların görsel temsili için aşağıdaki şemaya bakın:
Arduino programlama
Donanımı kurduktan sonra, bir sonraki adım Arduino'yu motorları kontrol etmek için programlamaktır. Aşağıda, L9110S motor sürücüsünü kullanarak bir DC motorunun yönünün ve hızının nasıl kontrol edileceğini gösteren bir örnek kod bulunmaktadır.
// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
// Setup function
void setup() {
// Initialize the motor control pins as outputs
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
}
// Loop function
void loop() {
// Rotate motor forward
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
delay(1000); // Stop for 1 second
// Rotate motor backward
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
delay(1000); // Stop for 1 second
}
Açıklama:
-
AIN1
VeAIN2
motorun yönünü kontrol etmek için kullanılır. - Ayar
AIN1
Yüksek veAIN2
Düşük motoru öne döndürür. - Ayar
AIN1
Alçak veAIN2
Yüksek motoru geri döndürür. - Her ikisini de ayarlamak
AIN1
VeAIN2
Düşük motoru durdurur.
PWM ile Hızı Kontrol Etme
L9110S, hız kontrolü için PWM'yi (darbe genişliği modülasyonu) destekler. PWM sinyalinin görev döngüsünü değiştirerek motorun hızını ayarlayabilirsiniz. Hız kontrolünü içerecek şekilde önceki kodu nasıl değiştireceğiniz aşağıda açıklanmıştır:
// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // PWM pin for speed control
// Setup function
void setup() {
// Initialize the motor control pins as outputs
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWM_PIN, OUTPUT);
}
// Loop function
void loop() {
// Set speed to 150 out of 255
analogWrite(PWM_PIN, 150);
// Rotate motor forward
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
delay(1000); // Stop for 1 second
// Rotate motor backward
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
delay(1000); // Stop for 1 second
}
Açıklama: . analogWrite()
Fonksiyon motora bir PWM sinyali gönderir ve hızını kontrol etmenizi sağlar. Değer 0 (durak) ile 255 (tam hız) arasında değişir.
L9110'ların Arduino ile Uygulamaları
L9110S motor sürücüsü ve Arduino'nun kombinasyonu çok çeşitli proje olanakları açıyor:
- Robotik: Hassas motor kontrolü ile robotik kolların veya mobil robotların hareketini kontrol edin.
- Otomasyon Sistemleri: Kapıları açma/kapatma, vanaları ayarlama veya montaj hatlarındaki hareketli bileşenleri otomatikleştirin.
- DIY Projeleri: Motorlu kamera kaydırıcıları, otomatik bitki sulama sistemleri veya uzaktan kumandalı araçlar gibi özel elektronik projeler oluşturun.
- Eğitim Araçları: Öğrencilere uygulamalı projeler aracılığıyla motor kontrolü, elektronik ve programlama hakkında bilgi verin.
Çözüm
L9110S motor sürücüsü, bir Arduino kullanarak motorları kontrol etmek isteyen herkes için çok yönlü ve kullanıcı dostu bir bileşendir. Çift kanallı özelliği, kablolama ve programlamadaki basitlik ile birleştiğinde, onu hem yeni başlayanlar hem de deneyimli hobiler için mükemmel bir seçim haline getirir. Bu yazıda belirtilen adımları izleyerek, motor kontrolünü projelerinize hızlı bir şekilde entegre edebilir ve Arduino tabanlı sistemlerinizin işlevselliğini genişletebilirsiniz.
L9110S motor sürücüsünün potansiyelini tamamen kullanmak için farklı motor hızları, talimatlar ve uygulamalarla deney yapın. Mutlu Tinkering!