Dzień dobry wszystkim forumowiczom.
Potrzebuję porady w temacie sterowania silnika krokowego przez Arduino. Skleiłem taki kawałek kodu (na podstawie znalezionych w sieci przykładów, bo programistą nie jestem):
Kod ma za zadanie wywołać obrót ciągły sinika krokowego (NEMA 17, 200 kroków, wysterowany poprzez DRV8825 ) z dość precyzyjną prędkością. Chodzi mi o uzyskanie czasu jednego pełnego obrotu 2:57.231 (2 minuty i 57 sekund z haczykiem). Żeby uzyskać maksymalnie płynny obrót driver jest ustawiony na 1/32 kroku, czyli pełny obrót silnika z tego co rozumiem będzie miał 6400 kroków. Wartości 9000 w nawiasach są oczywiście tymczasowe, chciałem po prostu sprawdzić czy silnik ruszy. Ku mojej uciesze ruszył. I teraz najważniejsze pytanie - jak policzyć wartość do wstawienia w nawiasy, żeby silnik faktycznie obracał się tak jak potrzebuję. Wiem, że każda instrukcja w kodzie programu zajmuje jakiś czas procesora i to mnie właśnie zatrzymało. Niestety nie mam oscyloskopu, żeby precyzyjnie mierzyć obroty silnika. Będę bardzo wdzięczny za pomoc.
Pozdrawiam
Grzesiek
Potrzebuję porady w temacie sterowania silnika krokowego przez Arduino. Skleiłem taki kawałek kodu (na podstawie znalezionych w sieci przykładów, bo programistą nie jestem):
Kod: C / C++
Kod ma za zadanie wywołać obrót ciągły sinika krokowego (NEMA 17, 200 kroków, wysterowany poprzez DRV8825 ) z dość precyzyjną prędkością. Chodzi mi o uzyskanie czasu jednego pełnego obrotu 2:57.231 (2 minuty i 57 sekund z haczykiem). Żeby uzyskać maksymalnie płynny obrót driver jest ustawiony na 1/32 kroku, czyli pełny obrót silnika z tego co rozumiem będzie miał 6400 kroków. Wartości 9000 w nawiasach są oczywiście tymczasowe, chciałem po prostu sprawdzić czy silnik ruszy. Ku mojej uciesze ruszył. I teraz najważniejsze pytanie - jak policzyć wartość do wstawienia w nawiasy, żeby silnik faktycznie obracał się tak jak potrzebuję. Wiem, że każda instrukcja w kodzie programu zajmuje jakiś czas procesora i to mnie właśnie zatrzymało. Niestety nie mam oscyloskopu, żeby precyzyjnie mierzyć obroty silnika. Będę bardzo wdzięczny za pomoc.
Pozdrawiam
Grzesiek