Mktronixx Arduino, Elektronik und Mehr

(F)BAS-Konverter für das Oszilloskop

oder wie man ein Oszilloskop in einen Fernsehr verwandelt

Oszilloskop mit Bild von Hund in Anzeige

Ich habe letztens einen alten Fernseher bekommen, der leider nach kurzer Zeit seinen Geist aufgab. Andernfalls hätte ich ihn als Monitor für den Raspberry Pi verwendet. Es stellte sich heraus, dass der Zeilentrafo defekt war. Ob ich diesen repariere, werde ich noch sehen.

Dennoch habe ich bei den Reparaturversuchen eine Menge gelernt und die Neugier wie es funktioniert war geweckt. Eines Tage kam ich dann auf die Idee, als Versuch einen analogen Fernseher für Composite Video selber zu bauen. Ich habe noch ein uraltes Einstrahloszilloskop aus DDR-Zeiten mit X-,Y- und Z-Eingang (Helligkeitseingang) als Monitor. Damit müsste sich doch etwas machen lassen.

Kurzer Exkurs zur Funktion des analogen Fernsehens

Das ist wichtig, um die Funktion der Schaltung besser zu verstehen. Die Schaltungsbeschreibung folgt weiter unten.

Farbsignal FBAS (Farb-Bild-Austast-Synchron, engl. CVBS)

Laut Wikipedia ist ein PAL-Fernsehsignal wie ein Schwarzweißfernsehsignal aufgebaut bei dem die Farbinformation als hochfrequentes Signal mit hinein moduliert wurde. Es kann auch von Schwarzweißfernsehern als Schwarzweißbild wiedergegeben werden (Abwärtskompatibilität) [1]. Da mein Oszilloskop nur eine Farbe wieder geben kann (nämlich grün), wird sich in Folgenden nur auf das Schwarzweißsignal konzentriert.

Schwarzweissignal BAS (Bild-Austast-Synchron, engl. VBS)

Das Schwarzweißsignal enthält die Bild- und Synchronisierungssignale. Das Bild wird zeilenweise übertragen. Dies bedeutet, es wird von oben nach unten in einzelne Zeilen zerlegt, die nacheinander übertragen werden. Die Helligkeitswerte in den Zeilen werden dabei als Spannung zwischen 0,3 (schwarz) und 1 V (weiß) codiert [1]. Während eine Zeile übertragen wird, wandert der Elektronenstrahl im analogen Fernseher von links nach rechts und schriebt die verschiedenen Helligkeitswerte auf den Bildschirm.

Der Zeilenwechsel geschieht in der Zeilenaustastlücke, zwischen zwei Zeilen [1]. In dieser Zeit ist das Bild schwarz geschaltet, da der Elektronenstrahl zurück läuft. Innerhalb dieser Zeilenaustastlücke wird der Zeilensynchronimpuls übertragen, der den Fernseher mitteilt, dass nun eine neue Zeile beginnt. Dabei wird das Signal für 4,7 µS von 0,3V aus 0 V abgesenkt [1].

Das Vertikalsynchronsignal besteht aus 5 Vertikalsynchronimpulsen von je 0V, die die Dauer einer halben Zeile haben und unmittelbar aufeinander folgen. Diese sind umgeben von jeweils 5 Vor- und Nachtrabanten (halbe Schwarzzeilen) von jeweils 0,3 V [1].

Beim Zeilensprungverfahren werden in zwei aufeinander folgenden Frames, erst das erste und dann das zweite Halbbild übertragen. Das heißt, es werden zuerst die ungeraden Zeilen 1, 3, 5, … und im nächsten Frame die Zeilen 2, 4, 6, … übertragen. Um den Fernseher mitzuteilen, welches Halbbild gerade übertragen wird, beim ersten Halbbild (den ungeraden Zeilen) vor und nach die vertikale Synchronisirungssequenz eine weitere halbe Schwarzzeile geschaltet [1]. Auf diese Weise werden in der Sekunde 50 Halb-, bzw. 25 Vollbilder übertragen.

[1] Quelle: Wikipedia-Artikel Fernsehsignal, URL: https://de.wikipedia.org/wiki/Fernsehsignal, zuletzt besucht am 24.09.2020

Schaltungsbeschreibung

Blockschaltbild
Blockschaltbild
Schaltplan
Schaltplan, Pinnummerierung der OPVs bitte ignorieren. Klick vergrößert.

