Hallo!
Deine Beschreibung zeigt, dass die Impulslänge auf einem Pin des Drehencoders für jede Drehrichtung unterschiedlich ist. Deswegen habe ich kleine Änderung in der Schaltung gemacht (siehe Code). Jetzt ist die negative Flanke am Takt des FF2 von dem Monoflop unabhängig, was den Fehler beseitigen sollte.
Die Impulslänge des Monoflops sollte so lang sein, dass die Interrupt auslösende Flanke erst kommt, wenn die Richtung schon stabil im FF2 gespeichert ist.
Wenn es jetzt nicht richtig funktioniert, lässt sich es mit so einfacher Schaltung nicht realisieren.
MfG
Code:
Vcc
+
|
.-.
| | Rpu
'-' 10k
| .-----.
+-----------------+--------------|J Q|-----> Richtung
| | +----|> _|
| | _ +-|----|K R Qo
| +-| \ | | '--o--'
| | |N4)o-+ | | FF2
| +-|_/ | +
| +-------------------------+ Vcc
| | Vcc
| | + +--------------> Takt
Drehencoder D1| | _ _ | .-----. |
o-+-|-| \ +-| \ +-|J Q|---|--+
+-o-_ | |N1)o-+ |N3)o---|> _| | |
| o-+-+-|_/ +-|_/ +-|K R Qo---+ .-.
=== D2| | '--o--' | | R
Gnd .-. === | FF1 '-'
| | Rpu Gnd | _ |
'-' 10k | / |---+ N1,N2,N3,N4=CD40XX
| +-o(N2| | FF1,FF2=74LS73
+ \_|---+
Vcc |
- C
-
|
===
Gnd
Lesezeichen