HMsweep

Feed

 

Letzte Änderung: 22. August 2017

Mit HMsweep kann der Frequenzgang von Verstärkern und Filtern ausgemessen werden. Dazu werden mit der Soundkarte oder einem Funktionsgenerator (HM8131-2) in einem gegebenen Frequenzbereich Sinustöne ausgegeben und mit einem Digitaloszilloskop (HM1507, HM407 oder HM307 von Hameg) Eingangs- und Ausgangsspannungen der Schaltung aufgenommen. Auf gleiche Weise kann auch die Impedanz von Zweipolen bestimmt werden, wenn mit dem Oszilloskop am Bauteil Spannungsabfall und Strom gemessen werden. Neben dem Betrag der Ausgangsspannung oder der Impedanz wird auch die Phasenverschiebung des Signals ermittelt. Die Bedienung erfolgt von der Kommandozeile aus oder im interaktiven Modus. HMsweep läuft auf Linux-Systemen und steht unter der GPL zur Verfügung.

Das Programm kann hier heruntergeladen werden.

Die Software

Voraussetzungen

Gnuplot wird benötigt, um alle graphischen Ausgaben zu machen. Es wird eine 4.x Version benötigt.

Alsa Die Ansteuerung der Soundkarte erfolgt über die Alsa-Schnittstelle, die, soweit ich weiß, von allen aktuellen Linux-Distributionen standardmäßig unterstützt wird. Zum compilieren von HMsweep müssen natürlich auch die entsprechenden Header installiert sein.

Kompilieren und Installieren

Wenn der Quellcode aus dem .tar.gz-Archiv entpackt ist, kann HMsweep mit make kompiliert werden. Das ausfürhrbare Programm kann dann entweder nach ~/bin/ oder als root nach /usr/local/bin/ kopiert werden. Fertig.

Anschluß der Meßgeräte

Das Oszilloskop wird an die serielle Schnittstelle /dev/ttyS1 angeschlossen. Soll eine andere Schnittstelle benutzt werden, so kann das mit -s angegeben werden oder in hmsweep.c der Standardwert verändert werden. Der Funktionsgenerator, falls benutzt, wird ebenfalls über eine serielle Schnittstelle angeschlossen, die mit -S angegeben werden muß.

Bedienung

Hilfe für die Bedienung von der Kommandozeile bekommt man mit hmsweep -h. Wenn ständig neue Messungen gemacht werden, ist der interaktive Modus nützlich.

Der interaktive Modus wird mit hmsweep -i aufgerufen. In der Textkonsole wird eine Mehrzeilige Information ausgegeben. „message“ gibt eine Erfolgs- oder Mißerfolgsmeldung der letzten Aktion. Die folgenden Zeilen geben die Parameter für die nächste Messung an. Die Großbuchstaben in der Anzeige geben die Taste zum Auswählen der entsprechenden Funktion an. Die Messung wird mit Return gestartet. Eine laufende Messung kann mit Ctrl-C abgebrochen werden.

Es stehen drei Modi der Messung zur Auswahl:

abs Absolutwertmessung. Es wird nur Kanal 1 vom Oszilloskop benutzt, mit dem die Ausgangsspannung eines Verstärkers/Filters gemessen wird. Das Ausgangssignalpegel Pa wird in dBV angegeben; Pa in dBV = 20 log10(Ua / 1 V).

bode Frequenzgangmessung eines Verstärkers/Filters mit Amplituden- und Phasenbestimmung. Kanal 1 des Oszilloskops mißt die Ausgangsspannung, Kanal 2 die Eingangsspannung der Schaltung. Der Ausgnagspegel P wird bezogen auf das Eingangssignal angegeben: P = 20 log10(Ua / Ue). Die Phasenverschiebung der Signale wird in Grad angegeben.

imp Impedanzmessung. Kanal 1 mißt die Spannung am Bauteil, Kanal 2 mißt den Strom als Spannung über einen in Serie geschalteten Shuntwiderstand. Die Masseleitung des Oszilloskops wird zwichen Prüfling und Strommeßwiderstand angeschlossen, entweder direkt oder über die virtuelle Masse in einer OP Schaltung. Die folgende Abbildung zeigt zwei Möglichkeiten, die Strom- und Spannungsmessung an der Impedanz Z mit dem Shuntwiderstand R durchzuführen.

Strommessung.png
Zwei Möglichkeiten der Strom- und Spannungsmessung an der Impedanz Z.

In beiden Schaltungen wird über den Anschluß Ugen die von der Soundkarte generierte Sinusspannung angeschlossen, am Anschluß U (Kanal 1) wird die Spannung über dem Bauteil abgegriffen, und die Spannung -IR (Kanal 2) ist ein Maß für den Stromfluß durch das Bauteil. Die Masseleitung der verwendeten Schaltung ist mit der Oszilloskopmasse verbunden. Da die zu messende Impedanz, evtl. in Reihe mit dem Shuntwiderstand (Trafoschaltung), direkt als Last an der Soundkarte hängt, muß entweder der Lautsprecherausgang verwendet werden oder z. B. der Kopfhörerausgang einer an den Computer angeschlossenen Stereoanlage.

Die OP-Schaltung hat den Vorteil, daß sie — bei Verwendung eines geeigneten OP — sicherlich genauer ist. Dabei sollte der Wert für R etwa in der Größenordnung gewählt werden, in der auch der Wert von Z zu erwarten ist. Wenn R z. B. 100 mal so groß ist wie Z, dann Arbeitet der OP auch mit einer Verstärkung von 100. Für 22050 Hz (die größte Frequenz, die eine Standardsoundkarte erzeugen kann) muß der OP eine Verstärkungsbandbreite (Unity-Gain-Bandwidth) von über 2,2 MHz haben. Das ist mit einem TL071 kein Problem. R sollte dann aber eben nicht 1000 mal so groß wie Z sein. Außderdem muß natürlich die Spannungsversorgung des OP ausreichend groß sein.

Die einfachere Schaltung mit Transformator (NF-Übertrager) hat den unschlagbaren Vorteil, daß sie ohne weitere Stromversorgung auskommt. Und auch wenn die Signalform nach dem Trafo manchmal etwas von der Sinusform abweicht oder die Spannung am Bauteil manchmal recht klein wird, so ist die erzielte Genauigkeit in der Praxis doch eigentlich zufriedenstellend. Die Impedanzen von Kondensatoren und Spulen sehen fast perfekt aus, und auch die Resonanz eines Piezo-Signalgebers ist gut zu erkennen. Auch bei dieser Schaltung gilt natürlich, daß R etwa in der Größenordnung von (nicht mehr als Faktor 100 neben) Z liegen sollte. Ich habe mir diese Schaltung in ein kleines Alugehäuse gebaut, wobei der Wert des Widerstandes R über eine Schalter im Bereich von 10 Ω bis 1 MΩ gewählt werden kann. Die folgende Abbildung zeigt ein Photo.

Impedanztrafo.jpg
Impedanzmeßschaltung mit Trafo im Alugehäuse.

Die Ausgabeformate

Die Ausgaben als PS oder EPS verhalten sich genau so, wie man es wahrscheinlich erwartet. Die X11-Ausgabe funktioniert natürlich nur in einer X11-Umgebung und zeigt die eingelesenen Daten direkt an. Das Ausgabeformat „d“ ist nützlich, wenn die Daten in einem anderen Programm weiterverarbeitet werden sollen. Die Ausgabe erfolgt als ASCII-Datei. Sollen die Daten mit gnuplot weiterverarbeitet werden, weil z. B. die Standardformatierung von HMsweep nicht angemessen ist, so ist die Ausgabe als Gnuplot-Datei („g“) sinnvoll. Sie enthält sowohl die Gnuplot-Kommandos zur Erzeugeung einer EPS-Datei als auch die dazu notwendigen Daten und kann dierekt an Gnuplot übergeben werden.

Kompatibilität

Da ich selbst natürlich nur ein Digitaloszilloskop besitze, bin ich beim Test der Software auf anderen Geräten auf die Rückmeldung von (hofffentlich) zufriedenen Benutzern angewiesen. Über Rückmeldungen unter formica bei opppf Punkt de würde ich mich freuen. Es interessiert mich neben der Typenbezeichnugn auch die Firmwareversion, die man mit hmsweep -v /dev/ttyS1 erhält.

Typ getestet
HM 305-x
HM 407-x
HM 1507 FC1.01 DG1.03
HM 1507-x

Weitere Quellen