Inhaltsverzeichnis:

Audiopegelmesser von einem Upcycling-VFD - Gunook
Audiopegelmesser von einem Upcycling-VFD - Gunook

Video: Audiopegelmesser von einem Upcycling-VFD - Gunook

Video: Audiopegelmesser von einem Upcycling-VFD - Gunook
Video: Mikro richtig pegeln: Wie laut muss ich, wie leise darf ich? | Tutorial | Recording-Blog 113 2024, Juli
Anonim
Image
Image

VFD - Vacuum Fluorescent Displays, eine Art Dinosaurier der Display-Technologie, immer noch hübsch und cool, findet man in vielen veralteten und vernachlässigten Heimelektronikgeräten. Sollen wir sie also entsorgen? Nein, wir können sie immer noch verwenden. Es hat ein wenig Aufwand gekostet, aber das lohnt sich.

Schritt 1: Lernen Sie das Display kennen

Lernen Sie das Display kennen
Lernen Sie das Display kennen

Ein VFD besteht aus 3 Hauptteilen

- Filament (blau)

- Tore (grün)

- Mit Phosphor beschichtete Platten (gelb), die beim Auftreffen von Elektronen aufleuchten.

Elektronen wandern vom Filament zu den Platten und passieren die Gates. Dazu muss die Platte etwa 12 bis 50 V positiver sein als der Glühfaden (die negativen Elektronen werden zur positiven Seite gezogen). Die Gates lassen die Elektronen durch, wenn ihre Spannung nahe der der Platten liegt. Andernfalls, wenn Gates eine niedrige oder negative Spannung haben, prallen die Elektronen ab und erreichen die Platten nicht, was zu keinem Licht führt.

Wenn Sie sich das Display genau ansehen, werden Sie feststellen, dass die Gates (die punktierten Metallplatten) mehrere Platten (die Anzeigeelemente dahinter) abdecken, sodass ein Gate mehrere Anzeigeelemente umschaltet. Auch mehrere Platten sind an einem Stift miteinander verbunden. Dies führt zu einer Matrix, die gemultiplext ausgeführt werden muss. Sie schalten jeweils ein Tor ein und schalten auch die Platten ein, die unter diesem Tor aufleuchten sollten, dann schalten Sie das nächste Tor und einige andere Platten ein.

Um das Display zu testen, können Sie nach den Filamentstiften suchen - normalerweise die äußersten - und mit 2 AA-Batterien etwa 3 V daran anlegen. Verwenden Sie keine höhere Spannung, da dies die feinen Filamentdrähte durchbrennen könnte. Dann werden die Drähte als rot leuchtende Streifen sichtbar, Sie haben zu viel Spannung verwendet!

Dann 9/12/18V (2x 9V Batterien) an ein Tor und eine Platte anlegen (einfach ins Display schauen wo die Pins für die Metalltore sind) sollte irgendwo ein Anzeigeelement aufleuchten.

In den Bildern habe ich einfach (fast) alle Gates und Anoden an 12V angeschlossen, das schaltet alles ein.

Machen Sie sich Notizen, welcher Pin welches Displaysegment aufleuchtet! Diese wird für den Anschluss und die Programmierung des Displays benötigt.

Schritt 2: Herausforderung 1: Hochspannung

Herausforderung 1: Hochspannung
Herausforderung 1: Hochspannung

Wie wir in der Theorie gesehen haben, benötigen die Platten/Gates eine Spannung von 12 bis 50 Volt, um für Elektronen attraktiv zu sein und eine schöne Beleuchtung des Phosphors zu erhalten. Bei Verbrauchergeräten wird diese Spannung normalerweise von einer zusätzlichen Lasche am Haupttransformator abgenommen. Als Heimwerker haben Sie keine Transformatoren mit zusätzlichen Laschen und bevorzugen sowieso einfache 5V-USB-Versorgungen:)

Wenn wir dann ein Multiplex-Matrix-Display betreiben, brauchen wir bei den ~12V aus unserem Test mehr Spannung, da die Displaysegmente nur kurz hintereinander aufleuchten, was zu einem Dimmeffekt führt (PWM-Stil mit einem Verhältnis von 1:NumberOfGates). Wir sollten also 50V anstreben.

