Red Pitaya: Oscilloscope Pro & Signalgenerator

Die für mich mit Abstand wichtigste Funktion am Red Pitaya ist das Oszilloskop. Dies ist in zwei Varianten vorhanden – das „normale“ Oscilloscope und Oscilloscope Pro. Wie man sich das Pro holt, hatte ich hier schonmal beschrieben. In diesem Beitrag wollen wir einen Blick darauf werfen.

Red Pitaya: Oscilloscope Pro

Inhalt

Grundlagen Oszilloskop

Um vernünftig mit einem Oszilloskop arbeiten zu können, rufen wir uns nochmal ein paar wichtige Begriffe in Erinnerung:

Oszilloskop: Messgerät zur Darstellung der zeitlichen Verläufe von Gleich- und Wechselspannungen in einem Graph.
Trigger: Definiert ein Ereignis, ab dem der Graph gezeichnet wird. In der Regel wird ein Spannungswert und die Flanke (steigend oder fallend) festgelegt. Erreicht das Messsignal die Eingestellten Werte, wird das Signal aufgezeichnet.
div: Eine Teileinheit auf der X- oder Y-Achse (ein Kästchen). Typisch werden Werte in mV/div (Signalablenkung) auf der Y-Achse und ms/div (Zeitablenkung) auf der X-Achse angegeben.
Bandbreite: Obere Grenzfrequenz (Höchste Frequenz, die gemessen werden kann).
Abtastrate: Anzahl der pro Sekunde erfolgten Abtastungen (Momentwerte = Samples)
Zur Messung periodischer Signale gilt: Die Abtastfrequenz muss mindestens doppelt so groß wie die Frequenz des gemessenen Signals sein.

Oscilloscope Pro

Die Grundelemente der Oberfläche erinnern an ein normales Oszilloskop mit ein paar Zusätzen. Im Gegensatz zur einfachen Oscilloscope-App des Red Pitaya sind die Elemente hier logischer angeordnet und bieten ein vertrautes Bedienkonzept.

Oscilloscope Pro: Oberfläche

Oscilloscope Pro: Oberfläche

Neben dem eigentlichen Graph gibt es 5 wesentliche Bereiche/Elemente, in die die Oberfläche unterteilt ist:

  1. Auto Scale: Richtet den Graph automatisch ein. Durch die Betätigung dieses Knopfes werden Spannungsachse und Zeitachse so eingestellt, dass mindestens eine ganze Periode des Signals bildschirmfüllend dargestellt wird.
  2. Kanäle/Trigger/Messwerkzeuge: Dieses Menü bietet Einstellmöglichkeiten für Ein-/Ausgänge, Trigger, Hilfslinien und Messwerte.
  3. Achsenbedienfeld: Über horizontale +/--Tasten wird die Skalierung der X-Achse verändert und der Zeitbereich gewählt, der im Graph angezeigt wird. Die vertikalen +/--Tasten verändern die Y-Achse und damit den angezeigten Spannungsbereich des Signals. Daneben werden die Einstellwerte für den Zeitbereich, Trigger, Nullpunkt der X-Achse und Abtastrate angezeigt.
  4. Kanaleinstellungsanzeige: Zeigt die Skalierung der Y-Achse für alle eingeschalteten Kanäle an.
  5. Online-Status: Zeigt an, ob es sich bei der Darstellung um Online-Werte handelt und wie hoch der derzeitige Datendurchsatz ist.

Hardwareeinstellungen

IN1 und IN2 sind die schnellen Eingänge am Red Pitaya und dienen der Messung hochfrequenter Signale. Beide Kanäle lassen sich getrennt voneinander einstellen und Oscilloscope Pro bietet hier einige Optionen. Zuerst jedoch ein Blick auf die Hardware:

Red Pitaya: Schnelle Ein-/Ausgänge

Jedem Eingang am Red Pitaya sind zwei Jumper zugeordnet. Mit diesen Jumpern wird die zu erwartende Eingangsspannung am jeweiligen Kanal vorgewählt. Die Jumper müssen je Eingang immer paarweise gesteckt werden!

LV: ±1V (Low Voltage / Signalpegel liegt im Bereich -1…+1V)
HV: ±20V (High Voltage / Signalpegel liegt im Bereich -20…+20V)

