Nochmal AD Wandlung

Gast #33771
Hallo Leute,
ich hab mich jetzt noch ein wenig mehr mit einer AD Wandlung 
beschäftigt.
Ich fass das mal zusammen.
AVR 4433 Prozessor.
Ich lege an VREF 5V und an GND an.
Damit bei 10bit Wandler -> 1024 Stufen -> 1 Stufe= 4,88mV
Jetzt will ich das ganze an einem LCD ausgeben.
Hierzu muss ich doch die beiden Register auslesen und die 
Anzahl(Stufen)mit 4,88mV multiplizieren und am LCD ausgeben.

Ist das alles soweit richtig ?

Meine Frage:
Wie kann ich das gescheit multiplizieren und muss ich diese 4,88mV 
irgendwo schon speichern damit da immer nachgeschaut werden kann.
Und wie zeigt man das dezimal am LCD an?

Ich bin noch relativ neu in der Materie also sorry for that.
Vielen Dank

Grüße Gerd
Gast
Wenn Du eine Hochsprache nimmst (z.B. Basic oder C), dann gibts dort idR 
auch Fließkommazahlen (z.B. float) und Du kannst das ganz normal 
ausrechnen. Da gibts dann auch fertige Funktionen für die Ausgabe auf 
dem Display (z.B. sprintf in C).
Gast
Man kann aber auch - wenn es schneller sein soll
und in Assembler programmiert
- mit Ganzzahlen arbeiten, also mit 488, und den Dezimalpunkt
  selbst berücksichtigen
- oder im WWW stöbern, da gibts FloatingPointLibraries für den AVR

lg, Mario
Gast
Ich wollte das ganze schon in Assembler programmieren.

@Mario
Wie meinst du denn das mit selbst berücksichtigen? Da muss man dann zwei 
stellen von rechts selbst das komma einfügen?

Grüße Gerd
Gast
Achja noch eine kleine Frage.
Ist dann auch die 5V die kleinste zu messende spannung.
Und wie müsste der AVR dann abgesichert werden gegen einen zu hohen 
Strom?

Grüße Gerd
Gast
@Gerd: Warum willst Du in Assembler programmieren? Du hast 4KB Flash zur 
Verfügung, ist bei Dir der Speicher wirklich so knapp? Oder willst Du 
was dabei lernen?


bye
  Markus
Gast
Ich wollte schon was lernen bei der ganzen Sache.
In der Schule programmieren wir auch in Assembler und so schlecht find 
ich es eigentlich auch net.

Grüße Gerd
Gast
HI Gerd

Damit auch etwas als Messwert gilt sollte die Aref dann schon 
einigermaßen gut sein. ( ein LM 78XX tuts da nicht )
Ne Spannungsreferenz sollte da nicht fehlen.

Es gib auch welche die auf so komische Spannungen wie
2,56 - 2,048V oder 1,024 V abgeglichen sind
( Na klingelt da was ??)

Mit ner 2,56 V ref braucht man nur noch mal 4 nehmen
und hat die Spannung in mV
Komma setzen fertig.

Da kann man ohne flieskomma arbeiten- kommt einem mit Assembler schon 
entgegen und hält den code knapp.

Phagsae
Gast
Hi,

die maximale Spannung die du ueber den AD Wandler messen kannst ist so 
gross wie Vref. Also Vref = 2,56 V dann darf die Spannungen die an dem 
AD Wandler liegen nicht 2.56 V ueberschreiten. Achja die Vref erzeugste 
am besten mit deiner von 5 Volt dazwischen ein LM136 (2,56V). Das ist 
eine Referenzspannungs Z-Diode mit Adjust Gate. Die Spannung ist ideal 
zum berechnen. Moechtest du ueber deiner Vref Spannungen mit deinem ADC 
messen, dann musste entweder ein Spannunngsteiler  aus zwei 
Widerstaendungen errechnen. Einfache Verhaeltnisrechnung. Moechetst du 
es ein bischen besser machen nimmste dir ein OP und machst daraus ein 
Subtraierer. Wie im Datasheet angegeben sollte die Avcc Spg ueber ein 
Tiefpass aus L und C gewonnen werden. L = 100 uH und C = 100 nF.

Das war so mal die Hardware Seite. Software kann ich dir leider nicht 
viel weiter helfen. Ich programmiere mit Basic.

Mfg

Torben
Gast
@Gerd:

Ja, 2Stellen von rechts. Das ist so, als würdest du alles in Cent 
rechnen und dann ganz zum Schluß selbst in Euro umwandeln. Vorsicht 
(Mathematik Grundlagen) :
1.22 * 4.88 ergeben aber 4 Dezimalstellen.


@Alle:

Hab ich da was Mißverstanden? Dachte, der AVR hat eine 
Referenzspannungsquelle eingebaut?!

PS: Referenzquellen:
Bin da selbst hineingefallen weil ich zu wenig gedacht habe:)
Z.B Conrad bietet im Katalog den ICL8039  mit *- 0.1% an.
Nicht, daß da wer glaubt, die Spannung sein auf 0.1% genau, weil ein 
paar Zeilen weiter unten im Katalog eine andere Referenzquelle mit 
+-30ppm angeboten wird. Ich dachte, eine Quelle ist sehr genau, und die 
andere hat eine geringe Temperaturdrift. Falsch: beide Angaben 
beziehen sich auf die Temperaturdrift. der ICL8039 z.B. liefert 1.2 bis 
1.3 Volt (etwa), im Mittel 1.23. Also Vorsicht, macht nicht den gleichen 
Fehler wie ich!!

lg, Mario
Gast
Also erstmal vielen Dank an alle.
Ich muss mir das alles erst einmal durch den Kopf gehen lassen,aber bei 
so schönem Wetter ist das garnicht so einfach ;)
Also nochmal DANKE an alle

Grüße Gerd

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.