Sommario:
- Passaggio 1: conoscere il display
- Fase 2: Sfida 1: Alta tensione
- Fase 3: Sfida 2: Alimenta il filamento
- Passaggio 4: interfacciamento con logica 5V
- Passaggio 5: creare un misuratore di livello
- Passaggio 6: programmazione di Arduino
- Passaggio 7: PCB
Video: Misuratore di livello audio da un VFD riciclato: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
VFD - I display fluorescenti sotto vuoto, una sorta di dinosauro della tecnologia dei display, ancora piuttosto belli e interessanti, possono essere trovati in molti dispositivi elettronici domestici obsoleti e trascurati. Quindi li scarichiamo? Noooo possiamo ancora usarli. È costato un po' di fatica ma ne vale la pena.
Passaggio 1: conoscere il display
Un VFD ha 3 parti principali
- Filamento (blu)
- Cancelli (verde)
- Piastre (gialle) rivestite di fosforo che si illuminano quando vengono colpite da elettroni.
Gli elettroni viaggiano dal filamento alle piastre, passando per le porte. Perché ciò accada, la piastra deve essere da 12 a 50 V circa più positiva del filamento (gli elettroni negativi vengono tirati verso il lato positivo). Le porte consentiranno agli elettroni di volare quando la loro tensione è vicina a quella delle piastre. Altrimenti, quando le porte hanno una tensione bassa o negativa, gli elettroni vengono rimbalzati e non raggiungono le piastre, con conseguente assenza di luce.
Osservando attentamente il display, vedrai che i cancelli (le piastre metalliche punteggiate) coprono più lastre (gli elementi di visualizzazione dietro), quindi un cancello alterna un certo numero di elementi di visualizzazione. Un certo numero di piastre è anche collegato insieme su un pin. Ciò si traduce in una matrice, che deve essere eseguita in modo multiplexato. Accendi un cancello alla volta e accendi anche i piatti che dovrebbero illuminarsi sotto questo cancello, quindi accendi il cancello successivo e alcuni altri piatti.
Per testare il Display puoi cercare i pin del filamento - solitamente il più esterno - e applicargli circa 3V, usando 2 batterie AA. Non utilizzare una tensione più alta, questo potrebbe far saltare i fili del filamento sottile. Quindi i fili diventano visibili come strisce rosse incandescenti, hai usato troppa tensione!
Quindi applica 9/12/18 V (2 batterie da 9 V) a un cancello e una piastra (basta guardare nel display dove si trovano i pin per i cancelli di metallo) questo dovrebbe illuminare un elemento del display da qualche parte.
Nelle foto ho semplicemente collegato (quasi) tutti i gate e gli anodi a 12V questo accende tutto.
Prendi appunti su quale pin illumina quale segmento del display! Questo sarà necessario per collegare e programmare il display.
Fase 2: Sfida 1: Alta tensione
Come abbiamo visto in Teoria, le Piastre/Gate hanno bisogno di un Voltaggio da 12 a 50 Volt per essere attraenti per gli Elettroni e ottenere una buona illuminazione del fosforo. Nei dispositivi Consumer, questa tensione viene solitamente prelevata da una scheda aggiuntiva sul trasformatore principale. Come ragazzo fai-da-te non hai trasformatori con schede extra e comunque preferisci le semplici forniture USB da 5 V:)
Quindi eseguendo un display a matrice multiplex abbiamo bisogno di più tensione quando i ~12V dal nostro test, perché i segmenti del display sono illuminati solo poco dopo l'altro, con conseguente effetto di attenuazione (stile PWM con un rapporto 1:NumberOfGates). Quindi dovremmo puntare a 50V.
Esistono numerosi circuiti per aumentare le tensioni da 5V a 30V..50V, ma la maggior parte fornisce solo una piccola quantità di energia, come pochi mA@50V per il driver che mostrerò nei passaggi successivi, che utilizza resistori di pullup, questo non è sufficiente. Ho finito per utilizzare uno dei circuiti booster di tensione che puoi trovare su Amazon o eBay (cerca "XL6009"), converte da 5 V a ~ 35 V con corrente elevata, il che è abbastanza buono.
Questo dispositivo basato su XL6009 può essere sfruttato per produrre ~50V cambiando un resistore. Il resistore è contrassegnato nelle immagini con una freccia rossa. Puoi anche cercare una scheda tecnica dell'XL6009, che contiene le informazioni necessarie per calcolare la tensione di uscita.
Fase 3: Sfida 2: Alimenta il filamento
Il filamento dovrebbe essere guidato con circa 3V (dipende dal display). Preferibilmente AC e in qualche modo registrato nel mezzo su GND. Puh, 3 desideri in una riga.
Di nuovo nei dispositivi originali, ciò si otterrebbe con una scheda sul trasformatore e una sorta di connessione diodo Z a GND o da qualche parte ancora più strano (come un binario -24V)
Alcuni esperimenti dopo ho scoperto che una semplice tensione CA sopra GND è abbastanza buona. Anche la tensione CC, come 2 batterie AA, funziona, ma produce un gradiente di luminosità da un lato all'altro del VFD, sono alcuni esempi su youtube quando si cerca "VFD".
La mia soluzione
Per ottenere una tensione CA, questa è una tensione che cambia costantemente la sua polarità, posso usare un circuito H-Bridge. Questi sono molto comuni nella robotica per controllare i motori DC. L'H-Bridge permette di cambiare la direzione (polarità) e anche la velocità di un motore.
Il mio fornitore di elettronica fai-da-te preferito offre un piccolo modulo "Pololu DRV8838" che fa esattamente quello che voglio.
L'unico ingresso necessario è l'alimentazione e una sorgente di clock, quindi la cosa alterna costantemente la polarità. Orologio? Si scopre che un semplice elemento RC tra l'uscita negativa e l'ingresso PHASE può agire come un oscillatore per questa cosa.
L'immagine mostra il collegamento del driver del motore per generare la tensione CA per il filamento VFD.
Passaggio 4: interfacciamento con logica 5V
Ora possiamo illuminare l'intero display, fantastico. Come mostriamo un singolo punto/cifra?
Dobbiamo attivare ogni gate e anodo in un determinato momento. Questo è chiamato multiplexing. Ho visto alcuni altri tutorial su questo qui. Ad esempio (https://www.instructables.com/id/Seven-Segment-Di…
Il nostro VFD ha molti pin, tutti questi devono essere pilotati con valori diversi, quindi ognuno avrebbe bisogno di un pin sul controller. La maggior parte dei controller piccoli non ha così tanti pin. Quindi usiamo i registri a scorrimento come espansioni di porte. Questi si collegano con un clock, un data e una linea di selezione al chip del controller (solo 3 pin) e possono essere collegati in cascata per fornire tutti i pin di uscita necessari. Un Arduino può utilizzare il suo SPI per serializzare in modo efficiente i dati su questi chip.
Anche sul lato display c'è un chip per questo scopo. Il "TPIC6b595" è un registro a scorrimento con uscite open drain, che gestisce fino a 50V. Drain aperto significa che l'uscita viene lasciata aperta quando impostata su TRUE/1/HIGH e un transistor interno passa attivamente al lato basso FALSE/0/LOW. Quando si aggiunge un resistore dal pin di uscita a V+ (50 V), il pin verrà portato a questo livello di tensione finché il transistor interno non lo abbasserà a GND.
Il circuito mostrato in cascata 3 di questi registri a scorrimento. Gli array di resistori sono usati come pull up. Il circuito contiene anche lo switcher di alimentazione a filamento (H-bridge) e un semplice booster di tensione che è stato successivamente scartato e sostituito con la scheda XL6009.
Passaggio 5: creare un misuratore di livello
Per questo utilizzo un display a matrice di punti con 20 cifre e 5x12 pixel per cifra. Ha 20 porte, una per ogni cifra e ogni pixel ha un pin piatto. Il controllo di ogni pixel richiederebbe 60+20 pin controllabili individuali, ad es. 10 chip TPIC6b595.
Ho solo 24 pin controllabili da 3x TPIC6b595. Quindi collego un mucchio di pixel a un pixel indicatore di livello più grande. In realtà posso dividere ogni cifra in 4 perché posso controllare 20+4 pin. Uso 2x5 pixel per passo dell'indicatore di livello. I pin per questi pixel sono saldati insieme, sembra un po' caotico ma funziona:)
PS: ho appena trovato questo progetto in cui questo display è controllato pixel per pixel..
Passaggio 6: programmazione di Arduino
Come accennato, il registro a scorrimento sarà collegato a uno SPI hardware. Nel diagramma di pinout del Leonardo (Immagine da Arduino) i pin sono chiamati "SCK" e "MOSI" e sembrano viola. MOSI sta per MasterOutSlaveIn, ecco che la data viene serializzata.
Se usi un altro Arduino, cerca nel diagramma di pinout SCK e MOSI e usa invece questi pin. Il segnale RCK dovrebbe essere mantenuto al pin 2, ma questo può essere riposizionato quando si cambia anche questo nel codice.
Lo sketch esegue il convertitore AD al pin A0 come servizio di interruzione. Quindi i valori AD vengono costantemente letti e aggiunti a una variabile globale. Dopo alcune letture viene impostato un flag e il ciclo principale preleva il valore dell'annuncio, lo trasforma in quale pin fa cosa e lo sposta verso l'SPI nel TPIC6b.. L'aggiornamento del display deve essere eseguito in loop su tutte le cifre/gate oltre e ancora con una velocità tale che l'occhio umano non lo vedrà tremolare.
Esattamente il tipo di lavoro per cui è stato creato un Arduino:)
Ecco il codice per il mio display del misuratore di livello…
github.com/mariosgit/VFD/tree/master/VFD_T…
Passaggio 7: PCB
Ho realizzato alcuni PCB per questo progetto, solo per avere una build bella e pulita. Questo PCB contiene un altro booster di tensione che non ha erogato abbastanza potenza, quindi non l'ho usato qui e ho iniettato invece i 50V dal booster XL6009.
La parte difficile è aggiungere il VFD, poiché questi possono avere tutti i tipi di forme. Ho provato a rendere il PCB un po' generico nella parte del connettore VFD. Alla fine devi capire il pinout per il tuo display e collegare il cablaggio in qualche modo e alla fine cambiare un po' il codice del programma per far combaciare tutto.
Il PCB è disponibile qui:
Consigliato:
Un misuratore di livello dell'acqua di pozzo in tempo reale: 6 passaggi (con immagini)
Un misuratore del livello dell'acqua in tempo reale: queste istruzioni descrivono come costruire un misuratore del livello dell'acqua in tempo reale a basso costo per l'uso in pozzi scavati. Il misuratore di livello dell'acqua è progettato per essere appeso all'interno di un pozzo scavato, misurare il livello dell'acqua una volta al giorno e inviare i dati tramite WiFi o connessione cellulare
Un misuratore di temperatura, conducibilità e livello dell'acqua in tempo reale: 6 passaggi (con immagini)
Un misuratore di temperatura, conducibilità e livello dell'acqua in tempo reale: queste istruzioni descrivono come costruire un contatore dell'acqua in tempo reale a basso costo per il monitoraggio della temperatura, della conduttività elettrica (CE) e dei livelli dell'acqua nei pozzi scavati. Il misuratore è progettato per essere appeso all'interno di un pozzo scavato, misurare la temperatura dell'acqua, EC e
Indicatore del livello audio/audio: 10 passaggi
Indicatore di livello sonoro/audio: in questo progetto, ti mostrerò come costruire un semplice indicatore di livello sonoro utilizzando amplificatori operazionali. Nota: per porre domande, visitare il mio sito all'indirizzo Chiedi all'esperto. Utili video supplementari: configurazione del circuito simulato su una breadboard (proto
Misuratore di livello del serbatoio ad ultrasuoni: 5 passaggi (con immagini)
Misuratore di livello del serbatoio ad ultrasuoni: è necessario monitorare il livello del fluido in un pozzo di grande diametro, un serbatoio o un contenitore aperto? Questa guida ti mostrerà come realizzare un misuratore di livello del fluido senza contatto sonar utilizzando un'elettronica economica! Lo schizzo sopra mostra una panoramica di ciò a cui miravamo con t
Fantastico misuratore di livello a LED: 7 passaggi
Fantastico misuratore di livello a LED: questo ERA il mio ingresso al concorso "Get the LED Out", ma ero troppo lento. Un giorno mi annoiavo. Volevo costruire qualcosa di interessante. Un po' di brainstorming veloce e non è venuto fuori niente. Scavando tra le mie scatole di spazzatura, ho trovato un vecchio kit di misuratori di livello