Hallo allerseits,

ich hab hier einen Schrittmotor vor mir liegen. Nun habe ich gelesen, dass man, will man keine Schritte verlieren, jeden Schritt "protokollieren" muss. Mann muss sie also messen. Meine Frage: Wie macht man das?

Gesetzt den (rein theoretischen) Fall:
Ich habe die Welle d. Schrittmotors mit einer Übersetztung so verbunden, dass jeder Schritt zu einer Umdrehung auf der 2. Welle führt. Solange die Frequenz klein ist, kann man bei jedem Schritt eine Umdrehung auf Welle 2 feststellen. Soweit klar.
Wenn jetzt ein Schritt verloren geht, was passiert dann? Eigentlich dürfte die Umdrehung (der Schritt) etwa bis zur Hälfte ausgeführt werden, dann müsste der Motor um eine Umdrehung zurückdrehen. Stimmt das, oder liege ich hier falsch? Wenn ja, was passiert wirklich?

Wenn ich nun mit lediglich 1 Lichtschranke die Umdrehungen der Welle 2 zählen will, werde ich ermitteln können, dass die LS unterbrochen/geschlossen wurde und die Logik wird daher denken, dass der Schritt erfolgreich ausgeführt wurde. Wie wird das vermieden?

Oder ist das Funktionsprinzip in der Steuerung das folgende?:

1. Setze Ausgänge auf 1 Schritt nach vorne (im µC)
2. Warte bis LS unterbrochen, Timeout
3. Warte bis LS geschlossen, Timeout
4. Wiederhole Schritte 1-3 bis Endposition erreicht
Wenn Timeout, ist der Motor überlastet

MfG
Christian Wolf