| [
|
[
|
Messung von Spannungsverläufen mit der Soundkarte.
Von Klaus-Dieter Grüninger, Landesbildungsserver Baden-Württemberg.
0.) Einführung.
Die Soundkarte ist ein preisgünstiges und einfaches Messinterface für zahlreiche Messungen in der Physik und Chemie.
Mithilfe der Spannungs-Frequenz-Wandlung kann man auch Gleichspannungen
(und alles was sind darin wandeln lässt) mit der Soundkarte messen.
Die dazu verwendete, einfache Elektronik kann man selbst herzustellen und die
nötigen Bauteile sind preisgünstig und einfach zu beschaffen.
Die Elektronik setzt die angelegte Spannung in ein dazu proportionales
Tonfrequenzsignal um, das der Soundkarte eines Computers zugeführt wird
und mithilfe eines Delphi-Programmes ausgewertet werden kann.
Dabei entspricht eine Spannung von 1 V einer Frequenz von 1 kHz. Spannungen im
Bereich von 0.01 V bis 10 V (entsprechend 10 Hz bis 1 kHz) können mit der
Schaltung erfasst werden.
Messelektronik und Auswertprogramm
werden auf dieser Seite wird vorgestellt.
1.) Spannungsverläufe statt Gleichspannungen.
![]() |
Die oben vorgestellte Möglichkeit weckt natürlich
Begehrlichkeiten! Dann könnte man z.B. auch Messungen durchführen, wie den hier gezeigten Spannungsverlauf beim Laden und Entladen eines Kondensators über einen Widerstand. |
Das gibt es doch schon längst, mag mancher einwenden, schließlich lassen sich doch Tonfolgen mit Programmen wie Goldwave, Cool Edit und ähnlichen Programmen aufzeichnen. Doch Vorsicht, ... hier geht es um ein ganz anderes Problem:
1.1.) Von Amplitudenmodulation und Frequenzmodulation.
a) Amplitudenmodulation und Zeitdauermessungen.
| a1) | Wozu sich z.B. Goldwave ganz hervorragend eignet, ist Töne
gleichbleibender Frequenz aber veränderlicher Amplitude zu
verarbeiten. |
| a2) | Auch die Dauer eines Signals, oder die Zeit zwischen zwei Signalen,
lässt sich mit Goldwave sehr gut erfassen. |
b) Frequenzmodulation.
Wird mithilfe der Spannungs-Frequenz-Wandlung eine Spannung in eine dazu
proportionale Frequenz umgesetzt, so führt eine Änderung der Spannung
zu einer Frequenzänderung, die Amplitude des Signals ändert
sich dabei praktisch nicht wesentlich.
Dies entspricht in der Rundfunktechnik einer
"Frequenzmodulation".
Ein solches Tonsignal ist, vor allem wenn sich die Spannung (und damit die Frequenz) nur langsam ändert, mit Goldwave nur extrem mühsam auszuwerten.
1.2.) Beispiele machen das Problem deutlicher: hören ist nicht gleich sehen.
Um die Problematik noch deutlicher herauszuarbeiten, hier ein paar
Aufzeichnungs- und Hörbeispiele davon, was bei der
Spannungs-Frequenz-Wandlung herauskommt, wie Goldwave es aufgezeichnet hat.
(Sie können jeweils in die Grafik klicken, und dadurch die Tondatei
abspielen, sofern ihr Computer mp3-Tondateien wiedergeben kann).
Sie können sich sicher vorstellen, wie sich das anhört!
Probieren Sie aus, ob das Ergebnis ihren Erwartungen entspricht .(in die Grafik
oben klicken)
Hat man Boxen an den Ausgang der Soundkarte angeschlossen, oder einen Laptop
mit eingebauten Lautsprechern, so kann man das Signal beim realen Experiment
auch direkt hörbar machen.
Sie können aus dem Höreindruck einer Messung den Spannungsverlauf
sicher qualitativ beschreiben. Jedoch können Sie den mit Goldwave
erhaltenen Verlauf nur mit großem Aufwand quantitativ auswerten:
In jeweils gleichen Zeitabständen müssten Sie dazu jeweils einige Perioden herausvergrößern, daraus die Periodendauer und die Frequenz ermitteln (etwa so wie in a)), die erhaltene Frequenz in Spannungswerte zurückrechnen und das Ergebnis dann von Hand in einem Spannungs-Zeit-Diagramm auftragen .... ein sehr mühsames Unternehmen!
2.) Ein Programm nimmt einem die Arbeit ab.
Genau diese Aufgabe übernimmt das Programm, das Sie weiter unten
herunterladen können.
In gleichen, vorgebbaren Zeitabständen untersucht das Programm das
Tonsignal und ermittelt daraus die aktuelle Frequenz / Spannung. Dabei wird
eine ebenfalls vorgebbare Zahl von Messungen ausgeführt und die
ermittelten Spannungswerte für beide Kanäle in eine Tabelle (rechts)
eingetragen.
Parallel dazu wird der Spannungsverlauf auch in einem Diagramm (unten)
angezeigt.

