Sommario:

Termometro a tubo Nixie controllato da Arduino: 14 passaggi
Termometro a tubo Nixie controllato da Arduino: 14 passaggi

Video: Termometro a tubo Nixie controllato da Arduino: 14 passaggi

Video: Termometro a tubo Nixie controllato da Arduino: 14 passaggi
Video: Come usare un display Oled 128x32 I2C con Arduino - #196 2024, Novembre
Anonim
Termometro a tubo Nixie controllato da Arduino
Termometro a tubo Nixie controllato da Arduino

Anni fa ho comprato un mucchio di tubi Nixie IN-14 dall'Ucraina e da allora li ho tenuti in giro. Ho sempre voluto usarli per un dispositivo personalizzato e così ho deciso di affrontare finalmente questo progetto e costruire qualcosa che utilizzasse questo modo quasi antico di visualizzare le cifre, ma per ora non volevo costruire un orologio a tubo Nixie (pensavo che era un po' un cliché da fare e per ora ne ho abbastanza di fantasiosi progetti di orologi hipster), quindi ho pensato: perché non costruire un termometro per la mia stanza che può essere attivato battendo le mani? L'ho attivato in modo che non fosse sempre acceso, perché pensavo che fosse uno spreco di energia e inoltre non volevo che illuminasse la stanza, specialmente durante la notte.

I tubi Nixie sono controllati da un Arduino, che è anche responsabile della lettura della temperatura dal noto sensore di temperatura DHT-11.

Questa è una copia abbreviata della mia serie originale pubblicata sul mio sito web. Dai un'occhiata, se sei interessato ad altri articoli tecnici e progetti che non ho ancora modificato per Instructables.

Passaggio 1: tubi Nixie e alta tensione

Tubi Nixie e Alta Tensione
Tubi Nixie e Alta Tensione

I tubi Nixie sono tubi a catodo freddo riempiti con un gas specifico. Inoltre, contengono un anodo (o catodo) comune e catodi (o anodi) separati per ogni cifra o carattere che possono visualizzare (Vedi fig. 1.1).

Nel mio caso, i tubi hanno un anodo comune e le cifre sono catodi separati. A differenza di altri tubi dell'epoca (transistor, diodi, …) i tubi Nixie di solito non hanno bisogno di essere riscaldati per funzionare correttamente (da cui il nome: tubo a catodo freddo).

L'unica cosa di cui hanno bisogno è una tensione piuttosto alta, in genere tra 150 e 180 V CC. Questo è in genere il problema principale quando si gestiscono questi dispositivi di visualizzazione perché significa che avrai bisogno di un alimentatore personalizzato o di un circuito step-up e controller, che siano in grado di accendere e spegnere i catodi senza usare troppe linee GPIO.

Passaggio 2: convertitore step-up CC da 12V a 170V

Convertitore step-up da 12V a 170V CC
Convertitore step-up da 12V a 170V CC

Iniziamo creando in qualche modo la tensione necessaria per far brillare i tubi. Fortunatamente il tipico tubo Nixie necessita di un alto voltaggio ma di una corrente molto bassa, il che significa che è abbastanza facile ed economico costruire un tale convertitore.

Fare attenzione quando si utilizza questo circuito e le alte tensioni in generale. Non sono un giocattolo e ricevere uno zap fa molto male nel migliore dei casi e può potenzialmente ucciderti nel peggiore dei casi! Spegnere sempre l'alimentazione prima di modificare/riparare il circuito e assicurarsi di utilizzare una custodia adeguata, in modo che nessuno lo tocchi accidentalmente quando è in uso!

Ho usato il noto circuito integrato MC34063 per il convertitore step-up. Questo piccolo circuito integrato combina tutto il necessario per qualsiasi tipo di convertitore a commutazione. Tuttavia, invece di utilizzare il transistor integrato dell'IC, ho deciso di utilizzare un transistor esterno, che ha contribuito a mantenere l'IC fresco e mi ha anche permesso di avere un assorbimento di corrente maggiore in uscita. Inoltre, poiché era sorprendentemente difficile trovare i valori giusti per tutti questi componenti per ottenere un'uscita di 170V, ho rinunciato dopo alcuni giorni di calcoli e prove (il massimo che ho ottenuto da 12V era 100V) e ho deciso di non reinventare la ruota. Invece, ho acquistato un kit da eBay, che segue più o meno lo schema di questa scheda tecnica con alcune modifiche (vedi fig. 2.1. Ho anche aggiunto delle descrizioni all'immagine).

Passaggio 3: controllare i tubi con un Arduino

Controllare i tubi con un Arduino
Controllare i tubi con un Arduino

Quindi, come hai visto prima, le valvole richiedono un alto voltaggio per accendersi. "Quindi come puoi accendere e spegnere le valvole con un microcontrollore, come un Arduino?", potresti chiedere.

Ci sono alcuni percorsi alternativi che puoi seguire per raggiungere questo obiettivo. Ad esempio, driver a valvole Nixie dedicati. È ancora possibile ottenere nuovi vecchi stock e circuiti integrati usati, ma possono essere difficili da trovare e possono essere costosi e non mi aspetto che siano più facili da trovare in futuro, perché non vengono più prodotti.

Quindi non userò un tale driver per tubi Nixie. Invece, userò transistor e decodificatori da binario a decimale, in modo da non dover usare 10 linee GPIO per tubo nixie. Con questi decoder, avrò bisogno di 4 linee GPIO per tubo e una linea per selezionare tra due tubi.

Inoltre, in modo da non dover passare continuamente da una valvola all'altra con un'alta frequenza, utilizzerò i flip-flop (che avranno bisogno di una linea GPIO aggiuntiva per il ripristino) per mantenere l'ultimo input per tutto il tempo necessario (Vedere la Fig. 3.1, fare clic qui per il circuito di controllo completo in alta risoluzione).

Passaggio 4: considerazioni sulla progettazione

Durante la progettazione di questo circuito, ho trovato decoder con R/S-Flip-Flops incorporati, che sono ancora in produzione (ad esempio il CD4514BM96). Ma sfortunatamente non sono riuscito a riceverli rapidamente perché il tempo di consegna era di due settimane e non volevo aspettare così a lungo. Quindi, se il tuo obiettivo è realizzare un piccolo PCB (o vuoi avere un piccolo numero di circuiti integrati diversi), allora dovresti assolutamente utilizzare un chip del genere, invece di utilizzare Flip-Flops esterni.

Esistono anche varianti invertite di questi decoder. Ad esempio, il CD4514BM965 è la variante invertita dell'IC sopra menzionato, dove il numero selezionato sarà basso anziché alto, il che non è quello che vogliamo in questo caso. Quindi presta attenzione a questo dettaglio quando ordini le tue parti. (Non preoccuparti: un elenco completo delle parti verrà incluso più avanti in questo Instructable!)

Puoi usare qualsiasi tipo di transistor per il tuo array, a patto che le valutazioni corrispondano alla tensione e all'assorbimento di corrente dei tuoi tubi. Sono disponibili anche circuiti integrati array di transistor, ma ancora una volta, non sono riuscito a trovarne nessuno con una classificazione superiore a 100 V o che fosse rapidamente disponibile.

Passaggio 5: l'array di transistor

L'array di transistor
L'array di transistor

Nel passaggio 3 non ho mostrato l'array di transistor per mantenere la grafica semplice e facilmente comprensibile. La Figura 5.1 mostra in dettaglio l'array di transistor mancante.

Come puoi vedere, ogni uscita digitale del decoder è collegata alla base di un transistor npn tramite un resistore di limitazione di corrente. Questo è tutto, davvero semplice.

Assicurati solo che i transistor che usi possano gestire una tensione di 170 V e una corrente di 25 mA. Per capire quale deve essere il valore del tuo resistore di base, usa il calcolatore collegato alla fine di questo Instructable sotto "Ulteriori letture".

Passaggio 6: lettura della temperatura

Lettura della temperatura
Lettura della temperatura
Lettura della temperatura
Lettura della temperatura

Potresti aver già sentito parlare del sensore combinato di temperatura e umidità DHT-11 (o DHT-22) (vedi fig. 6.1). L'unica differenza tra questo sensore e il DHT-22 è la precisione e il campo di misura. Il 22 ha una gamma più alta e una migliore precisione, ma per misurare la temperatura ambiente, il DHT-11 è più che sufficiente ed economico, anche se può fornire solo risultati interi.

