Forum: PC-Programmierung Messgerät als PC-Hardware


von Vaio (Gast)


Lesenswert?

Hi community,
ich würde gerne Spannungen (und darüber dann auch andere Größen) via 
Hardware messen, damit ich die Werte im PC direkt verarbeiten kann. Ich 
versuche mir also eine Schaltung zusammenzulöten, mit der ich den Wert 
der anliegenden Spannung digitalisiere und anschließend per USB an den 
PC "schicke". Ich kann ein einigermaßen C++ und halt das 
Elektrizitätslehrezeug aus der Schule. Ich hab aba keine Ahnung wie ich 
von der Spannung an den Eingangskontakten zu einem digitalen Wert der an 
den PC geliefert wird komme.
Wie läuft das so grob ab? Vertiefend gibts zu den einzelnen Bereichen 
bestimmt Tutorials, oä.

Gruß Vaio

von Serieller (Gast)


Lesenswert?

An welche Spannungen denkst du da so?

Im einfachsten und sichersten Fall nimmst du ein Multimeter mit 
serieller Schnittstelle. Das ist eine einmalige Investition ab 60€. 
Zeitbedarf ca. 1 Woche (Aussuchen, Bestellen, Warten).

Im DIY Fall arbeitest du dich in das Thema µC mit ADC und UART 
Datenübertragung ein, entwirfst eine Eingangsschutz- und Anpassschaltung 
für den µC, programmierst den µC. Kosten in etwa wie oben. Zeitbedarf 
ca. 1-2 Monate.

von Vaio (Gast)


Lesenswert?

Das ist doch schon mal was ;).
Ich hätt' allerdings noch zwei Fragen:
Wie sieht das denn mit der Messgenauigkeit aus (die wird doch bei dem 
selbstgebauten "Messgerät" von dem verwendeten µC abhängen) bei gleich 
teuren Lösungen?
2. Ich gehe mal davon aus, dass bei einem Multmessg. mit Schnittstelle, 
sowie so eine Software dabei ist die man mind. Diagramme zeichnen lassen 
kann. Kann ich die Messwerte aba auch in einem eigenen Programm 
verwenden?
Beispielsweise um Geschwindigkeitsmesser zu bauen, da kann ich mit einem 
Spannung-Zeit Diagramm weniger anfangen (bzw. der PC), als wenn ich die 
Spannungswerte direkt als Auslöser für irgendwas anderes benutzen kann 
(indem Fall um ne Uhr zu startet, bzw. stoppen).

Gruß Vaio

von Kai S. (zigzeg)


Lesenswert?

Vaio schrieb:

> 2. Ich gehe mal davon aus, dass bei einem Multmessg. mit Schnittstelle,
> sowie so eine Software dabei ist die man mind. Diagramme zeichnen lassen
> kann. Kann ich die Messwerte aba auch in einem eigenen Programm
> verwenden?

Also bei meinem Multimeter war keine Software dabei. Dafuer eine 
Anleitung wie man die Messwerte in einem eigenen BASIC-Programm einlesen 
kann. Ist aber schon in paar Jahre her ...

ZigZeg

von JojoS (Gast)


Lesenswert?

Messgerät Lösung: gucke mal in die Anleitungen der Geräte, gibts bei 
Reichelt oder Conrad meistens zum Download. Die Ansteuerung ist 
üblicherweise sehr einfach, Befehl per ASCII Kommando hinschicken und 
auf Antwort mit Messwert warten. Multimeter messen genau, aber langsam, 
vielleicht so 1 Messwert/s.
µC Lösung: siehe 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC
ungenauer weil anderer AD-Wandler, aber dafür viel schneller.

von Serieller (Gast)


Lesenswert?

Genauigkeit

Bei dem gekauften Messgerät hast du die Spezifikation des Herstellers 
und musst dich nur noch um Kalibrierung und den richtigen Anschluss 
kümmern.

Bei dem selbstgebauten Messgerät liegt es an dir Spezifikationen zu 
ermitteln. Das betrifft die Auswahl der Bauteile inkl. des µC und die 
Programmierung. Der Rest ist wie oben.

Bei beiden Lösungen ist die Auflösung und Genauigkeit wohl 
propotional zu Kosten und Aufwand. Es lohnt sich daher, wenn du die 
geforderte Auflösung und Genauigkeit vorab angeben kannst.

Software

Es gibt solche und solche. Da das für dich kaufentscheidend ist, musst 
du beim Vergleich der Angebote besonders darauf achten. Du kannst ja mal 
in die Runde fragen, ob dein ausgekucktes Modell dieses Feature (oder 
anderen Userfeedback) hat.

von Imon (Gast)


Lesenswert?

Vor eine Paar Jahren war es eine Zeit lang Hipp sich mit einen Blackfin 
Bf537 und µCLinux ein Netz Oszilloskop zu bauen. Ich meine es gab dazu 
einen Java Client, also wenn du was selber basteln willst dann würde ich 
mal in die Richtung Forschung betreiben, da dort viel drüber geschrieben 
wurde und viel Open Source Software entstand musst du so wenigsten nicht 
von Null anfangen.
Glaube da gab es auch mal einen Elektor Artikel drüber.

von asdfghjkl (Gast)


Lesenswert?

Cool, was da so alles daher kommt.
Der TE schriebt was von "Newbe" und "keine Erfahrung" und dann wird hier 
Blackfin und µLinux als vorschlag gebracht, ...

von Thomas E. (thomase)


Lesenswert?

asdfghjkl schrieb:
> Der TE schriebt was von "Newbe" und "keine Erfahrung" und dann wird hier
>
> Blackfin und µLinux als vorschlag gebracht, ...

Na klar. Wenn schon auf die Schnauze fallen, dann auch richtig.

mfg.

von Vaio (Gast)


Lesenswert?

Nur damit keine Missverständnisse oder ähnliches auftreten ;):
Ich kann (hoffentlich nicht für zu lange Zeit) nicht mehr an meinen PC 
(der muss neue aufgesetzt werden wegen sonem Virus oder so). Konnte nur 
kurz an den PC und wollte erklären warum keine Antwort kam/kommt ;)

Gruß Vaio

von Vaio (Gast)


Lesenswert?

Wie es aussieht ist ein Musltimeter wohl besser zum "Werte ermitteln" 
geeignet.
Zudem interessiert mich aber eine Oszillsokop ähnliche Funktion (könnte 
mir ja gleich en Oszi kaufen, die sind blos en bisschen zu teuer ;) ). 
Um Prozesse über Zeit darzustellen, dh eher eine höhere Abtastrate.
Leider versteh ich da aber noch einiges im Bereich ADC nicht:

Hier mal mein aktueller "Wissensstand" und Fragen:

Fehlerquellen:

Da gibts wohl zwei "Unterkategorien", "analog"(nach Ursache eingeteilt) 
und "digital" bedingte FQs:

-analog:
Jitter (hängt vom µC ab)
Quantisierungsfehler (hängt von der Auflösung und somit vom verwendeten 
µC und Verfahren ab)
-digital:
Offset (kann man durch Kalibrierung via Programmierung ausgleichen, 
hängt also von der Genauigkeit des zur Kalibrierung verwendeten 
Messgerätes ab)
Verstärkungsfehler (ebenfalls)

Den Nichtlinearitätsfehler hab ich nicht gehackt.

Da stellt sich jetzt die Frage wie man aus einem Datenblatt eines A/D 
Wandlers die vorraussichtliche Genauigkeit pro Bereichsbreite 
vorhersagen kann.

Auflösung:
Ist halt Messbereich durch Anzahl der darstellbaren Zahlen ((2^Bits)+1).

Abtastfrequenz:

Wo bewegt die sich eigentliche typicherweise, bzw. was kann man da 
erreichen?

Messverfahren:

Die größte messbare Spannung ist ja gleich VREF. Wenn ich das Tut jetzt 
richtig verstanden hab ist die entweder 2,56V oder 5V. Wenn ich jetzt 
andere Spannungen messen will, zb um die 100V oder 1nV. Wie misst man 
die jetzt. Verändert man VREF entsprechend oder baut man eine Schaltung 
die den Messbereich wieder auf 5V ändert und rechnet anschließend um??
Wenn ich das weis kann ich schon mal was über die gewünschte Genauigkeit 
sagen ;).

