mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD werte umrechnen


Autor: belluh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, messe mit einem ATmega8 eine Spannung von 0- 5 V.
Klappt auch alles aber als Ausgabe erhalte ich 0-1023. Mir ist klar das
5 V dem Wert 1023 entsprechen müssen und 512 demnach 2.5 V.
Möchte in 100 mv Schritten messen aber wie setzte ich jetzt die Daten
um ? Mache das ganze in Bascom. Danke !

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für so etwas gibt es den Dreisatz.

Anzeigewert = Messwert * (5 / 1024)

Autor: belluh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey danke ! Die 5 beziehen sich auf die Spannung oder ? Dann kann ich da
also da die jeweils zu messende Spg eintragen ?

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 5 bezieht sich auf die Spannung, die dem Messwert 1023 entspricht.

Kann mich mal wer zwicken?

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@R.T.F zwickzwackzwick

@belluh

5V = 5000mV werden in 1024 Teile geteilt.
Wenn man das jetzt über 'nen Abakus laufen läßt, kommt für einen Teil
4,8828125mV (ungefähr ca. genau) heraus.

Wieviel Teile mußt du dann auf einen Haufen packen, um 100mV zu
erhalten ?

Na.......kommt Licht ??

Autor: R. T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Wolle

Nein exakterweise werden die 5V in 2^10-1 = 1023 Stufen quantisiert

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon klar.
Aber einer mehr oder weniger...........
Er hat das Prinzip halt noch nicht erkannt.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@R. T:
Stimmt schon..., aber eigentlich doch
2^10(-1) = 1023 (+1) da wir ja bei null anfangen zu zählen und nicht
bei 1 und darum find ich sind es trotzdem 1024

aber vielleicht irre ich mich ja

Autor: R. T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sebastian:
-->ein kleines Beispiel: 2-Bit ADC mit 4V Referenzspannung
   --> Frage: Anzahl der Quantisierungsstufen q = 2^2=4 oder 2^2-1=3 ?

       mit der Formel: U_mess = ADC_wert * Uref/q
       ergeben sich folgende Zusammenhänge

          ADC_wert  U_mess(q=4) U_mess(q=3)
              00     0V           0V
              01     1V           1,33V
              10     2V           2,66V
              11     3V           4V

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe
ups... :-) hast wohl recht

Autor: Kupfer Michi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wollen wir uns das wirklich nocheinmal antun...

http://www.mikrocontroller.net/forum-extern/read-1...

Zum Nachlesen im M16 DB auf Seite 214 oder graphisch im Anhang

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..und etwas allgemeiner:

Evaluating and Using ADCs
http://www.national.com/appinfo/adc/files/Web-pres2001.pdf

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur weil der Maximal-Wert des ADCs 1023 ist, heißt es nicht, dass er nur
1023 stufen hat.

Natürlich hat er Exakt 10bit Auflösung und wenn man 5,12V als Referenz
nimmt, macht das durchaus sinn:
5,12V = 5120mV
5120 / 1024 = 5 mV

D.H jeder Schritt 5mV

Der gültige ADC Bereich liegt zwischen 0 und 1023, wobei 0 = 0V
entspricht und 1023 = 5,12V (theoretisch..)

Autor: heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
der link:

Evaluating and Using ADCs
http://www.national.com/appinfo/adc/files/Web-pres2001.pdf

ist gut wenn es diesen auf deutsch geben würde, wäre es noch besser,
kennt jemand einen link der dies so darstellt nur in d

mfg
heiko

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ein kleiner Tipp: Man steuert erstens AD-Wamdler nie auf Vollwert
aus:  Die Linearitätsdefiniton beim Kalibrieren liegt oft bei 2/3
Endwert, d.h. DORT ist die beste Genauigkeit. Zweitens würde ich aus
rechentechnischen und fehlerinterpretationstechischen Gründen zu
Vollwerten raten: 5V sollten exakt 1000 enstsprechen. Es macht wenig
Verlust, statt der 1023 die praktikableren 1000 zu bnutzen, die oberen
Daten können aber prima Steuerinfos transportieren:

