0
Bu yazıyı " 3 " dakikada okuyabilirsiniz. 🙂

Bu yazıda, Arduino ile step motorları nasıl kontrol edebileceğinizi öğreneceksiniz. Özellikle, görseldeki devre şemasına göre A4988 step motor sürücü modülü, step motor, voltaj regülatörü ve kapasitörler kullanarak motorun hareketini kontrol edeceğiz.

Step Motorlar Hakkında

Step motorlar, belirli adımlarla dönen fırçasız DC motorlardır. Her adımda, motor belirli bir açı kadar döner. Bu açı, motorun adım açısı olarak bilinir ve genellikle 1.8° veya 0.9°’dir. Step motorlar, yüksek hassasiyet ve tekrarlanabilirlik sunar, bu da onları CNC makineleri, 3D yazıcılar ve robotik uygulamalar için ideal hale getirir.

Gerekli Malzemeler:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • Step motor (Örneğin Nema 17)
  • A4988 step motor sürücü modülü
  • Güç kaynağı (step motorunuz için uygun voltaj ve akım sağlayan)
  • Voltaj regülatörü (örneğin, LM7805 – 5V regülatörü)
  • 2 adet elektrolitik kapasitör (örneğin, 100uF)
  • Breadboard
  • Jumper kablolar

A4988 Step Motor Sürücü Modülü

A4988, step motorları kontrol etmek için kullanılan popüler bir sürücü modülüdür. Mikro adımlama özellikleri sayesinde, motorun daha küçük adımlarla hareket etmesini ve böylece daha yumuşak ve hassas kontrol sağlamasını mümkün kılar.

Bağlantılar:

  1. Step Motor Bağlantıları: Step motorunuzun 4 kablosunu A4988 modülünün 2B, 2A, 1A ve 1B pinlerine bağlayın.
    * Siyah kablo (motor) – 2B (A4988)
    * Mavi kablo (motor) – 2A (A4988)
    * Yeşil kablo (motor) – 1A (A4988)
    * Kırmızı kablo (motor) – 1B (A4988)
    * Not: Motor kablolarının renkleri ve sıralaması motora göre değişebilir. Motorunuzun veri sayfasını kontrol ederek doğru bağlantıları yapın.
  2. A4988 Modülü Bağlantıları:
    * VMOT: A4988 modülünün VMOT pinini voltaj regülatörünün çıkış pinine bağlayın. Voltaj regülatörü, motor için gereken voltajı sağlayacaktır.
    * GND: A4988 modülünün GND pinlerini hem Arduino’nun GND pinine hem de voltaj regülatörünün GND pinine bağlayın.
    * VDD: A4988 modülünün VDD pinini Arduino’nun 5V pinine bağlayın.
    * DIR: A4988 modülünün DIR (Direction) pinini Arduino’nun 8 numaralı pinine bağlayın. Bu pin, motorun dönüş yönünü kontrol eder.
    * STEP: A4988 modülünün STEP pinini Arduino’nun 9 numaralı pinine bağlayın. Bu pin, motora adım atması için sinyal gönderir.
    * MS1, MS2, MS3: A4988 modülünün MS1, MS2 ve MS3 pinlerini Arduino’nun herhangi bir pinine veya GND’ye bağlayarak mikro adımlama modunu ayarlayabilirsiniz. Bu ayarlar, motorun adım çözünürlüğünü belirler. Örneğin, tüm MS pinlerini GND’ye bağlarsanız tam adım modunda çalışır, farklı kombinasyonlar ise yarım, çeyrek veya daha küçük adımlara olanak sağlar. Mikro adımlama ayarları için A4988 modülünün veri sayfasına bakın.
  3. Voltaj Regülatörü Bağlantıları:
    * Giriş: Voltaj regülatörünün giriş pinini (Vin) güç kaynağınızın pozitif (+) kutbuna bağlayın.
    * Çıkış: Voltaj regülatörünün çıkış pinini A4988 modülünün VMOT pinine bağlayın.
    * GND: Voltaj regülatörünün GND pinini Arduino’nun GND pinine ve güç kaynağınızın negatif (-) kutbuna bağlayın.
    * Kapasitörler: Voltaj regülatörünün giriş ve çıkış pinlerine elektrolitik kapasitörler bağlayın. Bu kapasitörler, güç kaynağındaki dalgalanmaları azaltır ve devrenin kararlı çalışmasını sağlar.