Il sensore richiede tre connessioni: VCC, GND e una linea singola per la comunicazione seriale. Basta collegarlo alla sorgente di tensione e collegare il singolo filo per la comunicazione a un pin GPIO dell'Arduino. La scheda tecnica suggerisce di aggiungere un resistore di pull-up tra la linea com e VCC, in modo che la linea di comunicazione sia in uno stato alto, quando non utilizzata (Vedi fig. 6.2).

Fortunatamente esiste già una libreria per il DHT-11 (e un mucchio di librerie ben documentate per il DHT-22), che gestirà la comunicazione tra Arduino e il sensore di temperatura. Quindi un'applicazione di prova per questa parte è piuttosto breve:

Passaggio 7: completare lo schizzo Arduino

Quindi, dopo che le letture dei sensori sono state eseguite, l'ultimo passaggio è stato prendere le informazioni dai sensori e visualizzare la temperatura con i tubi Nixie.

Per accendere un certo numero su una valvola, devi trasmettere un codice a 4 bit al decoder, che accenderà il transistor corretto. Inoltre, è necessario trasmettere anche un bit che indichi quale delle due valvole si desidera impostare in questo momento.

Ho deciso di aggiungere un R/S-Latch proprio davanti a ciascun ingresso del decoder. Per quelli di voi che non sanno come funziona uno di questi fermi, ecco una rapida spiegazione:

Fondamentalmente ti consente di memorizzare un bit di informazioni. Il latch può essere SET e RESET (da cui il nome R/S-Latch, noto anche come S/R-Latch o R/S-Flip-Flop). Attivando l'ingresso SET del latch, l'uscita Q si porta a 1. Attivando l'ingresso RESET Q diventa 0. Se entrambi gli ingressi non sono attivi, viene mantenuto lo stato precedente di Q. Se entrambi gli ingressi vengono attivati contemporaneamente, hai un problema, perché il latch è forzato in uno stato instabile, il che significa sostanzialmente che il suo comportamento sarà imprevedibile, quindi evita questo stato a tutti i costi.

Quindi per visualizzare il numero 5 sul primo (a sinistra) e il numero 7 sul secondo tubo Nixie, devi:

  • RESET tutti i fermi
  • Attiva il tubo sinistro (Invia 0 sulla linea EN)
  • Impostare gli ingressi del decoder (D, C, B e A): 0101
  • Impostare D, C, B e A tutti a 0, in modo che venga mantenuto l'ultimo stato (non è necessario farlo se entrambe le provette devono visualizzare lo stesso numero)
  • Attiva il tubo giusto
  • Impostare gli ingressi del decoder (D, C, B e A): 0111
  • Imposta D, C, B e A tutti a 0, in modo che venga mantenuto l'ultimo stato

Per spegnere le valvole puoi trasmettere un valore non valido (come 10 o 15). Il decoder spegnerà quindi tutte le uscite e quindi nessuno dei transistor disponibili verrà attivato e nessuna corrente scorrerà attraverso il tubo Nixie.

Puoi scaricare l'intero firmware qui

Passaggio 8: ordinare il PCB

Ordinare il PCB
Ordinare il PCB
Ordinare il PCB
Ordinare il PCB
Ordinare il PCB
Ordinare il PCB

Volevo combinare tutto (tranne il circuito step-up) su un PCB, cosa che penso sia andata abbastanza bene (vedi fig.(8.1).

Uno dei miei obiettivi principali era mantenere la dimensione del PCB il più piccola possibile, ma fornire comunque un po' di spazio, dove potesse essere montata sul case. Volevo anche utilizzare componenti SMD, in modo da poter migliorare la mia tecnica di saldatura e aiutassero anche a mantenere il PCB sottile in modo che il case personalizzato non dovesse essere grande e ingombrante (vedi fig. 8.2).

A causa dell'utilizzo di componenti SMD, la maggior parte dei collegamenti doveva essere effettuata dal lato dei componenti. Ho cercato di utilizzare il minor numero di vie possibile. Lo strato inferiore ha in realtà solo le linee GND, VCC e +170V e alcune connessioni che dovevano essere effettuate tra diversi pin dello stesso IC. Questo è anche il motivo per cui ho usato i due DIP-16 IC invece delle loro varianti SMD.

È possibile scaricare i file di progettazione PCB e gli schemi EAGLE qui.

Poiché si tratta di un design minuscolo con tolleranze e tracce molto ridotte, era importante trovare un buon produttore per i PCB in modo che risultassero belli e funzionassero correttamente.

Ho deciso di ordinarli su PCBWay e non posso essere più soddisfatto del prodotto che mi hanno inviato (vedi fig. 8.3).

Puoi ottenere un preventivo istantaneo per i tuoi prototipi online senza bisogno di registrarti. Se decidi di ordinare: hanno anche questo pratico convertitore online che convertirà i file EAGLE nel formato Gerber corretto. Anche se EAGLE ha anche un convertitore, mi piacciono molto i convertitori online dei produttori, perché in questo modo puoi essere sicuro al 100% che non ci saranno problemi di compatibilità con la versione gerber.

Passaggio 9: risoluzione dei problemi

Risoluzione dei problemi
Risoluzione dei problemi

Quando ho testato per la prima volta il mio PCB appena saldato, niente ha funzionato. I tubi non mostravano nulla (i decodificatori raggiungevano un valore > 9) oppure i numeri casuali rimanevano costantemente accesi o lampeggiavano accendendosi e spegnendosi, il che sembrava carino ma in questo caso non era desiderabile.

All'inizio, ho incolpato il software. Così ho inventato questo tester Nixie per Arduino (vedi fig. 9.1).

Questo script consente di inserire un numero di pin GPIO (0-8) di cui si desidera modificare lo stato. Poi chiede allo Stato. Quando si immette il pin numero 9, i latch vengono ripristinati.

Quindi ho continuato i miei test e ho creato una tabella di verità con tutti i possibili input per A, B, C e D. Ho notato che i numeri 4, 5, 6 e 7 non potevano essere visualizzati con nessuno dei due tubi. Inoltre, reagirebbero in modo diverso alla stessa combinazione di input.

Ho pensato che ci fosse anche un problema elettrico. Non sono riuscito a trovare alcun problema tecnico nella progettazione, ma poi ho pensato a qualcosa che ho imparato molto tempo fa (ma da allora non ho mai avuto problemi): il flusso può essere conduttivo. Questo potrebbe non essere un problema per le normali applicazioni digitali e a bassa tensione, ma sembra che fosse un problema qui. Quindi ho pulito la scheda con l'alcol e dopo si è comportata correttamente.

Tipo. Un'altra cosa che ho notato: la parte che ho usato in EAGLE durante la creazione del layout del mio PCB non era corretta (almeno per i miei tubi). I miei tubi sembrano avere un pinout diverso.

Solo alcune cose da tenere a mente quando il tuo circuito non funziona subito.

Passaggio 10: un caso personalizzato

Un caso personalizzato
Un caso personalizzato
Un caso personalizzato
Un caso personalizzato
Un caso personalizzato
Un caso personalizzato

Dopo che tutto il resto è stato risolto, volevo costruire un bel case per ospitare il mio circuito. Fortunatamente mi era rimasto molto legno dal mio progetto di word clock, che volevo usare per costruire una griglia all'interno (vedi fig. 10.1).

Ho costruito il case utilizzando le seguenti misure:

Quantità Misure [mm] Descrizione
6 40 x 125 x 5 Lato inferiore, superiore, anteriore e posteriore
2 40 x 70 x 5 Piccoli pezzi laterali
2 10x70x10 Pezzi strutturali all'interno (Vedi fig. 8).
2 10x70x5 Pezzi strutturali sul coperchio (Vedi fig. 11).

Dopo aver tagliato i pezzi, li ho disposti insieme per creare la scatola mostrata in fig. 10.2.

La Figura 10.3 mostra il caso da un'angolazione diversa.

La parte superiore del case è esattamente uguale alla parte inferiore, solo senza pareti e con parti strutturali meno alte (vedi fig. 10.4). Funge da coperchio e può essere tolto per riparare i componenti all'interno. Il PCB sarà montato sul coperchio con i due tubi che sporgono dalla custodia.

Dopo essere stato soddisfatto di come tutto si incastrava, ho semplicemente incollato tutte le parti insieme e ho lasciato asciugare per alcune ore.

Ti starai chiedendo come ho fissato il PCB al coperchio quando non ci sono viti visibili sulla parte superiore. Ho semplicemente praticato un foro per la vite nella parte strutturale del coperchio e poi ho fatto una svasatura per far entrare la testa della vite (vedi fig. 10.5).

Passaggio 11: completamento della costruzione

Finire la costruzione
Finire la costruzione
Finire la costruzione
Finire la costruzione

Dopo che il PCB principale è stato montato sul coperchio, tutti gli altri componenti dovevano semplicemente essere inseriti nella custodia, come si può vedere in fig. 11.1.

Come puoi vedere, ho cercato di organizzare i cavi nel miglior modo possibile e penso che sia venuto piuttosto bene. Tutto si inserisce bene nella custodia, come puoi vedere in fig. 11.2.

Ho anche aggiunto un DC-Jack al case (e sono andato un po' fuori di testa con la colla a caldo). Ma in questo modo è possibile alimentare il termometro con un qualsiasi caricatore del telefono generico e un cavo adatto. Tuttavia, puoi anche aggiungere una batteria da 5 V, se lo desideri.

Passaggio 12: parti utilizzate in questa build

Per l'elettronica:

Quantità Prodotto Prezzo Particolari
1 DHT-11 4, 19€ Preso da un negozio costoso. Puoi ottenerli per meno di 1 $ dalla Cina.
2 CD4028BM 0, 81€ decodificatore
2 74HCT00D 0, 48€ NAND
1 74HCT04D 0, 29€ Invertitore
1 Pinheader 0, 21€ 2x5 pin
1 Terminale a vite 0, 35€ 2 connessioni
20 SMBTA42 0, 06€ npn-transistor
20 SMD-Resistore 0, 10€ 120K
2 74LS279N 1, 39€ Infradito R/S
1 PCB 4, 80€ Ordina qui
2 IN-14 Nixies 2, 00€
1 Convertitore step-up 6, 79€

Avrai anche bisogno di un qualche tipo di microcontrollore. Ho usato un Arduino Pro Micro.

Per il caso:

Quantità Prodotto Prezzo Particolari
N / A. Legna ~2€ Vedi sopra
4 Viti M3x16 0, 05€
4 Dadi M3 0, 07€
1 bottiglia Colla per legno 1, 29€
1 lattina Vernice per legno 5, 79€

Passaggio 13: Conclusione

Conclusione
Conclusione
Conclusione
Conclusione

Sono davvero contento del risultato di questa build. Per una volta sono riuscito a tagliare i pezzi di legno con precisione e non mi sono nemmeno dimenticato dei fori di montaggio per il PCB. E in effetti sembra anche magnifico (vedi fig. 13.1).

Oltre a ciò, è stato interessante lavorare con le valvole e gli alti voltaggi in generale e ci sono alcune cose da considerare quando lo si fa.

In conclusione, direi che è un bene, che abbiamo modi più convenienti per visualizzare i numeri oggi, ma d'altra parte non c'è niente di paragonabile al bagliore e all'aspetto generale dei tubi nixie, che mi piace molto guardare, in particolare, quando è buio (Vedi fig. 13.2).

Spero ti sia piaciuto questo istruibile. Se lo hai fatto, assicurati di dare un'occhiata al mio sito Web per articoli e progetti più interessanti!

Passaggio 14: Attribuzioni, fonti e ulteriori letture

Ulteriori lettureMC34063 Dettagli applicazione – ti.comMC4x063 Datasheet – ti.comNixie tube driver IC – tubehobby.comDHT-11 Libreria Arduino – arduino.ccA Transistor come interruttore - petervis.comTeoria del resistore di base, formule e calcolatrice online - petervis.com

Fonti di immagini[Fig. 1.1] Tubi Nixie IN-14, coldwarcreations.com[Fig. 2.1] Circuito step-up, autodisegnato ma tratto da ebay.com[Fig. 6.1] Sensore di temperatura DHT-11 – tinytronics.nl

Consigliato: