Praktikum Virtuelle Instrumentierung Hochschule Merseburg (FH) FB INW Stand: 04.05.2010 Praktikum Virtuelle Instrumentierung 7L: Komplexe Übertragungsfunktion eines RC-Gliedes mittels Digitalspeicher-Oszilloskop NI LabVIEW - Instrumenten-I/O (SCPI) Agilent Digital Scope MSO6054A (oder Agilent Digital Scope 54615B) Agilent Function Generator 33120A National Instruments LabVIEW 1. Aufgaben Sie sollen mittels NI LabVIEW 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 NI LabVIEW zur Übertragung des Kurvenverlaufs (Waveform) mittels Direct I/O über den IEEE488Bus 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. Praktikum Virtuelle Instrumentierung Stand: 04.05.2010 2. Hinweise zu den Aufgaben !!! Achtung !!! Die Abbildungen in diesem Dokument zeigen aktuell noch Screenshots der Instrumentierungsumgebung Agilent VEE. Allerdings sind die SCPI-Befehle bei der Verwendung unter NI LabVIEW identisch. !!! Achtung !!! Zu diesem Messplatz gehören folgende Komponenten: 1. PC mit aktuellen NI LabVIEW 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 NI LabVIEW 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. Praktikum Virtuelle Instrumentierung Stand: 04.05.2010 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. Praktikum Virtuelle Instrumentierung Stand: 04.05.2010 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. Praktikum Virtuelle Instrumentierung Stand: 04.05.2010 Praktikum Virtuelle Instrumentierung Stand: 04.05.2010 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.