Grundsätzliches Eingangsverhalten bei aktiviertem Pullup-Widerstand: Falls der mit GND verbundene Taster nicht betätigt wird (größerer Widerstand), liegt am Eingang eine High an. Wenn der Taster betätigt wird (kleinerer Widerstand) liegt eine Low am Eingang. Durch den Spannungsteiler ist das für mich nachvollziehbar. Mein Vorgehen: - Ich würde nun ein Masse-Kabel zum Drehschalter führen, auf das die jeweilige geschaltete Stellung schaltet. - Ein Kabel vom Eingang würde ich nun zum Drehschalter führen und an jede Drehschalterstellung aufteilen - An jede Drehschalter-Stellung würde ich einen unterschiedlichen Widerstand anbringen, damit ich sie bei der Auswertung im uC unterscheiden kann Meine Fragen sind nun: 1. Welche Widerstände sind für die einzelnen Stellungen sinnvoll, wenn der Pullup z.B. 10k beträgt und der ADC eine Auflösung von 10bit hat? Es sollte auch bei Temperaturschwankungen um beispielsweise 40°C eine klare Auswertung möglich sein. Also 5 mögliche Stellungen wären 1023 bis 800, 799 bis 600, 599 bis 400, 399 bis 200, 199 bis 0. Für den Bereich 1023 bis 800 würde müsste fast die gesamte Referenzspannung am Eingang sein. Dazu müsste der geschaltete Widerstand wesentlich größer sein als der Pullup von 10k, also beispielsweise 100k. Richtig? Für 799 bis 600 müssten also ca. 3,5V am Eingang sein, also nur 1,5V am Pullup abfallen, also der Widerstand im Drehschalter ca. 22k betragen?! USW. . . 2. Würde ein Spannungsteiler mehr Sinn machen? Das Verhältnis würde sich ja auch bei Temperaturschwankungen nicht ändern, falls sich die Widerstandswerte ähnlich verändern. 3. Welche Alternativen gibt es dazu, wenn einem weniger digitale Eingänge zur Verfügung stehen als man braucht und man möglichst auf weitere Elektronik verzichten will? Bitte korrigiert, wenn ich falsch liege bzw. es bessere Möglichkeiten gibt. Danke. LG
Bedenke bei den 10 bit, dass die ganze Schaltugn auch rauscht und Widerstände auch deutlich vom Sollwert abweichen können. Wenn du Widerstände it +/- 5% Genauigkeit verwendet, kannst Du bei deiner einfachen Schaltung logischerweise nur weniger als 20 Widerstände verwenden. In der Praxis würde ich nur 10 verwenden. Aber mir fällt dazu spontan eine andere Lösung ein:
1 | GND o---[===]---+---[===]---+---[===]---+--- usw. ---[===]---o VCC |
2 | | | | |
3 | | | | Schaltkontakte |
4 | | | | |
5 | +-----------+-----------+----- Zum ADC |
So kannst du für alle Widerstände den gleichen Wert nehmen, was nicht nur den Einkauf sondern auch die Berechnung deutlich vereinfacht. Hinzu kommt, dass Abweichungen der Widerstandswerte zum Sollwert kaum stören.
Also war mein oben geschildeter Grundgedanke richtig und 5 Stufen sind in der Praxis auch gut auswertbar? Du hast den Pullup in deiner Lösung nur nicht skizziert, aber er ist vorhanden, oder? Sonst wäre der Eingang ja undefiniert. Danke für diesen Vorschlag. Ich werde es kommende Woche mal testen.
blow schrieb: > Du hast den Pullup in deiner Lösung nur nicht skizziert, aber er ist > vorhanden, oder? Sonst wäre der Eingang ja undefiniert. Ein Pullup an einem Analogeingang ist ziemlich kontraproduktiv. Wenn er nicht automatisch abgeschaltet wird sollte man das unbedingt bei der Pin-Konfiguration erledigen.
blow schrieb: > Du hast den Pullup in deiner Lösung nur nicht skizziert, aber er ist > vorhanden, oder? Sonst wäre der Eingang ja undefiniert. Beim Drehschalter sollte eigentlich immer ein Kontakt geschlossen sein, außer im Umschalt-"moment". Je nach dem, ob der Schalter vom Type "Break-before-Make" oder "Make-before-Break" wird der Eingang dabei mal kurz in der Luft hängen oder ein Widerstand kurz überbrückt sein. Ein Kondensator am Eingang vom ADC hilft gegen "in-der-Luft-hängen". Ein Pull ist also nicht so richtig nötig und sorgt nur für Abweichungen von den Spannungspegeln, sofern der Teiler nicht arg niederohmig und damit "stromschluckend" ist.
> 5 Stufen sind in der Praxis auch gut auswertbar Ja klar, locker. > Du hast den Pullup in deiner Lösung nur nicht skizziert, Doch, ganz rechts. Aber mit dem gleichen Wert, wie alle anderen Widerstände. > Ein Pullup an einem Analogeingang ist ziemlich kontraproduktiv. Er meint einen externen. Der interne eignet sich kaum, weil dessen Wert in Ohm nicht ausreichend festgelegt ist.
Stefan us schrieb: >> 5 Stufen sind in der Praxis auch gut auswertbar > > Ja klar, locker. Zu den 5 analogen "Zwischenstufen" kann man ja auch noch zwei Stufen zufügen: Ohne Widerstände direkt mit GND und direkt mit Vcc verbunden. Also im Bild von Sefanus noch zwei Schaltkontakte ganz links und rechts.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.