Forum: Mikrocontroller und Digitale Elektronik Mit dem Mikrocontroller Spannungen genau messen und Kurzschlüsse feststellen


von Frank H. (horni)


Lesenswert?

Hallo Leute,

ich habe momentan ein kleines Problem. Ich möchte mit einem 
Mikrocontroller (momentan ist es der ATmega32U4) zwei Spannungen im 
Bereich zwischen 0 und 5V messen und auch feststellen, ob die beiden 
Leiter untereinander nicht kurzgeschlossen sind.

Ja, ich messe etwas, doch leider liegt der uC oft daneben, und zwar um 
ca. 0,1-0,2V, verglichen mit den Werten zweier Fluke Multimeter und 
einem Präzisions-Netzteil.

Ich habe schon verschiedene Messarten ausprobiert. Direkt am ADC, mit 
einem Spannungsteiler mit 0.01% Widerständen. Ich bekomme da leider 
keine Genauigkeit, die ich brauche.

Kann mir da jemand weiterhelfen?

von Michael B. (laberkopp)


Lesenswert?

Die Genauigkeit des ATmega32U4 im 0-5V Messbereich hängt direkt an der 
Genauigkeit der Versorgungsspannung der 5V, also normalerweise nicht 
besonders genau und schwankend.

Misst man bezogen auf die interne Referenz, ist die Messung zwar nicht 
genauer, die typisch 1.1V können aucb 1.0V oder 1.2V sein, aber deutlich 
stabiler, sie bleibt auf dem Wert, 1000 mal stabiler als die 
Versorgungspannung.
Damit man 0-5V messen kann, muss man dann einen externen Spannungsteiler 
von 40k+10k benutzen.

Will man eine absolute Genauigkeit, muss man an AREF eine externe genaue 
Referenzspannung anschliessen, das können dann auch 5V sein.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Hast Du 'Hausnummern' oder nur einen Offset?
Bei Hausnummern misst Du vll. die 50Hz/das Radioprogramm mit?
Beim Offset kannst Du Diesen ja bestimmen und rausrechnen.

Kombination aus Beiden: gute Frag, nächste Frage /

MfG

von Manfred (Gast)


Lesenswert?

Frank H. schrieb:
> Ja, ich messe etwas, doch leider liegt der uC oft daneben, und zwar um
> ca. 0,1-0,2V, verglichen mit den Werten zweier Fluke Multimeter und
> einem Präzisions-Netzteil.
Wer mißt misst Mist? Ich kenne das vom AT328, dass ich gelegentlich eine 
Fahrkarte bekomme - Brumm, Rauschen oder sonstwas. Da ich meistens genug 
Zeit habe (>20ms), mache ich Oversampling: Ich hole mir 10 Werte im 
Abstand von je 2ms und bilde den Mittelwert.

> Ich habe schon verschiedene Messarten ausprobiert.
Was will das bedeuten?

> Direkt am ADC, mit einem Spannungsteiler mit 0.01% Widerständen.
> Ich bekomme da leider keine Genauigkeit, die ich brauche.
0,01% ist Unfug, bei 10 Bit = 1024 Schritten ist die Auflösung des ADC 
schon in der Größenordung, +/- 2 Bit tanzt der sowieso.

Kommt etwas drauf an, ob Du Zeit hast! Ich habe eine Anwendung, wo ich 
alle paar Minuten eine Spannung messe. Geht die Messung aus der 
Toleranz, messe ich erneut mit Oversampling und entscheide erst danach, 
ob ich etwas tun muss.

Weil in diesem Forum mehrfach Heulerei zu lesen war, habe ich mir mal 
vom Chinamann ADS1015 und ADS1115 kommen lassen. Die Auflösung ist zwei 
oder vier Bit höher als vom ATmega, machen im Laboraufbau einen sehr 
guten Eindruck. Ein realer Aufbau steht noch aus, nehme mal eine Blick 
drauf!

von Wolfgang (Gast)


Lesenswert?

Manfred schrieb:
> Ich kenne das vom AT328, dass ich gelegentlich eine
> Fahrkarte bekomme - Brumm, Rauschen oder sonstwas. Da ich meistens genug
> Zeit habe (>20ms), mache ich Oversampling: Ich hole mir 10 Werte im
> Abstand von je 2ms und bilde den Mittelwert.

Bei echten Ausreißern ist Mittelwertbildung nicht viel besser als 'Kopf 
in den Sand stecken'. Die Abweichung vom richtigen Wert ist immer noch 
mit 10% im Ergebnis enthalten.
Besser ist, den Median der 10 Samples zu verwenden. Dann können die 
Ausreißer sonstwo liegen, ohne dass das Ergebnis verfälscht wird.

von Stefan S. (chiefeinherjar)


Lesenswert?

Alles schön und gut... Also um einem satten Kurzschluss festzustellen 
reicht doch eigentlich aus, festzustellen, ob die gewünschte Spannung 
vorhanden ist oder eingebrochen ist. Dafür bräuchte man nicht mal einen 
ADC.

Also entweder hast du dich vertan oder es werden Stück für Stück weitere 
Salamischeiben an Information herausgegeben.

