mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Spannungsteiler Dimensionieren: mathematisch saubere Lösung


Autor: Michal (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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
Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://starmageddon.dyndns.org/stuff/widr.php

noch keinen schaltplan gezeichnet, aber wenn man weiß wie ein 
spannungsteiler aussieht sollte man damit klarkommen.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Michal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
liegt vielleicht daran daß nicht jeder excel auf seinem rechner hat um 
reinzuschauen. sorry

Autor: Michal (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ok, kein Problem, hier noch eine Version für Excellose.
Der Nachteil ist, dass man damit nicht experimentieren kann...

Danke ;)))

Michal

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schätze mal e-Funktion diskretisiert? Reine Vermutung nach Gefühl. 
Probiers mal aus.

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf jeden fall eine e-funktion.

Autor: PaulPlan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Maik Fox (sabuty) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Experte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: matthes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ben (Gast)
Datum:
Angehängte Dateien:
  • preview image for x.png
    x.png
    3,18 KB, 482 Downloads

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Daniel (Gast)

Solche Schaltung würde Strom verschwenden wenn nichts gedrückt ist.
Meine tut das nicht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich muß gestehen als formel hab ich es noch nicht hinbekommen. das ist 
ein algorithmus der die widerstandswerte über den strom ausrechnet.

Autor: Maik Fox (sabuty) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michal (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@ Daniel:

Danke, hast mich dazu gebracht, dass ich kleinen Fehler im Schaltplan 
gefunden habe:

Achtung, die Widerstände sind unten NICHT an Masse angeschlossen!

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wüsste nicht wo bei den beiden Schaltungen der Unterschied im 
Stromverbrauch liegt.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Michal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...pins sparen...

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
U läßt sich rauskürzen, dann bleibt über

Rx=(x/n)/((1-x/n)/R1)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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:
  R1  =   40.000Ω
  R2  =   43.333Ω
  R3  =   47.101Ω
  R4  =   51.383Ω
  R5  =   56.277Ω
  R6  =   61.905Ω
  R7  =   68.421Ω
  R8  =   76.023Ω
  R9  =   84.967Ω
  R10 =   95.588Ω
  R11 =  108.333Ω
  R12 =  123.810Ω
  R13 =  142.857Ω
  R14 =  166.667Ω
  R15 =  196.970Ω
  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:
  R1  =   66.667Ω
  R2  =   76.190Ω
  R3  =   87.912Ω
  R4  =  102.564Ω
  R5  =  121.212Ω
  R6  =  145.455Ω
  R7  =  177.778Ω
  R8  =  222.222Ω
  R9  =  285.714Ω
  R10 =  380.952Ω
  R11 =  533.333Ω
  R12 =  800.000Ω
  R13 = 1333.333Ω
  R14 = 2666.667Ω
  R15 = 8000.000Ω

Das ist wahrscheinlich das, wonach du suchst.

Autor: John (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldige, Baby-Pause, melde mich noch...

Autor: Michal (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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=Su...
erster Link -> http://www.st.com/stonline/books/pdf/docs/10344.pdf

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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 ;-)

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.