Nun zu meiner Schaltung. Sie besteht aus mehreren Teilen, die unten beschrieben werden. In Klammern stehen dabei jeweils die Bezeichnungen im Schaltplan, da ich alle meine Schaltpläne in englisch beschrifte, sowie die deutsche Bezeichnung im Bockschaltbild, falls abweichend.

Hinweis: Die Pinnummerierung der OPVs im Schaltplan bitte ignorieren, das ist ein Ergebnis meines Schaltplanzeichnungsprogramms. Gegebenenfalls wird das in Zukunft nochmal überarbeitet. Die Anschlussbelegung des LM358 kann in Datenblatt eingesehen werden. Ich habe bei der Entwicklung der Schaltung kein Wert darauf gelegt, ob man jetzt den linken oder rechten OPV in einem bestimmten Fall nutzt. Es werden alle 4 OPVs aus 2 LM358 genutzt.

Der Schaltung wird ein BAS/FBAS-Signal (Composite Video, =gelber Chinchstecker) zugeführt, die daraufhin die X- und Y-Achsensignale sowie das Z-Luminanzsignal für das Oszilloskop erzeugt bzw. ausgibt.

Die Versorgungsspannung der Schaltung beträgt 5V. Sie kann somit über USB versorgt werden. Von der Benutzung von USB-Ports der Videoquelle ist abzuraten, da es sonst zu Masseproblemen aufgrund des Potis am Eingang kommen kann.

Eingangsschaltung (Terminating and Offset, Terminierung und Offset)

Hautaufgabe der Eingangschaltung ist es, das Composite-Video-Signal mit 75 Ohm terminieren. Da ich gemessen habe, dass scheinbar manche Geräte auch negative Spannungen am Videoausgang ausgeben, ich diese aber nicht komparieren kann, kann der Spannungspegel mit Hilfe eines Potis angehoben werden. Die Terminierung kann mittels eines Schalters abgeschattet werden. Es stellte sich heraus, das es meistens ohne Terminierung besser funktioniert.

Luminanzverstärker (Luminance amplifier)

Wenn ich das Videosignal direkt auf den Z-Eingang meines Oszilloskops gebe, so erhalte ich ein invertiertes (negatives) Bild mit schwachen Kontrasten. Aufgabe des Luminanzverstärker ist, das Bild zu invertieren und die Kontraste anzuheben.

Der Koppelkondensator ist mit 100 nF recht klein gewählt, da so die meisten Kanten auf dem Oszi sichtbar werden. Ein größerer Kondensator lässt Schatten absaufen oder Lichter ausbrennen. Entweder verstärkt der Transistor zu stark oder die Bildröhre des Oszies hat nur wenig Dynamikumfang. Der Nachteil an der Lösung ist, dass die Helligkeitswerte nicht mehr originalgetreu, sondern nur noch in Relation zu den Nachbarhelligkeiten wiedergegeben werden.

Horizontal- und Vertikaloszillator (Horizontal Oscillator, Vertical Oscillator)

Die Aussteuerung des Elektronenstrahls in horizontale und vertikale Richtung wird von zwei NE555-Sägezahnoszilatoren bewerkstelligt. Diese schwingen ohne Synchronsignale je mit einer etwas niedrigeren Frequenz als 15.625 Hz (für horizontal, X) bzw. 50 Hz (für vertikal, Y). Die Reseteingänge werden per Spannungsteiler in der Nähe ihrer Schaltschwelle gehalten. Bei mir haben sich 47k nach + und 10k nach – bewährt. Es kann sein, dass dies bei NE555 von anderen Herstellern anders ist und sollte ggf. nochmal experimentell ermittelt werden. Sobald über den Koppelkondensator ein Synchronimpuls eingespeist wird, wird ein kurzer Reset ausgelöst und der Rücklauf des Sägezahnsignals erzwungen, egal an welcher Stelle es sich gerade befindet. Auf diese Weiße werden die Oszillatorsignale synchronisiert.

Vertikale Invertierung (Vertical Voltage Inverter)

Die NE555-Sägezahnoszilatoren schwingen so, das die Rampe des Sägezahns mit der Zeit steigt. Bei meinem Oszilloskop bedeutet eine positive Spannung an X ganz rechts und eine negative ganz links. An Y bedeutet positiv ganz oben und negativ ganz unten.

