Auf besonderen Wunsch von dreamshader stelle ich kurz eine kleine Problemlösung vor:
In einem Projekt nutze ich einen Drehimpulsgeber (ALPS STEC11B), um einen Schrittmotor zu steuern. Der Motor übersprang immer mal wieder einen oder mehrere Schritte in die eine oder andere Richtung oder taktete auf der Stelle. Dies ist auf ein "Prellen" des Drehimpulsgebers zurück zu führen, ähnlich dem von Tastern.
Um das Problem auf der Hardwareseite zu lösen, habe ich auf der Ausgangsseite des Drehimpulsgebers ein RC Glied installiert. Das funktioniert so lange gut, wie der Drehimpulsgeber nicht zu schnell gedreht wird. Bei einer Betätigung per Hand sollte es ausreichen. Das Ausgangssignal wurde danach noch einmal durch einen Schmitt-Trigger geschickt. Damit es auch wieder "richtig herum" ist, noch ein zweites Mal. Da ich künftig auch den integrierten Taster nutzen möchte, habe ich diesen ebenfalls auf die genannte Art entprellt. Dadurch erhält der Arduino jetzt ein sauberes und eindeutiges Signal. Sowohl vom Drehimpulsgeber als auch vom darin integrierten Taster.
Der Motor macht nun exakt das, was der soll, springt nicht mehr und reagiert erstaunlich genau. Eine Entprellung per Software ist nicht nötig.
Die Platine ist so gestaltet, dass sie direkt auf den Drehimpulsgeber gelötet wird. Aus diesem Grund wurden SMD Bauteile verwendet und die Platine möglichst eng bestückt, damit sie so klein wie möglich bleibt.
Wer sich das Ätzen und Bestücken mit SMD Bauteilen nicht zutraut, kann sich gerne an mich wenden. Ich habe noch ein paar der Platinen hier liegen. Den einen oder anderen Satz an Bauteilen finde ich bestimmt auch noch.
Teileliste:
6 x 10 KOhm Bauform 1206
4 x 100 nF Bauform 1206
1 x 74HC14 SMD
1 x ALPS STEC11B
edit 21.08.2015: Text auf aktuelle Version angepasst und alte Fotos entfernt, da ich von den ersten Platinen keine mehr habe.
edit 11.09.2015: Foto der Version 1.3 hinzu gefügt