1. Bu site çerez kullanmaktadır. Siteyi kullanmaya devam etmeniz halinde çerez kullanımı ile ilgili site koşullarını kabul etmiş sayılırsınız. Daha Fazlasını Öğren.
  2. Forum İllegal Uyarısı Forum kuralları gereği forumda video ve illagal paylaşım yapmak yasaktır.Program Arşivimizde ise kısıtlanmış sürüm yada dağıtımı serbest olan (trial - freeware) yazılımlar yayınlayınız..Aksi takdirde mesajlarınız silinecektir..

Arduino ile Step Motor Kontrolü

Konusu 'Pic Uygulama Ve Devreleri' forumundadır ve guclusat tarafından 4 Mart 2016 başlatılmıştır.

  1. guclusat
    Offline

    guclusat Tanınmış Üye Süper Moderatör

    Katılım:
    14 Haziran 2009
    Mesajlar:
    9.754
    Ödül Puanları:
    48
    Step(Adım ) Motorlar, adından da anlaşılacağı üzere adım adım hareket eden, motorun sargılarından birinin enerjilendirilmesi ile sadece 1 adım hareket eden motorlardır. Adımlarınızın kaç derecelik olacağı motorunuzun tasarımına bağlıdır. Örneğin; 400 adımlık bir step motor 360 derecelik bir tam dönüşünde 400 adım yol alır. Bu durumda motorunuzun bir adım açısı 360/400= 0.9 derece olur. Bu aynı zamanda sizin çözünürlük değerinizdir. Arduino ile Step Motor kontrolü oldukça kolaydır.

    step-motor1.gif

    Step Motorlarla ilgili ayrıntılı bilgiyi buradan bulabilirsiniz. Ayrıca Arduino IDE’ niz için ilgili kütüphanelereburadan ulaşabilirsiniz.

    Step Motorları kullanmak için genelde sürücü devreleri kullanılmaktadır. Step Motorların istenilen yönde ve hızda çalıştırmak istendiğinde sargılarına belli bir sırada darbeler uygulanmalıdır. Bu darbelere göre step motorunuz istenilen sayıda adım atabilir. Günümüzde bu işlemi yapan hazır devreler (kontrolor, sürücü devreler) bulunmaktadır. Sürücü devreleri ile aynı zamanda tork değerinizi de belirlemiş olursunuz.

    Aşağıdaki örnekte basit bir step motor sürme örneği verilmiştir. Bu örnekte sürücü devresi olarak ULN2003AN kullanılmıştır.

    circuito1.png
    Sistemin devre şeması

    Step motorun 4 tane çıkış pinini sürücü devremiz ile bağlantıladık ve sürücü devremizden de Arduino’ muzun 8, 9, 10, 11 nolu pinlerine bağlantı kurduk. Dolayısıyla step motorun uçlarını sırasıyla HIGH konumuna çekerek motorumuzu hareket ettirebiliriz. Uçlardan sadece birini HIGH(Lojik 1) edebiliriz, bu esnada diğer uçların LOW(Lojik 0) olması gerekir.

    Kodlarımız aşağıdaki gibi olmalıdır.

    Kod:
    int motorPin1 = 8;       
    int motorPin2 = 9;
    int motorPin3 = 10;
    int motorPin4 = 11;
    int delayTime = 500;
    
    void setup() {
      pinMode(motorPin1, OUTPUT);
      pinMode(motorPin2, OUTPUT);
      pinMode(motorPin3, OUTPUT);
      pinMode(motorPin4, OUTPUT);
    }
    
    void loop() {
      digitalWrite(motorPin1, HIGH);
      digitalWrite(motorPin2, LOW);
      digitalWrite(motorPin3, LOW);
      digitalWrite(motorPin4, LOW);
      delay(delayTime);
      digitalWrite(motorPin1, LOW);
      digitalWrite(motorPin2, HIGH);
      digitalWrite(motorPin3, LOW);
      digitalWrite(motorPin4, LOW);
      delay(delayTime);
      digitalWrite(motorPin1, LOW);
      digitalWrite(motorPin2, LOW);
      digitalWrite(motorPin3, HIGH);
      digitalWrite(motorPin4, LOW);
      delay(delayTime);
      digitalWrite(motorPin1, LOW);
      digitalWrite(motorPin2, LOW);
      digitalWrite(motorPin3, LOW);
      digitalWrite(motorPin4, HIGH);
      delay(delayTime);
    }
    Bu çalışmada step motorun sırasıyla motorPin1, motorPin2, motorPin3, motorPin4 şeklinde tanımladığımız uçlarını HIGH yapıyoruz. Eğer bu sıralamayı motorPin4, motorPin3, motorPin2, motorPin1 şeklinde değiştirirsek motorumuz ters yönde dönmüş olacaktır.
     
Yüklüyor...
Benzer Konular - Arduino Step Motor
  1. guclusat
    Mesaj:
    0
    Görüntüleme:
    151
  2. guclusat
    Mesaj:
    0
    Görüntüleme:
    109
  3. guclusat
    Mesaj:
    0
    Görüntüleme:
    91
  4. guclusat
    Mesaj:
    5
    Görüntüleme:
    242
  5. guclusat
    Mesaj:
    7
    Görüntüleme:
    154

Sayfayı Paylaş