Das heißt im prinzip dreht sich dieses "Rad" immer am Untergrund?
Ist das nicht sowas wie ein Drehgeber?

00 - 01 - 11 - 10 -> Drehung nach rechts -> inkrementieren
00 - 10 - 11 - 01 -> Drehung nach links -> dekrementieren

Warum kann dieser Zählfehler entstehen?
Etwa weil der Zähler nur die steigende Flanke registriert und die Fallende nicht? - soweit wie ich das im Bild sehen kann tut er das doch?

Ist dies nicht ein Gray-Code?
Es ändert sich in eine Richtung immer maximal ein Bit

sry - aber ich glaub mir fehlt einfach noch der Ansatz wo das Problem liegt um dann versuchen zu können es zu lösen - wenn du weißt was ich meine