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
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.
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
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
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.
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.
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.
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, ...
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.
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
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
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
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
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
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
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
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