Wenn man z.B: eine Messwert verarbeitung hat, so könnete man eine
Übersteuerung pauschal auf 1020 setzen, einen Drahtbruch auf 1010 einen
eventuell möglichen Fehler durch Störungen auf 1005 oder so. Dann kann
die anschließende Messwertlogig mit DISESEM einen Wert operieren , ohne
zusätzliche Signale oder Zustände zu benutzen- wichtig bei
ereignisesteuerten Systmen, mit schmaler Übertragung zwischen 2
Systemen.

Generell ist es aus Gründen der Fehlersuche und Plausibilierung der
Messung sinnvoller, mit gedanklich leicht nachvollziehbaren
Übersetzungsfaktioren (im obigen Beispiel 4.0 / mv) zu arbeiten, wie
oben bereits beschreiben. In "alten" Systemen war das sogar
unumgänglich, da man kein floating point benutzen konnte :D

Ich habe auf diese Weise mal ein Messwertmodul entwickelt, daß die
vorhandene Übertragungsstrecke nutzen könnte, OHNE zusätzlich digitale
Steuerinfos übertragen zu müssen. Eine Wert von >1000 wäre dann z.b.
kein verwertbarer Messwert, sondern deutet auf einen Fehlemssung hin.
Die Auswertemathematik woanders, wiess dann, daß sie den Wert verwerfen
muss und den alten ausgeben soll. Speziell in schnellen Umgebungen kann
man hier einfach den nächsten Messwert nehmen.

Noch ein Punkt: Auf obige Weise wäre auch klar, daß "1000" wirklich
exakt Maximal Analog bedeuten und nicht ein Anschlag / Übersteuerung
vorliegt.

Auf diese Weise habe ich z.B. bei einem 8Bit-System immer 5V=250
eingestellt und wusste so, daß >=251  immer etwas mit Fehlern zu tun
haben musste.

Dies alles nur als Anregung zu nächlicher Stunde ... :D

Autor: heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehr interessant,
würde gerne mehr davon erfahren wollen, wie du es im enddefekt
realisiert hast, hardware- sowie softwaretechnisch?

möchte mich demnächst auch mit diesem thema auseinandersetzen, da ich
keine erfahrung mit soetwas habe, informiere ich mich hier gelegentlich
und stosse zum 1. mal auf so eine für mich informationsreiche nachricht.
hätte jetzt 1000 fragen aber vielleicht erstmal die ersten schritte???

mfg
heiko

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SO ähnlich mache ich es auch, Beispiel 4-20mA Stromschleife. Den
A/D-Messbereich lege ich für 0-22mA aus. Ich kenne keine Transmitter,
die nicht auch mehr als 20mA ausgeben bei Überschreitung des
Eingangsmessbereichs oder bei Defekten. Ergibt die Möglichkeit der
Fehlererkennung. Das Einstellen der Referenz dass sich "schöne
glatte" Zahlen ergeben, halte ich nicht für erforderlich, meist wird
der Messwert doch sowieso skaliert.

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4-20mA ist exakt mein Thema gewesen damals. Ich habe einen dieser
typischen ->Kopfmessumformer ersetzt, wie er damals von Sensycon/H&B
angebten wurde - das ging dann in ein CAN-Modul für die ABB. Diese
Gerätchen besitzen ja eine interne Linearisierung die sogar wieder
einen Analogwert ausgibt- nur eben einen linearen. Dazischen sitzt ein
AD, ein uC und wieder ein AD. Der uC gibt die Gelegenheit zu
Linearisieren und zugleich Überstrom zu detektieren. Bei der
Gelegenheit kann man sich Fehlerzustände ausdenken, die anderswo
reinterpretiert werden.

Soweit ich weiss, sind die KMU sogar bis 25ma spezifiziert. Dawer
wundert es nicht, daß sowas auftritt. Ist aber schon eine Weile her, so
genau bin ich da nicht mehr drin.

Autor: heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

@jürgen schuhmacher & crasy horse

könnt ihr vielleicht mehr zur vorgehensweise, realisierung und
benötigten sachen posten?

mfg
heiko

Autor: heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schade das keiner mehr von euch antwortet....

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was willste denn noch wissen?

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.