snik3 Δημοσ. 27 Απριλίου 2017 Δημοσ. 27 Απριλίου 2017 Καλησπέρα σας. Αντιμετωπίζω πρόβλημα στο να καθορίσω τη ταχύτητα του 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); } }
anon667 Δημοσ. 27 Απριλίου 2017 Δημοσ. 27 Απριλίου 2017 Εδώ κοίταξες και δεν σε βοήθησε; http://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/
snik3 Δημοσ. 27 Απριλίου 2017 Μέλος Δημοσ. 27 Απριλίου 2017 Εδώ κοίταξες και δεν σε βοήθησε; http://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/ Το είχα κοιτάξει αλλά μιλούσε μόνο για ρύθμιση ταχύτητας με ποτενσιόμετρο. Τελικά βάζοντας το σε microstepping mode έλυσα το πρόβλημα μου. Ευχαριστώ για την απάντηση.
Fubar.gr Δημοσ. 27 Απριλίου 2017 Δημοσ. 27 Απριλίου 2017 Το πρόβλημα είναι μάλλον το οτι χρησιμοποιείς τη συνάρτηση delayMicroseconds() 1000 μs είναι μόλις ένα ms. Χρησιμοποίησε τη συνάρτηση delay() που παίρνει τιμές σε milliseconds. Βάλε πχ delay(100) και θα πάει σε πιό νορμαλ ταχύτητα
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα