Indholdsfortegnelse:

Arduino-kontrolleret Nixie-rørtermometer: 14 trin
Arduino-kontrolleret Nixie-rørtermometer: 14 trin

Video: Arduino-kontrolleret Nixie-rørtermometer: 14 trin

Video: Arduino-kontrolleret Nixie-rørtermometer: 14 trin
Video: How to Use a Joystick with Arduino (Lesson #13) 2024, November
Anonim
Arduino kontrolleret Nixie-rør termometer
Arduino kontrolleret Nixie-rør termometer

For mange år siden købte jeg en flok IN-14 Nixie-rør fra Ukraine, og jeg havde dem liggende siden da. Jeg har altid ønsket at bruge dem til en brugerdefineret enhed, og derfor besluttede jeg mig for endelig at tackle dette projekt og bygge noget, der udnytter denne næsten gamle måde at vise cifre på, men i øjeblikket ville jeg ikke bygge et Nixie -urur (jeg troede, at var lidt af en kliché -ting at gøre, og for nu har jeg fået nok af fancy hipster -urprojekter), så jeg tænkte: Hvorfor ikke bygge et termometer til mit værelse, der kan aktiveres ved at klappe? Jeg fik det til at klappe aktiveret, så det ikke ville være tændt hele tiden, fordi jeg syntes, det var ret spild af energi, og jeg ville heller ikke have, at det skulle belyse rummet, især om natten.

Nixie-rørene styres af en Arduino, som også er ansvarlig for at aflæse temperaturen fra den velkendte DHT-11 temperatursensor.

Dette er en forkortet kopi fra min originale serie udgivet på mit websted. Tag et kig på det, hvis du er interesseret i andre tekniske artikler og projekter, som jeg ikke har redigeret for Instructables endnu.

Trin 1: Nixie -rør og højspænding

Nixie -rør og højspænding
Nixie -rør og højspænding

Nixie -rør er kolde katoderør, der er fyldt med en specifik gas. Desuden indeholder de en fælles anode (eller katode) og separate katoder (eller anoder) for hvert ciffer eller tegn, de kan vise (se fig. 1.1).

I mit tilfælde har rørene en fælles anode, og cifrene er separate katoder. I modsætning til andre rør fra dengang (transistorer, dioder, …) behøver Nixie -rør normalt ikke at blive opvarmet for at fungere korrekt (deraf navnet: koldt katoderør).

Det eneste de kræver er en temmelig høj spænding, typisk mellem 150 og 180V DC. Dette er typisk hovedproblemet ved håndtering af disse displayenheder, fordi det betyder, at du skal bruge en brugerdefineret strømforsyning eller et trin-up kredsløb og controllere, der er i stand til at tænde og slukke katoderne uden at bruge for mange GPIO-linjer.

Trin 2: 12V til 170V DC Step-up-konverter

12V til 170V DC Step-up konverter
12V til 170V DC Step-up konverter

Lad os starte med på en eller anden måde at skabe den nødvendige spænding for at få rørene til at lyse. Heldigvis har det typiske Nixie -rør brug for en højspænding, men meget lav strøm, hvilket betyder, at det er ret let og billigt at bygge sådan en konverter.

Vær forsigtig, når du bruger dette kredsløb og høje spændinger generelt. De er ikke et legetøj, og at få en zap gør meget ondt i bedste fald og kan potentielt dræbe dig i værste tilfælde! Sluk altid for strømforsyningen, før du ændrer/servicerer kredsløbet, og sørg for at bruge en ordentlig kuffert, så ingen ved et uheld rører ved den, når den er i brug!

Jeg brugte det velkendte MC34063 integrerede kredsløb til trinomformeren. Denne lille IC kombinerer alt, hvad du har brug for til enhver form for omskifter. Men i stedet for at bruge den indbyggede transistor på IC'en besluttede jeg mig for at gå med en ekstern transistor, som hjalp med at holde IC'en kølig og også tillod mig at have en højere strømtrækning ved udgangen. Fordi det endvidere var overraskende svært at finde de rigtige værdier for alle disse komponenter for at få et output på 170V, gav jeg op efter nogle dages beregninger og test (Det højeste jeg fik fra 12V var 100V) og besluttede mig for ikke at genopfinde hjulet. I stedet købte jeg et kit fra eBay, der stort set følger skematikken fra dette datablad med et par tweaks (Se fig. 2.1. Jeg tilføjede også beskrivelser til billedet).

Trin 3: Styring af rørene med en Arduino

Styring af rørene med en Arduino
Styring af rørene med en Arduino

Så som du så tidligere, kræver rørene en høj spænding for at tænde. "Så hvordan kan du tænde og slukke rørene med en mikrokontroller, som en Arduino?", Spørger du måske.

Der er et par alternative ruter, du kan tage for at nå dette mål. For eksempel dedikerede Nixie -rørdrivere. Du kan stadig få nye gamle lagre og brugte IC'er, men de kan være svære at finde, og de kan være dyre, og jeg forventer ikke, at de bliver lettere at finde i fremtiden, fordi disse ikke længere produceres.

Så jeg vil ikke bruge sådan en Nixie tube driver. I stedet vil jeg bruge transistorer og binære til decimale dekodere, så jeg ikke behøver at bruge 10 GPIO -linjer pr. Nixie -rør. Med disse dekodere skal jeg bruge 4 GPIO -linjer pr. Rør og en linje til at vælge mellem to rør.

Desuden, så jeg ikke behøver at skifte mellem rørene hele tiden med en høj frekvens, vil jeg bruge flip-flops (som skal bruge en ekstra GPIO-linje til nulstilling) for at beholde det sidste input så længe det er nødvendigt (Se fig. 3.1, klik her for det fulde styrekredsløb i en høj opløsning).

Trin 4: Designovervejelser

Under designet af dette kredsløb fandt jeg dekodere med indbyggede R/S-flip-flops, der stadig produceres (f.eks. CD4514BM96). Men desværre kunne jeg ikke få disse hurtigt, da leveringstiden var to uger, og jeg ikke ville vente så længe. Så hvis dit mål er at lave et lille printkort (eller du vil have et lille antal forskellige IC'er), så skal du helt sikkert gå med sådan en chip, i stedet for at bruge eksterne flip-flops.

Der er også inverterede varianter af disse dekodere. For eksempel er CD4514BM965 den omvendte variant til ovennævnte IC, hvor det valgte nummer vil være lavt i stedet for højt, hvilket ikke er, hvad vi ønsker i dette tilfælde. Så vær opmærksom på denne detalje, når du bestiller dine dele. (Bare rolig: En komplet deleliste vil blive inkluderet senere i denne instruktionsbog!)

Du kan bruge enhver form for transistor til dit array, så længe klassificeringerne matcher spændingen og strømtrækningen af dine rør. Der er også transistor-array IC'er til rådighed, men igen kunne jeg ikke finde nogen, der blev vurderet over 100V, eller som var hurtigt tilgængelige.

Trin 5: Transistormatrisen

Transistormatrisen
Transistormatrisen

I trin 3 viste jeg ikke transistor arrayet for at holde grafikken enkel og let forståelig. Figur 5.1 viser det manglende transistorarray i detaljer.

Som du kan se, er hver digital udgang fra dekoderen forbundet til basen af en npn-transistor via en strømbegrænsende modstand. Det er alt, virkelig simpelt.

Bare sørg for, at de transistorer, du bruger, kan klare en spænding på 170V og en strøm på 25mA. For at finde ud af, hvad din base-modstandsværdi skal være, skal du bruge lommeregneren, der er linket i slutningen af denne instruktionsbog under "Yderligere aflæsninger".

Trin 6: Aflæsning af temperaturen

Læsning af temperaturen
Læsning af temperaturen
Læsning af temperaturen
Læsning af temperaturen

Du har måske allerede hørt om DHT-11 (eller DHT-22) kombineret temperatur- og fugtighedsføler (se fig. 6.1). Den eneste forskel mellem denne sensor og DHT-22 er nøjagtigheden og måleområdet. 22 har et højere område og bedre nøjagtighed, men til måling af rumtemperaturen er DHT-11 mere end tilstrækkelig og billigere, selvom den kun kan levere heltalsresultater.

Sensoren kræver tre forbindelser: VCC, GND og en enkelt linje til seriel kommunikation. Du skal blot slutte den til spændingskilden og tilslutte den enkelte ledning til kommunikation til en GPIO -pin på Arduino. Databladet foreslår tilføjelse af en pull-up-modstand mellem com-line og VCC, så kommunikationslinjen er i høj tilstand, når den ikke bruges (se fig. 6.2).

Heldigvis er der allerede et bibliotek til DHT-11 (og en flok veldokumenterede biblioteker til DHT-22), som håndterer kommunikationen mellem Arduino og temperatursensoren. Så en testapplikation for denne del er ganske kort:

Trin 7: Fuldfør Arduino Sketch

Så efter at sensoraflæsningerne var udført, var det sidste trin at tage informationen fra sensorerne og vise temperaturen med Nixie -rørene.

For at tænde et bestemt tal på et rør skal du sende en 4-bit kode til dekoderen, som tænder den korrekte transistor. Desuden skal du også sende en bit, der angiver, hvilket af de to rør du vil indstille lige nu.

Jeg besluttede at tilføje en R/S-lås lige foran hver indgang på dekoderen. For jer, der ikke ved, hvordan en af disse låse fungerer, er her en hurtig forklaring:

Det giver dig dybest set mulighed for at gemme en smule information. Låsen kan være SET og RESET (deraf navnet R/S-Latch, også kendt som S/R-Latch eller R/S-Flip-Flop). Ved at aktivere SET -indgangen på låsen, sættes udgangen Q til 1. Ved at aktivere RESET -indgangen bliver Q 0. Hvis begge indgange ikke er aktive, bevares den tidligere tilstand af Q. Hvis begge input bliver aktiveret på samme tid, har du et problem, fordi låsen er tvunget til en ustabil tilstand, hvilket dybest set betyder, at dens adfærd vil være uforudsigelig, så undgå denne tilstand for enhver pris.

Så for at vise tallet 5 på det første (venstre) og tallet 7 på det andet Nixie -rør, skal du:

  • NULSTIL alle låsene
  • Aktiver venstre rør (Send 0 over EN-linjen)
  • Indstil dekoderens indgange (D, C, B og A): 0101
  • Sæt D, C, B og A alle til 0, så den sidste tilstand bevares (Dette behøver ikke at gøres, hvis begge rør skulle vise det samme tal)
  • Aktiver det højre rør
  • Indstil dekoderens indgange (D, C, B og A): 0111
  • Sæt D, C, B og A alle til 0, så den sidste tilstand bevares

For at slukke for rørene kan du sende en ugyldig værdi (f.eks. 10 eller 15). Dekoderen vil derefter slukke alle udgange, og derfor vil ingen af de tilgængelige transistorer blive aktiveret, og der vil ikke strømme strøm gennem Nixie -røret.

Du kan downloade hele firmwaren her

Trin 8: Odering af printkortet

Odering af printkortet
Odering af printkortet
Odering af printkortet
Odering af printkortet
Odering af printkortet
Odering af printkortet

Jeg ville kombinere alt (bortset fra trin-up kredsløbet) på et printkort, hvilket jeg synes var ret godt (se fig. (8.1).

Et af mine hovedmål var at holde PCB-størrelsen så lille som muligt, men stadig give lidt plads, hvor den kunne monteres på sagen. Jeg ville også bruge SMD-komponenter, så jeg kunne forbedre min loddeteknik, og de ville også hjælpe med at holde printkortet tyndt, så den tilpassede kasse ikke behøver at være stor og omfangsrig (se fig. 8.2).

På grund af brugen af SMD-komponenter skulle de fleste forbindelser foretages på komponentsiden. Jeg forsøgte at bruge så få vias som muligt. Bundlaget har egentlig kun GND-, VCC- og +170V-linjer og nogle forbindelser, der skulle foretages mellem forskellige ben på den samme IC. Det er også grunden til, at jeg brugte de to DIP-16 IC'er i stedet for deres SMD-varianter.

Du kan downloade PCB -designfiler og EAGLE -skemaer her.

Fordi dette er et lille design med meget små tolerancer og spor, var det vigtigt at finde en god producent til printkortene, så de ville blive pæne og fungere korrekt.

Jeg besluttede at bestille dem på PCBWay, og jeg kan ikke være mere tilfreds med det produkt, de sendte mig (Se fig. 8.3).

Du kan få et øjeblikkeligt tilbud på dine prototyper online uden at skulle registrere dig. Hvis du beslutter dig for at bestille: De har også denne praktiske online-konverter, der konverterer EAGLE-filer til det korrekte gerber-format. Selvom EAGLE også har en konverter, kan jeg virkelig godt lide online -konvertere fra producenter, for på den måde kan du være 100% sikker på, at der ikke vil være kompatibilitetsproblemer med gerber -versionen.

Trin 9: Fejlfinding

Fejlfinding
Fejlfinding

Da jeg først testede mit frisk loddet PCB, virkede intet. Rørene ville enten slet ikke vise noget (dekodere nåede en værdi> 9) eller tilfældige tal ville enten forblive konstant eller blinke til og fra, hvilket så godt ud, men var uønsket i dette tilfælde.

Først bebrejdede jeg softwaren. Så jeg fandt på denne Nixie -tester til Arduino (se fig. 9.1).

Dette script giver dig mulighed for at indtaste et nummer på en GPIO-pin (0-8), du vil ændre tilstanden for. Det beder derefter om staten. Når du indtaster pinkode 9, nulstilles låsene.

Så jeg fortsatte min testning og lavede en sandhedstabel med alle de mulige input til A, B, C og D. Jeg lagde mærke til, at tallene 4, 5, 6 og 7 ikke kunne vises med nogen af de to rør. Derudover ville de reagere forskelligt på den samme kombination af input.

Jeg tænkte, at der også må være et elektrisk problem. Jeg kunne ikke finde nogen tekniske problemer i designet, men så tænkte jeg på noget, jeg har lært for længe siden (men aldrig rigtig haft et problem med siden da): Flux kan være ledende. Dette er muligvis ikke et problem for sædvanlige digitale og lavspændingsapplikationer, men det ser ud til, at det var et problem her. Så jeg rensede brættet med alkohol, og bagefter opførte det sig ordentligt.

Slags. En anden ting, jeg lagde mærke til: Den del, jeg brugte i EAGLE, da jeg lavede mit PCB -layout, var forkert (i hvert fald for mine rør). Mine rør ser ud til at have en anden pinout.

Bare nogle ting at huske på, når dit kredsløb ikke fungerer med det samme.

Trin 10: En brugerdefineret sag

En brugerdefineret sag
En brugerdefineret sag
En brugerdefineret sag
En brugerdefineret sag
En brugerdefineret sag
En brugerdefineret sag

Efter at alt andet var ordnet, ville jeg bygge en fin sag til at huse mit kredsløb. Heldigvis havde jeg meget træ tilbage fra mit word clock -projekt, som jeg ville bruge til at bygge et gitter på indersiden (se fig. 10.1).

Jeg byggede sagen ved hjælp af følgende målinger:

Antal Målinger [mm] Beskrivelse
6 40 x 125 x 5 Bund, top, for- og bagside
2 40 x 70 x 5 Små sidestykker
2 10 x 70 x 10 Strukturelle stykker på indersiden (se fig. 8).
2 10 x 70 x 5 Strukturelle stykker på låget (se fig. 11).

Efter at have skåret stykkerne lagde jeg dem sammen for at skabe boksen vist i fig. 10.2.

Figur 10.3 viser sagen fra en anden vinkel.

Toppen af kabinettet er nøjagtig den samme som bunden, bare uden væggene og med mindre høje konstruktionsdele (se fig. 10.4). Det fungerer som et låg og kan tages af for at servicere komponenterne på indersiden. Printkortet monteres på låget med de to rør stikkende ud af kassen.

Efter at jeg var tilfreds med, hvordan alt passer sammen, limede jeg simpelthen alle delene sammen og lod det tørre i nogle timer.

Du undrer dig måske over, hvordan jeg fikseret printkortet til låget, når der ikke er nogen skruer synlige på toppen. Jeg borede simpelthen et hul til skruen i lågets konstruktionsdel og lavede derefter en forsænkning, så skruens hoved kunne gå ind (se fig. 10.5).

Trin 11: Afslutningen af bygningen

Afslutningen af bygningen
Afslutningen af bygningen
Afslutningen af bygningen
Afslutningen af bygningen

Efter at hovedprintet var monteret på låget, skulle alle de andre komponenter simpelthen placeres i kassen, hvilket kan ses i fig. 11.1.

Som du kan se, forsøgte jeg at organisere kablerne så godt som jeg kunne, og jeg synes, det blev ret godt. Alt passer fint ind i sagen, som du kan se på fig. 11.2.

Jeg tilføjede også en DC-Jack til sagen (og gik lidt amok med den varme lim der). Men på denne måde er det muligt at forsyne termometret med enhver generisk telefonoplader og et passende kabel. Du kan dog også tilføje et 5V batteri, hvis du vil.

Trin 12: Dele brugt i denne bygning

Til elektronikken:

Antal Produkt Pris detaljer
1 DHT-11 4, 19€ Fik det fra en dyr butik. Du kan få disse for mindre end 1 $ ind fra Kina.
2 CD4028BM 0, 81€ Dekoder
2 74HCT00D 0, 48€ NAND
1 74HCT04D 0, 29€ Inverter
1 Pinheader 0, 21€ 2x5 ben
1 Skrueterminal 0, 35€ 2 forbindelser
20 SMBTA42 0, 06€ npn-Transistor
20 SMD-modstand 0, 10€ 120K
2 74LS279N 1, 39€ R/S-flip-flops
1 PCB 4, 80€ Bestil her
2 IN-14 Nixies 2, 00€
1 Step-up konverter 6, 79€

Du skal også bruge en slags mikrokontroller. Jeg brugte en Arduino Pro Micro.

For sagen:

Antal Produkt Pris detaljer
N. A. Træ ~2€ Se ovenfor
4 M3x16 skruer 0, 05€
4 M3 nødder 0, 07€
1 flaske Trælim 1, 29€
1 dåse Træmaling 5, 79€

Trin 13: Konklusion

Konklusion
Konklusion
Konklusion
Konklusion

Jeg er virkelig glad for resultatet af dette byggeri. For en gangs skyld lykkedes det mig at skære træstykkerne præcist og glemte heller ikke monteringshuller til printkortet. Og det ser faktisk også storslået ud (se fig. 13.1).

Udover det var det interessant at arbejde med rør og høje spændinger generelt, og der er et par ting at overveje, når man gør det.

Afslutningsvis vil jeg sige, at det er godt, at vi har mere bekvemme måder at vise tal på i dag, men på den anden side er der ikke noget, der kan sammenlignes med gløden og det generelle udseende af nixie -rør, som jeg virkelig nyder at se på, især, når det er mørkt (se fig. 13.2).

Håber du kunne lide dette instruerbare. Hvis du gjorde det, skal du kigge på mit websted for flere interessante artikler og projekter!

Trin 14: Attributioner, kilder og yderligere aflæsninger

Yderligere aflæsningerMC34063 Applikationsdetaljer - ti.comMC4x063 Datablad - ti.comNixie tube driver IC - tubehobby.comDHT -11 Arduino bibliotek - arduino.ccA Transistor som switch - petervis.com Basismodstandsteori, formler og online lommeregner - petervis.com

Billedkilder [Fig. 1.1] IN-14 Nixie-rør, coldwarcreations.com [Fig. 2.1] Step-up kredsløb, selvtegnet, men taget fra ebay.com [Fig. 6.1] DHT-11 temperatursensor-tinytronics.nl

Anbefalede: