kendiimalatimStepMotor

Arduino ile Step Motor Kontrolü

Projelerımizde step motor kullanımı ,tahmin edildiği gibi zor değildir. sadece zorluk step motorun bacak bağlantılarını tespi etmektir.bacak bağlantıları tespit ettikten sonra kullanıma hazırdır. unutulmaması gereken step motor arduino ile direk sürülemez.

Küçük step motorlar kullanılacaksa direk kullanılmasında sakınca olmayacaktır ama biraz güçlü bir step motor kullanılacaksa o zaman sürücü devresi gerekmektedir.

stepmotor

Yukarda gördüğünüz resimde sürücü devresi vardır ama bu şekilde ULN serisi entegresi kullanmak yerine transistörlü bir yükseltici devreleri ile kendi sürücünüzü yapabilirsiniz.

Unipolarstepmotor

ULN2004 entegresi ile yapılan step motor devresi

 

Arduino Stepper bb

Yukardaki resimde transistörlü sürücü devresi devresidir.

sema0169c

 

Step Motorun tipine göre 5-12 volt arasında gerilim verilebilir.


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 da kütüphane ile yapılan örnek (bir potansiyo metre ile step motoru hareket ettirin)


#include <Stepper.h>
 
#define STEPS 100
 
Stepper stepper(STEPS, 8, 9, 10, 11);
 
int previous = 0;
 
void setup()
{
stepper.setSpeed(30);
}
 
void loop()
{
int val = analogRead(0);
 
stepper.step(val - previous);
 
previous = val;
}

  1. Murat 2 Kasım 2016 10:09

    Merhabalar

    Şöyle bir sorum olacaktı. ULN2004 ile yapılan arduino çizimine baktığımda dışarıdan harici bir güç kaynağının sisteme dahil edildiğini görüyorum ve gnd uçlarının ortaklandığı gözüküyor. Bu birleştirme işlemini yapmasam arduinoya bir zarar gelirmi yada sistem çalışırmı? Ayrıca diyelim ki yüksek dc voltajlı bir motor kullanıyorum (24 volt +) bu durumda bu yapılan ortaklamadan kaynaklı arduinoya zarar gelirmi? Arduinoda harici beslemelide olsa kullanılacak bir volt sınırı varmıdır? Umarım mantıklı bir soru olmuştur. Teşekkür Ederim.

    Cevapla
    • Arduinocu 2 Kasım 2016 11:56

      ULN2004 max besleme gerilimi olarak 15 volt öneriliyor bundan fazlası entegreye zarar verir.
      iki adet ayrı güç kaynağı ile besleme yapabilirsiniz GND uçlarını bağlamanız devrenin kararlı çalışmasını sağlar .

      Cevapla
  2. Erhan Seven 15 Ekim 2016 09:27

    Ben bir robot kol yapmak istiyorum. Step motor kullansam mesela 30 derece sola dön dedim. Daha sonra bunun konumunu nasıl bilebilirim ? Yani kaldığımız yeri bilmemiz lazım. Koddaki analogRead(0); bu işe mi yarıyor ?

    Cevapla
  3. Furkan Aşık 19 Kasım 2015 21:53

    Arduino pro ile yapmamız mümkün müdür? Teşekkürler.

    Cevapla
    • admin 20 Kasım 2015 05:49

      Evet herhangi bir arduino modeliyle calisir .

      Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.