Step motor kontrol sıkıntısı
  • Öncelikle herkese Tokattan bol bol selamlar.
    benim sorunum geçen haftaya kadar çalışan step motorlar çıldırmaya başladı.sadece ileri düz git dediğimde bir süre sonra geri dönmeye daha sonra tekrar ileri gitmeye başladılar.motor sürücü olarak dual step motor shield 1.1 kullanmaya çalıştım.Motor olarak pololu NEMA 200 adım Step Motorlar kullandım.Kodlarım aşağıdaki gibi;

    #include

    int dirPin1 = 3;
    int stepperPin1 = 2;
    int dirPin2 = 7;
    int stepperPin2 = 6;
    int adimhiz=1500;

    void setup() {
    pinMode(dirPin1, OUTPUT);
    pinMode(stepperPin1, OUTPUT);
    pinMode(dirPin2, OUTPUT);
    pinMode(stepperPin2, OUTPUT);


    }

    void ileri (int step1)
    {
    digitalWrite(dirPin1,HIGH);
    digitalWrite(dirPin2,HIGH);
    delay(50);
    for(int i=0;i digitalWrite(stepperPin1, HIGH);
    digitalWrite(stepperPin2, HIGH);
    delayMicroseconds(adimhiz);
    digitalWrite(stepperPin1, LOW);
    digitalWrite(stepperPin2, LOW);
    delayMicroseconds(adimhiz);
    }
    }

    void sola (int step1)
    {
    digitalWrite(dirPin1,LOW);
    //digitalWrite(dirPin2,LOW);
    delay(50);
    for(int i=0;i digitalWrite(stepperPin1, HIGH);
    //digitalWrite(stepperPin2, HIGH);
    delayMicroseconds(adimhiz);
    digitalWrite(stepperPin1, LOW);
    //digitalWrite(stepperPin2, LOW);
    delayMicroseconds(adimhiz);
    }
    }

    void saga (int step1)
    {
    // digitalWrite(dirPin1,LOW);
    digitalWrite(dirPin2,LOW);
    delay(50);
    for(int i=0;i //digitalWrite(stepperPin1, HIGH);
    digitalWrite(stepperPin2, HIGH);
    delayMicroseconds(adimhiz);
    //digitalWrite(stepperPin1, LOW);
    digitalWrite(stepperPin2, LOW);
    delayMicroseconds(adimhiz);
    }
    }

    void donus (int step1,bool yon)
    {
    if (yon) {digitalWrite(dirPin2,LOW);digitalWrite(dirPin1,HIGH);}
    else {digitalWrite(dirPin2,HIGH);digitalWrite(dirPin1,LOW);}
    delay(50);
    for(int i=0;i digitalWrite(stepperPin1, HIGH);
    digitalWrite(stepperPin2, HIGH);
    delayMicroseconds(adimhiz);
    digitalWrite(stepperPin1, LOW);
    digitalWrite(stepperPin2, LOW);
    delayMicroseconds(adimhiz);
    }
    }

    void loop(){
    delay(5000);
    ileri(275);
    //donus(90,false);
    //ileri(710);
    //donus(90,true);
    //ileri(460);
    //donus(90,true);
    while(1);
    }
  • bağlantıları kontrol et 1-2 tanesi teması kaybetmiş olabilir.
  • sıkıntıyı çözdüm.sorun çok basitmiş.step motor sürücü devre alttan arduinonun usb giriş kafasına değiyormuş.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.