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


von Stefan S. (bob)


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

von Falk B. (falk)


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

von Stefan S. (bob)


Lesenswert?

Servus,

danke für die flotte Antwort. :-)

Bleibt der Wandler dann bei 1023 stehen ????

von Spess53 (Gast)


Lesenswert?

Hi

Ja

MfG Spess

von Stefan S. (bob)


Lesenswert?

Hi

oh man, thanx.

das ist ja ne geile Sachen.


bob

von Michael Wilhelm (Gast)


Lesenswert?

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

MW

von gast (Gast)


Lesenswert?

Haarspalterei !

von Stefan S. (bob)


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?

von H.joachim S. (crazy_horse)


Lesenswert?

nein

von Hauke R. (lafkaschar) Benutzerseite


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

von Michael G. (linuxgeek) Benutzerseite


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

von Stefan S. (bob)


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

von Sven (Gast)


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

von Peter D. (peda)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.