Forum: Mikrocontroller und Digitale Elektronik Einfache Spannungmessung


von Malte (Gast)


Lesenswert?

Hallo,

das ist das erste mal, das ich etwas in diesem Bereich mache. Ich hab 
mir alles was für das Thema wichtig erschien durchgelesen. Dennoch 
wollte ich lieber nochmal die Experten fragen, ob das was ich mache 
überhaupt so korrekt ist.

Meine Aufgabe ist eigentlich recht simpel. Ich soll eine Spannung messen 
welche zwischen 0 und 100 mV liegt und diese per USB an einen Computer 
übertragen und dort weiterverarbeiten. Es soll auf 0,1 mV genau gemessen 
werden.
Über die Software mache ich mir derzeit noch keine großen Gedanken, aber 
über die Hardware bin ich noch etwas unsicher.


Als Platine habe ich mir 
http://www.eproo.de/index.php?module=artikel&action=artikel&id=108 
ausgeguckt.
Auf der Suche nach Schaltplänen bin ich auf 
http://www.olimex.com/dev/avr-p28.html gestoßen und denke mal, das es 
die selbe Platine nur ohne USBprog ist. Sieht zumindest gleich aus :D

Ich habe mir das so vorgestellt, dass ich USBprog als SimplePort 
benutze. Die Messwerte hätte ich mit 10 Bit (ich würde von 0 bis 102,3 
mV messen, dann hätte ich gerade 0,1 mV). Somit würde es sich anbieten 
es immer in 5 Bit Packeten zu übertragen und 5 Flags zu haben um die 
Komminkation zu steuern, von denen ich aber bis jetzt mir erst 2 konkret 
vorstellen kann (high/low senden, sendebereitschaft). Wenn ich anfange 
mit programmieren könnten es evtl. noch mehr werden wenn ich denke das 
ich noch welche brauche.


Soweit erstmal zu dem was ich mir denke. Jetzt bleiben noch ein paar 
Fragen offen.

Zum einen muss ich die Spannung erst verstärken, damit es mit dem ADC 
Wandler messbar wird. Welcher Operationsverstärker würde sich da 
anbieten?
Aus den Datenblättern werde ich irgendwie nicht schlau. In einer der 
Erklärungen hier wurde im Schaltplan der LM1458D benutzt. Nach etwas 
googeln habe ich das Datenblatt gefunden. Doch dort konnte ich nicht 
draus entnehmen welche Leerlaufverstärkung es hat und welchen Verlust 
ich dabei mit einberechnen müsste. Bei Conrad konnte ich es außerdem gar 
nicht finden und aus anderen Datenblättern wurde ich genausowenig 
schlau. Auf welche Daten muss ich dabei achten?

Irgendwie muss ich die zu messende Spannung auch erstmal auf die Platine 
kriegen. Wäre https://www.buerklin.com/default.asp?srch=F074210 das was 
ich suche?

Aus dem Schaltplan der Platine kann ich außerdem nicht ganz entnehmen, 
welche Verbindungen ich löten müsste um damit Daten übertragen zu 
können.
Kann man frei wählen welche Ports ich dafür nutzen will, oder sind 
manche freien Ports Tabu? (ADC Ports die ich zum messen nicht nutzen 
will beispielsweise)
Ich konnte auch noch nicht rausfinden womit man das löten muss. 
Leiterbahnen werden wohl kaum so vorhanden sein wie ich sie haben will. 
Bräuchte ich dann noch extra Verbinder um es zu verlöten?

Wenn ich meine Planung so realisieren will hätte ich 5 Flags die ich 
noch nutzen könnte, um die Übertragung zu regeln. Kann ich dort einfach 
noch LEDs (mit Vorwiderstand) dazwischen schalten um es nach außen 
sichtbar zu machen oder würde dies irgendwas behindern?

Die meisten Tutorials enden mit dem fertigstellen der Platine und ggf. 
noch dem Programmieren. Das ganze sollte wenn möglich aber auch noch in 
einem Gehäuse verpackt sein. Was würde sich da am besten anbieten? Es 
besteht immerhin aus 2 Platinen die beide reinpassen sollten, nach außen 
muss der Stromanschluss, die beiden Stecker für die zu messende Spannung 
und der USB Port frei sein und wenn möglich sollten die LEDs noch 
sichtbar sein. Ansonsten würden sie wenig Sinn machen.
Ich habe nichts gefunden, was diesen Ansprüchen gerecht werden würde und 
eine Extraanfertigung für 1 Gehäuse stell ich mir recht teuer vor.

Wenn die Hardware dann fertig ist und ich meine Software schreibe. 
Benötige ich dann für USBprog noch irgendwelche Treiber um es auf jedem 
PC zu nutzen die ich dann mitliefern müsste?

Das waren erstmal alle Fragen. Wenn mir noch mehr einfällt melde ich 
mich wieder.

von oszi40 (Gast)


Lesenswert?

>"einfache" Spannungsmessung ?

Frage 1 wäre schon wie Du USB galvanisch trennst.
Dein PC-Netzteil und die Masse sind meist mit dem Schutzleiter 
verbunden.
Die kleinste Masseschleife macht Deine einfache Messung "etwas" 
ungenauer.

von Malte (Gast)


Lesenswert?

Inwiefern ist das wichtig?

Die Messung selbst ist von dem USB Anschluss eigentlich unabhängig. Die 
Stromversorgung erfolgt über das Netzteil.
Mit USBprog sollen die Daten nur übertragen werden.

von llsfnbköjbnsdgb (Gast)


Lesenswert?

>Es soll auf 0,1 mV genau gemessen

0,1% Genauigkeit als Anfaenger? Da sehe ich wenig Chancen. Sieh Dir 
einfach mal an, was solche Messgeraete z.B. von Fluke kosten und 
ueberlege dann neu.

Gast

von Malte (Gast)


Lesenswert?

Ein komplettes Verwerfen des Projektes ist keine Alternative.
Wenn es nicht geht muss ich halt etwas mehr Ungenauigkeit in Kauf 
nehmen.

Nur der Messbereich sollte schon mit 10 Bit abgedeckt werden.
Der ADC des ATMega ist mit +- 2 LSB angegeben. Das wären also generell 
schonmal 0,2 mV.

Wenn ich es mit 10 Bit übertrage und als (signed) Integer 
weiterverarbeite, könnte ich damit immernoch den Durchschnitt von über 2 
Mio Messungen nehmen.
Dadurch sollte die Ungenauigkeit einigermaßen rausgehen. Erscheinen mir 
auch relativ viel, mir würden 1000 eigentlich reichen.

Ungenauigkeiten könnte ich mir vorstellen wenn die Referenzspannung 
nicht genau ist oder die Widerstände zu ungenau sind, bzw. zu 
temperaturabhängig.
Ansonsten sehe ich ehrlich gesagt keinen Grund, wieso ein Anfänger 
ungenauer arbeiten sollte als jemand mit etwas mehr Erfahrung.

Über Tipps wie man die Genauigkeit steigern könnte wäre ich auch 
dankbar, aber die anderen Fragen sind mir erstmal wichtiger.
Wäre Nett wenn mir darauf jemand antworten könnte.

von Malte (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe mal die Schaltung zur Verstärkung der Messpannung angehängt so 
wie ich es machen würde.
Nach meinem Verständnis von Stromkreisläufen gibt es immer einen - Pol 
von dem die Elektronen zum + Pol wandern. Der + Pol kommt in den 
Beispielen aus dem wiki jedoch nicht vorher.
Deshalb wollte ich nochmal fragen, ob es so korrekt wäre oder ich einen 
Kurzschluss o.ä. gebaut habe.

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Nee. So machst du ja erst mal eine negative Spannung aus deiner 
Eingangsspannung (Falls die galvanisch getrennt ist).
Guck dir doch einfach mal einen OpAmp in Nicht-Invertierender 
Grundschaltung an!
Hier gibts das auch:
http://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen
Und hier gibts die passende Schaltung:
http://www.mikrocontroller.net/articles/Datei:Op-verstaerker-b.png
Sonst sollte aber alles OK sein.
Valentin Buck

von avr (Gast)


Lesenswert?

Hallo Malte,

schau dir doch mal den USBAVR an:

http://wiki.ullihome.de/index.php/USBAVR-ISP/de

Dort auch die Oszilloscop-Platine.

Ähnlich benötigs du eine Platine jedoch mit OPV.

Treiber und Beispielprogramme findest du bei Ulli.

avr

von Bernd N (Gast)


Lesenswert?

Schau dir mal die Appnotes AVR 120, 121 an da wird sehr gut beschrieben 
wie man eine genaue Messung hinbekommt und die linearen Fehler 
herausrechnet.

Ich habe hierzu passend mal einen entsprechenden Code geschrieben der 
mit 600 Byte auskommt.

Laß dich nicht abhalten, genaues Messen mit den "Onboard" ADC's ist 
machbar. Meine Routine läuft synchron mit einem Fluke 87 III und liefert 
über dem gesamten Bereich ein identisches Ergebnis.

von Malte (Gast)


Lesenswert?

kennst dich hier jemand mit USBprog aus?
Ich wollte es eigentlich zur Datenübertragung nutzen.

Die Frage ist nur wie, ein richtiges Tutorial konnte ich nicht finden. 
So wie ich das verstehe, bräuchte ich einen zweiten 10 poligen Stecker 
den ich mit meinen gewünschten Pins verbinden müsste.

Stellt sich nur die Frage, wo man die her kriegt. Bei Conrad gibts viele 
Stecker.
Ich denk mir 
http://www.conrad.de/ce/de/product/736995/STIFTLEISTE-LOW-PROFILE-10-POL-GERADE/0224721 
könnte passen, aber das Bild würde zumindest von der Anzahl der Pole 
nicht passen.

von Malte (Gast)


Lesenswert?

Ich hätte noch eine Frage, was Operationsverstärker angeht.

Wenn ich da 5V anlege, wird der rauskommende Wert immer unter 5V sein.
Dementsprechend sollte dir Referenzspannung auch nicht 5V betragen, 
sondern der maximale Wert.

Wäre es sinnvoll, einen weiteren Operationsverstärker ohne Widerstände 
(Komperator Schaltung) zu benutzen um damit die Referenzspannung zu 
erzeugen?

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.