www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ad-Wandler, über großen bereich pin schalten


Autor: Laza (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!!!

Ich möchte mit dem atmega8 eine Batteriespannung von 12 V an dem ad 
wandler messen ( über spannungsteiler und co) und einen ausgang nach der 
gemessenen spannung ein/ausschalten.

nun habe ich im tut gelesen, das der wandler rauscht, und die 2 letzten 
bits springen.

Wie kann ich es nun in assembler realisieren, das der pin z.b. im 
bereich zwischen 3,1-3,3 V ein und zwischen 4-4,3 V ausgeschaltet wird.
dies würde einem dezimalwert von 634-675 und 819-880 entsprechen (vref 
5V, 10bit). wenn ich nun den eingangswert, bzw die ergebnisregister ADCL 
und H z.b. mit dem dez.wert von 634 vergleichen würde, würde er evtl. - 
durch das rauschen bedingt - diesen wert niemals erreichen und nie 
schalten. habt ihr mir vielleicht einen codeschnipsel oder ne seite die 
mir dieses problem aufzeigt?!
klar, ich könnte mit jedem einzelnen dezimalwert vergleichen, aber da 
wirste ja blöd im kopf, mal ganz von der durchlaufzeit abgesehen...

ich danke euch schonmal im vorraus.

MFG

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wo ist das Problem? Du hast eine Hysterese von über 100 Werten, also bei 
z.B. unter 675 einschalten, über 819 einschalten, fertig.

Selbst webb er um 4Bit (16 Werte schawankt, passiert da noch nichts...

Gruß aus Berlin
Michael

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
bei dieser 'geforderten Ungenauigkeit' kannst Du das ADLAR-Bit im ADMUX 
setzen und nur das ADCH-Register auslesen. dein Wertebereich geht nunmal 
schon nur noch bis 255. Dieses Ergebnis schiebst Du ein-zwei mal nach 
rechts(lsr). Jetzt hast Du zwei ungenaue Schwellen, die Du einfach 
abfragen kannst.
Es sei denn, Du brauchst den ADC auch noch für andere Sachen.

AxelR.

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.