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
@ 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
Servus, danke für die flotte Antwort. :-) Bleibt der Wandler dann bei 1023 stehen ????
Na ja, grenzwertig, weil 1023 der größte darzustellende Analogwert ist. Die 1023 können ein realer Messwert sein oder ein Überlauf. MW
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?
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
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.