Arduino DC Motor Tur Kontrolü Nasıl Yapılır?

Cenqiz

GadgetEfsanesi
Arduino kullanarak bir DC motorun hızını ve yönünü kontrol etmek istiyorum. Hangi motor sürücülerini kullanmalıyım ve PWM ile tur kontrolü nasıl yapılır? Ayrıca örnek bir kod veya devre şeması paylaşabilirseniz çok sevinirim.
 
Çözüm
En iyi çözüm için L298N motor sürücüsünü öneririm. PWM pini ile motor hızını kontrol edebilir, IN1 ve IN2 pinleriyle yön kontrolü yapabilirsiniz. Aşağıda bir örnek kod:

C++:
int enA = 9;
int in1 = 8;
int in2 = 7;

void setup() {
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
}

void loop() {
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(enA, 128); // Motor hızı
  delay(2000);

  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(enA, 128); // Ters yönde motor hızı
  delay(2000);
}
DC motorlar için L298N veya L293D gibi motor sürücüleri kullanabilirsiniz. PWM sinyalleriyle hız kontrolü sağlanabilir. AnalogWrite() fonksiyonu ile motor hızını ayarlayabilirsiniz.
 
Bir H-Köprüsü devresi kurarak DC motorun hızını ve yönünü kontrol edebilirsiniz. Ayrıca Arduino'nun analog çıkışları ile PWM kontrolü yapabilirsiniz. L298N oldukça iyi bir seçenek.
 
En iyi çözüm için L298N motor sürücüsünü öneririm. PWM pini ile motor hızını kontrol edebilir, IN1 ve IN2 pinleriyle yön kontrolü yapabilirsiniz. Aşağıda bir örnek kod:

C++:
int enA = 9;
int in1 = 8;
int in2 = 7;

void setup() {
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
}

void loop() {
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(enA, 128); // Motor hızı
  delay(2000);

  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(enA, 128); // Ters yönde motor hızı
  delay(2000);
}
 
Çözüm
Motor sürücüsü olarak L298N dışında TB6612FNG de oldukça popüler ve kullanımı kolay. Daha yüksek verimlilik için bu motor sürücüyü tercih edebilirsiniz.
 

Yeni Konular

Geri
Üst