Drehencoder ohne externe Pull-Ups benutzen

Nachdem jetzt alle Teile da sind, geht es an den Zusammenbau.
Ich habe allerdings einen Drehencoder ohne Platine (und damit ohne externe Pull-Ups) genommen, der hatte einen schöneren Knopf…
Da ich die ESPuino-mini-Platine verwende, hängt der Drehencoder ja am Portexpander. Und der hat interne Pull-Ups (nach meiner Erfahrung äquivalent 100k).
Das müsste doch eigentlich reichen.
Hat jemand sowas schonmal probiert oder weiß von Problemen, wenn man das so macht?

Vermutlich würde das klappen, ich hab’s allerdings noch nicht hinbekommen, einen Drehencoder performant mit Port-Expander auszulesen, so dass man keine Abtastverluste hat.
Ergo: Drehencoder funktioniert aktuell am PE leider nur theoretisch. Allerdings habe ich es lange nicht getestet. Ggf. sieht das im aktuellen Devel-Branch besser aus, zumal es da kürzlich ja auch noch einen Fix gab.

100k sind bei 3,3V leider sehr „schwache“ Pullups.

Dadurch werden die Flanken „unschön“, das dürfte das Abtasten steuern

1 „Gefällt mir“

Und, hat das geklappt?

Ich habe es doch nicht probiert sondern auf einer kleinen Platine mit 10k-Widerständen die Schaltung nachgebaut. Und dann konnte ich ja auch gleich die vorgesehenen Pins nehmen.
Das Argument mit den unsauberen Flanken bei 100k (oder mehr) ist nicht von der Hand zu weisen.

Ob es mit dem PE (und externen Pull-Ups) sauber funktioniert, hängt dann wohl von der I2C-Geschwindigkeit ab. Bei 100kHz dauert die Abfrage des Zustandes knapp eine halbe Millisekunde. Das sollte für den Drehencoder reichen, bei 400kHz ganz sicher, wenn nicht ein Verrückter daran herumdreht. :slight_smile:
Man müsste aber auch noch die Pins beim Ausschalten auf Ausgang stellen, sonst weckt auch ein Drehen am Encoder den Espuino auf.

Hast du das am PE jetzt eigentlich am Laufen?

Ich habe es letztlich nicht versucht. Beim ersten Espuino wollte ich dann doch nicht zu viel Zeit mit Experimenten verbringen. Weihnachten steht vor der Tür und er ist rechtzeitig fertig. :slight_smile:

1 „Gefällt mir“