Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας.

Αντιμετωπίζω πρόβλημα στο να καθορίσω τη ταχύτητα του stepper motor μου.Παρότι πραγματοποιεί την κίνηση που θέλω, την κάνει ακαριαία ενώ εγώ θέλω να την κάνει πολύ πιο σιγά.

Χρησιμοποιώ έναν stepper motor NEMA17 με Α4988 driver.

 

Ο κώδικας που έχω γράψει ως τώρα για τη λειτουργία του stepper είναι ο εξής:

 

#include <Stepper.h>

 

const int stepPin = 8; 

const int dirPin = 9;

 

void setup()

{

  pinMode(stepPin,OUTPUT); 

  pinMode(dirPin,OUTPUT);

}

 

void loop()

  digitalWrite(dirPin,LOW);
  digitalWrite(stepPin,LOW);
 for(int x = 0; x < 50; x++)
{
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(1000); 
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(1000); 
  }            

}

Δημοσ.

Το είχα κοιτάξει αλλά μιλούσε μόνο για ρύθμιση ταχύτητας με ποτενσιόμετρο.

Τελικά βάζοντας το σε microstepping mode έλυσα το πρόβλημα μου.

Ευχαριστώ για την απάντηση.

Δημοσ.

Το πρόβλημα είναι μάλλον το οτι χρησιμοποιείς τη συνάρτηση delayMicroseconds()

 

1000 μs είναι μόλις ένα ms. Χρησιμοποίησε τη συνάρτηση delay() που παίρνει τιμές σε milliseconds. Βάλε πχ delay(100) και θα πάει σε πιό νορμαλ ταχύτητα

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...