W końcu znalazłem błąd!
Jednak błędny okazał się program. Zadałem 20 kroków z częstotliwością 0,5Hz, tak żebym mógł je policzyć. Silnik wykonał 25 kroków i już wiedziałem, że problem tkwi w programie.
Tak jak wcześniej pisałem, program powstał na szybko i niestety przeoczyłem jeden bardzo istotny szczegół. Kiedy licznik cyklu (1-4 dla pracy pełnokrokowej oraz 1-8 dla pracy półkrokowej) dochodził do wartości maksymalnej i rozpoczynał liczenie od nowa, licznik pozycji nie zmieniał swojej wartości. Dlatego program nie liczył co czwartego kroku. Stąd obrót dokładnie wirnika o 25% więcej niż chciałem.
Tak czy inaczej bardzo dziękuję za pomoc. Przy okazji bardzo dokładnie zgłębiłem temat mojego silniczka
