Innholdsfortegnelse:

Lydnivåmåler fra en upcycled VFD: 7 trinn
Lydnivåmåler fra en upcycled VFD: 7 trinn

Video: Lydnivåmåler fra en upcycled VFD: 7 trinn

Video: Lydnivåmåler fra en upcycled VFD: 7 trinn
Video: По следам древней цивилизации? 🗿 Что, если мы ошиблись в своем прошлом? 2024, November
Anonim
Image
Image

VFD - Vacuum Fluorescent Displays, en slags Dinosaur of Display Technology, fremdeles ganske fin og kul, finnes i mange utdaterte og forsømte hjemmelektronikk -enheter. Så skal vi dumpe dem? Nei, vi kan fortsatt bruke dem. Det kostet en liten innsats, men det er verdt det.

Trinn 1: Bli kjent med skjermen

Bli kjent med displayet
Bli kjent med displayet

En VFD har 3 hoveddeler

- Filament (blå)

- Gates (grønn)

- Plater (gule) belagt med fosfor som lyser når de treffes av elektroner.

Elektroner beveger seg fra filament til platene og passerer portene. For at dette skal skje, må platen være omtrent 12 til 50V mer positiv enn filamentet (de negative elektronene trekkes mot den positive siden). Portene lar elektronene fly gjennom når spenningen er nær platens. Ellers, når porter har en lav eller negativ spenning, blir elektronene hoppet av og når ikke platene, noe som resulterer i intet lys.

Når du ser nøye på displayet, vil du se at portene (de punkterte metallplatene) dekker flere plater (displayelementene bak), så en gate bytter et antall displayelementer. Et antall plater er også koblet sammen på en pinne. Dette resulterer i en matrise, som må kjøres på en multiplekset måte. Du slår på en port om gangen og slår også på platene som skal lyse under denne porten, deretter slår du på den neste porten og noen andre plater.

For å teste skjermen kan du se etter filamentpinnene - vanligvis de ytterste - og bruke ca 3V på den, ved hjelp av 2 AA -batterier. Ikke bruk høyere spenning, dette kan blåse de fine trådene. Da blir ledningene synlige som røde glødende striper, du pleide å bruke mye spenning!

Påfør deretter 9/12/18V (2x 9V batterier) på en port og en tallerken (bare se inn i displayet hvor pinnene til metallportene er) dette skal lyse opp et displayelement et sted.

På bildene koblet jeg ganske enkelt (nesten) alle porter og anoder til 12V dette slår på alt.

Ta noen notater om hvilken pinne som lyser hvilket skjermsegment! Dette vil være nødvendig for å koble til og programmere skjermen.

Trinn 2: Utfordring 1: HighVoltage

Utfordring 1: HighVoltage
Utfordring 1: HighVoltage

Som vi har sett i teorien, trenger platene/portene en spenning på 12 til 50 volt for å være attraktive for elektroner og få en fin belysning av fosforet. I forbrukerenheter er denne spenningen vanligvis hentet fra en ekstra fane på hovedtransformatoren. Som en DIY -fyr har du ikke transformatorer med ekstra faner, og du foretrekker uansett enkle 5V USB -forsyninger:)

Deretter trenger vi mer spenning når ~ 12V fra testen vår kjøres med en multiplekset matriseskjerm, fordi skjermsegmentene lyser opp bare kort tid etter hverandre, noe som resulterer i en dimmende effekt (PWM -stil med forhold 1: NumberOfGates). Så vi bør sikte på 50V.

Det er en rekke kretser for å øke spenninger fra så lavt som 5V til 30V..50V, men de fleste leverer bare en liten mengde strøm, som noen få mA@50V for driveren jeg viser i de neste trinnene, som bruker pullup motstander, dette er ikke tilstrekkelig. Jeg endte opp med å bruke en av cheep Voltage booster kretsene du kan finne på Amazon eller eBay (søk etter "XL6009"), den konverterer 5V til ~ 35V med høy strøm, noe som er bra nok.

Disse XL6009 -baserte enhetene kan pimpe til utgang ~ 50V ved å endre en motstand. Motstanden er markert på bildene med en rød pil. Du kan også søke etter et datablad for XL6009, som inneholder nødvendig informasjon for å beregne utgangsspenningen.

Trinn 3: Utfordring 2: Få filamentet drevet

Utfordring 2: Få filamentet drevet
Utfordring 2: Få filamentet drevet

Filamentet skal drives med ca 3V (avhenger av displayet). Gjerne AC og på en eller annen måte tapet i midten til GND. Puh, 3 ønsker på en rad.

Igjen i de originale enhetene ville dette blitt oppnådd med en fane på transformatoren og en slags Z -diode -tilkobling til GND eller et sted som er enda mer merkelig (som en -24V skinne)

Noen eksperimenter senere fant jeg ut at en enkel AC -spenning over GND er god nok. Likestrøm, som 2 AA -batterier, fungerer også, men det gir en lysstyrkegradient fra den ene siden av VFD til den andre. Disse er noen eksempler på youtube når du ser etter "VFD".

Min løsning

For å få en AC-spenning, er dette en spenning som stadig endrer polariteten, jeg kan bruke en H-Bridge-krets. Disse er svært vanlige innen robotikk for å kontrollere likestrømsmotorer. H-broen lar deg endre retningen (polaritet) og også motorens hastighet.

