Inhoudsopgave:
- Stap 1: De onderdelen monteren
- Stap 2: Circuit
- Stap 3: Kalibratie
- Stap 4: Montage en afwerking
- Stap 5: Arduino Sketch - Kalibratie
- Stap 6: Arduino Sketch - Klok
Video: Nixie Bargraph Clock - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Edit 9/11/17Met de hulp van Kickstarter heb ik nu een kit voor deze klok kit uitgebracht! Het bevat een driver board en 2 Nixie IN-9 buizen. Het enige dat u hoeft toe te voegen, is uw eigen Arduino/Raspberry Pi/andere. De kit is te vinden, maar klik op deze link!
Dus ik heb veel Nixie-klokken online gezien en dacht dat ze er geweldig uitzagen, maar ik wilde geen $ 100+ uitgeven aan een klok die niet eens de buizen bevat! Dus met een beetje kennis van elektronica jaagde ik rond de verschillende nixiebuizen en circuits. Ik wilde iets anders maken dan het grote aanbod van over het algemeen redelijk op elkaar lijkende nixie-klokken. Uiteindelijk heb ik ervoor gekozen om Nixie IN-9 bargraph buizen te gebruiken. Dit zijn lange dunne buizen en de hoogte van het gloeiende plasma is afhankelijk van de stroom door de buizen. De buis aan de linkerkant is in stappen van uren en de buis aan de rechterkant is in minuten. Ze hebben maar twee leidingen en maken het bouwen van een circuit eenvoudiger. In dit ontwerp is er een buis van een uur en een minuut, waarbij de hoogte van het plasma in elke buis de huidige tijd voorstelt. De tijd wordt bijgehouden met behulp van een Adafruit Trinket-microcontroller en een realtimeklok (RTC).
Stap 1: De onderdelen monteren
Er zijn twee secties, ten eerste de elektronica en ten tweede de montage en afwerking. De vereiste elektronische componenten zijn: Adafruit Trinket 5V - $ 7,95 (www.adafruit.com/products/1501) Adafruit RTC - $ 9 (www.adafruit.com/products/264) 2x Nixie IN-9 bargraph ~ $ 3 per buis op eBay 1x Nixie 140v voeding ~$12 op eBay 4x 47 uF elektrolyt condensatoren 4x 3.9 kOhm weerstanden 2x 1 kOhm potentiometer 2x Transistor MJE340 NPN hoogspanning ~$1 elk 1x LM7805 5v regelaar ~$1 1x 2.1mm socket ~$1 1x projectdoos met pcb ~$5 1x 12v DC-voeding (ik vond een oude van een lang vergeten gadget) Soldeer, aansluitdraad, enz. Montage: Ik besloot de elektronica in een kleine zwarte plastic projectdoos te monteren en vervolgens de buizen op een antiek uurwerk te monteren. Om de uren en minuten te markeren heb ik koperdraad om de buizen gewikkeld. Bevestigingsonderdelen: antieke klokbeweging - $ 10 eBay-koperdraad - $ 3 eBay Heet lijmpistool
Stap 2: Circuit
De eerste stap is het bouwen van de Nixie-voeding. Dit kwam als een leuke kleine kit van eBay, inclusief een kleine PCB en de componenten moesten alleen op het bord worden gesoldeerd. Deze specifieke voeding is variabel tussen 110-180v, regelbaar met een kleine pot op het bord. Stel met een kleine schroevendraaier de output in op ~140v. Voordat ik de hele weg ging, wilde ik mijn nixie-buizen testen, om dit te doen heb ik een eenvoudig testcircuit gebouwd met behulp van één buis, transistor en een 10k-potentiometer die ik had liggen. Zoals te zien is in de eerste afbeelding, is de 140v-voeding bevestigd aan de buisanode (rechterpoot). De kathode (linkerbeen) wordt dan verbonden met het collectorbeen van de MJE340-transistor. Een 5v-voeding is verbonden met een 10k-pot die de aarde in de transistorbasis verdeelt. Ten slotte wordt de transistoremitter via een stroombegrenzingsweerstand van 300 ohm met aarde verbonden. Als je niet bekend bent met transistors en elektronica, maakt het niet echt uit, sluit hem gewoon aan en verander de plasmahoogte met de potknop! Als dat eenmaal werkt, kunnen we kijken naar het maken van onze klok. Het volledige klokcircuit is te zien in het tweede schakelschema. Na wat onderzoek vond ik een perfecte tutorial op de Adafruit Learn-website die bijna precies deed wat ik wilde doen. De tutorial is hier te vinden: https://learn.adafruit.com/trinket-powered-analog-m… Deze tutorial gebruikt een Trinket-controller en een RTC om twee analoge ampèremeters aan te sturen. Met behulp van pulsbreedtemodulatie (PWM) om de doorbuiging van de naald te regelen. De spoel van de ampèremeter middelt de PWM tot een effectief gelijkstroomsignaal. Als we de PWM echter rechtstreeks gebruiken om de buizen aan te drijven, betekent de hoogfrequente modulatie dat de plasmabalk niet "vastgeklemd" blijft aan de basis van de buis en dat je een zwevende balk hebt. Om dit te voorkomen heb ik de PWM gemiddeld met een laagdoorlaatfilter met een lange tijdconstante om een bijna gelijkstroomsignaal te krijgen. Dit heeft een afsnijfrequentie van 0,8 Hz, dit is prima aangezien we de kloktijd slechts om de 5 seconden bijwerken. Omdat staafdiagrammen een beperkte levensduur hebben en mogelijk moeten worden vervangen en niet elke buis precies hetzelfde is, heb ik een pot van 1k na de buis toegevoegd. Dit maakt het mogelijk om de plasmahoogte voor de twee buizen aan te passen. Om de trinket aan te sluiten op de real-time klok (RCT) sluit u Trinket-pin 0 aan op RTC-SDA, Trinket-pin 2 op RTC-SCL en Trinket-5v op RTC-5v en de Trinket GND op de RTC-aarde. Voor dit deel kan het handig zijn om de Adafruit-klokinstructie te bekijken, https://learn.adafruit.com/trinket-powered-analog-…. Zodra de Trinket en RTC correct zijn aangesloten, sluit u de nixie-buizen, transistors, filters enz. Op een breadboard zorgvuldig aan volgens het schakelschema.
Om de RTC en Trinket aan het praten te krijgen, moet je eerst de juiste bibliotheken downloaden van de Adafruit Github. Je hebt TinyWireM.h en TInyRTClib.h nodig. Eerst willen we de buizen kalibreren, upload de kalibratieschets aan het einde van deze instructable. Als geen van de schetsen aan het einde werkt, probeer dan de Adafruit-klokschets. Ik heb de Adafruit-klokschets aangepast om het meest effectief te werken met de nixiebuizen, maar de Adafruit-schets zal prima werken.
Stap 3: Kalibratie
Nadat u de kalibratieschets hebt geüpload, moeten de schaalverdelingen worden gemarkeerd.
Er zijn drie standen voor de kalibratie, de eerste zet beide nixietubes op de maximale output. Gebruik deze om de pot zo af te stellen dat de plasmahoogte in beide buizen gelijk is en dat deze iets onder de maximale hoogte ligt. Dit zorgt ervoor dat de respons lineair is over het hele klokbereik.
De tweede instelling kalibreert de minutenbuis. Het verandert elke 5 seconden tussen 0, 15, 30, 45 en 60 minuten.
De laatste instelling herhaalt dit voor elke stap van een uur. In tegenstelling tot de Adafruit-klok beweegt de uuraanduiding eenmaal per uur in vaste stappen. Het was moeilijk om voor elk uur een lineaire respons te krijgen bij gebruik van een analoge meter.
Nadat je de pot hebt aangepast, upload je de schets om minutenlang te kalibreren. Neem de dunne koperdraad en knip een korte lengte af. Wikkel dit om de buis en draai de twee uiteinden in elkaar. Schuif deze naar de juiste positie en gebruik een heet lijmpistool om een klein kloddertje lijm op de juiste plaats te houden. Herhaal dit voor elke minuut en elk uur.
Ik ben vergeten foto's van dit proces te maken, maar je kunt op de foto's zien hoe de draad is bevestigd. Hoewel ik veel minder lijm gebruikte om de draad te bevestigen.
Stap 4: Montage en afwerking
Zodra de buizen allemaal zijn gekalibreerd en werken, is het nu de tijd om het circuit permanent te maken en op een of andere vorm van basis te monteren. Ik koos voor een antiek uurwerk omdat ik de mix van antiek, 60's en moderne technologie leuk vond. Wanneer u van de breadboard naar stripboard gaat, wees dan heel voorzichtig en neem de tijd om ervoor te zorgen dat alle verbindingen worden gemaakt. De doos die ik kocht was een beetje klein, maar met wat zorgvuldige plaatsing en een beetje forceren slaagde ik erin om het allemaal passend te krijgen. Ik heb een gat in de zijkant geboord voor de voeding en een ander voor de nixie-leads. Ik heb de nixie-draden bedekt met krimpkous om kortsluiting te voorkomen. Wanneer de elektronica in de doos is gemonteerd, lijm deze dan aan de achterkant van het uurwerk. Om de buizen te monteren, heb ik hete lijm gebruikt en de punten van de gedraaide draad op het metaal gelijmd, waarbij ik ervoor zorgde dat ze recht waren. Ik heb waarschijnlijk te veel lijm gebruikt, maar het is niet erg opvallend. Het is misschien iets dat in de toekomst verbeterd kan worden. Wanneer alles is gemonteerd, laadt u de Nixie-klokschets aan het einde van deze instructable en bewondert u uw mooie nieuwe klok!
Stap 5: Arduino Sketch - Kalibratie
#define HOUR_PIN 1 // Uurweergave via PWM op Trinket GPIO #1
#define MINUTE_PIN 4 // Minutenweergave via PWM op Trinket GPIO #4 (via Timer 1-oproepen)
int uren = 57;int minuten = 57; // stel minimum pwm in
void setup () { pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, UITGANG); PWM4_init(); // PWM-uitgangen instellen
}
void loop () { // Gebruik dit om de nixie-potten aan te passen om ervoor te zorgen dat de maximale buishoogte overeenkomt met analogWrite (HOUR_PIN, 255); analoogWrite4(255); // Gebruik dit om de minuutstappen te kalibreren
/*
analoogWrite4(57); // minuut 0 vertraging (5000); analoogWrite4(107); // minuut 15 vertraging (5000); analoogWrite4(156); // minuut 30 vertraging (5000); analoogWrite4(206); // minuut 45 vertraging (5000); analoogWrite4(255); // minuut 60 vertraging (5000);
*/
// Gebruik dit om de uurstappen te kalibreren /*
analogWrite(HOUR_PIN, 57); // 57 is de minimale output en komt overeen met 1am/pm vertraging (4000); //vertraging 4 seconden analogWrite (HOUR_PIN, 75); // 75 is de output die overeenkomt met 2am/pm vertraging (4000); analogWrite(HOUR_PIN, 93); // 93 is de output die overeenkomt met 3am/pm delay (4000); analogWrite(HOUR_PIN, 111); // 111 is de output die overeenkomt met 4am/pm delay (4000); analogWrite(HOUR_PIN, 129); // 129 is de output die overeenkomt met 5am/pm vertraging (4000); analogWrite(HOUR_PIN, 147); // 147 is de output die overeenkomt met 6am/pm vertraging (4000); analogWrite(HOUR_PIN, 165); // 165 is de output die overeenkomt met 7am/pm vertraging (4000); analogWrite(HOUR_PIN, 183); // 183 is de output die overeenkomt met 8am/pm vertraging (4000); analogWrite(HOUR_PIN, 201); // 201 is de uitvoer die overeenkomt met een vertraging van 9.00 uur/pm (4000); analogWrite(HOUR_PIN, 219); // 219 is de output die overeenkomt met een vertraging van 10 uur/pm (4000); analogWrite(HOUR_PIN, 237); // 237 is de uitvoer die overeenkomt met een vertraging van 11.00 uur/pm (4000); analogWrite(HOUR_PIN, 255); // 255 is de output die overeenkomt met 12am/pm
*/
}
void PWM4_init() {// Stel PWM in op Trinket GPIO #4 (PB4, pin 3) met Timer 1 TCCR1 = _BV (CS10); // geen prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // wis OC1B bij vergelijken OCR1B = 127; // duty cycle initialiseren tot 50% OCR1C = 255; // frequentie }
// Functie om analogWrite toe te staan op Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // belasting kan 0 tot 255 zijn (0 tot 100%) }
Stap 6: Arduino Sketch - Klok
// Adafruit Trinket analoge meterklok
// Datum- en tijdfuncties met behulp van een DS1307 RTC aangesloten via I2C en de TinyWireM-lib
// Download deze bibliotheken van Adafruit's Github-repository en // installeer in uw Arduino Libraries-map #include #include
// Gebruik voor foutopsporing, verwijder de seriële code, een FTDI-vriend met zijn RX-pin aangesloten op Pin 3 // Je hebt een terminalprogramma nodig (zoals freeware PuTTY voor Windows) ingesteld op de // USB-poort van de FTDI-vriend op 9600 baud. Verwijder seriële commando's om te zien wat er aan de hand is //#define HOUR_PIN 1 // Uurweergave via PWM op Trinket GPIO #1 #define MINUTE_PIN 4 // Minutenweergave via PWM op Trinket GPIO #4 (via Timer 1-oproepen) //SendOnlySoftwareSerial Serial (3); // Seriële transmissie op Trinket Pin 3 RTC_DS1307 rtc; // Realtime klok instellen
void setup () { pinMode (HOUR_PIN, OUTPUT); // definieer PWM-meterpinnen als uitgangen pinMode (MINUTE_PIN, OUTPUT); PWM4_init(); // Stel timer 1 in om PWM te laten werken op Trinket Pin 4 TinyWireM.begin(); // Begin I2C rtc.begin(); // Begin DS1307 real-time klok //Serial.begin (9600); // Begin Serial Monitor op 9600 baud if (! rtc.isrunning()) { //Serial.println ("RTC is NIET actief!"); // volgende regel stelt de RTC in op de datum en tijd waarop deze schets is gecompileerd rtc.adjust(DateTime(_DATE_, _TIME_)); }}
void loop () { uint8_t uurwaarde, minuutwaarde; uint8_t uurspanning, minuutspanning;
DateTime nu = rtc.now(); // Haal de RTC info hourvalue = now.hour(); // Haal het uur op als (uurwaarde > 12) uurwaarde -= 12; // Deze klok is 12 uur minuutwaarde = now.minute(); // Haal de minuten op
minuutvoltage = kaart (minuutwaarde, 1, 60, 57, 255); // Zet minuten om in PWM-duty cycle
if(uurwaarde == 1){ analogWrite(HOUR_PIN, 57); } if(uurwaarde == 2){ analogWrite(HOUR_PIN, 75); // elk uur komt overeen met +18 } if(hourvalue == 3){ analogWrite(HOUR_PIN, 91); }
if(uurwaarde == 4){ analogWrite(HOUR_PIN, 111); } if(uurwaarde == 5){ analogWrite(HOUR_PIN, 126); } if(uurwaarde ==6){ analogWrite(HOUR_PIN, 147); } if(uurwaarde == 7){ analogWrite(HOUR_PIN, 165); } if(uurwaarde == 8){ analogWrite(HOUR_PIN, 183); } if(uurwaarde == 9){ analogWrite(HOUR_PIN, 201); } if(uurwaarde == 10){ analogWrite(HOUR_PIN, 215); } if(uurwaarde == 11){ analogWrite(HOUR_PIN, 237); } if(uurwaarde == 12){ analogWrite(HOUR_PIN, 255); }
analoogWrite4(minutenspanning); // minuut analoog schrijven kan hetzelfde blijven als de mapping werkt // code om de processor in de sluimerstand te zetten kan de voorkeur hebben - we zullen vertraging uitstellen (5000); // controleer de tijd elke 5 seconden. U kunt dit wijzigen. }
void PWM4_init() {// Stel PWM in op Trinket GPIO #4 (PB4, pin 3) met Timer 1 TCCR1 = _BV (CS10); // geen prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // wis OC1B bij vergelijken OCR1B = 127; // duty cycle initialiseren tot 50% OCR1C = 255; // frequentie }
// Functie om analogWrite toe te staan op Trinket GPIO #4 void analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // belasting kan 0 tot 255 zijn (0 tot 100%) }
Aanbevolen:
Maak een Infinity Mirror Clock: 15 stappen (met afbeeldingen)
Maak een Infinity Mirror Clock: In een vorig project bouwde ik een oneindige spiegel, waar mijn uiteindelijke doel was om er een klok van te maken. (Maak een kleurrijke oneindigheidsspiegel) Ik heb dat niet nagestreefd nadat ik het had gebouwd, want hoewel het er cool uitzag, waren er een paar dingen met de
Bargraph Clock IOT (ESP8266 + 3D-geprinte behuizing): 5 stappen (met afbeeldingen)
Bargraph Clock IOT (ESP8266 + 3D-geprinte behuizing): Hallo, op deze Instructables zal ik je uitleggen hoe je een IOT 256 LED-staafgrafiekklok kunt bouwen. Deze klok is niet erg moeilijk te maken, niet erg duur, maar je moet geduldig om de tijd te vertellen ^^ maar het is aangenaam om te maken en vol lesgeven. Om ma
Nog een andere Nixie-klok: 6 stappen (met afbeeldingen)
Nog een andere Nixie-klok: ik heb altijd al een nixie-klok willen hebben, er is gewoon iets met die gloeiende cijfers dat me fascineert. Dus toen ik een paar niet al te dure IN12's op ebay vond, kocht ik ze, verwonderde me erover toen ik ze ontving, maar ontdekte al snel dat om
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
Nixie Tube Watch: 7 stappen (met afbeeldingen)
Nixie Tube Watch: Ik heb eerder dit jaar een horloge gebouwd om te zien of ik iets kon maken dat functioneel was. Ik had 3 hoofdontwerpvereisten Houd de tijd nauwkeurig Een batterij die de hele dag meegaat Klein genoeg zijn om comfortabel te dragen Ik slaagde erin om aan de eerste 2 vereisten te voldoen, maar