mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Nochmal AD Wandlung


Autor: Gerd (Gast)
Datum:

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

Autor: Markus Kaufmann (Gast)
Datum:

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

Autor: Mario EDUARDO (Gast)
Datum:

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

Autor: Gerd (Gast)
Datum:

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

Autor: Gerd (Gast)
Datum:

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

Autor: Markus Kaufmann (Gast)
Datum:

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

Autor: Gerd (Gast)
Datum:

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

Autor: Phagsae (Gast)
Datum:

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

Autor: Torben (Gast)
Datum:

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

Autor: Mario EDUARDO (Gast)
Datum:

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

Autor: Gerd (Gast)
Datum:

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

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.