Gemeint ist damit die Spannung, die tatsächlich am Eingang des Red Pitaya ankommt und entspricht somit nicht zwangsläufig der des ursprünglichen Messsignals. An „normalen“ Tastköpfen kann man in der Regel die Teilung zwischen 1:1 und 1:10 umschalten, so zum Beispiel bei meinen TESTEC MF 312-2 Tastköpfen. Bei einer Teilung von 1:1 könnte man die oben angegebenen Werte messen. Schaltet man die Teilung auf 1:10 um, sind hingegen im LV-Bereich bis zu 10V, und im HV-Bereich bis zu 200V möglich. Der PEAKTECH TK-2502 Tastkopf besitzt eine feste Teilung von 1:100. Hiermit könnte man dann bis zu 2000V messen. Allerdings bewegt man sich dann schon in einem Bereich, für den handelsübliche isolierte Schraubendreher nicht zugelassen sind. Außerdem ist der Tastkopf nur bis 1500V ausgelegt. 😉

Eingänge

Oscilloscope Pro: Kanalwahl und Achsenbedienfeld

Zurück zu Oscilloscope Pro. Auf der rechten Seite sind die Kanäle untereinander aufgeführt. Per einfachem Klick auf die Bezeichnung eines Kanals (nicht das Zahnrad) wird dieser hervorgehoben. Der markierte Kanal, bzw. seine Darstellung im Graph, kann nun mit den vertikalen +/--Tasten (hoch/runter) gesteuert werden. Mit der +-Taste wird die Teilung der Y-Achse (V/div) verkleinert, man zoomt also in das Signal hinein, die Darstellung im Graph wird größer. Mit der --Taste erreicht man genau das Gegenteil. Die fine-Taste schaltet auf eine kleinere Abstufung um.

Die horizontalen +/--Tasten (links/rechts) verändern die Zeitbasis auf der X-Achse. Die ist unabhängig vom Eingang. Wird die X-Achse verändert, werden alle angezeigten Kurven entweder gestreckt oder gestaucht.

Oscilloscope Pro: Einstellungen für Eingänge

Über das Zahnrad gelangt man in die Einstellungen des jeweiligen Kanals. Auch hier gilt wieder: grau hinterlegt bedeutet aktiv. Die Einstellungen und was sie bedeuten:

SHOW Blendet die zum Kanal gehörende Kurve ein oder aus.
INVERT Spiegelt die Kurvendarstellung an der X-Achse.
Probe attenuation Eingestellte Teilung am Tastkopf (muss manuell gewählt werden).
Vertical offset Verschiebt die Kurve nach oben oder unten.
LV und HV Muss entsprechend der Jumperstellung am jeweiligen Kanal gewählt werden.

Die Einstellungen Probe attenuationLV und HV haben keine direkte Auswirkung auf das Signal. Sie skalieren Kurven und Y-Achse und dienen lediglich der korrekten Anzeige. Soll heißen: misst man zum Beispiel 180V, wird man am Tastkopf die Teilung 1:10 wählen und den Eingangsjumper auf HV stellen. Führt man diese Werte auch in den Einstellungen nach, so zeigt Oscilloscope Pro dann die 180V des gemessenen Signals an, statt die 0,9V, die tatsächlich an der internen Elektronik ankommen. Vertical offset lässt sich auch ganz einfach durch Klicken und Ziehen des kleinen Kanal-Markers am linken Rand des Graphen verändern.

Trigger

Oscilloscope Pro: Trigger-Einstellungen

Der Trigger bietet verschiedene Möglichkeiten, ein stehendes Bild zu erzeugen. In den Einstellungen wird hier das entsprechende Ereignis definiert. Der Parameter Source definiert die dafür verwendete Quelle. Mit IN1 oder IN2 wird das am jeweiligen Eingang anliegende Signal gewählt, mit EXT kann man die Triggerung von außen über Pin 3 an der Pfostenleiste E1 auslösen.

Edge definiert die Flanke, also ob die Kurve bei Überschreiten eines Wertes (positive Flanke/Pfeil nach oben) oder bei Unterschreiten eines Wertes gezeichnet werden soll. Level gibt die Höhe des Wertes an. Bezogen auf die Abbildung würde das bedeuten, dass die Kurve gezeichnet wird, wenn die Spannung auf einen Wert von über 0,5V steigt. Auch dieser Wert kann auch durch einfaches Klicken und Ziehen auf das T im Graph verändert werden.

Die Art und Weise, wie getriggert wird, wird durch Mode festgelegt. Mit der Einstellung NORMAL wird kontinuierlich die Kurve neugezeichnet, sodass man stets aktuelle Werte bekommt. Dies eignet sich für periodische Signale. SINGLE zeichnet die Kurve ein einziges Mal und ist damit besonders gut geeignet, um Ausreißer zu ermitteln. Mit AUTO versucht Oscilloscope Pro, die Periode selbst zu erkennen und zeichnet die Kurve entsprechend.

