Hallo zusammen,
ich habe kein Problem im Zusammenhang mit nem ADC. Arbeite als
studentische Hilfskraft bei einer Firma und muss mich jetzt mit
Microcontrollern und speziell ADC rumschlagen.
Zur Sachlage:
Ich will Spannungen messen im Bereich 0-10V. Benutze hierfür einen
ATmega32L, der beim ADC die interne Spannungsref. auf 2.56V setzen kann.
Nun muss ich ja meine Eingangsspannung auf unter/bzw. gleich 2.56V
begrenzen. Gibt es da elegante Möglichkeiten außer normalen
Spannungsteiler ( Stichwort Operationsverstärker?).
Und im ADC gibt es die Möglichkeit einen Gain zu setzen. Geht das nur,
wenn man 2 ADC-Eingänge miteinander vergleicht, oder kann man den Gain
auch bei single ended setzen?
Mein Problem ist, dass ich bei einer Messbereichserweiterung auf 10V ja
kleine Eingänge (z.B. 0.1V) nicht mehr wirklich voll auflöse. Am ADC
würde ja dann nur noch 0.01V ankommen, im Vergleich zur Refspannung ist
das ja so gering, dass der ADC da kaum mehr genau auflösen kann. Hier
wäre halt dann der Gain-Faktor interessant.Oder muss man das dann durch
Operationsverstärker realisieren?
Oder bleibt mir in diesem Fall nichts anderes übrig, als mittels
Multiplexer und verschiedenen Messbereichserweiterungen je nach
Eingangsspannung die optimalen Bereich nutze?
In diesem Fall würde ich die Funktion des ADC-Gains nicht wirklich
verstehen, wo braucht man die dann überhaupt?
Ich hoffe, ihr könnt mir folgen und wäre sehr dankbar, wenn ihr mir
helfen könnt.
Gruß
Philipp
Karl schrieb:> Schonmal an operationsverstärker gedacht
offensichtlich schon...
Philipp schrieb:> Gibt es da elegante Möglichkeiten außer normalen> Spannungsteiler ( Stichwort Operationsverstärker?).
Ein Spannungsteiler mit guten Widerständen verfälscht das Meßergebnis
nicht so sehr wie eine OP-Schaltung.
Ich gehe auch hin und messe bei 5V-uCs die Eingangsspannung mit dem ADC
und nehme die Vcc als Referenz und messe auch die Vref gegen Vcc und
bilde dann die passenden Verhältnisse.
Evtl. ist das leichter bei 5V-Spannungspegeln.
Und alles immer mitteln...
> Ein Spannungsteiler mit guten Widerständen verfälscht das Meßergebnis> nicht so sehr wie eine OP-Schaltung.
Das gilt aber nur bei ganz niederohmigen Quellen, und die hat man
selten.
Deinen zweiten Absatz verstehe ich nicht.
Philipp schrieb:> Mein Problem ist, dass ich bei einer Messbereichserweiterung auf 10V ja> kleine Eingänge (z.B. 0.1V) nicht mehr wirklich voll auflöse.
Das ist ein rein rechnerisches Problem und hat mit der jeweiligen
elektronischen Schaltung garnichts zu tun. Wenn dein Signal nur 1/100
des vollen Messbereichs ist, hast du 10 Bit weniger Auflösung ganz egal
was du unternimmst. Da hilft nur Bereichsumschaltung, manuell oder
automatisch. Auch den genialsten Konstrukteuren von Digital-Multimetern
ist noch nichts besseres eingefallen.
Gruss Reinhard
Warum redest du nicht Klartext?
0...10 V an einen ADC mit Uref = 2,56 V über einen
Spannungsteiler zu führen ist doch erst mal OK.
Du verschweigst uns:
- Welche Auflösung brauchst du?
- Welche Belastung vertragen deine Spannungen?
- Wie schnell können sich deine Spannungen
ändern - und wie genau muss das erfasst werden?
Ohne diese Angaben kannst du keine wirklich
hilfreichen Antworten erwarten.
@Philipp:
Deine Beschreibung hört sich etwas wirr an.
Durchatmen und die Anforderungen klar definieren das wird dann schon.
Der Gain geht nur für Dif Signale.
Was am einen Spannungsteiler nicht elegant ist, versteh ich nicht.
Warum OPs wenn Rs den Job machen ?
Ist Dein Problem das Du sowohl große (0-10V) als auch kleine (0-1V)
Spannungen mit maximaler Auflösung sampeln willst ?
Wenn der interne 10bit AD für die benötigte Auflösung über den vollen
Meßbereich nicht ausreicht gibt viele Möglichkeiten.
a. Externe Messbereichsumschaltung (IMHO die schlechteste Möglichkeit)
b. Oversampling um die effektive Auflösung zu erhöhen
c. Externer >>10bit (14 - ??bit) AD Wandler
d. xMega MCU verwenden, viele programmierbare Gain und Teiler am AD
Dir ist aber klar das 10V / 1024 bereits eine 10mV Auflösung ist ?
Alles das kannst Du aber in die Tonne treten, wenn Du den AD nicht
kalibrieren kannst, bzw. in der Software zumindest die Offset-Drift
rausrechnest.
Mit dem ATmega32L hast Du einen recht einfachen AD für recht einfache
Aufgaben.
Überprüfe zuerst wie überhaupt Deine Anforderungen an die Messung sind.
Wenn Du nicht Sattelfest bei OP Beschaltungen bist läufst Du Gefahr Dir
mehr Probleme einzufangen als die Sache Wert ist.
Spannungsteiler, nicht zu hochohmig, mit kleinem C am AD tut es völlig.
Leg Dir die Latte nicht zu hoch auf.
Es ist völlig normal das die angegebene prozentuale Abweichung Deiner
Messung sich auf den max. Eingang bezieht.
+/-1% bei 10V sind dann +/-100mV, bei jeder gemessenen Spannung.
0.1V werden dann bescheiden aufgelöst es sei den es gibt die explizite
Anforderung nach verschiedenen Meßbereichen.
Hast Du schriftliche Anforderungen, dann lese auch das was da nicht drin
steht. Nennt sich Requirements Engineering: Baue mit minimalem Aufwand
gerade so eben das was schwarz auf weiß gefordert (bezahlt) wird.
Was verstehst du unter elegant?
Möglicht kompliziert?
Möglichst universell?
Möglichst einfach?
Eigentlich ist nichts eleganter als ein Spannungsteiler, so er die
Anforderungen erfüllt.
Bei einer Op Schaltung hast du auch nur einen Verstärker, der durch
einen Spannungsteiler rückgekoppelt wird.
Kann mich nur anschließen.
Spannungsteiler + R-C Filter wird zu 90% verwendet.
Bei 1% Widerständen passt das gut.
Beim ADC zappel sowieso immer 1-2 Bits.
Was an dieser Stelle viel bringt ist etwas oversampling.
Wird im "Regelfall" auch oft gemacht.
(gute Schritte wählen, z.B. 8 oder 16, dann geht die Berechnung auch
fix)
Philipp schrieb im Beitrag #3301346:
>>Und wo ist Philipp?>> Sorry Leute, ihr habt doch alle zusammen nicht halb so viel Ahnung wie> ich.> Statt Klartext zu reden fragt ihr einer nach dem anderen nach genau den> Details, die ich in meiner Frage genannt habe. So könnt ihr natürlich> auch davon ablenken, dass euch das Thema zu komplex ist. Ich würde es> auch so machen, wenn ich ohne jede Ahnung als Experte dastehen will.>> Das was ihr draufhabt, kann ich schon lange. Traurig, was aus diesem> Forum geworden ist.
Also erstmal,das war ich nicht -.- Weiß nicht, wer in seinem Leben so
wenig Freunde hat, dass im Forum andere Leute imitieren muss. Ich
jedenfalls habe diesen Beitrag nicht verfasst. @Verfasser: Besorg dir
Eier und benutze deinen eigenen Namen.
Zu den anderen Antworten:
Vielen Dank erstmal für die vielen Infos, musste mir noch mehr
Hintergrundwissen anlesen, deswegen kommt die Antwort zu spät.
Externen ADC habe ich eingeplant, wollte da auf 14Bit auflösen.
Ansonsten werde ich, wie ihr auch sagt, Spannungsteiler benutzen und
falls wer halt niedrige Spannungen messen möchte, muss er mit einem
höheren Fehler leben.
Die Anforderungen sind halt ADC für Wandlungen bis max. 10V. Wie gesagt,
einfache Aufgabe, bin erst im 2. Semester :D
@Michael Knoelke
Vielen Dank da noch mal extra für die ausführliche Antwort. Hat mir sehr
weitergeholfen. Werde mir die Tipps zu Herzen nehmen.
Gruß
Philipp
Philipp schrieb im Beitrag #3301346:
> Sorry Leute, ihr habt doch alle zusammen nicht halb so viel Ahnung wie> ich.
ich glaube nicht das ein nicht Troll so blöde ist gleichzeitig von
Ahnung zu reden und dermaßen dummes Zeugs abzulassen.
D
q34zhh5w schrieb:> Und wo ist Philipp?
Wo ist der Original Phillip? Wenn er das ist tut er mir leid s.o..
Zur Problemstellung:
Philipp schrieb:> Mein Problem ist, dass ich bei einer Messbereichserweiterung auf 10V ja> kleine Eingänge (z.B. 0.1V) nicht mehr wirklich voll auflöse.
0,1V mit 12 Bit Aufgelöst sind 0,000024 V pro step. Ist es das was du
brauchst? Entscheidend ist die Genauigkeit? Spezifizieren und danach den
nötigen Wandler bzw. die Messbereiche raussuchen oder halt feststellen
das der im uC reicht.
Guck eine Antwort über dir an ;-)
Ansonsten ist das Thema soweit erstmal durch, ihr habt mir genug Infos
gegeben, damit ich mir nen Plan überlegen kann. Dafür vielen Dank.