Es gibt eine Reihe von Schaltungen, um Spannungen von nur 5 V auf 30 V … 50 V zu erhöhen, aber die meisten liefern nur eine kleine Menge Strom, wie ein paar mA @ 50 V für den Treiber, den ich in den nächsten Schritten zeige, der Pullup-Widerstände verwendet, das ist nicht ausreichend. Am Ende habe ich eine der billigen Spannungsbooster-Schaltungen verwendet, die Sie bei Amazon oder eBay finden (suchen Sie nach "XL6009"). Sie wandelt 5 V in ~ 35 V mit hohem Strom um, was gut genug ist.

Diese XL6009-basierten Geräte können durch Ändern eines Widerstands auf eine Ausgangsspannung von ~50 V gepimpt werden. Der Widerstand ist in den Bildern mit einem roten Pfeil gekennzeichnet. Sie können auch nach einem Datenblatt des XL6009 suchen, das die notwendigen Informationen zur Berechnung der Ausgangsspannung enthält.

Schritt 3: Herausforderung 2: Holen Sie sich das Filament mit Strom

Herausforderung 2: Holen Sie sich das Filament mit Strom
Herausforderung 2: Holen Sie sich das Filament mit Strom

Das Filament sollte mit ca. 3V betrieben werden (abhängig vom Display). Am besten AC und irgendwie in der Mitte auf GND geklebt. Puh, 3 Wünsche in einer Reihe.

Auch bei den Originalgeräten würde dies mit einer Lasche am Transformator und einer Art Z-Dioden-Verbindung zu GND oder an einem noch seltsameren Ort (wie einer -24V-Schiene) erreicht werden.

Einige Experimente später stellte ich fest, dass eine einfache Wechselspannung über GND ausreicht. Gleichspannung, wie 2 AA-Batterien, funktioniert auch, erzeugt jedoch einen Helligkeitsgradienten von einer Seite des VFD zur anderen, einige Beispiele auf Youtube, wenn Sie nach "VFD" suchen.

Meine Lösung

Um eine Wechselspannung zu erhalten, dies ist eine Spannung, die ständig ihre Polarität ändert, kann ich eine H-Brückenschaltung verwenden. Diese sind in der Robotik weit verbreitet, um Gleichstrommotoren zu steuern. Die H-Brücke ermöglicht es, die Richtung (Polarität) und auch die Geschwindigkeit eines Motors zu ändern.

Mein liebster DIY-Elektroniklieferant bietet ein kleines Modul "Pololu DRV8838" an, das genau das macht, was ich will.

Der einzige benötigte Eingang ist Strom und eine Taktquelle, damit das Ding ständig die Polarität umschaltet. Uhr? Es stellte sich heraus, dass ein einfaches RC-Glied zwischen dem negativen Ausgang und dem PHASE-Eingang für dieses Ding wie ein Oszillator wirken kann.

Das Bild zeigt den Anschluss des Motortreibers, um Wechselspannung für das VFD-Filament zu erzeugen.

Schritt 4: Schnittstelle mit 5V-Logik

Schnittstelle mit 5V-Logik
Schnittstelle mit 5V-Logik

Jetzt können wir das ganze Display beleuchten, toll. Wie zeigen wir einen einzelnen Punkt/eine Ziffer?

