Kierowanie silnikiem krokowym - brak reakcji na Arduino - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Kierowanie silnikiem krokowym - brak reakcji na Arduino (/watek-kierowanie-silnikiem-krokowym-brak-reakcji-na-arduino) Strony:
1
2
|
RE: Kierowanie silnikiem krokowym - brak reakcji na Arduino - kaczakat - 19-02-2022 Ale nie pokazujesz kodu, który nie działa, w setup powinno być pinMode( buttonPin,INPUT_PULLUP) gdy przycisk zwiera do GND, albo zrobić rezystorem 10k do VCC przy przycisku, albo rezystorem do GND gdy przycisk zwiera do VCC. No i użyj biblioteki do przycisku, np. OneButton, to Twoje zadziała tylko jak przycisk będzie trzymany, a drgania styków spowodują dziesiątki zmian decyzji przy każdym wciśnięciu. Z biblioteką do silnika widzę się poddałeś? RE: Kierowanie silnikiem krokowym - brak reakcji na Arduino - krzysztof1594@gmail.com - 19-02-2022 Okej! Teraz wszystko działa! Póki co nie zagłębiałem się w bibliotekę - ona wiele zapewne ułatwi, ale najpierw chciałem zrozumieć co dokładnie robię nie tak w obecnym rozwiązaniu, skoro ono również powinno działać. Bez tej wiedzy, przeniósłbym moje błędy logiczne do etapu w którym korzystałbym z biblioteki i nadal do niczego bym nie doszedł. Teraz wszystko jest jasne i powoli zacznę zagłębiać się w Accelstepper! Ogromne dzięki! Jeśli chodzi o start silnika - tutaj zastosowałem pin reset. Byłbym wdzięczny za sprostowanie, czy taka metoda faktycznie została przeze mnie sensownie zastosowana, czy w przyszłości się na mnie zemści. Rozłączyłem sleep z reset. Reset podłączyłem do Arduino i stan wysoki na reset rusza dopiero gdy Arduino wystartuje - do tego czasu silnik stoi przez co nie mam już problemu z niekontrolowanym obrotem w okresie pomiędzy podaniem zasilania, a startem Arduino. Kod wygląda następująco: Kod: // Defines pins numbers RE: Kierowanie silnikiem krokowym - brak reakcji na Arduino - kaczakat - 19-02-2022 Jest jakiś krótki okres czasu, gdy stan pinów jest nieustalony, może wystarczy dodać w setup na początku delay(10). Może to kwestia całego układu na stykówkach. Ja do zabawy użyłem shielda RAMP i nie zaobserwowałem takiego zachowania. A jak wyprowadzili pin RST to by go używać. Ja akurat startowałem silnik w kodzie wcześniej wykorzystując pin ENABLE. bez tego nie działało, na płytce był podciągnięty rezystorem do VCC, dzięki temu tylko świadome podłączenie tego pinu do uC z pinem ustawionym na wyjście i wpisanym 0 uruchamiało silnik. Można też najpierw wpisać do pinu 1, a dopiero po tym ustawić go na wyjście, potem w wybranej chwili wystawić 0. |