Das Videobild wird normalerweise von links nach rechts und von oben nach unten auf den Bildschirm gezeichnet (so wie beim Lesen und Schreiben auch). Würde nun der Sägezahn mit der steigenden Rampe direkt mit dem Y-Eingang verbunden werden, so würde das Bild von unten nach oben gezeichnet werden. Damit würde es auf dem Kopf stehen. In einem normalen analogen Fernseher wurde das früher gelöst, indem man die Ablenkspulen andersherum angebracht wurden. Dies geht beim Oszilloskop jedoch nicht ohne Eingriff in das Gerät.

Deswegen wird das Signal mittels Operationsverstärken invertiert. Der erste Teil stellt dabei einen Spannungsfolger dar, da die Oszillatorschaltung nur mit geringen Strömen belastet werden kann. Der zweite OPV ist der eigentliche Inverter, ein invertierender Verstärker mit der Verstärkung -1. Für diese Aufgabe kommt ein LM358 zum Einsatz, der zwei OPVs enthält.

Erkennung des Horizontal- und Vertikalsynchronimpulses (H-Sync, V-Sync, Horizontal-Komparator, Vertikal-Integrator)

Der Horizontalimpuls wird mithilfe eines Komparators aus dem Video-Signal extrahiert. Dazu kommt ebenfalls der Operationsverstärker LM358 zum Einsatz. Ein Potentiometer dient zum genauen Einstellen der Schaltschwelle, die zwischen 0 und 0,3 V liegen sollte. Die Ausgangsimpulse dieser Stufe sind negativ, d.h bei einem Horizontalimpuls geht die Ausgangsspannung von 5 Volt herunter auf 0.

Das Ausgangssignal dieses Komparators enthält auch die Vertikalimpulse. Diese werden mittels des 2. OPVs von den Horizontalimpulsen getrennt. Der OPV arbeitet dazu als Integrator. Kurze Horizontalimpulse lassen seine Ausgangsspannung nur geringfügig steigen, so das dies nicht ausreicht um den Vertikalrücklauf auszulösen. Eine lange Gruppe von Vertikalimpulsen lässt hingegen die Ausgangsspannung auf 5 V steigen und wieder abfallen, was daraufhin den Reset und somit den Vertikalrücklauf auslöst.

Die Vertikalimpulse lösen auch den horizontalen Rücklauf aus, da dafür keine Filterung vorgesehen ist. Dies ist aber nicht weiter störend, da sich an dieser Stelle in der Regel keine Bildinformation befindet.

Hinweise zur Inbetriebnahme

Auf eine Erkennung von Halbbildern wird der Einfachheit halber bei dieser Schaltung verzichtet, was eine geringere vertikale Auflösung zur Folge hat.

Die optimale Einstellung der Potis muss von Videoquelle zu Videoquelle experimentell ermittelt werden. Bei falscher Einstellung bekommt die Schaltung keine Synchronisation (Laufbild), bei nicht optimaler Einstellung fehlen die oberen Bildteile, oder das Bild wird wellig.

Die X-, Y, und Z-Signale sollten in geschirmten Leitungen zum Oszilloskop geführt werden, da es sonst zu Artefakten wie krummen und welligen Bildern oder Verschmierungen von Bildinhalten kommt.

Die AC-Kopplung sollte an allen Eingängen des Oszilloskops aktiviert werden, da die Signale große Gleichspannungsoffsets haben. Alternativ können Kondensatoren in die Oszilloskopzuleitungen eingeschliffen werden.

Demonstration der Funktion

In folgenden einige Bilder und ein Video der Funktion.

Bilder vom Oszillographenschirm

Im folgenden ein Testbild von meiner Uralt-Digitalkamera, die noch FBAS-Signale ausgeben kann:

Oszilloskop mit Bild von Hund in Anzeige

Und ein Bild, das mit Arduino und der TV-Out Libary erzeugt wurde:

Oszilloskop mit Bild von Arduino TV-Out

Hier ein Bild des gesamten Testaufbaus. Als Videoquelle dient wieder die Digitalkamera, die im Bild nicht zu sehen ist.

Testaufbau