Wir müssen jedes Gate und jede Anode zu einer bestimmten Zeit umschalten. Dies wird Multiplexen genannt. Ich habe hier einige andere Tutorials dazu gesehen. ZB (https://www.instructables.com/id/Seven-Segment-Di…

Unser VFD hat viele Pins, die alle mit unterschiedlichen Werten angesteuert werden müssen, also würde jeder einen Pin am Controller benötigen. Die meisten kleinen Controller haben nicht so viele Pins. Also verwenden wir Schieberegister als Port-Expander. Diese sind mit einer Clock, einer Daten- und einer Select-Leitung mit dem Controller-Chip verbunden (nur 3 Pins) und können kaskadiert werden, um so viele Ausgangspins wie nötig bereitzustellen. Ein Arduino kann seinen SPI verwenden, um Daten effizient an diese Chips zu serialisieren.

Auf der Displayseite befindet sich hierfür ebenfalls ein Chip. Das "TPIC6b595" ist ein Schieberegister mit Open-Drain-Ausgängen, das bis zu 50V verarbeiten kann. Open Drain bedeutet, dass der Ausgang bei TRUE/1/HIGH offen bleibt und ein interner Transistor aktiv auf die Low-Side FALSE/0/LOW schaltet. Beim Hinzufügen eines Widerstands vom Ausgangspin zu V+ (50V) wird der Pin auf diesen Spannungspegel hochgezogen, solange der interne Transistor ihn nicht auf GND herunterzieht.

Die gezeigte Schaltung kaskadiert 3 dieser Schieberegister. Widerstandsarrays werden als Pull-Ups verwendet. Die Schaltung enthält auch den Filament-Power-Switcher (H-Brücke) und einen einfachen Spannungsbooster, der später verworfen und durch die XL6009-Platine ersetzt wurde.

Schritt 5: Erstellen eines Levelmeters

Einen Levelmeter herstellen
Einen Levelmeter herstellen
Einen Levelmeter herstellen
Einen Levelmeter herstellen

Dazu verwende ich ein Dot-Matrix-Display mit 20 Stellen und 5x12 Pixeln pro Stelle. Es hat 20 Gatter, eines für jede Ziffer und jedes Pixel hat einen Plattenstift. Die Steuerung jedes Pixels würde 60+20 einzelne steuerbare Pins erfordern, z. B. 10x TPIC6b595-Chips.

Ich habe nur 24 steuerbare Pins von 3x TPIC6b595. Also verbinde ich ein paar Pixel mit einem größeren Pixel der Pegelanzeige. Eigentlich kann ich jede Ziffer in 4 teilen, weil ich 20+4 Pins steuern kann. Ich verwende 2x5 Pixel pro Pegelanzeigeschritt. Die Pins für diese Pixel sind zusammengelötet, sieht etwas chaotisch aus aber es funktioniert:)

PS: Habe gerade dieses Projekt gefunden, bei dem diese Anzeige pixelweise gesteuert wird.

Schritt 6: Programmierung des Arduino

Programmierung des Arduino
Programmierung des Arduino
Programmierung des Arduino
Programmierung des Arduino

Wie bereits erwähnt, wird das Schieberegister mit einem Hardware-SPI verbunden. Im Pinbelegungsdiagramm des Leonardo (Bild von Arduino) heißen die Pins "SCK" und "MOSI" und sehen lila aus. MOSI steht für MasterOutSlaveIn, d. h. dort wird das Datum serialisiert.

Wenn Sie ein anderes Arduino verwenden, suchen Sie im Pinbelegungsdiagramm nach SCK und MOSI und verwenden Sie stattdessen diese Pins. Das RCK-Signal sollte an Pin 2 gehalten werden, dies kann jedoch verschoben werden, wenn dies auch im Code geändert wird.

Der Sketch führt den AD-Wandler an Pin A0 als Interrupt-Dienst aus. So werden die AD-Werte ständig gelesen und zu einer globalen Variablen hinzugefügt. Nach einigen Auslesungen wird ein Flag gesetzt und die Hauptschleife nimmt den Anzeigenwert auf, wandelt ihn um, welcher Pin was macht und verschiebt ihn zum SPI in den TPIC6b und immer wieder mit einer solchen Geschwindigkeit, dass das menschliche Auge es nicht flimmern sieht.

Genau die Art von Job, für die ein Arduino gemacht wurde:)

Hier kommt der Code für mein Levelmeter-Display…

github.com/mariosgit/VFD/tree/master/VFD_T…

Schritt 7: PCB

PCB
PCB
PCB
PCB
PCB
PCB

Ich habe ein paar PCBs für dieses Projekt gemacht, nur um einen schönen und sauberen Build zu haben. Diese Platine enthält einen weiteren Spannungsbooster, der nicht genug Leistung lieferte, daher habe ich ihn hier nicht verwendet und stattdessen die 50V vom XL6009-Booster eingespeist.

Der schwierige Teil ist das Hinzufügen des VFD, da diese alle Arten von Formen haben können. Ich habe versucht, die Leiterplatte im VFD-Steckverbinderteil etwas allgemeiner zu gestalten. Am Ende müssen Sie die Pinbelegung für Ihr Display herausfinden und die Verkabelung irgendwie anschließen und eventuell den Programmcode ein wenig ändern, damit alles zusammenpasst.

Die Platine ist hier verfügbar:

Empfohlen: