Inhoudsopgave:

Audioniveaumeter van een upcycled VFD - Ajarnpa
Audioniveaumeter van een upcycled VFD - Ajarnpa

Video: Audioniveaumeter van een upcycled VFD - Ajarnpa

Video: Audioniveaumeter van een upcycled VFD - Ajarnpa
Video: Niveaumeter 2024, November
Anonim
Image
Image

VFD - Vacuüm fluorescerende beeldschermen, een soort dinosaurus of displaytechnologie, nog steeds behoorlijk mooi en cool, zijn te vinden in veel verouderde en verwaarloosde huishoudelijke apparaten. Zullen we ze dan dumpen? Nee, we kunnen ze nog gebruiken. Het kostte wat moeite maar dat is het waard.

Stap 1: Maak kennis met het display

Maak kennis met het display
Maak kennis met het display

Een VFD heeft 3 hoofdonderdelen:

- Filament (blauw)

- Poorten (groen)

- Platen (geel) gecoat met fosfor die oplichten wanneer ze worden geraakt door elektronen.

Elektronen reizen van gloeidraad naar de platen en passeren de poorten. Om dit te laten gebeuren, moet de plaat ongeveer 12 tot 50V positiever zijn dan de gloeidraad (de negatieve elektronen worden naar de positieve kant getrokken). Door de poorten kunnen de elektronen doorvliegen wanneer hun spanning dicht bij die van de platen ligt. Anders, wanneer poorten een lage of negatieve spanning hebben, worden de elektronen teruggekaatst en bereiken ze de platen niet, wat resulteert in geen licht.

Als je goed naar het display kijkt, zul je zien dat de poorten (de gepunte metalen platen) meerdere platen bedekken (de weergave-elementen erachter), dus één poort schakelt een aantal weergave-elementen om. Een aantal platen is ook met elkaar verbonden op één pin. Dit resulteert in een matrix, die op een gemultiplexte manier moet worden uitgevoerd. Je schakelt één poort tegelijk aan en zet ook de platen aan die onder deze poort moeten oplichten, zet dan de volgende poort aan en nog wat andere platen.

Om het display te testen, kunt u zoeken naar de filamentpinnen - meestal de buitenste - en er ongeveer 3V op toepassen met behulp van 2 AA-batterijen. Gebruik geen hogere spanning, dit kan de fijne filamentdraden opblazen. Dan worden de draden zichtbaar als roodgloeiende strepen, je hebt te veel spanning gebruikt!

Breng vervolgens 9/12/18V (2x 9V batterijen) aan op een poort en een plaat (kijk maar in het display waar de pinnen voor de metalen poorten zitten) dit zou ergens een display-element moeten oplichten.

Op de foto's heb ik eenvoudig (bijna) alle poorten en anodes aangesloten op 12V dit zet alles aan.

Maak aantekeningen over welke pin op welk displaysegment oplicht! Dit is nodig voor het aansluiten en programmeren van het display.

Stap 2: Uitdaging 1: Hoogspanning

Uitdaging 1: Hoogspanning
Uitdaging 1: Hoogspanning

Zoals we in de theorie hebben gezien, hebben de platen/poorten een spanning van 12 tot 50 volt nodig om aantrekkelijk te zijn voor elektronen en een mooie verlichting van de fosfor te krijgen. Bij consumentenapparaten wordt deze spanning meestal uit een extra tabblad op de hoofdtransformator gehaald. Als doe-het-zelver heb je geen transformatoren met extra tabbladen en ben je toch voorstander van eenvoudige 5V USB-benodigdheden:)

Als we dan een multiplex-matrixdisplay gebruiken, hebben we meer spanning nodig als de ~12V uit onze test, omdat de displaysegmenten slechts kort na elkaar oplichten, wat resulteert in een dimeffect (PWM-stijl met een verhouding 1: NumberOfGates). We moeten dus streven naar 50V.

Er zijn een aantal circuits om spanningen te verhogen van zo laag als 5V tot 30V..50V, maar de meeste leveren slechts een kleine hoeveelheid stroom, zoals een paar mA@50V voor de driver die ik in de volgende stappen laat zien, die pullup-weerstanden gebruikt, dit is niet voldoende. Ik heb uiteindelijk een van de goedkope spanningsboostercircuits gebruikt die je op Amazon of eBay kunt vinden (zoek naar "XL6009"), het converteert 5V naar ~35V met hoge stroom, wat goed genoeg is.

Deze op XL6009 gebaseerde apparaten kunnen worden gepimpt om ~50V uit te voeren door een weerstand te veranderen. De weerstand is in de afbeeldingen gemarkeerd met een rode pijl. U kunt ook zoeken naar een datasheet van de XL6009, die de nodige informatie bevat voor het berekenen van de uitgangsspanning.

Stap 3: Uitdaging 2: zorg dat het filament wordt aangedreven

Uitdaging 2: zorg dat het filament wordt aangedreven
Uitdaging 2: zorg dat het filament wordt aangedreven

Het filament moet worden aangedreven met ongeveer 3V (afhankelijk van het display). Bij voorkeur AC en op de een of andere manier in het midden op GND geplakt. Puh, 3 wensen op een rij.

Nogmaals in de originele apparaten zou dit worden bereikt met een lipje op de transformator en een soort van Z-diode-verbinding met GND of ergens nog vreemder (zoals een -24V-rail)

Enkele experimenten later ontdekte ik dat een eenvoudige wisselspanning boven GND goed genoeg is. Gelijkspanning, zoals 2 AA-batterijen, werkt ook, maar het produceert een helderheidsgradiënt van de ene kant van de VFD naar de andere, dit zijn enkele voorbeelden op YouTube als je naar "VFD" zoekt.

Mijn oplossing

Om een wisselspanning te krijgen, dit is een spanning die constant van polariteit verandert, kan ik een H-brugschakeling gebruiken. Deze zijn heel gebruikelijk in robotica om gelijkstroommotoren te besturen. De H-Bridge maakt het mogelijk om de richting (polariteit) en ook de snelheid van een motor te veranderen.

Mijn favoriete doe-het-zelf-elektronicaleverancier biedt een kleine module "Pololu DRV8838" aan die precies doet wat ik wil.

De enige input die nodig is, is stroom en een klokbron, dus het ding wisselt constant van polariteit. Klok? Blijkt dat een eenvoudig RC-element tussen de negatieve uitgang en de PHASE-ingang als een oscillator voor dit ding kan werken.

De afbeelding toont de aansluiting van de motordriver om wisselspanning te genereren voor de VFD-gloeidraad.

Stap 4: Interfacing met 5V Logic

Interface met 5V Logic
Interface met 5V Logic

Nu kunnen we het hele scherm verlichten, geweldig. Hoe tonen we een enkele punt/cijfer?