Min favoritt DIY -elektronikkleverandør tilbyr en liten modul "Pololu DRV8838" som gjør akkurat det jeg vil.

Den eneste inngangen som trengs er strøm og en klokkekilde, så tingen skifter polaritet hele tiden. Klokke? Det viser seg at et enkelt RC -element mellom den negative utgangen og PHASE -inngangen kan fungere som en oscillator for denne tingen.

Bildet viser tilkoblingen til motordriveren for å generere vekselstrøm for VFD -filamentet.

Trinn 4: Grensesnitt med 5V logikk

Grensesnitt med 5V logikk
Grensesnitt med 5V logikk

Nå kan vi lyse opp hele skjermen, flott. Hvordan viser vi en enkelt prikk/siffer?

Vi må bytte hver gate og anode på et bestemt tidspunkt. Dette kalles multiplexing. Jeg har sett noen andre opplæringsprogrammer om dette her. F.eks (https://www.instructables.com/id/Seven-Segment-Di…

Vår VFD har mange pinner, alle disse må drives med forskjellige verdier, så hver trenger en pinne på kontrolleren. De fleste små kontrollere har ikke så mange pinner. Så vi bruker skiftregistre som portutvidere. Disse kobles til en klokke, en data og en valgt linje til kontrollerbrikken (bare 3 pinner) og kan kaskades for å gi så mange utgangspinner som nødvendig. En Arduino kan bruke SPI -en til å serialisere data effektivt til disse brikkene.

På skjermen er det også en chip for dette formålet. "TPIC6b595" er et skiftregister med åpne dreneringsutganger, som håndterer opptil 50V. Åpen drenering betyr at utgangen er åpen når den er satt til TRUE/1/HIGH og en intern transistor bytter aktivt til den lave siden FALSE/0/LOW. Når du legger til en motstand fra utgangspinnen til V+ (50V) vil pinnen trekkes opp til dette spenningsnivået så lenge den interne transistoren ikke trekker den ned til GND.

Kretsen vist kaskader 3 av disse skiftregistrene. Motstandsarrays brukes som pull up -er. Kretsen inneholder også filamentstrømbryteren (H-bridge) og en enkel spenningsforsterker som senere ble avvist og erstattet med XL6009-kortet.

Trinn 5: Lag en nivåmåler

Lag en nivåmåler
Lag en nivåmåler
Lag en nivåmåler
Lag en nivåmåler

Til dette bruker jeg en Dot -matrisedisplay med 20 sifre og 5x12 piksler per siffer. Den har 20 porter, en for hvert siffer og hver piksel har en tallerkenpinne. Å kontrollere hver piksel ville kreve 60+20 individuelle kontrollerbare pinner f.eks. 10x TPIC6b595 chips.

Jeg har bare 24 kontrollerbare pinner fra 3x TPIC6b595. Så jeg kobler en haug med piksel til en større indikatorpiksel. Egentlig kan jeg dele hvert siffer i 4 fordi jeg kan styre 20+4 pinner. Jeg bruker 2x5 piksler per nivåindikator trinn. Pinnene til disse pikslene er loddet sammen, ser litt kaotisk ut, men det fungerer:)

PS: Fant akkurat dette prosjektet hvor denne skjermen er kontrollert pixelvis.

Trinn 6: Programmering av Arduino

Programmering av Arduino
Programmering av Arduino
Programmering av Arduino
Programmering av Arduino

Som nevnt vil skiftregisteret være koblet til en maskinvare -SPI. I pinout -diagrammet til Leonardo (Bilde fra Arduino) kalles pinnene "SCK" og "MOSI" og ser lilla ut. MOSI står for MasterOutSlaveIn, det er der datoen er seriell ut.

Hvis du bruker en annen Arduino, kan du søke i pinout -diagrammet for SCK og MOSI og bruke disse pinnene i stedet. RCK -signalet bør holdes på pin 2, men dette kan flyttes når du også endrer dette i koden.

Skissen kjører AD -omformeren ved pin A0 som en avbruddstjeneste. Så AD -verdiene blir stadig lest og lagt til i en global variabel. Etter noen avlesninger er det angitt et flagg og hovedsløyfen henter annonseverdien, omdanner den til hvilken pin som gjør hva og flytter den ut til SPI -en til TPIC6b.. Display -oppdateringen må sløyfes over alle sifrene/portene over og igjen med en hastighet slik at det menneskelige øyet ikke vil se det flimre.

Akkurat den typen jobb en Arduino ble laget for:)

Her kommer koden for min nivåmålervisning …

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

Trinn 7: PCB

PCB
PCB
PCB
PCB
PCB
PCB

Jeg laget noen PCB -er for dette prosjektet, bare for å ha et pent og rent bygg. Denne kretskortet inneholder en annen spenningsforsterker som ikke leverte nok strøm, så jeg brukte den ikke her og injiserte 50V fra XL6009 -booster i stedet.

Den vanskelige delen er å legge til VFD, siden disse kan ha alle slags former jeg prøvde å gjøre PCB noe generisk i VFD -kontaktdelen. Til slutt må du finne ut pinout for skjermen og koble til ledningene på en eller annen måte og til slutt endre programkoden litt for å få alt til å passe sammen.

PCB er tilgjengelig her:

Anbefalt: