Arduino step motor sıfır noktası

Katılım
13 Ocak 2017
Mesajlar
8
Puanları
1
Yaş
34
Merhaba arkadaşlar öncelikle arduino konusunda yeni olduğumu belirteyim.Yaklaşık 5 gündür farklı kodlar denedim, internette bulduğum her türlü yolu denedim fakat sonuç alamadım.Bu konuda bana yardımcı olursanız çok sevineceğim.Yazdığım kodu da muhtemelen isteyeceksiniz fakat şuan işte olduğum için paylaşamıyorum niye eve gidince konu açmadın derseniz bu soruna o kadar takıldım ki işime kendimi veremiyorum sürekli kafamı kurcalıyor.

Üzerinde çalıştığım projede kullandığım malzemeler

-Arduino uno
-1adet nema 17 step motor
-1 adet Ln298n motor sürücü
-1 adet limit sivici

öncelikle benim yaptırmak istediğim şey step motora bağlı olan döner tablamı ilk çalıştırmada başlangıç noktasına getirmek ve daha sonra 2 sn kadar bekledikten sonra döner tablanın 45 derecelik açıyla 20 sn aralıklarla dönmesi.Kütüphane olarak stepper kullanıyorum gerçi AccelStepper kütüphanesiyle de birkaç şey denedim ama istediğim sonucu alamadım.

Denemelerimde aldığım sonuçlar;
-Tabla limit sivicine kadar döndükten sonra duruyor ama daha sonra hareket etmiyor.
-Tabla sürekli olarak dönüyor limit sivici durdurmuyor
-Tabla sürekli olarak dönüyor limit sivcine geldiğinde durmuyor fakat elimle limit sivicine 2-3 sn basılı tutunca duruyor ve daha sonra 45 derecelik açılarla dönüyor.
 
Merhaba arkadaşlar öncelikle arduino konusunda yeni olduğumu belirteyim.Yaklaşık 5 gündür farklı kodlar denedim, internette bulduğum her türlü yolu denedim fakat sonuç alamadım.Bu konuda bana yardımcı olursanız çok sevineceğim.Yazdığım kodu da muhtemelen isteyeceksiniz fakat şuan işte olduğum için paylaşamıyorum niye eve gidince konu açmadın derseniz bu soruna o kadar takıldım ki işime kendimi veremiyorum sürekli kafamı kurcalıyor.

Üzerinde çalıştığım projede kullandığım malzemeler

-Arduino uno
-1adet nema 17 step motor
-1 adet Ln298n motor sürücü
-1 adet limit sivici

öncelikle benim yaptırmak istediğim şey step motora bağlı olan döner tablamı ilk çalıştırmada başlangıç noktasına getirmek ve daha sonra 2 sn kadar bekledikten sonra döner tablanın 45 derecelik açıyla 20 sn aralıklarla dönmesi.Kütüphane olarak stepper kullanıyorum gerçi AccelStepper kütüphanesiyle de birkaç şey denedim ama istediğim sonucu alamadım.

Denemelerimde aldığım sonuçlar;
-Tabla limit sivicine kadar döndükten sonra duruyor ama daha sonra hareket etmiyor.
-Tabla sürekli olarak dönüyor limit sivici durdurmuyor
-Tabla sürekli olarak dönüyor limit sivcine geldiğinde durmuyor fakat elimle limit sivicine 2-3 sn basılı tutunca duruyor ve daha sonra 45 derecelik açılarla dönüyor.

Görünen o ki limit switch'ten gelen kontak değişimini algılamada sorun var.

Bence kütüphaneyi falan boşverin, kendiniz sürüş (ve gereken sıklıkta lim. sw portu okuma) fonksiyonu yazıp kullanın. Altı üstü ardışık lojik patternlerle çıkış verirken lim. sw. girişi okuyacaksınız, zor iş değil.
 
Görünen o ki limit switch'ten gelen kontak değişimini algılamada sorun var.

Bence kütüphaneyi falan boşverin, kendiniz sürüş (ve gereken sıklıkta lim. sw portu okuma) fonksiyonu yazıp kullanın. Altı üstü ardışık lojik patternlerle çıkış verirken lim. sw. girişi okuyacaksınız, zor iş değil.



Cevabınız için teşekkür ederim, stepper kütüphanesi kullanmama rağmen aslında yazdığım kodla söylediğinize benzer bir şey yapıyorum diye düşünüyorum.
Kod:
#include <stepper.h>

const int stepsPerRevolution = 200;

int Buton = 2;
int ButonDurum=0;




Stepper motor(stepsPerRevolution, 9, 8, 7, 6);

void setup()
{
 pinMode(Buton, INPUT); 


  motor.setSpeed(20);

  Serial.begin(9600);
}
void loop ()
{
if( (digitalRead(Buton) == HIGH) && (ButonDurum == 0) )
  {
    
     motor.step(-stepsPerRevolution);
    
    if(digitalRead(Buton) == LOW)
    {
    
    baslangic ();
    
    }
        
  }
}

void baslangic()
{
 ButonDurum=1;
 
 delay (2000);
 
 normalcalisma ();
 }
 
 void normalcalisma()
{
 if(ButonDurum == 1)
 
  motor.step(-25);
 
 delay (20000);
 
 }
Yardım edebilecek biri yok mu arkadaşlar
 
Son düzenleme:

Forum istatistikleri

Konular
127,959
Mesajlar
913,918
Kullanıcılar
449,607
Son üye
sinan343834

Yeni konular

Geri
Üst