INHOUDSOPGAWE:

Nixie staafgrafiek: 6 stappe (met foto's)
Nixie staafgrafiek: 6 stappe (met foto's)

Video: Nixie staafgrafiek: 6 stappe (met foto's)

Video: Nixie staafgrafiek: 6 stappe (met foto's)
Video: Blender - Nixie Tube Reel 2024, November
Anonim
Nixie staafgrafiek klok
Nixie staafgrafiek klok
Nixie staafgrafiek klok
Nixie staafgrafiek klok

Edit 9/11/17 Met die hulp van Kickstarter het ek nou 'n kit vir hierdie klokstel vrygestel! Dit bevat 'n bestuurdersbord en 2 Nixie IN-9 buise. Al wat u hoef te voeg is u eie Arduino/Raspberry Pi/ander. Die kit kan gevind word, maar klik op hierdie skakel!

Dus het ek baie Nixie -horlosies aanlyn gesien en gedink dit lyk goed, maar ek wou nie $ 100+ spandeer op 'n horlosie wat nie eers die buise bevat nie! So met 'n bietjie elektroniese kennis het ek om die verskillende nixie -buise gejag. en stroombane. Ek wou iets anders maak as die groot verskeidenheid nixie -horlosies wat oor die algemeen soortgelyk lyk. Uiteindelik het ek besluit om Nixie IN-9 staafgrafiekbuise te gebruik. Dit is lang dun buise en die hoogte van die gloeiende plasma hang af van die stroom deur die buise. Die buis aan die linkerkant is in inkremente van uur en die buis aan die regterkant is in minute. Hulle het slegs twee leidings en maak die bou van 'n stroombaan meer reguit. In hierdie ontwerp is daar 'n uur en 'n minuut buis, met die hoogtes van die plasma in elke buis die huidige tyd. Die tyd word aangehou met 'n Adafruit Trinket -mikrobeheerder en 'n real -time klok (RTC).

Stap 1: Monteer die dele

Montering van die onderdele
Montering van die onderdele

Daar is twee afdelings, eerstens die elektronika en tweedens die montering en afwerking. Die elektroniese komponente wat benodig word, is: Adafruit Trinket 5V - $ 7,95 (www.adafruit.com/products/1501) Adafruit RTC - $ 9 (www.adafruit.com/products/264) 2x Nixie IN -9 staafgrafiek ~ $ 3 per buis op eBay 1x Nixie 140v kragtoevoer ~ $ 12 op eBay 4x 47 uF elektroliet kondensators 4x 3,9 kOhm weerstande 2x 1 kOhm potensiometer 2x Transistor MJE340 NPN hoogspanning ~ $ 1 elk 1x LM7805 5v reguleerder ~ $ 1 1x 2,1 mm aansluiting ~ $ 1 1x projekkas met PCB ~ $ 5 1x 12V DC -kragtoevoer (ek het 'n ou uit 'n vergete apparaat gekry) Soldeer, aansluitdraad, ens. Montering: Ek het besluit om die elektronika in 'n klein swart plastiekboks te monteer, en dan die buise op 'n antieke klokbeweging te monteer. Om die uur en minute te merk, gebruik ek koperdraad om die buise. Monteringsonderdele: Antieke klokbeweging - $ 10 eBay Koperdraad - $ 3 eBay Warm gomgeweer

Stap 2: Skakel

Kring
Kring
Kring
Kring
Kring
Kring
Kring
Kring

Die eerste stap is om die Nixie -kragtoevoer te bou. Dit kom as 'n mooi kitjie van eBay, insluitend 'n bietjie PCB en benodig net dat die komponente aan die bord gesoldeer word. Hierdie spesifieke toevoer is wisselbaar tussen 110-180v, beheerbaar met 'n klein potjie op die bord. Stel die uitset met 'n klein skroewedraaier in op ~ 140v. Voordat ek die hele pad aangaan, wou ek my nixie -buise toets, en om dit te doen, het ek 'n eenvoudige toetsbaan gebou met een buis, transistor en 'n 10k potensiometer wat ek gelê het. Soos in die eerste figuur gesien is, word die 140V -toevoer aan die buisanode (regterbeen) gekoppel. Die katode (linkerbeen) word dan met die versamelaarbeen van die MJE340 -transistor verbind. 'N 5V -toevoer is gekoppel aan 'n 10k -pot wat in die transistorbasis met die grond verdeel word. Uiteindelik word die transistor -emitter via 'n stroombegrensende weerstand van 300 ohm met die aarde verbind. As u nie vertroud is met transistors en elektronika nie, maak dit nie regtig saak nie, bedraad dit net en verander die plasmashoogte met die potknop! As dit eers werk, kan ons kyk hoe ons ons horlosie kan maak. Die volledige klokstroom kan in die tweede stroombaan -diagram gesien word. Na 'n bietjie navorsing het ek 'n perfekte tutoriaal op die Adafruit -leerwebwerf gevind, en doen presies wat ek wou doen. Die tutoriaal kan hier gevind word: https://learn.adafruit.com/trinket-powered-analog-m… Hierdie tutoriaal gebruik 'n Trinket-kontroleerder en 'n RTC om twee analoog versterkermeters te beheer. Gebruik polswydte modulasie (PWM) om die afbuiging van die naald te beheer. Die spoel van die ampmeter meet die PWM gemiddeld tot 'n effektiewe DC -sein. As ons die PWM egter direk gebruik om die buise aan te dryf, beteken die hoëfrekwensie -modulasie dat die plasmabalk nie aan die onderkant van die buis "vasgeklem" bly nie, en u sal 'n swewende staaf hê. Om dit te vermy, het ek die PWM gemiddeld gebruik deur 'n laagdeurlaatfilter met 'n lang tydskonstante te gebruik om 'n amper DC -sein te kry. Dit het 'n afsnyfrekwensie van 0,8 Hz, dit is goed, aangesien ons die kloktyd slegs elke 5 sekondes opdateer. Aangesien staafgrafieke 'n beperkte lewensduur het en moontlik vervang moet word, en nie elke buis presies dieselfde is nie, het ek 'n 1k -pot ná die buis ingesluit. Hierdeur kan tweaking die plasmahoogte vir die twee buise aanpas. Om die snuistery na die real-time klok (RCT) te koppel, koppel Trinket-pin 0 aan RTC-SDA, Trinket-pin 2 aan RTC-SCL en Trinket-5v aan RTC-5v en die Trinket GND aan die RTC-grond. Vir hierdie deel kan dit nuttig wees om die instruksies van die Adafruit-klok, https://learn.adafruit.com/trinket-powered-analog-…, te sien. Sodra die Trinket en RTC korrek bedraad is, dra die nixie -buise, transistors, filters, ens op 'n broodbord op, volg die kringsdiagram noukeurig.

Om die RTC en Trinket aan die praat te kry, moet u eers die korrekte biblioteke aflaai van die Adafruit Github. U benodig TinyWireM.h en TInyRTClib.h. Eerstens wil ons die buise kalibreer, laai die kalibreringskets aan die einde van hierdie instruksie op. As nie een van die sketse aan die einde werk nie, probeer dan die Adafruit -klokskets. Ek het die Adafruit -klokskets aangepas om die doeltreffendste met die nixie -buise te werk, maar die Adafruit -skets sal goed werk.

Stap 3: Kalibrasie

Kalibrasie
Kalibrasie

Nadat u die kalibrasie -skets opgelaai het, moet die gradepunte gemerk word.

Daar is drie modusse vir die kalibrasie; die eerste stel beide nixie -buise op die maksimum uitset. Gebruik die pot sodat die plasmahoogte in beide buise dieselfde is en dat dit effens onder die maksimum hoogte is. Dit verseker dat die reaksie lineêr oor die hele klokreeks is.

Die tweede instelling kalibreer die minute -buis. Dit wissel elke 5 sekondes tussen 0, 15, 30, 45 en 60 minute.

Die laaste instelling herhaal dit vir elke verhoging van 'n uur. Anders as die Adafruit -klok, beweeg die uuraanwyser een keer per uur in vaste stappe. Dit was moeilik om 'n lineêre respons vir elke uur te kry as u 'n analoog meter gebruik.

Sodra u die pot aangepas het, laai die skets op om dit vir 'n paar minute te kalibreer. Neem die dun koperdraad en sny 'n kort lengte. Draai dit om die buis en draai die twee ente saam. Skuif dit na die regte posisie en plaas 'n klein bietjie gom met 'n warm lijmpistool om dit op die regte plek te hou. Herhaal dit vir elke minuut en uur toename.

Ek het vergeet om foto's van hierdie proses te neem, maar jy kan op die foto's sien hoe die draad vasgemaak is. Alhoewel ek baie minder gom gebruik het net om die draad vas te maak.

Stap 4: Montering en afwerking

Montering en afwerking
Montering en afwerking
Montering en afwerking
Montering en afwerking
Montering en afwerking
Montering en afwerking

Sodra die buise almal gekalibreer is en werk, is dit nou die tyd om die kring permanent te maak en op 'n basis te monteer. Ek kies 'n antieke klokbeweging, aangesien ek van die mengsel van antieke, 60's en moderne tegnologie gehou het. Wees baie versigtig as u van die broodbord na die strookplank oorgaan, en neem u tyd om te verseker dat alle verbindings gemaak word. Die boks wat ek gekoop het, was 'n bietjie klein, maar met 'n paar noukeurige plasing en 'n bietjie dwinging het ek dit reggekry. Ek het 'n gat in die sy geboor vir die kragtoevoer en nog een vir die nixie -leidings. Ek bedek die nixiedrade met 'n hittekrimp om kortbroek te vermy. As die elektronika in die boks aangebring word, plak dit aan die agterkant van die klok se beweging vas. Om die buise te monteer, het ek warm gom gebruik en die punte van die gedraaide draad aan die metaal vasgeplak, maar sorg dat dit reguit is. Ek het waarskynlik te veel gom gebruik, maar dit is nie baie opvallend nie. Dit is moontlik iets wat in die toekoms verbeter kan word. As dit klaar is, laai die Nixie -klokskets aan die einde van hierdie instruksies en bewonder u u nuwe horlosie!

Stap 5: Arduino Sketch - Kalibrasie

#definieer HOUR_PIN 1 // Uurvertoning via PWM op Trinket GPIO #1

#define MINUTE_PIN 4 // Minute -vertoning via PWM op Trinket GPIO #4 (via timer 1 -oproepe)

int uur = 57; int minute = 57; // stel minimum pwm

ongeldige opstelling () {pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // stel PWM -uitsette op

}

void lus () {// Gebruik dit om die nixie potte aan te pas om seker te maak dat die maksimum buishoogte ooreenstem met analogWrite (HOUR_PIN, 255); analogWrite4 (255); // Gebruik hierdie om die minuutstappe te kalibreer

/*

analogWrite4 (57); // minuut 0 vertraging (5000); analogWrite4 (107); // minuut 15 vertraging (5000); analogWrite4 (156); // minuut 30 vertraging (5000); analogWrite4 (206); // minuut 45 vertraging (5000); analogWrite4 (255); // minuut 60 vertraging (5000);

*/

// Gebruik hierdie om die uurstygings te kalibreer /*

analogWrite (HOUR_PIN, 57); // 57 is die minimum uitset en stem ooreen met 1 am/pm vertraging (4000); // vertraag 4 sekondes analogWrite (HOUR_PIN, 75); // 75 is die uitset wat ooreenstem met 2 am/pm vertraging (4000); analogWrite (HOUR_PIN, 93); // 93 is die uitset wat ooreenstem met 3 am/pm vertraging (4000); analogWrite (HOUR_PIN, 111); // 111 is die uitset wat ooreenstem met 4 am/pm vertraging (4000); analogWrite (HOUR_PIN, 129); // 129 is die uitset wat ooreenstem met 5 am/pm vertraging (4000); analogWrite (HOUR_PIN, 147); // 147 is die uitset wat ooreenstem met 6 am/pm vertraging (4000); analogWrite (HOUR_PIN, 165); // 165 is die uitset wat ooreenstem met 7 am /pm vertraging (4000); analogWrite (HOUR_PIN, 183); // 183 is die uitset wat ooreenstem met die vertraging van 8 am/pm (4000); analogWrite (HOUR_PIN, 201); // 201 is die uitset wat ooreenstem met die vertraging van 09:00 tot 22:00 (4000); analogWrite (HOUR_PIN, 219); // 219 is die uitset wat ooreenstem met vertraging van 10:00 tot 22:00 (4000); analogWrite (HOUR_PIN, 237); // 237 is die uitset wat ooreenstem met 11: 00/pm vertraging (4000); analogWrite (HOUR_PIN, 255); // 255 is die uitset wat ooreenstem met 12 am/pm

*/

}

ongeldig PWM4_init () {// Stel PWM op op Trinket GPIO #4 (PB4, pen 3) met Timer 1 TCCR1 = _BV (CS10); // geen voorverkoeler GTCCR = _BV (COM1B1) | _BV (PWM1B); // maak OC1B skoon op vergelyk OCR1B = 127; // dienssiklus initialiseer tot 50% OCR1C = 255; // frekwensie }

// Funksie om analogWrite toe te laat op Trinket GPIO #4 leeg analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // diens kan 0 tot 255 wees (0 tot 100%)}

Stap 6: Arduino Sketch - klok

// Adafruit Trinket analoog meterklok

// Datum- en tydfunksies met behulp van 'n DS1307 RTC wat via I2C en die TinyWireM lib gekoppel is

// Laai hierdie biblioteke af van Adafruit se Github -bewaarplek en installeer dit in u gids Arduino Libraries #include #include

// Gebruik 'n FTDI -vriend vir ontfouting, ongekommenteerde reekskode, met sy RX -pen gekoppel aan pen 3 // U benodig 'n terminale program (soos freeware PuTTY vir Windows) op die // USB -poort van die FTDI -vriend by 9600 roem. Kom op met seriële opdragte om te sien wat gebeur // #definieer HOUR_PIN 1 // Uurweergawe via PWM op Trinket GPIO #1 #definieer MINUTE_PIN 4 // Minute -vertoning via PWM op Trinket GPIO #4 (via timer 1 -oproepe) // SendOnlySoftwareSerial Serial (3); // Seriële transmissie op Trinket Pin 3 RTC_DS1307 rtc; // Stel 'n intydse klok in

ongeldige opstelling () {pinMode (HOUR_PIN, OUTPUT); // definieer PWM meterpenne as uitsette pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // Stel timer 1 in om PWM op Trinket Pin 4 TinyWireM.begin () te werk; // Begin I2C rtc.begin (); // Begin DS1307 intydse klok // Serial.begin(9600); // Begin Serial Monitor met 9600 baud as (! Rtc.isrunning ()) {//Serial.println("RTC NIE loop nie! "); // volgende reël stel die RTC op die datum en tyd waarop hierdie skets opgestel is rtc.adjust (DateTime (_ DATE_, _TIME_)); }}

leemte -lus () {uint8_t uurwaarde, minuutwaarde; uint8_t uur spanning, minuut spanning;

DateTime nou = rtc.now (); // Kry die RTC -inligting hourvalue = now.hour (); // Kry die uur as (uurwaarde> 12) uurwaarde -= 12; // Hierdie klok is 12 uur se minuutwaarde = nou.minute (); // Kry die notule

minutevoltage = kaart (minutewaarde, 1, 60, 57, 255); // Skakel minute om na PWM -dienssiklus

as (uurwaarde == 1) {analogWrite (HOUR_PIN, 57); } if (uurwaarde == 2) {analogWrite (HOUR_PIN, 75); // elke uur stem ooreen met +18} if (uurwaarde == 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); }

analogWrite4 (minutevoltage); // minuut analogwrite kan dieselfde bly as die kartering // kode om die verwerker te laat slaap kan verkieslik wees - ons vertraag (5000); // kyk elke 5 sekondes. U kan dit verander. }

ongeldig PWM4_init () {// Stel PWM op op Trinket GPIO #4 (PB4, pen 3) met Timer 1 TCCR1 = _BV (CS10); // geen voorverkoeler GTCCR = _BV (COM1B1) | _BV (PWM1B); // maak OC1B skoon op vergelyk OCR1B = 127; // dienssiklus initialiseer tot 50% OCR1C = 255; // frekwensie }

// Funksie om analogWrite toe te laat op Trinket GPIO #4 leeg analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // diens kan 0 tot 255 wees (0 tot 100%)}

Aanbeveel: