and10 pisze:silnikk.moveRelativeInSteps(-40); <--- wywołanie tej funkcji nie działa przy włączonym silniku
A sprawdzałeś to z innymi parametrami? np. -4000 i 4000, albo te -40 ale na innych prędkościach i przyspieszeniach?
Każdą podpowiedź trzeba przemyśleć, sprawdzić, doczytać o co w podpowiadanym temacie chodzi. Budujesz maszynę sam i musisz wiedzieć co się w niej dzieje by mieć później pewność co do jej funkcjonowania. Zaglądamy do twojego projektu przez małą dziurkę i nie widzimy całości.
Zaufałeś wewnętrznym rezystorom podciągającym. Masz sugestie aby dodać zewnętrzne no to zrób to. Poszukaj po internetach w tym temacie, sprawdź jak to inni robią. Miej pewność, że w tym miejscu zrobiłeś wszystko to co się da. I tak w każdym miejscu.
Ja na etapie budowy urządzeń do programu dołączałam komunikaty na LCD (lub na serial monitor) o wykonywanym etapie, testuję parametry i robię "badania". Efekt końcowy mam taki. Są transoptory, są darlingtony (ULN2803A), rezystory i diody do walki z zakłóceniami.
A gdzie debouncing? Niepotrzebny?and10 pisze:while (digitalRead(kran4)!=LOW) {delay(50); }//opuszcza piłę