ArduinoA4988Step Motor
GNDGNDMotor Kablosu (Siyah)
5VVDD
Pin 8DIRMotor Kablosu (Mavi)
Pin 9STEPMotor Kablosu (Yeşil)
GNDMS1, MS2, MS3
VMOTVoltaj Regülatörü Çıkışı
GNDVoltaj Regülatörü GND
Vin (Reg.)Güç Kaynağı (+) (Kırmızı)
GNDGüç Kaynağı (-) (Siyah)

Kodlama:
1. Kütüphane Kurulumu:
* Gerekli kütüphane genellikle Arduino IDE ile birlikte gelir.
2. Kod Yazma:
* Aşağıdaki kodu Arduino IDE’ye yazın:

// Pinleri tanımlayın
const int dirPin = 8;
const int stepPin = 9;
const int stepsPerRevolution = 200;  // Motorunuzun adım sayısına göre ayarlayın

void setup() {
  // Pinleri çıkış olarak ayarlayın
  pinMode(dirPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
}

void loop() {
  // Motoru bir tur ileri yönde döndürün
  digitalWrite(dirPin, HIGH); // Yönü ileri olarak ayarlayın
  for (int i = 0; i < stepsPerRevolution; i++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(500); // Adım hızı için ayarlayın
    digitalWrite(stepPin, LOW);
    delayMicroseconds(500); // Adım hızı için ayarlayın
  }
  delay(1000); // 1 saniye bekleyin

  // Motoru yarım tur geri yönde döndürün
  digitalWrite(dirPin, LOW); // Yönü geri olarak ayarlayın
  for (int i = 0; i < stepsPerRevolution / 2; i++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(500);
  }
  delay(1000); // 1 saniye bekleyin
}

Kod Açıklaması:

  • dirPin ve stepPin değişkenleri A4988 modülünün pinlerini tanımlar.
  • stepsPerRevolution değişkeni, motorunuzun bir tam tur için gereken adım sayısını belirtir.
  • setup() fonksiyonu pinleri çıkış olarak ayarlar.
  • loop() fonksiyonu motoru belirtilen adım sayısı kadar ileri ve geri yönde döndürür.
  • delayMicroseconds() fonksiyonu ile motorun adım hızı ayarlanır.

Önemli Notlar:

  • Voltaj Regülatörü: Step motorunuz için uygun voltajı sağlayacak bir voltaj regülatörü seçin. Örneğin, motorunuz 12V ise, LM7812 gibi 12V regülatör kullanabilirsiniz.
  • Kapasitör Değerleri: Kapasitör değerleri, güç kaynağınızın özelliklerine ve motorunuzun akım çekişine göre değişebilir. Genellikle 100uF kapasitörler yeterli olacaktır, ancak daha yüksek akım çeken motorlar için daha büyük kapasitörler gerekebilir.
  • Isınma: Voltaj regülatörü ve A4988 modülü çalışırken ısınabilir. Yeterli soğutma sağlamak için soğutucu (heat sink) kullanmayı düşünebilirsiniz.

Özet:

Bu devre, Arduino ile step motor kontrolü için daha kararlı ve güvenilir bir yapı sunar. Voltaj regülatörü ve kapasitörler, güç kaynağındaki dalgalanmaları azaltarak motor sürücüsünün ve step motorun düzgün çalışmasını sağlar.
Uyarı: Devre kurulumunu yaparken ve motorları çalıştırırken dikkatli olun. Yanlış bağlantılar veya hatalı kodlar devrenize veya motorlarınıza zarar verebilir.

Geliştirmeler:

  • Potansiyometre veya joystick ile motor hızını ve yönünü kontrol edin.
  • Birden fazla step motorunu aynı anda kontrol edin.
  • Hassas konumlandırma için geri besleme mekanizmaları (encoder gibi) kullanın.
Ahmet Kemal YILDIZ
Eskişehir Osmangazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Öğretmenliği mezunu bir Bilişim Teknolojileri ve Yazılım Dersi Öğretmeniyim. Bilişim Teknolojileri ve Yazılım dersi ile ilgili ders etkinlikleri, kaynak materyaller, örnek etkinlikler ve ilgi duyduğum birçok konu hakkında vakit buldukça buradan blogluyorum. :)

    15# – Arduino ile Motor Kontrolü (DC Motorlar)

    önceki yazı

    17# – Arduino ile Bluetooth İletişimi (HC-05 veya HC-06)

    Sonraki Yazı

    Bu Yazılar da İlgini Çekebilir!

    Yorumlar

    Yorum yap

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Daha Arduino