mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD-Werte faktorisieren


Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tag zusammen,

vielleicht kann mir jemand bei ner kleinen Denkaufgabe helfen. Ich 
bekomme von meinem AD-Wandler Werte von 80-219.

Nun möchte ich diese Werte so berechnen, so Sie einem Bereich von 5-250 
entsprechen. Jedoch sollen die Schrittweiten im Verhältnis beibehalten 
werden. Nur irgendwie komm ich zu keinem Ansatz.

Autor: nop(); (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
einen Levelshifter & Verstaerker vorschalten. Falls das ohne Hardware 
geschhen soll, das so rechnen.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du von 80-219 140 Schritte. 246 neue Schritte / 140 alte Schritte ist 
ca. 1,75

Also die alten Werte -80 nehmen, mal 1,75, und 5 addieren.

Autor: SF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du deine Hardware nicht ändern willst, dann kannst folgenden Ansatz 
verwenden:

Du brauchst eine lineare Funktion, die dir den Wert 219 auf den Wert 250 
abbildet und den Wert 80 auf den Wert 5. Also:

f(x)=ax+b.

Dann kanst du zwei Gleichungen aufstellen:

f(219)=250
f(80)=5

mit dem linearen Ansatz ergibt das

250 = a*219 + b
  5 = a*90  + b

Aufgelöst erhält man:

a = 245/139 b = -18905/139

dies ergibt die Formel:

f(x) = (245*x - 18905) / 139

Das kann der Mikrokontroller dann berechnen. Damit die Rechnung etwas 
genauer wird, kann man die Division auch noch gerundet berechnen. Dazu 
wird an einer strategisch günstigen Stelle 139/2 also etwa 70 addiert:

f(x) = (245*x - 18905 + 70) / 139

Die Rechnung läßt sich gut mit integer Zahlen berechnen. Nur die 
Division kostet etwas Zeit. Durch Ändern der Zahlen könnte man die 139 
eventuell auch zu einer 128 hinbiegen, dann wird aus der Division eine 
schnellere Bitschiebeoperation.

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

Bewertung
0 lesenswert
nicht lesenswert
Moin, klinke mich auch mal hier ein
Kann man irgendwie von einer veränderlichen Spannung eine bestimmte 
konstante Spannung abziehen, also alles ein paar Volt tiefer legen? Geht 
das mit einer Zenerdiode?
Gibt es analoge 'Rechner', die einen Spannungsverlauf von 1/x zu einem 
linearen Verlauf umrechnen? (Siehe Anhang, soll sich der x-Achse 
annähern)
Dussel

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.