We moeten elke poort en anode op een bepaald tijdstip schakelen. Dit wordt multiplexen genoemd. Ik heb hier wat andere tutorials over gezien. Bijvoorbeeld (https://www.instructables.com/id/Seven-Segment-Di…

Onze VFD heeft veel pinnen, deze moeten allemaal met verschillende waarden worden aangestuurd, dus elk heeft een pin op de controller nodig. De meeste kleine controllers hebben niet zoveel pinnen. We gebruiken dus schuifregisters als poortuitbreidingen. Deze verbinden met een klok, een data- en een selectielijn met de controllerchip (slechts 3 pinnen) en kunnen worden gecascadeerd om zoveel uitgangspinnen te leveren als nodig is. Een Arduino kan zijn SPI gebruiken om gegevens efficiënt naar deze chips te serialiseren.

Aan de displayzijde is er ook een chip voor dit doel. De "TPIC6b595" is een schuifregister met open drain-uitgangen, die tot 50V kan verwerken. Open drain betekent dat de uitgang open wordt gelaten wanneer deze op TRUE/1/HIGH is ingesteld en dat een interne transistor actief naar de lage kant FALSE/0/LOW schakelt. Bij het toevoegen van een weerstand van de uitgangspin naar V+ (50V) zal de pin naar dit spanningsniveau worden getrokken zolang de interne transistor deze niet naar GND trekt.

De getoonde schakeling cascadeert 3 van deze schuifregisters. Resistor-arrays worden gebruikt als pull-up's. Het circuit bevat ook de filamentschakelaar (H-brug) en een eenvoudige spanningsversterker die later werd afgewezen en vervangen door het XL6009-bord.

Stap 5: Een niveaumeter maken

Een niveaumeter maken
Een niveaumeter maken
Een niveaumeter maken
Een niveaumeter maken

Hiervoor gebruik ik een Dot matrix display met 20 cijfers en 5x12 pixels per cijfer. Het heeft 20 poorten, één voor elk cijfer en elke pixel heeft een plaatpin. Voor het besturen van elke pixel zijn 60+20 afzonderlijke bestuurbare pinnen nodig, b.v. 10x TPIC6b595-chips.

Ik heb slechts 24 controleerbare pinnen van 3x TPIC6b595's. Dus ik verbind een aantal pixels met een grotere niveau-indicatorpixel. Eigenlijk kan ik elk cijfer in 4 delen omdat ik 20 + 4 pinnen kan bedienen. Ik gebruik 2x5 pixels per niveau-indicatorstap. De pinnen voor deze pixels zijn aan elkaar gesoldeerd, ziet er een beetje chaotisch uit maar het werkt:)

PS: Ik heb net dit project gevonden waarbij dit scherm pixelgewijs wordt bestuurd..

Stap 6: De Arduino programmeren

De Arduino programmeren
De Arduino programmeren
De Arduino programmeren
De Arduino programmeren

Zoals gezegd wordt het schuifregister aangesloten op een hardware-SPI. In het pinout-diagram van de Leonardo (Afbeelding van Arduino) heten de pinnen "SCK" en "MOSI" en zien ze er paars uit. MOSI staat voor MasterOutSlaveIn, dat is daar de datum is geserialiseerd.

Als je een andere Arduino gebruikt, zoek dan in het pinout-diagram naar SCK en MOSI en gebruik in plaats daarvan deze pinnen. Het RCK-signaal moet op pin 2 blijven staan, maar kan worden verplaatst door dit ook in de code te wijzigen.

De schets voert de AD-converter op pin A0 uit als een onderbrekingsservice. De AD-waarden worden dus constant gelezen en toegevoegd aan een globale variabele. Na enkele uitlezingen wordt een vlag ingesteld en de hoofdlus pikt de advertentiewaarde op, transformeert deze in welke pin wat doet en verschuift deze naar de SPI in de TPIC6b. De Display-update moet over alle cijfers / poorten worden doorlopen en opnieuw met een zodanige snelheid dat het menselijk oog het niet zal zien flikkeren.

Precies het soort werk waarvoor een Arduino is gemaakt:)

Hier komt de code voor mijn niveaumeterdisplay …

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

Stap 7: PCB

PCB
PCB
PCB
PCB
PCB
PCB

Ik heb een paar PCB's gemaakt voor dit project, gewoon om een mooie en schone build te hebben. Deze print bevat nog een spanningsbooster die niet genoeg stroom leverde, dus die heb ik hier niet gebruikt en in plaats daarvan de 50V van de XL6009 booster ingespoten.

Het lastige is het toevoegen van de VFD, aangezien deze allerlei vormen kunnen hebben, heb ik geprobeerd de PCB enigszins generiek te maken in het VFD-connectorgedeelte. Uiteindelijk moet je de pin-out voor je display uitzoeken en de bedrading op de een of andere manier aansluiten en uiteindelijk de programmacode een beetje veranderen om alles in elkaar te laten passen.

De print is hier beschikbaar:

Aanbevolen: