Ich bin völlig neu in der Elektronik und habe versucht, eine Möglichkeit zu finden, 10 SPDT-Schalter an einen einzelnen analogen Pin meines Ardiono Mega 2560 anzuschließen (und natürlich an 5 V und Masse angeschlossen). Die Idee ist, so viele Schalter auf einem einzigen Pin zu aktivieren, um zu versuchen, Pins für andere Zwecke freizugeben.
Ich habe 10 Schalter in Reihe geschaltet, mit eindeutigen Widerstandswerten an jeweils einem Pol, und versuche auf diese Weise, die Bitwerte 1,2,4,8,16,32,64,128,512 darzustellen, was mir a geben wird Auflösung von 0-1023 ganzzahligen Werten, das ist der Bereich, den ich verstehe, dass der ADC auf dem Arduino-Chip unterstützt. Der Spannungsteiler funktioniert und gibt die richtige Spannung, aber NUR wenn ein einzelner Schalter umgelegt wird.
Meine Schaltung sieht wie folgt aus:
Hier sehen wir, dass der letzte Schalter umgelegt ist und die Ausgangsspannung 2,5 V beträgt, was wie erwartet einem digitalen Wert von 512 entspricht. Wenn Sie jedoch mehr als einen Schalter verwenden, fällt die Spannung stärker ab, was mir das umgekehrte Ergebnis von dem gibt, wonach ich suche.
Ich weiß nicht, ob das, was ich hier zeige, sinnvoll ist, aber idealerweise möchte ich in der Lage sein, die Position einer beliebigen Kombination von Schaltern zu erkennen, indem ich die Spannung in binär umwandele und von dort aus arbeite.
Das wird nicht funktionieren. Zwischen der Genauigkeit Ihrer Widerstände und der Genauigkeit des A/D erhalten Sie nicht genau einen bekannten Messwert für jede einzelne Schaltereinstellung. Nicht annähernd.
Im Allgemeinen besteht die Möglichkeit, einen Satz gleichmäßig verteilter Analogwerte aus verschiedenen Schaltereinstellungen zu erzeugen, darin, das zu tun, was die meisten D/As tun, nämlich eine R-2R-Leiter zu verwenden. Ich muss jetzt etwas anderes tun, also habe ich keine Zeit, um darauf einzugehen, was eine R-2R-Leiter ist, vielleicht später. Dies ist jedoch ein bekanntes Konstrukt, und Sie werden leicht eine Menge darüber finden.
Sehen Sie sich Ihr D/A-Fehlerbudget und das des A/D genau an. Mit 0,1% Widerständen und abhängig von der absoluten Genauigkeit des A/D können Sie möglicherweise 8 Schalter auflösen, wenn alles richtig funktioniert. 7 oder 6 Schalter klingen viel machbarer. 10 liegt definitiv im Garantiebereich.
Anindo Ghosh
David Tweed