Das Verfahren, nur den Puls einer Lichtschranke zu messen und die Drehrichtung aus den Daten der Motoransteuerung zu entnehmen, reicht wahrscheinlich oft aus.

Die höhere Genauigkeit von zwei Lichtschranken wird auch erst wirksam, wenn man noch einen sogenannten "Quadraturencoder" dazwischenschaltet, und der sollte möglichst nicht in Software realisiert sein.

Zur Erklärung: Ungenauigkeiten entstehen, wenn der Antrieb zwar eigentlich steht, aber genau am Hell-Dunkel-Schaltpunkt der Lichtschranke. Diese kann nun "flattern" und munter Zählimpulse liefern (mitunter deutlich schnellere als der drehende Antrieb sie je erzeugen könnte), obwohl des Rad eigentlich steht. Abhilfe schaffen z.B. eine Hysterese bei der Lichtschranke und ein eher sinusförmiger Hell-Dunkelverlauf beim Bewegen der Encoderscheibe, aber in der Hobbypraxis wird man das alles nicht so genau untersuchen und einfach froh sein, daß das Ding beim Drehen zählt.

Die andere Abhilfe sind eben zwei Lichtschranken, deren Schaltschwellen genau gegenphasig liegen. D.h. wenn eine gerade möglicherweise am flattern ist, ist die andere aber sehr sicher im Hell- oder Dunkelzustand. Dieser "Quadraturencoder", der meines Wissens irgendwie mit festverdrahteter Logik aus ein paar Flipflops oder so aussieht, stellt nun sicher, daß nur abwechselnde Zählimpulse der beiden Lichtschranken durchkommen und unterdrückt das Flattern der einen Lichtschranke absolut sicher, solange die andere nicht schaltet. Den Quadraturencoder gibt es wahrscheinlich auch als fertigen Chip, muß mal googeln.

Gruß
Tom.