Inhoudsopgave:
- Stap 1: Nixie-buizen en hoogspanning
- Stap 2: 12V naar 170V DC Step-up Converter
- Stap 3: De buizen besturen met een Arduino
- Stap 4: Ontwerpoverwegingen
- Stap 5: De transistorarray
- Stap 6: De temperatuur aflezen
- Stap 7: Arduino-schets voltooien
- Stap 8: de printplaat bespeuren
- Stap 9: Problemen oplossen
- Stap 10: een aangepast geval
- Stap 11: Afwerking van de build
- Stap 12: Onderdelen gebruikt in deze build
- Stap 13: Conclusie
- Stap 14: Toeschrijvingen, bronnen en verdere lezingen
Video: Arduino gecontroleerde Nixie-buisthermometer - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Jaren geleden kocht ik een stel IN-14 Nixie-buizen uit de Oekraïne en sindsdien had ik ze rondslingeren. Ik wilde ze altijd gebruiken voor een aangepast apparaat en dus besloot ik dit project eindelijk aan te pakken en iets te bouwen dat gebruikmaakt van deze bijna oude manier om cijfers weer te geven, maar voor nu wilde ik geen Nixie-buisklok bouwen (ik dacht dat was een beetje een cliché om te doen en voorlopig heb ik genoeg van mooie hipsterklokprojecten), dus ik dacht: waarom geen thermometer voor mijn kamer bouwen die kan worden geactiveerd door te klappen? Ik heb het klappen geactiveerd zodat het niet de hele tijd aan zou staan, omdat ik dat nogal een verspilling van energie vond en ik ook niet wilde dat het de kamer verlichtte, vooral 's nachts.
De Nixie buizen worden aangestuurd door een Arduino, die ook verantwoordelijk is voor het uitlezen van de temperatuur van de bekende DHT-11 temperatuursensor.
Dit is een verkorte kopie van mijn originele serie die op mijn website is uitgebracht. Bekijk het als je geïnteresseerd bent in andere technische artikelen en projecten die ik nog niet heb bewerkt voor Instructables.
Stap 1: Nixie-buizen en hoogspanning
Nixie buizen zijn koude kathode buizen die gevuld zijn met een specifiek gas. Verder bevatten ze een gemeenschappelijke anode (of kathode) en aparte kathodes (of anodes) voor elk cijfer of teken dat ze kunnen weergeven (zie fig. 1.1).
In mijn geval hebben de buizen een gemeenschappelijke anode en zijn de cijfers afzonderlijke kathoden. In tegenstelling tot andere buizen uit die tijd (transistoren, diodes, …) hoeven Nixie buizen meestal niet verwarmd te worden om goed te werken (vandaar de naam: koude kathode buis).
Het enige dat ze nodig hebben, is een behoorlijk hoge spanning, meestal tussen 150 en 180V DC. Dit is meestal het grootste probleem bij het omgaan met deze weergaveapparaten, omdat het betekent dat je een aangepaste voeding of step-up circuit en controllers nodig hebt, die in staat zijn om de kathodes aan en uit te schakelen zonder al te veel GPIO-lijnen te gebruiken.
Stap 2: 12V naar 170V DC Step-up Converter
Laten we beginnen met op de een of andere manier de nodige spanning te creëren om de buizen te laten gloeien. Gelukkig heeft de typische Nixie-buis een hoge spanning maar een zeer lage stroom nodig, wat betekent dat het vrij eenvoudig en goedkoop is om zo'n converter te bouwen.
Wees voorzichtig bij het gebruik van dit circuit en hoge spanningen in het algemeen. Ze zijn geen speelgoed en het krijgen van een zap doet in het beste geval veel pijn en kan je in het ergste geval mogelijk doden! Schakel altijd de voeding uit voordat u het circuit wijzigt/onderhoudt en zorg ervoor dat u een goede behuizing gebruikt, zodat niemand het per ongeluk aanraakt wanneer het in gebruik is!
Ik gebruikte de bekende MC34063 geïntegreerde schakeling voor de step-up converter. Dit kleine IC combineert alles wat je nodig hebt voor elk type schakelconverter. In plaats van de ingebouwde transistor van het IC te gebruiken, besloot ik echter voor een externe transistor te gaan, waardoor het IC koel bleef en ik ook een hoger stroomverbruik aan de uitgang kon hebben. Bovendien, omdat het verrassend moeilijk was om de juiste waarden voor al deze componenten te vinden om een output van 170V te krijgen, gaf ik het op na enkele dagen van berekeningen en tests (het hoogste dat ik kreeg van 12V was 100V) en besloot ik niet opnieuw uit te vinden het wiel. In plaats daarvan kocht ik een kit van eBay, die min of meer het schema van deze datasheet volgt met een paar tweaks (zie fig. 2.1. Ik heb ook beschrijvingen aan de afbeelding toegevoegd).
Stap 3: De buizen besturen met een Arduino
Dus, zoals je eerder hebt gezien, hebben de buizen een hoge spanning nodig om in te schakelen. “Dus hoe zet je de buizen aan en uit met een microcontroller, zoals een Arduino?”, vraag je je misschien af.
Er zijn een paar alternatieve routes die u kunt nemen om dit doel te bereiken. Bijvoorbeeld speciale Nixie-buisdrivers. Je kunt nog steeds nieuwe oude voorraad en gebruikte IC's krijgen, maar ze kunnen moeilijk te vinden zijn en ze kunnen duur zijn en ik verwacht niet dat ze in de toekomst gemakkelijker te vinden zullen zijn, omdat deze niet meer worden geproduceerd.
Zo'n Nixie tube driver ga ik dus niet gebruiken. In plaats daarvan gebruik ik transistors en binaire naar decimale decoders, zodat ik geen 10 GPIO-lijnen per nixie-buis hoef te gebruiken. Met deze decoders heb ik 4 GPIO-lijnen per buis nodig en één lijn om tussen twee buizen te kiezen.
Bovendien, zodat ik niet steeds met een hoge frequentie tussen de buizen hoef te schakelen, gebruik ik flip-flops (die een extra GPIO-lijn nodig hebben om te resetten) om de laatste invoer zo lang als nodig te behouden (Zie Fig. 3.1, klik hier voor het volledige stuurcircuit in hoge resolutie).
Stap 4: Ontwerpoverwegingen
Tijdens het ontwerpen van deze schakeling vond ik decoders met ingebouwde R/S-Flip-Flops, die nog steeds worden geproduceerd (bijvoorbeeld de CD4514BM96). Maar helaas kon ik deze niet snel krijgen omdat de levertijd twee weken was en ik niet zo lang wilde wachten. Dus als je doel is om een kleine PCB te maken (of als je een klein aantal verschillende IC's wilt hebben), dan moet je zeker voor zo'n chip gaan, in plaats van externe flip-flops te gebruiken.
Er zijn ook omgekeerde varianten van deze decoders. De CD4514BM965 is bijvoorbeeld de omgekeerde variant van de bovengenoemde IC, waarbij het geselecteerde nummer laag zal zijn in plaats van hoog, wat niet is wat we in dit geval willen. Let dus op dit detail bij het bestellen van uw onderdelen. (Maak je geen zorgen: een volledige onderdelenlijst zal later in deze Instructable worden opgenomen!)
U kunt elk type transistor voor uw array gebruiken, zolang de nominale waarden overeenkomen met de spanning en stroomafname van uw buizen. Er zijn ook transistor-array IC's beschikbaar, maar nogmaals, ik kon geen IC's vinden die hoger waren dan 100V of die snel beschikbaar waren.
Stap 5: De transistorarray
In stap 3 heb ik de transistorarray niet getoond om de graphics eenvoudig en begrijpelijk te houden. Figuur 5.1 toont de ontbrekende transistorarray in detail.
Zoals je kunt zien, is elke digitale uitgang van de decoder via een stroombegrenzende weerstand verbonden met de basis van een npn-transistor. Dat is alles, heel eenvoudig.
Zorg er wel voor dat de transistors die u gebruikt een spanning van 170V en een stroomsterkte van 25mA aankunnen. Om erachter te komen wat uw basisweerstandswaarde moet zijn, gebruikt u de rekenmachine die aan het einde van deze Instructable is gekoppeld onder "Verdere metingen".
Stap 6: De temperatuur aflezen
U heeft wellicht al gehoord van de DHT-11 (of de DHT-22) gecombineerde temperatuur- en vochtigheidssensor (zie afb. 6.1). Het enige verschil tussen deze sensor en de DHT-22 is de nauwkeurigheid en het meetbereik. De 22 heeft een groter bereik en een betere nauwkeurigheid, maar voor het meten van de kamertemperatuur is de DHT-11 meer dan voldoende en goedkoper, ook al kan hij alleen integere resultaten opleveren.
De sensor heeft drie aansluitingen nodig: VCC, GND en een enkele lijn voor seriële communicatie. Sluit hem eenvoudig aan op de spanningsbron en sluit de enkele draad voor communicatie aan op een GPIO-pin van de Arduino. De datasheet stelt voor om een pull-up weerstand toe te voegen tussen de com-lijn en VCC, zodat de communicatielijn in een hoge staat is wanneer deze niet wordt gebruikt (zie fig. 6.2).
Gelukkig is er al een bibliotheek voor de DHT-11 (en een aantal goed gedocumenteerde bibliotheken voor de DHT-22), die de communicatie tussen de Arduino en de temperatuursensor zal regelen. Een testtoepassing voor dit onderdeel is dus vrij kort:
Stap 7: Arduino-schets voltooien
Dus nadat de sensoruitlezingen waren gedaan, was de laatste stap om de informatie van de sensoren te halen en de temperatuur weer te geven met de Nixie-buizen.
Om een bepaald nummer op een buis aan te zetten, moet je een 4-bits code naar de decoder sturen, die de juiste transistor aanzet. Verder moet je ook nog een bit uitzenden die aangeeft welke van de twee buizen je nu wilt instellen.
Ik besloot om voor elke ingang van de decoder een R/S-Latch toe te voegen. Voor degenen onder u die niet weten hoe een van deze vergrendelingen werkt, volgt hier een korte uitleg:
Het stelt u in feite in staat om een beetje informatie op te slaan. De vergrendeling kan SET en RESET zijn (vandaar de naam R/S-Latch, ook bekend als S/R-Latch of R/S-Flip-Flop). Door de SET-ingang van de latch te activeren, wordt de uitgang Q op 1 gezet. Door de RESET-ingang te activeren, wordt Q 0. Als beide ingangen niet actief zijn, blijft de vorige toestand van Q behouden. Als beide ingangen tegelijkertijd worden geactiveerd, heb je een probleem, omdat de grendel in een onstabiele toestand wordt gedwongen, wat in feite betekent dat zijn gedrag onvoorspelbaar zal zijn, dus vermijd deze toestand ten koste van alles.
Dus om het nummer 5 op de eerste (links) en het nummer 7 op de tweede Nixie tube weer te geven, moet je:
- RESET alle vergrendelingen
- Activeer de linker tube (Stuur 0 over de EN-lijn)
- Stel de ingangen van de decoder in (D, C, B en A): 0101
- Zet D, C, B en A allemaal op 0, zodat de laatste status behouden blijft (Dit hoeft niet als beide buizen hetzelfde nummer moeten weergeven)
- Activeer de rechter tube
- Stel de ingangen van de decoder in (D, C, B en A): 0111
- Zet D, C, B en A allemaal op 0, zodat de laatste status behouden blijft
Om de buizen uit te schakelen, kunt u een ongeldige waarde verzenden (zoals 10 of 15). De decoder zal dan alle uitgangen uitschakelen en daardoor zal geen van de beschikbare transistoren worden geactiveerd en zal er geen stroom door de Nixie buis vloeien.
U kunt de volledige firmware hier downloaden
Stap 8: de printplaat bespeuren
Ik wilde alles (behalve het step-up circuit) combineren op één printje, wat volgens mij best goed gelukt is (zie fig. (8.1)).
Een hoofddoel van mij was om het PCB-formaat zo klein mogelijk te houden, maar toch wat ruimte te bieden, waar het op de behuizing kon worden gemonteerd. Ik wilde ook SMD-componenten gebruiken, zodat ik mijn soldeertechniek kon verbeteren en ze zouden ook helpen om de PCB dun te houden, zodat de custom case niet groot en omvangrijk hoeft te zijn (zie fig. 8.2).
Door het gebruik van SMD-componenten moesten de meeste aansluitingen aan de componentzijde worden gemaakt. Ik heb geprobeerd om zo min mogelijk via's te gebruiken. De onderste laag heeft eigenlijk alleen de GND-, VCC- en +170V-lijnen en enkele verbindingen die gemaakt moesten worden tussen verschillende pinnen van hetzelfde IC. Dat is ook de reden waarom ik de twee DIP-16 IC's heb gebruikt in plaats van hun SMD-varianten.
U kunt de PCB-ontwerpbestanden en EAGLE-schema's hier downloaden.
Omdat dit een piepklein ontwerp is met zeer kleine toleranties en sporen was het belangrijk om een goede fabrikant voor de PCB's te vinden zodat ze mooi zouden worden en goed zouden werken.
Ik besloot ze bij PCBWay te bestellen en ik kan niet tevredener zijn met het product dat ze me hebben gestuurd (zie fig. 8.3).
U kunt direct online een offerte voor uw prototypes krijgen zonder dat u zich hoeft te registreren. Als u besluit te bestellen: Ze hebben ook deze handige online-converter die EAGLE-bestanden naar het juiste gerber-formaat converteert. Hoewel EAGLE ook een converter heeft, ben ik dol op online converters van fabrikanten, omdat je op deze manier 100% zeker kunt zijn dat er geen compatibiliteitsproblemen zijn met de gerber-versie.
Stap 9: Problemen oplossen
Toen ik mijn vers gesoldeerde PCB voor het eerst testte, werkte niets. De buizen zouden ofwel helemaal niets weergeven (decoders bereikten een waarde > 9) of willekeurige getallen zouden ofwel constant aan blijven of aan en uit knipperen, wat er mooi uitzag maar in dit geval ongewenst was.
In eerste instantie gaf ik de software de schuld. Dus bedacht ik deze Nixie-tester voor Arduino (zie fig. 9.1).
Met dit script kunt u een nummer van een GPIO-pin (0-8) invoeren waarvan u de status wilt wijzigen. Het vraagt dan om de staat. Bij het invoeren van pinnummer 9 worden de vergrendelingen gereset.
Dus ging ik verder met testen en maakte een waarheidstabel met alle mogelijke inputs voor A, B, C en D. Ik merkte dat de nummers 4, 5, 6 en 7 met geen van beide buizen konden worden weergegeven. Bovendien zouden ze anders reageren op dezelfde combinatie van inputs.
Ik dacht dat er ook een elektrisch probleem moest zijn. Ik kon geen technische problemen vinden in het ontwerp, maar toen dacht ik aan iets dat ik lang geleden heb geleerd (maar sindsdien nooit echt een probleem heb gehad): Flux kan geleidend zijn. Dit is misschien geen probleem voor gebruikelijke digitale en laagspanningstoepassingen, maar het lijkt erop dat het hier een probleem was. Dus ik maakte het bord schoon met alcohol en daarna gedroeg het zich naar behoren.
Soort van. Nog iets dat me opviel: het deel dat ik in EAGLE gebruikte bij het maken van mijn PCB-lay-out was onjuist (tenminste voor mijn buizen). Mijn buizen lijken een andere pinout te hebben.
Zomaar wat dingen om in gedachten te houden als je circuit niet meteen werkt.
Stap 10: een aangepast geval
Nadat al het andere was geregeld, wilde ik een mooie behuizing bouwen om mijn circuit te huisvesten. Gelukkig had ik nog veel hout over van mijn wordclock-project, dat ik wilde gebruiken voor het bouwen van een rooster aan de binnenkant (zie fig. 10.1).
Ik heb de behuizing gebouwd met behulp van de volgende metingen:
Hoeveelheid | Afmetingen [mm] | Beschrijving |
6 | 40 x 125 x 5" | Onder-, boven-, voor- en achterkant |
2 | 40 x 70 x 5" | Kleine zijstukken |
2 | 10x70x10 | Constructiestukken aan de binnenzijde (Zie fig. 8). |
2 | 10 x 70 x 5 | Constructiestukken op het deksel (Zie fig. 11). |
Nadat ik de stukken had gesneden, legde ik ze samen om de doos te maken die wordt getoond in Fig. 10.2.
Figuur 10.3 toont de casus vanuit een andere hoek.
De bovenkant van de kast is precies hetzelfde als de onderkant, alleen zonder de wanden en met minder hoge constructiedelen (zie fig. 10.4). Het fungeert als deksel en kan worden verwijderd om de onderdelen aan de binnenkant te onderhouden. De print wordt op het deksel gemonteerd met de twee buizen uit de behuizing.
Nadat ik tevreden was met hoe alles in elkaar past, heb ik gewoon alle onderdelen aan elkaar gelijmd en enkele uren laten drogen.
Je vraagt je misschien af, hoe ik de PCB op het deksel heb bevestigd als er geen schroeven aan de bovenkant zichtbaar zijn. Ik boorde eenvoudig een gat voor de schroef in het structurele deel van het deksel en maakte toen een verzinking voor de kop van de schroef om erin te gaan (zie fig. 10.5).
Stap 11: Afwerking van de build
Nadat de hoofdprint op het deksel was gemonteerd, moesten alle andere componenten eenvoudig in de behuizing worden geplaatst, wat te zien is in fig. 11.1.
Zoals je kunt zien, heb ik geprobeerd de kabels zo goed mogelijk te ordenen en ik denk dat het redelijk goed is gelukt. Alles past mooi in de koffer, zoals je kunt zien in fig. 11.2.
Ik heb ook een DC-Jack aan de behuizing toegevoegd (en werd een beetje gek met de hete lijm daar). Maar op deze manier is het mogelijk om de thermometer van stroom te voorzien met elke generieke telefoonoplader en een passende kabel. U kunt echter ook een 5V-batterij toevoegen als u dat wilt.
Stap 12: Onderdelen gebruikt in deze build
Voor de elektronica:
Hoeveelheid | Product | Prijs | Details |
1 | DHT-11 | 4, 19€ | Gekregen bij een dure winkel. Je kunt deze voor minder dan $ 1 uit China krijgen. |
2 | CD4028BM | 0, 81€ | Decoder |
2 | 74HCT00D | 0, 48€ | NAND |
1 | 74HCT04D | 0, 29€ | Omvormer |
1 | pinheader | 0, 21€ | 2x5 pinnen |
1 | Schroefaansluiting | 0, 35€ | 2 aansluitingen |
20 | SMBTA42 | 0, 06€ | npn-transistor |
20 | SMD-weerstand: | 0, 10€ | 120K |
2 | 74LS279N | 1, 39€ | R/S-Teenslippers |
1 | PCB | 4, 80€ | Bestel hier |
2 | IN-14 Nixies | 2, 00€ | |
1 | Step-up-omzetter | 6, 79€ |
Je hebt ook een soort microcontroller nodig. Ik gebruikte een Arduino Pro Micro.
Voor het geval:
Hoeveelheid | Product | Prijs | Details |
NA | Hout | ~2€ | Zie hierboven |
4 | M3x16 schroeven | 0, 05€ | |
4 | M3 moeren | 0, 07€ | |
1 fles | Houtlijm | 1, 29€ | |
1 kan | hout verf | 5, 79€ |
Stap 13: Conclusie
Ik ben erg blij met het resultaat van deze build. Voor een keer lukte het me om de stukken hout precies te zagen en ook de montagegaten voor de printplaat niet te vergeten. En het ziet er ook nog eens schitterend uit (zie fig. 13.1).
Daarnaast was het interessant om met buizen en hoge spanningen in het algemeen te werken en zijn er een aantal zaken waar je rekening mee moet houden.
Tot slot zou ik zeggen dat het goed is dat we tegenwoordig gemakkelijkere manieren hebben om getallen weer te geven, maar aan de andere kant is er niets vergelijkbaars met de gloed en het algehele uiterlijk van nixiebuizen, waar ik echt van geniet om naar te kijken, vooral, als het donker is (zie fig. 13.2).
Ik hoop dat je dit instructable leuk vond. Kijk dan zeker eens op mijn website voor meer interessante artikelen en projecten!
Stap 14: Toeschrijvingen, bronnen en verdere lezingen
Verdere metingenMC34063 Toepassingsdetails – ti.comMC4x063 Datasheet – ti.comNixie tube driver IC – tubehobby.comDHT-11 Arduino-bibliotheek – arduino.ccA Transistor als schakelaar - petervis.comBase weerstandstheorie, formules en online rekenmachine - petervis.com
Afbeeldingsbronnen [Fig. 1.1] IN-14 Nixie-buizen, coldwarcreations.com [Fig. 2.1] Step-up circuit, zelf getekend maar overgenomen van ebay.com[Fig. 6.1] DHT-11 temperatuursensor – tinytronics.nl
Aanbevolen:
DIY INTERNET GECONTROLEERDE SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): 8 stappen (met afbeeldingen)
DIY INTERNET GECONTROLEERDE SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): Hier is mijn tweede voorschot op een project dat ik je graag wil laten zien. Het gaat om een doe-het-zelf Smart LED Matrix waarmee je gegevens, zoals YouTube-statistieken, je Smart Home-statistieken, zoals temperatuur, vochtigheid, een eenvoudige klok kunt laten zien, of gewoon laten zien
Laptop Touchpad Gecontroleerde Modelspoorbaan - PS/2 Arduino-interface: 14 stappen
Laptop Touchpad Gecontroleerde Modelspoorbaan | PS/2 Arduino-interface: het touchpad van een laptop is een van de geweldige apparaten om te gebruiken als invoer voor microcontrollerprojecten. Dus laten we vandaag dit apparaat implementeren met een Arduino-microcontroller om een modelspoorbaan te besturen. Met een PS/2-touchpad kunnen we 3 t
Nixie klok met Arduino - Eenvoudigste ontwerp: 4 stappen
Nixie klok met Arduino | Eenvoudigste ontwerp: na een lange dag werken, heb ik eindelijk succes met het maken van de Nixie-klok met Arduino en opto-isolatiechip, geen Nixie-stuurprogramma nodig dat moeilijk te kopen is
SMARTPHONE GECONTROLEERDE ROBOT MET BLE 4.0 !!!: 5 stappen
SMARTPHONE GECONTROLEERDE ROBOT MET BLE 4.0 !!!: In vorige instructable heb ik met je gedeeld hoe je de Bluetooth-module (met name HM10 BLE v4.0) met Arduino kunt gebruiken om LED's te bedienen met een smartphone. Je kunt het hier bekijken. In deze instructable laat ik je zien hoe je een robot bouwt die kan worden
Wi-Servo: Wi-Fi Browser Gecontroleerde Servomotoren (met Arduino + ESP8266): 5 Stappen
Wi-Servo: Wi-fi Browser Controlled Servomotoren (met Arduino + ESP8266): Deze instructable laat zien hoe sommige servomotoren op afstand kunnen worden bediend in een wifi-netwerk, met behulp van een gewone internetbrowser (bijvoorbeeld Firefox). Dit kan in verschillende toepassingen worden gebruikt: speelgoed, robots, drones, camera pan/tilt, enz. De motoren waren