(verkleinerter Screenshot des Programms - es wurde dieselbe
Kondensatorladung / entladung wie oben aufgezeichnet.
Ein Kondensator von 4 Mikrofarad wird über einen Widerstand von 300 kOhm
geladen und entladen).
Das Programm ist einfach zu bedienen und relativ selbsterklärend.
Durchführen einer Messung.
Im Fenster oben links kann die Zahl der Messungen (max. 500) und der
zeitliche Abstand zwischen zwei Messungen (zwischen 100 ms und 100.000
ms = 100s) eingestellt werden. Die Messdauer beträgt damit
zwischen 1,0 s (10 Messungen mit 100 ms Abstand) und knapp 14 Stunden (500
Messungen mit 100 s Abstand). Damit sollte eine Vielzahl von Messungen
möglich werden.
Während der Messung informiert das Fenster daneben über die Nummer
der Messung und die aktuellen Spannungswerte.
Der Regler "Empfindlichkeit" (darüber) dient zur Anpassung an
kritische Soundkarten-Eingänge.
Skalieren des Diagramms.
Nach Abschluss der Messung kann man die Spannungsachse und die Zeitachse mit
den Ziehbalken neben dem Diagramm auch "zoomen" (was hier gemacht
wurde)
Ausschnitte sind dabei in dieser Programmversion nicht möglich. Es
wäre aber möglich so etwas zu programmieren.
Speichern, Laden und Weiterverarbeiten von Messdaten.
Natürlich können die Messdaten auch abgespeichert und wieder geladen werden (Menü "Datei"). Dabei wird jeder Datensatz (Messungsnummer, Zeit, Spannung linker Kanal, Spannung rechter Kanal) in einer Zeile als Text mit einem Semikolon als Trennzeichen ausgegeben. Damit ist der Import der Messdaten in eine Tabellenkalkulation (wie z.B. EXCEL) und eine Weiterverarbeitung leicht möglich.
Das Diagramm lässt sich auch ausdrucken. Der Ausschnitt für den Ausdruck ist derselbe, der auch im Diagramm gezeigt wird. Die Größe des Ausdrucks läßt sich mit dem "Drucker Zoom Faktor" verändern. Die voreingestellte Größe "5" ergibt etwa 1/4 DIN A 4 Blatt, Größe "12" druckt im Querformat etwa eine DIN A 4 Seite voll.
Beeinflussen der Windows-Mixer Einstellungen.
Das Programm benutzt die Freeware-Komponente TAudioMixer von Vit Kovalcik. Beim Programmstart wird der Mikrofon-Eingang zugeregelt und der Line-In Eingang aktiviert und auf maximale Intensität gesetzt. Bei Programmende werden die alten Einstellungen zurückgeschrieben. Man kann jedoch auch über das Menü "Optionen " und "Mixer Einstellungen" die Einstellungen des Windows-Mixers noch gezielt verändern.
2.1.) Die Qual der Wahl - vom Problem Momentanwerte zu erfassen.
2.1.1.) Wie erfasst man Momentanwerte möglichst genau? -
Ein kritisches Hinterfragen an einem einfachen Beispiel aus der
Kinematik.
Momentanwerte zu erfassen ist immer problematisch:
Möchte man z.B. die Momentangeschwindigkeit ermitteln, so setzt man
voraus, dass sich die Geschwindigkeit während des kurzen
Messintervalls nicht merklich ändert, dass die Geschwindigkeit also
während dieses kurzen Messintervalls quasi konstant ist. Ist sie
das nicht, so ermittelt man eine mittlere Geschwindigkeit.
Nach der Theorie erhält man den Momentanwert der Geschwindigkeit um so genauer, je kleiner man das Messintervall macht, da sich dann die Geschwindigkeit während des Messintervalls möglichst wenig ändern kann.
... und nun die Praxis:
stellen Sie sich vor, Sie haben bei einer Messung die Lichtschranken im Abstand
von 0,1 m aufgestellt
Durchfährt ein Fahrzeug die Lichtschranken mit 1 m/s , so messen Sie als
Zeitintervall 0,1 s. Wenn Ihre Uhr mit einer Zeitauflösung von 0,001s
"tickt", so entspricht dies 100 Perioden "Uhrtakt".
Fährt nun ein anderes Fahrzeug mit 10 m/s durch die Anordnung, so ist das
Zeitintervall nur 0,01s, das entspricht 10 Perioden "Uhrtakt". Dabei
können Sie prinzipiell nur mit einer Messgenauigkeit von 1 Periodendauer
rechnen, denn die Uhr könnte gerade eine neue Periode begonnen
haben, wenn das Fahrzeug die erste Lichtschranke erreicht, oder erst
kurz davor sein. Sie registrieren dann 10 oder auch nur 9
"Uhrtakte", Sie müssen also mit einem Messfehler von 10%
rechnen.
Ein Fahrzeug, das mit etwas mehr als 100 m/s durch die Anordnung fährt,
was 0,001s Aufenthaltszeit in der Messanordnung entspricht, registrieren Sie
(je nach "Phasenlage" der Uhr zum Ereignis) entweder "fast
richtig" mit 1 Periode - oder auch gar nicht.
Ein Verkleinern des Messintervalls, das nach der Theorie die Messgenauigkeit
verbessern sollte, verschärft das Problem nur:
bei einem Lichtschrankenabstand von 0,01 m messen Sie schon bei einer
Fahrzeuggeschwindigkeit von 10 m/s nur eine Periode Aufenthaltszeit zwischen
den Lichtschranken - oder auch gar keine.
Die Idee der Theorie, die Genauigkeit der Messung zu verbessern, indem man das Messintervall möglichst klein macht, klappt nur, wenn die Auflösung der Auswertung genau genug gemacht werden kann. Genau dies ist in der Praxis meist aber nicht der Fall. |
2.1.2.) .... die Parallele zur Erfassung von Spannungen mit der Spannungs-Frequenz-Wandlung.
Was hat das Beispiel aus der Kinematik mit der Messwerterfassung von Spannungen und Frequenzen zu tun, werden Sie fragen.
Mit dem beschriebenen Programm messen wir eine Momentanfrequenz, die eine Momentanspannung repräsentiert. Wir gehen dabei ebenfalls davon aus, dass sich die Spannung (und Frequenz) während des kurzen Messintervalls nicht merklich ändern. Tun sie das doch, so ermitteln wir eine mittlere Frequenz und eine mittlere Spannung. Das ist also genau dieselbe Problematik wie im Beispiel aus der Kinematik.
Wir haben oben gelernt, dass die "Genauigkeit der Uhr" bei der
Ermittlung des Momentanwerts eine entscheidende Rolle spielt, dass das
Messintervall in der Praxis nur so klein gemacht werden kann, wie auch die
Messerfassung (Uhr) noch mitmacht.
Eine große Zahl von Messungen je Sekunde (kurzes Messintervall) macht
also die Messungen nicht - wie nach der Theorie zu erwarten - genauer, sondern
geht auf Kosten der Messgenauigkeit.
2.1.3.) Die Genauigkeit der Erfassung bei der Soundkarte.
Soundkarten arbeiten meist mit einer Framerate von 44100, d.h. sie
erfassen je Sekunde 44100 Spannungswerte.
Bei der Messung werden die erfassten Spannungswerte in einen Speicherpuffer
geschrieben, dessen Größe man im Programm bei den Eigenschaften von
TAudioIn festlegen kann (BufferSize). Immer, wenn ein Puffer voll ist,
wird dies dem Programm gemeldet. Das Programm wertet das gespeicherte
Frequenzsignal aus. Es wird dabei ermittelt, wie viele Perioden das Signal im
Puffer hat. Mit Hilfe der Framerate und der Puffergröße bekommt man
daraus die Frequenz und die zugehörige Spannung.
Ein Beispiel:
Es wird eine Momentanspannung von 1,0 V gemessen, die
Momentanfrequenz ist also 1 kHz, die Periodendauer des Signals 0,001 s.
Die Puffergröße ist auf 4096 eingestellt, die Framerate betrage
44100.
Dann läuft der Puffer jeweils nach 4096 / 44100 = 0,093 s voll
und kann ausgewertet werden. In einem Puffer werden also 0,093 /
0,001 = 93 Perioden registriert. Je nach Phasenlage (s.o.)
könnten es auch 92 oder 94 sein, die Genauigkeit beträgt hier also
ca. 1%.
Ist die Spannung nur 0,1 V, so ist die Frequenz 100 Hz und die Periodendauer
des Signals 0,01 s. Man registriert dann etwa 9 Perioden im Puffer, die
Genauigkeit ist dann nur noch etwa 10%.
Hätte man die Puffergröße mit 32768 Byte gerade 8 mal so
groß gewählt, hätte es zwar 32768 / 44100 = 0,74 s
gedauert, bis der Puffer voll ist, dann hätte man aber 8 mal so viele
Perioden zur Auswertung bekommen (also 744 bzw.72) was die Auswertgenauigkeit
erhöht hätte, dafür aber weniger Messungen je Sekunde
zulässt.
Ändert sich die Spannung / Frequenz schnell, so hätten Sie zwar
relativ genau gemessen, aber nur eine mittlere Frequenz während der
0,74 s ermittelt.
2.2.) ... die Qual der Wahl.
![]() |
Im Programm haben Sie die Wahl, ob Sie möglichst vielen Messungen
je Sekunde (bei kleinerer Auflösung) den Vorzug geben, oder, ob Ihnen eine
gute Genauigkeit wichtig ist, Sie dafür nur weniger Messungen je Sekunde
in Kauf nehmen. |
Mehr als 10 Messungen je Sekunde (Messabstand 100 ms - Puffergröße 4096 Byte) ist von der Auflösung her kaum vertretbar. Bei relativ schnellen Vorgängen werden Sie also die Einstellung "schnell, weniger genau" wählen.
Voreingestellt ist die "mittlere Einstellung" mit einer Puffergröße von 8192 Byte und einer Messintervalllänge von 200 ms (5 Messungen je Sekunde). Ist die Spannung nicht zu klein, ist die Genauigkeit damit 5% oder besser.
Dauert der Messvorgang lange (z.B. Abkühlvorgänge messen) und sind die Spannungen klein, so werden Sie der letzten Einstellung den Vorzug geben.
Ich habe die Hintergründe hier auch deshalb so ausführlich
dargestellt, damit Sie das Programm ggf. auch noch - bei einer
Weiterentwicklung des Quellcodes - an Ihre Verhältnisse anpassen
können, soweit dies TAudioIn zulässt.
Mit dessen Arbeitsweise kenne ich mich nicht aus, von Anfragen in dieser
Richtung sehen Sie daher bitte ab.
3.) Download des Programms und des Quellcodes.
Folgende Dateien können hier kostenlos heruntergeladen werden.
Es gelten die nachfolgenden Lizenzbedingungen.
|
|||
|
|||
Lizenzbedingungen:
- Die Überlassung des Programms und der Quellcodes erfolgt für
Zwecke der Bildung und Ausbildung kostenlos (Freeware). Programm und
Quellcodes dürfen weitergegeben werden.
Das Programm nutzt die Delphi-Komponenten TAudioIO von John Mertus und TAudioMixer von Vit Kovalcik, die ebenfalls Freeware sind. - Das Programm wird überlassen "wie es ist", eine Haftung für mögliche Fehlfunktionen und Datenverlust wird nicht übernommen.
- Das Programm erhebt nicht den Anspruch, den programmiertechnisch elegantesten Weg zu verfolgen.
- Das Programm darf (und soll) weiterentwickelt werden. Dabei muss der Copyright-Vermerk im Quelltext und der Titelzeile erhalten bleiben, er darf ergänzt werden.
- Der Landesbildungsserver würde sich darüber freuen, eine weiterentwickelte Version allen interessierten Nutzern zu den gleichen Bedingungen anbieten zu können. Kosten für die Weiterentwicklung können aber nicht übernommen werden.
- Eine kommerzielle Nutzung des Programms in der vorliegenden oder einer
weiterentwickelten Form bedarf der Zustimmung des Autors
(Zuwiderhandlungen stellen eine Copyright-Verletzung dar und werden strafrechtlich verfolgt).
© Klaus-Dieter Grüninger, Landesbildungsserver Baden-Württemberg, 2005
| [
|
[
|



