Pozwolę sobie na dywagacje osoby nie znającej dokładnie zasady działania sterownika od strony elektronicznej.
Jak odpala się program sterujący (Np LinuxCNC) to on zaczyna sterowanie za pomocą sygnałów step i DIR i tak jakby po wyłączeniu programu i włączeniu ponownie powinien zacząć dokładnie od tego miejsca, gdzie skończył o ile przed wyłączeniem wykonał wszystkie kroki przewidziane na linijkę g-kodu.
A jak się zachowuje sterownik? - np taki M542, sterowany mikrokrokiem (np 1/8).
Moim zdaniem te sterowniki nie mają pamięci o tym, w jakiej pozycji ostatnio został wysterowany silnik. Można założyć, że dla cewek A i B po zaniku zasilania zawsze zaczyna od pełnego kroku (wysterowania cewek z obwodu A + oraz B - ).
A jak się zachowuje i jak jest zbudowany silnik?
Ma dwa zestawy cewek. A i B. 200 kroków na obrót.
Ja tego nigdy nie rozpracowałem, czy jeden krok silnika polega na zmianie polaryzacji z A+B- => A-B+, czy krok silnika to przejście z A+B- => A-B+ => A+B-
Jeśli ten pierwszy przypadek, to znaczy, że silnik o rozdzielczości 200 kroków ma tak naprawdę 100 pozycji od których może zacząć pracę - ergo: punkty pracy oddalone od siebie o 3,6 stopnia.
Jeśli jest tak jak sobie powyżej dywagowałem, to oznacza, że jeśli nie będziesz Kamar potrafił przypilnować, żeby przy sterowaniu mikrokokowym silnik przed wyłączeniem zawsze znajdował się w w takim położeniu , jak znajduje się zaraz po zasileniu sterownika (nazwijmy go A+B-) to zawsze będziesz miał przesunięcie po ponownym zasileniu maszyny. Przesunięcie będzie tym większe im dalszy mikrokrok był ostatnim ustawieniem silnika przed wyłączeniem zasilania.
Czy ma to sens?