Hochschule Merseburg (FH) FB INW Praktikum Virtuelle Instrumentierung 7V: Komplexe Übertragungsfunktion eines RC-Gliedes mittels Digitalspeicher-Oszilloskop Agilent VEE - Direct I/O (SCPI) Agilent Digital Scope MSO6054A (oder Agilent Digital Scope 54615B) Agilent Function Generator 33120A Agilent VEE 1. Aufgaben Sie sollen mittels Agilent VEE ein virtuelles Instrument zur Aufnahme einer komplexen Übertragungsfunktion (Betrag und Phase) entwickeln. 1. Aufbau der Schaltung und Anschluss der Geräte Bauen Sie die Schaltung auf und schließen Sie die Geräte an. Anschließend stellen Sie am Digitalspeicher Oszilloskop sowohl Eingangs- als auch Ausgangssignal der Schaltung dar. Schreiben Sie ein einfaches Programm in VEE zur Übertragung des Kurvenverlaufs (Waveform) mittels Direct I/O über den IEEE488-Bus in Ihre Applikation. 2. Komplexe Übertragungsfunktion eines RC-Gliedes Programmieren Sie die Aufnahme und grafische Darstellung der komplexen Übertragungsfunktion (Betrag und Phase) eines RC-Gliedes (Hochpass bzw. Tiefpass) mittels Steuerung der Geräte (Scope und Funktionsgenerator) über den IEEE488-Bus. 3. Bedieneroberfläche (user interface) Entwickeln Sie eine Bediener-Oberfläche, die nur die wesentlichen Elemente zur Eingabe und zur grafischen Ausgabe enthält.
2. Hinweise zu den Aufgaben Zu diesem Messplatz gehören folgende Komponenten: 1. PC mit aktuellen Agilent VEE und Agilent IO Libraries Suite 2. GPIB Schnittstelle (PCI oder USB; z.b. Agilent USB GPIB Konverter 82357A) 3. Digital Scope Agilent MSO6054A bzw. Agilent 54615B 4. Funktionsgenerator HP 33120A Aufgabe 1: Informieren Sie sich in der Befehlsreferenz zum Oszilloskop über nützliche SCPI-Befehle zum Auslösen einer Messung (Trigger), zum Auslesen einer Waveform und zur Ermittlung der Amplituden bzw. Phasenbeziehung der Signale. Programmieren Sie mittels Direct I/O in einzelnen Testapplikationen: Auslösen einer Messung (Triggerung der Datenaufnahme) Auslesen einer kompletten Waveform aus dem Speicher des Scopes in Ihr Programm Ermittlung von Spannungen und Phasenbeziehung zwischen den Signalen auf Kanal 1 & 2 des Scopes Das Oszilloskop sollte vor der Messung in den Ausgangszustand überführt werden. Anschließend wird sinnvoller Weise die Skalierung der einzelnen Kanäle sowie die Zeitbasis des Scopes an die realen Signale angepasst. Die folgende Abbildung zeigt die notwendigen Befehle. Zum Auslesen einer Waveform aus dem Speicher des Scopes ist die Angabe des entsprechenden Kanals (z.b. CHAN1 ) notwendig. Anschließend muss die Form der Daten festgelegt werden. Die Daten werden üblicherweise als binärer Block übertragen und müssen seitens VEE als 1D-Byte-Array interpretiert werden. Nachdem die Waveform übertragen wurde, steht sie als 1D-Array (in der Regel bestehend aus 1000 Werten) mit der Auflösung 1Byte (8Bit = 256 mögliche Werte) zur Verfügung.
Natürlich entspricht diese Form nicht den realen Spannungen des Messsignals. Damit das eigentliche Signal in der Software wieder mit den richtigen Werten für x (Zeit) und y (Spannung) dargestellt werden kann, müssen zusätzliche Informationen (XORigin, XREFerence, XINCrement, YORigin, YREFerence, YINCrement) vom Scope abgerufen werden. Anschließend erfolgt die Umrechnung des kompletten Byte-Arrays mit Hilfe einer Formel. Die Zeitachse muss ebenfalls umgerechnet werden. Im Anschluss ergibt sich ein Bild, welches der Anzeige auf dem Scope identisch ist.
Verändern Sie nun selbständig die Skalierungen für die Zeitbasis (x) und für die Verstärkung der einzelnen Kanäle. Diese Befehle ersetzen den Befehl :AUT. Weiterhin fordern Sie das Scope auf, auf den nachfolgenden Trigger die Kanäle 1 & 2 zu digitalisieren. Achtung: Das Scope Agilent 54615B kennt die Befehle :TIM:SCAL xxx und CHANx:SCAL xxx nicht. Suchen Sie aus der Referenz entsprechende Befehle heraus, die zur Anpassung der x,y-skalierung am Scope benutzt werden können. Lösen Sie nun eine Triggerung am Scope mittels *TRG aus und beobachten Sie die veränderte Anzeige im Bedienfeld des Scopes. Die nunmehr verbleibende Aufgabe ist das Messen der Spannungen der Signale an den Kanälen 1 & 2 und deren Phasenverschiebung. Variieren Sie gezielt die Größe des Widerstandes in Ihrem RC-Glied und wiederholen Sie die Tests, um die sich ändernde Phasenverschiebung der Signale zu beobachten.
Aufgabe 2: Programmieren Sie mittels Direct I/O die Aufnahme und grafische Darstellung der komplexen Übertragungsfunktion eines RC-Gliedes (Hochpass oder Tiefpass) mittels Steuerung und Datenaufnahme über den IEEE488-Bus. Dabei muss neben dem Digital Scope nun auch noch der Funktionsgenerator programmiert werden. Vorgegeben ist eine Messplatine mit Kapazität, Induktivität und Widerstand. Setzen Sie die Steckbrücken so, dass ein RC-Glied entsteht. Die Schaltung hat einen integrierten 50Ohm Abschlusswiderstand am Eingang. Als Messergebnis soll der Betrag und die Phase der Übertragungsfunktion eines RC-Gliedes als Funktion der Frequenz dargestellt werden (als Bode-Diagramm, d.h., der Betrag der Übertragungsfunktion muss entweder logarithmiert werden oder in einer logarithmischen Skala aufgetragen werden); also müssen Sie den Messwert normieren und gegebenenfalls geeignet umrechnen. Achtung: Passen Sie während des Durchfahrens der Frequenz am Funktionsgenerator die Anzeige am Scope derart an, dass immer mindestens 2 komplette Perioden des Signals sichtbar sind (Befehl: :TIM:RANG, 4/freq). Anstelle eines expliziten Triggers können Sie auch einfach die beiden Kanäle digitalisieren ( :DIG CHAN1, CHAN2 ). Eine Signalmittelung seitens des Scopes verbessert die Ergebnisse ( :ACQ:TYPE AVER ). Auswertung: Messen Sie bei der Aufgaben 1. die Werte der verwendeten Bauelemente und berechnen Sie daraus die für die betreffende Schaltung charakteristischen Werte (RC-Glied: f g,τ ); vergleichen Sie diese mit Ihren Messwerten. Dokumentieren Sie Ihr Programm (einschließlich Kurzbeschreibung) und die Messergebnisse.