www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Überlauferkennung bei A/D-Wandler


Autor: Stefan Schulz (bob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus Leutz,

Meine Programmiersprache ist BASCOM.
Ich verwende den A/D-Wandler vom Atmega 8.

Dieser ist ja 10 bit groß. Wie erkenne ich dass dieser einen Überlauf 
hat? Also mein Analogwert größer ist wie meine maximal zulässige 
Eingangsspannung.

Kann ich das mit dem Flagregister realisieren. Wenn ja, wie? Wie kann 
ich dieses dann abfragen und dann logisch verknüpfen um dann ein "true" 
oder "false" Ergebnis zu erhalten?
Mit dem Ergebnis möchte ich dann eine "IF-THEN-ELSE" Verknüpfung machen.

Oder hat jemand eine andere Idee?

Schon mal besten Dank für eure Mühe

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Stefan Schulz (bob)

>Dieser ist ja 10 bit groß. Wie erkenne ich dass dieser einen Überlauf
>hat? Also mein Analogwert größer ist wie meine maximal zulässige
>Eingangsspannung.

Wenn du den Messwert 1023 liest.

MFG
Falk

Autor: Stefan Schulz (bob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

danke für die flotte Antwort. :-)

Bleibt der Wandler dann bei 1023 stehen ????

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ja

MfG Spess

Autor: Stefan Schulz (bob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

oh man, thanx.

das ist ja ne geile Sachen.


bob

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na ja, grenzwertig, weil 1023 der größte darzustellende Analogwert ist. 
Die 1023 können ein realer Messwert sein oder ein Überlauf.

MW

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Haarspalterei !

Autor: Stefan Schulz (bob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmmm, das denk ich auch.
Ich meine, bei mir ist das noch vertretbar, aber wenns mal hart auf hart 
kommt dann kannst halt echt blöd da stehen.

Gibt es nicht irgendwie ein Flag das gesetzt wird oder so was in der 
Art?

Autor: H.joachim Seifert (crazy_horse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die einzige möglichkeit die mir einfällt wäre: Das eingangssignal 
(schaltbar) mit Wellenform mit amplitude von 1 lsb belegen. Wenn du 
davon etwas mitbekommst (rausfinden durch mehrere samples) dann bistdu 
noch nicht in der sättigung, wenn du auch dabei immer den wert 1023 
erhälst, bist du in der sättigung, für die untere grenze equivalent

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du den (2^10)-1 als Ueberlauf betrachtest verkuerzt Du halt Dein 
Messintervall um 1/(2^10)-tel, das duerfte nicht allzu tragisch sein. 
Aber ansonsten muesstest Du den zeitlichen Verlauf verfolgen und auch 
dann kannst Du nicht sicher sagen "jetzt hab ich nen Ueberlauf" nur weil 
der Wert laenger  am Maximum stehen bleibt. Das sinnvollste waere also 
den groessten Wert einfach als Ueberlauf zu interpretieren.

Michael

Autor: Stefan Schulz (bob)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

ok, die Verkürzung meines Messintervalls ist nicht weiter tragisch.

ich glaub ich belasse es bei der Abfrage von 1023.
Ist glaub die einfachste Variante.


Danke für die vielen Tipps. (Echt geniales Forum)

bob

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit einem zweiten hochohmigen Spannungsteiler den
Messwert auf zB. 2,5V zu ziehen und dann mit einem 2. AD-Kanal
diesen Wert zu lesen.

Natürlich verliert man etwas an Auflösung aber wenn es nur darum geht
einen Wert über 5V zu erkennen ?
(Oder man stellt die Widerstände so ein, daß man 4V als Maximal
Wert hat (Kanal 1 ist dann bei 1023); alles was darüber liegt
ist bei Kanal 1 -> 1023 und bei Kanal 2 ~ > 818.

Man sollte aber erwähnen, das die AD-Eingänge es aber nur zu einem 
gewissen Grad mögen, wenn man eine Spannung > 5V anlegt.

Besser man verhindert direkt ein Signal am Eingang > 5V.

Gruß Sven

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die übliche Methode ist, man dimensioniert den Spannungsteiler so, daß 
der ADC-Endwert über dem Meßbereich liegt, z.B. für einen 10V Meßbereich 
auf 10,5V.

Damit ist dann auch garantiert, daß z.B. bei 1% Toleranz der Widerstände 
immer bis 10V gemessen werden kann.
Die Toleranz der Referenz muß man natürlich auch beachten.


Peter

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.