Programmierung:
Da hab ich nix mehr gepeilt :D . Was war das überhaupt für ne 
Progsprache?
Außerdem ist mir noch was aufgefallen: Kann es sein dass da schon mit 
den Spannungswerten gerechnet wurde? Wenn ich ein Notebook mit 1,8GHz 
und vier Kernen benutze, ist es da nicht sinnvoll jegliche Rechnungen 
über die CPU und nicht über den µC laufen zulassen?

Gruß Vaio

von Vaio (Gast)


Lesenswert?

Kann mir denn jemand nur mal das Messverfahren erklären, wenn man zum 
Beispiel Spannungen von 100V messen will?

Gruß Vaio

von Thomas (Gast)


Lesenswert?

Wechsel oder Gleichspannung?

von Vaio (Gast)


Lesenswert?

Beides bitte ;).

Gruß Vaio

von Vaio (Gast)


Lesenswert?

Und ? Wie misst man denn nun die Spannungen?

von Markus N. (rebel4life)


Lesenswert?

Ist das dein Ernst?

Spannungsteiler reicht für DC, AC ist komplizierter (wenn schon, dann 
schon richtig und True RMS :D ).

Schau dir am besten mal V-USB an. Da gibt es bereits eine kleine Oszi 
Schaltung, das geht über nen Attiny45, wenn es aber an Grundlagen wie 
dem Spannungsteiler scheitert, naja, probiers einfach, die µC sind ja 
nicht teuer.

MFG Johannes

von Vaio (Gast)


Lesenswert?

Das hab ich ja im Prinzip gemeint.
Ich wollte keine genauen Messverfahren wissen, nur ob man zum 
Spannungsmessen extra Schaltungen (wie zum Beispiel mit dem Widerstand) 
braucht oder ob man die Referenzspannung abändert. Wenn ich das jetzt 
richtig verstanden hab läuft das über externe Schaltungen.

Noch ne Frage: Wenn ich mit dem "Ding" nacher einen zeitlichen Verlauf 
der Spannung am PC darstellen möchte, ist der Effektivwert doch ziemlich 
unwichtig. Außer ich würde den anschließend noch brauchen?

Gruß Vaio

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Ich glaube, du willst nicht wirklich eine Kommunikation zwischen 
Computer und µC, sondern eher einen Mikrocontroller programmieren!

Arbeite dich durch das AVR-Tutorial.
Als Hardware reicht für den Anfang das Pollin-Board.
Dann kommst du irgendwann zu dem Punkt, an dem du dann auch deine 
jetzige Frage klären kannst.

Helfen würde auch, was das ganze mal werden soll.
Bei Spannungen über 100V riecht das ganze schon etwas nach Netzspannung.

Mit freundlichen Grüßen,
Valentin Buck

von Vaio (Gast)


Lesenswert?

Valentin Buck schrieb:
> Ich glaube, du willst nicht wirklich eine Kommunikation zwischen
> Computer und µC, sondern eher einen Mikrocontroller programmieren!

Das weiß ich auch nicht so genau. Mein Plan so vor, dass ich mich erst 
um die Hardware kümmere, wie ich also einfach das "rohe" Signal mit dem 
Spannungswert über USB zum PC schicke und danach um die Software, sprich 
wie ich diese Werte als Variablen in mein Programm bekomme. Am liebsten 
wäre mir natürlich gar nix "auserhalb des PCs programmieren" zu müssen, 
sodass ich an das Gerät einfach ne Spannung anlegen kann und mich dann 
auf dem PC um den Wert kümmere. Kenn mich natürlich nicht aus, also 
ADWandler, µC, oder was anderes??

Gruß Vaio

von Markus N. (rebel4life)


Lesenswert?

Das wird vermutlich daran scheitern, dass du bis auf den Mikrofoneingang 
keinen analogen Eingang am PC haben wirst.

Man kann zwar z.B. mitm TL549 bauen, das geht auch recht einfach, aber 
8Bit sind auch nicht gerade der Hit.

MFG Johannes

von Vaio (Gast)


Lesenswert?

Könntet ihr mir denn mal ne Grundschaltung zeigen. Also welche Teile ich 
denn nun brauche, bzw. welche von denen ich programmieren muss. 
AD-Wandler + µC +...???
Gruß Vaio

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.