Zum Schluss noch eins meiner YouTube-Videos abgespielt von einem Raspberry Pi über das Oszilloskop. Der Ton kommt aus einem Bluetoothlautsprecher, der über Klinke angeschlossen wurde. Das Originalvideo kann hier angesehen werden https://www.youtube.com/watch?v=IpOxfUfIK1E . Aufgrund der geringen Auflösung ist diese Schaltung eher weniger für Raspberry-Pi geeignet. Menüs und Konsolen lassen sich nur schwer ablesen.

Das starke Flimmern kommt durch Aliasing zwischen der Bildwiederholfrequenz der Kamera (30 Hz) und des Oszillographenbildschirms (50 Hz). In der Realität ist das Flimmern nicht so stark.

Link zum Video des Oszillographen: klick (ca. 127 MB)

Ein paar Oszillogramme aus der Schaltung

Ein BAS-Signal sieht z.B. so aus:
FBAS-Signal mit  0,2 V/div und 0,1 ms/div
FBAS-Signal mit 0,2 V/div und 0,1 ms/div
FBAS-Signal mit 0,2 V/div und 10 ms/div
FBAS-Signal mit 0,2 V/div und 10 ms/div

Hierbei handelt es sich eigentlich um ein PAL-FBAS-Signal. Normalerweise werden die Bildsequenzen durch den Farbträger unscharf dargestellt. Da mein billiges Digitaloszilloskop (Velleman Eduscope EDU 09) diese Frequenzen nicht aufnehmen kann, fehlt die Unschärfe und das Signal sieht aus wie ein BAS-Signal ohne Farbinformationen.

Beide Grafiken zeigen das selbe Signal, nur mit unterschiedlichen Zeitbasen. Während die erste Grafik mit einer Zeitbasis von 0,1 ms pro Division aufgenommen wurde, wurde die zweite bei einer Zeitbasis von 10 ms pro Division aufgenommen. Die erste Grafik kann man sich als starkes zeitliches Hereinzoomen in eins der Halbbilder aus der zweiten Grafik denken. Da die zweite Grafik mit einer geringeren zeitlichen Auflösung aufgenommen wurde, sind die Horizontaltimpulse dort nicht mehr zu sehen.

Zwei Oszillogramme der V-Sync und H-sync Signale am Ausgang der Operationsverstärker:
H-Sync-Signal mit 2 V/div und 0,1 ms/div
H-Sync-Signal mit 2 V/div und 0,1 ms/div
V-Sync Signal mit 2 V/div und 10 ms/div
V-Sync Signal mit 2 V/div und 10 ms/div
Oszillogramme der Sägezahnoszillatoren

Die folgenden Oszillogramme zeigen die Horizontal- und Vertikal-Sägezahnschwingungen mit und ohne anliegenden Synchronsignal. Man erkennt, dass die Frequenzen mit Synchronsignal höher sind, da der Zeilenrücklauf durch die Synchronsignale eher ausgelöst wird.

Horizontaloszillator ohne Synchronsignal mit 0,5 V/div und 0,1 ms/div
Horizontaloszillator ohne Synchronsignal mit 0,5 V/div und 0,1 ms/div
Horizontaloszillator mit Synchronsignal mit 0,5 V/div und 0,1 ms/div
Horizontaloszillator mit Synchronsignal mit 0,5 V/div und 0,1 ms/div
Vertikaloszillator ohne Synchronsignal gemessen hinter den Inverter mit 0,5 V/div und 10 ms/div
Vertikaloszillator ohne Synchronsignal gemessen hinter den Inverter mit 0,5 V/div und 10 ms/div
Vertikaloszillator mit Synchronsignal gemessen hinter den Inverter mit 0,5 V/div und 10 ms/div
Vertikaloszillator mit Synchronsignal gemessen hinter den Inverter mit 0,5 V/div und 10 ms/div

Ohne Synchronisierungssignale beträgt die Periodendauer des X-Signals ca. 0,12 ms (entspricht ca. 8 kHz) und die des Y-Signals ca. 29ms (entspricht ca. 35 Hz). Mit Synchronisierungssignalen jeweils ca. 0,06 ms (ca. 15 kHz) für X und ca. 20 ms (50 Hz) für Y. Es ist deutlich zu erkennen, das der Reset für Y zu lang ist und der Sägezahn durch eine zu starke Endladung des Kondensators an der Oberseite abgeschnitten ist. Dies hat fehlende Bildinformationen am oberen Bildrand zur Folge. Gegebenenfalls wird die Schaltung demnächst dahingehend verbessert.