Hallo Markus,
ein "gegen den Anschlag fahren" darf dem Teil nicht schaden, denn jede
mechanische Bewegung kann mechanisch blockiert werden und muss das
abkoennen.
Es ist richtig: Aus dem Abstand der Hallsignale kannst Du auf ein
Bremsen der Bewegung schliessen und dann bei oder kurz vor Blockieren
abschalten.
Eine Stromueberwachung ist so ueberfluessig, denn der Motorstrom ist
fast linear zur Motorlast und umgekehrt proportional zur
Motorgeschwindigkeit.
Natuerlich ist bei Verlust der Betriebsspannung der Hallsensoren die
Positionsinformation weg sofern sich die Spindle aus irgendeinem Grund
noch bewegen kann.
Wohlgemerkt nicht bei Verlust der Spannung am Motor sondern den 5V
Hallversorgung.
Ausser, ein mechanisches Verstellen der Spindel ist von aussen (bei
Spannungsverlust) nicht moeglich. In solchen Faellen detektiert der uC
einen Betriebsspannungsverlust und schreibt den Positionswert in ein
EEPROM weg. Dann ist nach Power-On alles wieder i.O.
Was man gerne macht ist, die Betriebsspannung der Hallsensoren zu pulsen
und deren Position zu pollen. Also die 5V-Versorgung alle 10mS fuer
0.xmS einschalten und schauen, ob sich die Hallsignale geaendert haben.
Wenn ja, dann uC aufwecken und Zaehlerstand korrigieren!
Im praktischen Betrieb empfiehlt es sich, so einem System immer nur in
einer definierten Position das Abschalten der Betriebsspannung zu
erlauben.
Gruss
Michael