Butter bei die Fische! Wie hoch ist denn deine gewünschte Auflösung? Wie 
hoch ist deine gewünschte Genauigkeit? Und sag bitte nicht "so genau wie 
möglich" - dann kannst du den Thread gleich vergessen.
Wir brauchen Zahlen.
Und gegebenenfalls auch warum du die angegeben Genauigkeiten und 
Auflösungen brauchst (0.01% Widerstände lassen böses ahnen hinsichtlich 
den gewünschten Anforderungen, wo sicherlich ein Komparator ausreichen 
würde...)  Aber gut, Schuss mit Spekulationen - Fakten müssen her!

von Georg (Gast)


Lesenswert?

Frank H. schrieb:
> zwei Spannungen im
> Bereich zwischen 0 und 5V messen und auch feststellen, ob die beiden
> Leiter untereinander nicht kurzgeschlossen sind.

Grundsätzlich ist ein ATMega kein Präzisionsinstrument. Und wenn es um 
die beschriebene Aufgabe geht, wäre es von vornherein besser, eine 
Differenzmessung vorzunehmen anstatt 2 getrennte Messungen, aber das 
dürfte den TO deutlich überfordern.

Georg

von Frank H. (horni)


Lesenswert?

Stefan S. schrieb:
> Butter bei die Fische! Wie hoch ist denn deine gewünschte Auflösung? Wie
> hoch ist deine gewünschte Genauigkeit? Und sag bitte nicht "so genau wie
> möglich" - dann kannst du den Thread gleich vergessen.

Das Gerät soll zur Qualitätssicherung dienen und ein Tester sein. Der zu 
testende Teilbereich hat drei Anschlüsse. Über zwei der Anschlüsse wird 
eine Spannung im Bereich von 0-5V (relativ zu GND) unabhängig von 
einander ausgegeben. Es gibt aktuell drei Spannungsniveaus, die ich 
erwarte. 2.75V, 2.00V und 1.20V. Alle Abweichungen von mehr als +/- 
0.03V sollten als Fehler erkannt werden. Die Messung selbst darf nicht 
mehr als eine Sekunde dauern.

Außerdem gibt es einen erlaubten State des zu testenden Gerätes, in dem 
es die beiden Leiter nimmt und die miteinander kurzschließt. Die beiden 
Leiter sind dann direkt kurzgeschlossen, aber nicht mit GND verbunden. 
Ein technisch möglicher, aber nicht erlaubter State wäre, dass die 
beiden Leiter kurzgeschlossen sind, aber eine Spannung gegen GND haben 
oder selbst eine Verbindung zum GND.

Das ist auch schon alles, was es da zu sagen gibt. Ich möchte in der 
Auswertung jedoch nicht nur genau sagen können, ob alles OK ist oder 
nicht, sondern tatsächliche Zahlen / Spannungen liefern.

von Stefan S. (chiefeinherjar)


Lesenswert?

Dann würde ich einfach eine externe Referenz mit 1.024 Volt nehmen, 
einen halbwegs präzisen Spannungsteiler und schon kannst du mit deinem 
10 Bit Wandler mit einer Auflösung von 1mV die Spannungen messen.
Um Ausreißer auszumitteln kannst du Oversampling nutzen - dazu gibt es 
eine Application Note von Atmel.

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Frank H. schrieb:
> Ja, ich messe etwas, doch leider liegt der uC oft daneben, und zwar um
> ca. 0,1-0,2V, verglichen mit den Werten zweier Fluke Multimeter und
> einem Präzisions-Netzteil.
das sind selbst für einen ADC mit 10Bit und Referenz aus der 
5V-Betriebsspannung schon sehr grobe Werteschwankungen, die vermuten 
lassen, dass die Schaltung oder/und das Layout fehlerhaft und 
störanfällig sind.

Deshalb solltest du konkret benennen, was du da hast, mit Schaltungen 
und Fotos des Ausbaus.

Selbst wenn die Referenz aus einer 5V-Versogung mit einem 7805 oder 
ähnlichem abgeleitet ist, hat das zwar keine super Grundgenauigkeit aber 
sollte doch im Bereich von weit unter 1% reproduzierbar sein.

Nach den Angaben oben ist es das nicht, oder?
Mögliche Fehlerquellen:
- miserabel abgeblockte SV -> Störeinwirkungen auf Analogteil
- unzureichende Stabilisierung oder Überlastung der SV
- fehlende Intergations-C am ADC-Eingang
- zu hochomige Beschaltung von Eingängen
- schwingende Analogschaltungen
- falsches Timing beim Einlesen von ADC-Werten
- kapazitive Einkopplungen von Störungen aus der Umgebung
- fehlerhafte Masseführung, miserables Layout
und so einiges mehr.

Dazu kommt wahrscheinlich noch, dass du einige Grundlagen der 
Signalverabeitung wahrscheinlich nicht kennst, die das Problem zumindest 
deutlich abmildern könnten z.b. Tiefpassbildung, Medianfilter, 
Sychroniation mit Störfrequenzen (-> 100Hz von Netzspannung).
Gruß Öletronika

: Bearbeitet durch User
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.