Hallo Leute, vorsicht, meine Frage ist nicht so einfach wie es auf den ersten Augenblick aussieht (Anlage). Ich habe durch Versuche einen Spannungsteiler laut Anlage dimensioniert. Was mich aber interessiert, ob es dafür eine mathematisch sauberere Lösung gebe? Ich habe schon mit verschiedenen Funktionen versucht, Wurzel, Potenzen, e hoch -x und so weiter und noch nicht das kristallklare getroffen. Mathematiker, eine Idee? Danke voraus, Grüße Michal
:
Verschoben durch Admin
http://starmageddon.dyndns.org/stuff/widr.php noch keinen schaltplan gezeichnet, aber wenn man weiß wie ein spannungsteiler aussieht sollte man damit klarkommen.
Hallo, danke für die Bemühungen, nur leider wurde meine Fragestellung nicht verstanden bzw. Excel-Anhang nicht angeschaut... 1. Spannungsteiler berechnen kann ich doch. 2. R2R produziert bitwertige Zuwächse, MSB/2, MSB/4, MSB/8, MSB/16 usw., und ich will GLEICHE Zuwächse... Weiss jemand was zur eigentlichen Frage (Anhang)? Danke voraus, Grüße Michal
liegt vielleicht daran daß nicht jeder excel auf seinem rechner hat um reinzuschauen. sorry
Hallo, ok, kein Problem, hier noch eine Version für Excellose. Der Nachteil ist, dass man damit nicht experimentieren kann... Danke ;))) Michal
Ich schätze mal e-Funktion diskretisiert? Reine Vermutung nach Gefühl. Probiers mal aus.
Nurm mal als Anmerkung: Des hat schon einen Grund, warum die Spannungsaenderung je Taster unterschiedlich ist. Wenn die Aenderung fuer jeden Taster gleich waere, dann koenne man nicht unterscheiden, ob z.B. T1, T2 oder T3 gedrueckt wurde.
Nein Paul. Ich glaube er will am AD-Wandler dann gleiche Spannungsabstände erreichen. Alles schön und gut. Das nun aber mit einer Lösung für die nächstliegenden Standardwerte zu finden, wird eher interessant sein.
Willst du erkennen, welcher Taster gedrückt ist, oder wieviele? Für den ersten Fall: Man stelle sich ein Poti mit Mittelabgriff vor, 1 Pin auf GND, der andere auf Vsupply. Mit dieser Überlegung kommt man darauf, dass einfach alle Widerstände gleich groß sein müssen.
> Ich habe schon mit verschiedenen Funktionen versucht, Wurzel, Potenzen, > e hoch -x und so weiter und noch nicht das kristallklare getroffen. Nicht rumprobieren, sondern denken: 1.) Was willst Du überhaupt? Einen Spannungsteiler der ein bestimmtes Teilverhältnis hat das durch das verändern des unteren Widerstandes eingestellt werden soll. Der obere Widerstand ist fest. 2.) Welche Werte sollen die Spannungen haben? Linear ansteigend, mit oder ohne Offset. 3.) Wieiviel verschiede Spannungen willst Du? Bei vier Tastern insgesammt 5 verschiedene Spannung. Die 5. Spannung ist der Zustand, in dem kein Taster gedrückt ist. Also, nun ganz einfach: a.) Oberen Widerstand wählen. b.) Fünf normale Spannungsteiler berechnen, bei denen der obere Widerstand immer gleich ist. Die Ausgansspannungen sollen linear von einem bestimmten Punkt aus ansteigen. c.) Nun die unteren Widerstände sortieren, und aus den Differenzen der jeweiligen unteren Widerstände die Werte für die Kette berechnen. Fertig.
Ich seh bei gedrücktem Taster die Widerstände in Reihe, theoretisch ist es ja nur ne Reihenschaltung. Welche Genauigkeit haben die Widerstände? Gibt ja teilweise hohe Prozentuale Abweichung (Farbcode beachten). Bei exakt gleichgroßen Widerständen ergibt sich hier ein linearer Verlauf. Ich kenne keinen Verlauf von Widerstandsverschaltungen(ohmsche) die sich nach der e-Fkt verhalten(makroskopisch), eher gehts von linear zu einer 1/x Fkt, zB der belastete Spannungsteiler. Vllt hilfts dir.
das ist keine praktische aufgabe, das ist eine theoretische. sowas hätten wir früher in ETechnik als hausaufgabe bekommen. hab mal was drangehängt, das sind die widerstandswerte als graph ohne jeden maßstab oder feste größe. schaut aus wie eine 1/x funktion.
Hallo, @ Abdul K. (ehydra) und Ben: leider nein, e hat nicht wirklich gepasst. Meine Überlegung ist zur Zeit rein theoretisch, Standardwert passe ich an wenn ich den Idealverlauf kenne. @Experte (Gast) danke für Inputs, ungefähr so würde ich auch vorgehen. Ich dachte halt jemand weiss es einfach schon. @ Maik F. (sabuty) und matthes (Gast) Überhaupt nicht, bei gleichen Widerständen ergibt sich in der Ausgangsspannung ein "in Sättigung gehender" Verlauf. 1 / x klingt interessant. Ich werde es einfach mal ordentlich lösen. Ich will nämlich Tastatur sparsam an einem ADC-Pin anschliessen, wie schon viele vermuten. Schönen Samstag noch Michal
Wie wäre es wenn du die Ausgänge der Taster nicht auf Masse legst sondern auf den ADC... Dann einfach eine lineare Widerstandsänderung.
Hallo, @ Ben: Danke, es wird spannend! Kurve schaut interresant aus, nur ist es weder ( 1 / x ) noch (1 - ( 1 / x )). Etwas wie ( a + bx + cx^2 + dx^3...)? Bist Du vielleicht in der Lage die Originalformel noch auszugraben? Michal
@Daniel (Gast) Solche Schaltung würde Strom verschwenden wenn nichts gedrückt ist. Meine tut das nicht.
Michal schrieb: > Ich will nämlich Tastatur sparsam an einem ADC-Pin anschliessen, wie > schon viele vermuten. Na dann laß es doch einfach den C-Compiler ausrechnen: Beitrag "Tastenmatrix auslesen über nur 2 Leitungen" Peter
ich muß gestehen als formel hab ich es noch nicht hinbekommen. das ist ein algorithmus der die widerstandswerte über den strom ausrechnet.
Daniel schrieb: > Wie wäre es wenn du die Ausgänge der Taster nicht auf Masse legst > sondern auf den ADC... > Dann einfach eine lineare Widerstandsänderung. Genau von dieser Vorgehensweise bin ich ausgegangen. Und dann braucht man auch keine Widerstandsänderung oder wie auch immer. Einfach nur x Widerstände gleichen Wertes. +5V ~ R - R - R - R - GND Einfach an alle - einen Taster anschließen und alle Taster zusammen auf den gleichen ADC-Pin.
@ Daniel: Danke, hast mich dazu gebracht, dass ich kleinen Fehler im Schaltplan gefunden habe: Achtung, die Widerstände sind unten NICHT an Masse angeschlossen!
Ich wüsste nicht wo bei den beiden Schaltungen der Unterschied im Stromverbrauch liegt.
Ahso, das erklärt so einiges :-) . Aber wenn du das ganze sehr hochohmig auslegst, dürfte das nicht so ins Gewicht fallen. Ist die Schaltung Batterie betrieben?
@ Peter Dannegger (peda) hier kriegt man auch sättigenden Spannungsverlauf. Meine Überlegung ist rein theoretisch: Geht es auch so dass man gleiche Spannungsabstände kriegt?
Du musst ja auch nicht die ganze Zeit Spannung an den Spannungsteiler legen. Kannste ja an einen Portpin hängen und alle 0,1s abfragen oder so
Rx=(U*x/n)/((U-U*x/n)/R1) ohne versuch irgendwas zu kürzen. X ist der taster der geschlossen ist und N die anzahl der taster. die widerstände müssen in der luft hängen, ansonsten geht Uaus=Uein nicht.
U läßt sich rauskürzen, dann bleibt über Rx=(x/n)/((1-x/n)/R1)
Michal schrieb: > hier kriegt man auch sättigenden Spannungsverlauf. > Meine Überlegung ist rein theoretisch: Geht es auch so dass man gleiche > Spannungsabstände kriegt? MCs programmieren heißt, das Optimum zwischen Hardware- und Softwareaufwand zu finden. Vergleiche sind nicht sonderlich teuer, viele verschiedene Widerstände zu nehmen ist zumindest umständlich. Solange die Auflösung des ADC ausreicht, bevorzuge ich wenige verschiedene Widerstandswerte. Man kann natürlich den Speisewiderstand sehr groß wählen und den ADC mit Verstärkung einstellen, dann hat man quasi eine Konstantstromquelle und ist weitgehend linear. Peter
Ich hab ne ganze Weile gebraucht, um zu merken, daß Tasten einlesen über den ADC des MC nicht zu MC&Elektronik gehört. Manchmal sind die Thread-Wechsel überhaupt nicht nachvollziehbar. Peter
> Mathematiker, eine Idee?
Dazu muss man kein Mathematiker sein :)
Sind RS (R_Supply) und R1 vorgegeben, ist
Dabei muss
sein, wobei n die Anzahl der Widerstände unterhalb von R_S ist, in deinem Fall also 16. Für RS=1kΩ und R1=40Ω (wie in deiner Excel-Datei) ergeben sich die Widerstandswerte wie folgt:
1 | R1 = 40.000Ω |
2 | R2 = 43.333Ω |
3 | R3 = 47.101Ω |
4 | R4 = 51.383Ω |
5 | R5 = 56.277Ω |
6 | R6 = 61.905Ω |
7 | R7 = 68.421Ω |
8 | R8 = 76.023Ω |
9 | R9 = 84.967Ω |
10 | R10 = 95.588Ω |
11 | R11 = 108.333Ω |
12 | R12 = 123.810Ω |
13 | R13 = 142.857Ω |
14 | R14 = 166.667Ω |
15 | R15 = 196.970Ω |
16 | R16 = 236.364Ω |
Wenn man
wählt, wird der letzte Widerstand (Rn) unendlich und kann deswegen weg- gelassen werden. Die restlichen n-1 Widerstände sind dann
Durch Drücken des Tasters i (i=1..n) erscheint am Ausgang die Spannung U*(i-1)/n und beim Loslassen aller Taster die Spannung U. Damit hat man U in n gleiche Schritte unterteilt. Für RS=1kΩ sehen die Widerstandswerte nun so aus:
1 | R1 = 66.667Ω |
2 | R2 = 76.190Ω |
3 | R3 = 87.912Ω |
4 | R4 = 102.564Ω |
5 | R5 = 121.212Ω |
6 | R6 = 145.455Ω |
7 | R7 = 177.778Ω |
8 | R8 = 222.222Ω |
9 | R9 = 285.714Ω |
10 | R10 = 380.952Ω |
11 | R11 = 533.333Ω |
12 | R12 = 800.000Ω |
13 | R13 = 1333.333Ω |
14 | R14 = 2666.667Ω |
15 | R15 = 8000.000Ω |
Das ist wahrscheinlich das, wonach du suchst.
Ich habe einfach nur rückwärts gerechnet. Im Grunde ist es das was Experte gesagt hat. Und ich glaube nicht, dass es eine mathematische Funktion gibt, mit der man die Einzelwiderstände berechnen kann. P.S.: Ich habe kein Excel und musste die Datei umwandeln. Die Zeichnung ist jetzt etwas verbogen.
Entschuldige, Baby-Pause, melde mich noch...
Hallo, danke an alle. Damit ist der Thread geschlossen. Jetzt ist mir einfach nur peinlich ;))) Ihr seid alle unmöglich. Hoffe alle haben Spass dabei gehabt. Gute Nacht Michal
Michal schrieb: > Hallo, > > danke an alle. Damit ist der Thread geschlossen. > Jetzt ist mir einfach nur peinlich ;))) > Ihr seid alle unmöglich. > > Hoffe alle haben Spass dabei gehabt. > > Gute Nacht > > Michal Man hätte auch nur die richtigen Stichworte bei Google eingeben müssen...(SCNR) http://www.google.de/search?q=keyboard+adc&btnG=Suche&meta=&aq=f&oq= erster Link -> http://www.st.com/stonline/books/pdf/docs/10344.pdf
Schöne Tastatur. Sogar mit eingebautem Vorrang... Mir wäre ja eine Lösung bei der auch alle möglichen Tasten gleichzeitig gedrückt werden können, lieber. Zumindest 2-3 Tasten sollte man schon gleichzeitig drücken können.
@Abdul K.: > Mir wäre ja eine Lösung bei der auch alle möglichen Tasten > gleichzeitig gedrückt werden können, lieber. Dann ist's halt eine R/2R-Leiter. Aber die ist eben nicht ganz so spektakulär, weil gemeinhin bekannt :) Oder vielleicht doch? Um damit 16 Tasten zuverlässig einzulesen, muss man dabei immerhin auch ein wenig auf die Rauscherei achten ;-)
Wie auch immer. Wenn man sich was erarbeitet, dann achte zumindest ich auf eine dauerhaft gute Verwertbarkeit. Die obig erarbeitete Lösung ist es jedenfalls nicht. Das erinnert mich an meine Solaranlage, bei der der elektronische Wärmemengenzähler einfach stehengeblieben ist. Ich glaub, ich weiß schon was mich beim Aufmachen erwartet... Irgendwie richtig langweilig.
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.