Bei der jeder Triggerart hat man die Möglichkeit, über einen Klick auf STOP das Triggern zu pausieren. Ein Klick auf RUN setzt die Triggerung fort.

Messwerte

Neben den Kurven kann der Red Pitaya auch die gemessenen Werte anzeigen. Die sind im Menü unter MEAS zu finden. Hier können in Summe bis zu 4 Messwerte ausgewählt werden, die dann entsprechende Werte liefern.

Oscilloscope Pro: Messwerte anzeigen

Oscilloscope Pro: Messwerte anzeigen

Im Feld Operator wird der gewünschte Messwert ausgewählt und mit Signal festgelegt, von welchem Kanal der Wert genommen werden soll.Ein Klick auf DONE zeigt den Wert dann unten neben den Kanaleinstellungen an. Folgende Auswahl ist möglich:

P2P Differenz zwischen niedrigstem und höchsten gemessenen Spannungswert.
MEAN Errechneter Mittelwert des Signals.
MAX Höchster gemessener Spannungswert.
MIN Niedrigster gemessener Spannungswert.
RMS Errechneter Effektivwert (quadratischer Mittelwert) des Signals.
DUTY CYCLE Tastgrad des Signals (Verhältnis zwischen Impulsdauer und Periodendauer).
PERIOD Zeigt die Periodendauer, also die zeitliche Länge einer Schwingung an.
FREQ Die Frequenz des Signals.

Hilfslinien

Neben der Messwertanzeige, die vordefinierte Werte ausgibt, besteht dann noch die Möglichkeit, beliebige Werte grafisch zu ermitteln. Dazu lassen sich über das Menü CURSOR Hilfslinien einblenden.

Oscilloscope Pro: Hilfslinien zum freien Messen im Graph

Oscilloscope Pro: Hilfslinien zum freien Messen im Graph

Je Achse können zwei Linien eingeblendet und beliebig im Graph verschoben werden. Sie besitzen jeweils eine Anzeige für den absoluten Wert und die Differenz zwischen dem jeweiligen Linienpaar. Über Source wird die Zugehörigkeit beider Linien auf der Y-Achse zu einem Eingang festgelegt.

Ausgänge (Signalgenerator)

Ein echtes Highlight an Red Pitaya’s Oscilloscope Pro ist für mich der Signalgenerator. Mit ihm lassen sich verschiedene Arten periodischer Signale mit einer maximalen Amplitude von ±1V (2V P2P) erzeugen und an OUT1 und OUT2 ausgeben. Die maximale Frequenz, die da ausgegeben werden kann, ist maßgeblich abhängig von der Signalform und dem Anspruch an die Sauberkeit dieser Form.

Oscilloscope Pro: Signalgenerator

Oscilloscope Pro: Signalgenerator

Mit folgenden Einstellungen kann das Ausgangssignal konfiguriert werden:

ON Schaltet den Ausgang ein oder aus.
SHOW Schaltet die Anzeige des Ausgangssignals im Graph ein oder aus.
Type Signalform, die ausgegeben werden soll.
Trigger Ereignis, bei dem Ausgabe gestartet werden soll.
Frequency Frequenz des Ausgangssignals.
Amplitude Amplitude des Ausgangssignals.
Offset Verschiebt die Kurve nach oben oder unten.
Phase Phasenverschiebung des ausgegebenen Signals.
Duty cycle Tastgrad des Signals (nur für PWM-Signale).

Es stehen verschiedene Signalformen zur Ausgabe zur Verfügung: SINE (Sinus), SQUARE (Rechteck), TRIANGLE (Dreieck), SAWU (steigender Sägezahn), SAWD (fallender Sägezahn), DC (Gleichspannung) und PWM (Pulsweitenmodulation). Bei sehr hohen Frequenzen werden die Signalformen jedoch teils bis zur Unkenntlichkeit verzerrt. Auch die angezeigten Messwerte stimmen nicht.

Oscilloscope Pro: Signalgenerator - SINE @8MHz Oscilloscope Pro: Signalgenerator - TRIANGLE @8MHz Oscilloscope Pro: Signalgenerator - SAWU @8MHz Oscilloscope Pro: Signalgenerator - SAWU @800kHz
Sinus / 8MHz Dreieck / 8MHz Sägezahn / 8MHz Sägezahn / 800KHz

Während ein Sinussignal bei 8MHz ziemlich brauchbar aussieht, kann man das Dreiecksignal vielleicht gerade noch erraten, wobei ein Rechtecksignal diesem hier ziemlich ähnlich ist. Auch Sägezahn ist komplett unbrauchbar und selbst bei 800kHz eher etwas für anspruchslose Anforderungen.

Dafür gibt es auch einen Grund: Für die obige Darstellung habe ich OUT1 und IN2 direkt miteinander verbunden. Da IN1 und IN2 Eingänge zur Spannungsmessung sind, sind diese naturgemäß hochohmig. Die Ausgänge OUT1 und OUT2 sind jedoch für Lasten von 50Ω konzipiert (siehe hierzu auch den entsprechenden Eintrag im Red Pitaya-Wiki), es fehlt also eine Last.

Red Pitaya: IN2 und OUT1 direkt verbunden Red Pitaya: IN2 und OUT1 mit Abschlusswiderstand
IN2 und OUT1 direkt verbunden IN2 und OUT1 mit Abschlusswiderstand

Die Lösung ist nun, einen 50Ω-Widerstand parallel zu schalten. Durch das Einfügen eines SMA-T-Verbinders mit passendem 50Ω-SMA-Widerstand (Terminator) wird die nötige Last in die Schaltung eingebracht. Die Signalqualität steigt sofort, entsprechend sauber sehen dann auch die Signale aus.

Oscilloscope Pro: Signalgenerator - SINE @8MHz/50Ω Oscilloscope Pro: Signalgenerator - TRIANGLE @8MHz/50Ω Oscilloscope Pro: Signalgenerator - SAWU @8MHz/50Ω Oscilloscope Pro: Signalgenerator - SAWU @10MHz/50Ω
Sinus / 8MHz, 50Ω Dreieck / 8MHz, 50Ω Sägezahn / 8MHz, 50Ω Sägezahn / 10MHz, 50Ω

Am Dreieckssignal ohne Widerstand erkennt man übrigens ziemlich gut, dass selbst eckigen Signalformen immer eine Sinusschwingung zugrunde liegt.

Weitere Funktionen und Einstellungen

Im Menü gibt es da noch den Punkt SETTINGS. Über den Unterpunkt CALIBRATION lässt sich das ganze Messsystem kalibrieren. Eine vollständige Kalibrierung ist jedoch etwas aufwändiger und dann eher mal einen weiteren Beitrag wert. Der zweite Unterpunkt, SYS INFO, blendet ein paar Informationen zum aktuellen Systemzustand ein, die sich eigentlich selbst erklären. Im derzeit aktuellen Red Pitaya OS  0.95-1 scheint jedoch FPS nicht zu funktionieren, denn es wird immer 0 angezeigt.

Oscilloscope Pro: Sysinfo

Oscilloscope Pro: Sysinfo

Bleibt noch MATH, eine von mir bisher ungenutzte Funktion. Sie bietet die Möglichkeit, zusätzliche Berechnungen ausführen zu lassen. So kann man beispielsweise IN1 und IN2 multiplizieren, oder den Absolutwert eines Eingangs bilden lassen und als zusätzliche Kurve im Graph anzeigen. Das zugehörige Bedienfeld erklärt sich im Grunde von selbst 😉

Sebastian

3 Comments

  1. Antworten Jacques du Toit

    Hi Sebastian, thank you for an excellent product and article. The newest version (0.97) includes a screen capture (*.jpeg) and CSV file. The *.jpeg file is downloaded. Where is the CSV file stored and what is the file name

    • Antworten Sebastian

      Hi Jacques,
      as the Graph (the screen capture) is download and named graphs.jpg, the CSV file is also a downloaded file, named scopeData.csv.

  2. Antworten Hans

    Hallo Sebastian,
    Ich schreibe eine Arbeit über Teilentladung und muss Redpitaya verwenden, um die Impulssignale zu erfassen. Wie Sie hier zeigen, kann ich die Pulssignale bereits mit der Oszilloskop-App sehen und CSV-Dateien exportieren. Aber was ich als nächstes tun möchte, ist 100 oder sogar 1000 CSV-Dateien zu exportieren, aber nicht manuell, sondern automatisch. D.h. ich muss ein Programm in Python oder Matlab schreiben. Haben Sie Vorschlag? Oder wo kann ich den entsprechenden Code finden? Herzlichen Dank!

    Hans

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.

WordPress Cookie Hinweis von Real Cookie Banner