Obsah:

Hodiny Nixie Bargraph: 6 krokov (s obrázkami)
Hodiny Nixie Bargraph: 6 krokov (s obrázkami)

Video: Hodiny Nixie Bargraph: 6 krokov (s obrázkami)

Video: Hodiny Nixie Bargraph: 6 krokov (s obrázkami)
Video: Nixie IN-1 calender and VFD IV-6 clock 2024, Júl
Anonim
Barixové hodiny Nixie
Barixové hodiny Nixie
Barixové hodiny Nixie
Barixové hodiny Nixie

Upraviť 9/11/17 S pomocou Kickstarter som teraz vydal súpravu pre túto súpravu hodín! Obsahuje dosku vodiča a 2 skúmavky Nixie IN-9. Všetko, čo musíte pridať, je vaše vlastné Arduino/Raspberry Pi/iné. Súpravu nájdete, ale kliknutím na tento odkaz!

Takže som videl veľa hodín Nixie online a myslel som si, že vyzerajú skvele, ale nechcel som minúť viac ako 100 dolárov za hodiny, ktoré dokonca neobsahujú ani elektrónky! Takže s trochou znalostí elektroniky som lovil okolo rôznych nixie trubíc. a obvody. Chcel som urobiť niečo trochu iné ako veľký sortiment všeobecne dosť vyzerajúcich nixie hodín. Nakoniec som sa rozhodol použiť bargrafové trubice Nixie IN-9. Sú to dlhé tenké trubice a výška žiariacej plazmy závisí od prúdu, ktorý nimi prechádza. Rúrka vľavo je v hodinových krokoch a trubica vpravo je v minútach. Majú iba dva vodiče, a tak robia stavbu okruhu priamočiarejšou. V tomto prevedení je trubica na hodinu a minútu, pričom výšky plazmy v každej trubici predstavujú aktuálny čas. Čas sa uchováva pomocou mikrokontroléra Adafruit Trinket a hodín reálneho času (RTC).

Krok 1: Zostavenie dielov

Zostavenie dielov
Zostavenie dielov

Existujú dve sekcie, prvá elektronika a potom montáž a konečná úprava. Potrebné elektronické komponenty sú: Adafruit Trinket 5V - 7,95 dolárov (www.adafruit.com/products/1501) Adafruit RTC - 9 dolárov (www.adafruit.com/products/264) 2x bargraf Nixie IN -9 ~ 3 doláre za tubu na eBay 1x Napájanie Nixie 140v ~ 12 dolárov na eBay 4x 47 uF elektrolytické kondenzátory 4x 3,9 kOhm odpory 2x 1 kOhm potenciometer 2x tranzistor MJE340 vysoké napätie NPN ~ $ 1 každý 1x LM7805 5v regulátor ~ $ 1 1x zásuvka 2,1 mm ~ $ 1 1x projektový box s PCB ~ $ 5 1x Napájanie 12 V jednosmerným prúdom (našiel som starý z nejakého dávno zabudnutého zariadenia) Spájka, zapojovací drôt atď. Montáž: Rozhodol som sa namontovať elektroniku do malého čierneho plastového boxu na projektory a potom trubice namontovať na starožitný hodinový strojček. Na označenie hodiny a minúty som použil medený drôt omotaný rúrkami. Montážne diely: Starožitný hodinový strojček - 10 dolárov eBay Medený drôt - 3 doláre eBay Horúca lepiaca pištoľ

Krok 2: Okruh

Obvod
Obvod
Obvod
Obvod
Obvod
Obvod
Obvod
Obvod

Prvým krokom je vybudovanie napájacieho zdroja Nixie. Toto prišlo ako pekná malá súprava od eBay, vrátane malého PCB a potrebovalo len spájkovať komponenty s doskou. Tento konkrétny zdroj je variabilný medzi 110-180 V, ovládateľný malým hrncom na doske. Pomocou malého skrutkovača upravte výstup na ~ 140 V. Predtým, ako som prešiel celou cestou, chcel som otestovať svoje nixie elektrónky, aby som to urobil, postavil som jednoduchý testovací obvod s použitím jednej trubice, tranzistora a 10k potenciometra, okolo ktorého som ležal. Ako je možné vidieť na prvom obrázku, napájanie 140 V je pripevnené k trubičkovej anóde (pravá noha). Katóda (ľavá noha) je potom spojená s kolektorovou nohou tranzistora MJE340. Napájanie 5v je pripojené k 10k banku rozdeľujúcej uzemnenie na základňu tranzistora. Nakoniec je tranzistorový vysielač pripojený cez odpor obmedzujúci prúd 300 ohmov k zemi. Ak nie ste oboznámení s tranzistormi a elektronikou, nevadí, jednoducho ich zapojte a zmeňte výšku plazmy otočným gombíkom! Akonáhle to bude fungovať, môžeme sa pozrieť na výrobu svojich hodín. Celý hodinový obvod je možné vidieť na druhom schéme zapojenia. Po troche skúmania som našiel perfektný návod na webovej stránke Adafruit learn, ktorý robí takmer presne to, čo som robiť chcel. Tutoriál nájdete tu: https://learn.adafruit.com/trinket-powered-analog-m… Tento tutoriál používa ovládač Trinket a RTC na ovládanie dvoch analógových zosilňovačov. Použitie pulznej šírkovej modulácie (PWM) na ovládanie vychýlenia ihly. Cievka ampérmetra spriemeruje PWM na efektívny jednosmerný signál. Ak však použijeme PWM priamo na pohon elektrónok, potom vysokofrekvenčná modulácia znamená, že plazmová lišta nezostane „prichytená“k spodnej časti trubice a budete mať vznášajúcu sa tyč. Aby sa tomu zabránilo, spriemeroval som PWM pomocou dolnopriepustného filtra s dlhou časovou konštantou, aby som získal takmer jednosmerný signál. Toto má medznú frekvenciu 0,8 Hz, to je v poriadku, pretože aktualizujeme čas iba každých 5 sekúnd. Navyše, pretože bargrafy majú obmedzenú životnosť a možno bude potrebné ich vymeniť, a nie každá trubica je úplne rovnaká, pridal som za trubicu 1k hrniec. To umožňuje doladenie výšky plazmy pre dve skúmavky. Na zapojenie drobnosti k hodinám reálneho času (RCT) pripojte Trinket-pin 0 k RTC-SDA, Trinket-pin 2 k RTC-SCL a Trinket-5v k RTC-5v a Trinket GND k uzemneniu RTC. V tejto časti môže byť užitočné pozrieť sa na hodiny s pokynmi Adafruit, https://learn.adafruit.com/trinket-powered-analog-…. Akonáhle sú Trinket a RTC správne zapojené, zapojte nixie trubice, tranzistory, filtre atď. Na prepojovaciu platňu opatrne podľa schémy zapojenia.

Aby ste mohli hovoriť o RTC a Trinket, musíte si najskôr stiahnuť správne knižnice z Adafruit Github. Potrebujete TinyWireM.h a TInyRTClib.h. Najprv chceme kalibrovať skúmavky, nahrajte náčrt kalibrácie na konci tohto návodu. Ak ani jedna zo skíc na konci práce nefunguje, vyskúšajte skicu hodín Adafruit. Vylepšil som skicu hodín Adafruit, aby čo najefektívnejšie fungovala s trubičkami nixie, ale skica Adafruit bude fungovať dobre.

Krok 3: Kalibrácia

Kalibrácia
Kalibrácia

Po nahratí kalibračného náčrtu je potrebné označiť dieliky.

Na kalibráciu existujú tri režimy, prvý nastavuje obe nixie skúmavky na maximálny výkon. Použite to na nastavenie hrnca tak, aby výška plazmy v oboch skúmavkách bola rovnaká a aby bola mierne pod maximálnou výškou. To zaisťuje lineárnu odozvu v celom rozsahu hodín.

Druhé nastavenie kalibruje skúmavku minút. Mení sa medzi 0, 15, 30, 45 a 60 minútami každých 5 sekúnd.

Pri poslednom nastavení sa to opakuje pre každú hodinu. Na rozdiel od hodín Adafruit sa ukazovateľ hodiny pohybuje v pevných prírastkoch raz za hodinu. Pri použití analógového merača bolo ťažké získať lineárnu odozvu pre každú hodinu.

Po úprave hrnca nahrajte skicu, aby ste ju niekoľko minút kalibrovali. Vezmite tenký medený drôt a odstrihnite krátku dĺžku. Omotajte to okolo trubice a otočte dva konce k sebe. Posuňte to do správnej polohy a pomocou horúcej lepiacej pištole umiestnite malú kvapku lepidla, aby zostala na správnom mieste. Opakujte to pre každú minútu a hodinu.

Zabudol som urobiť nejaký obrázok z tohto procesu, ale na obrázkoch môžete vidieť, ako je drôt pripevnený. Aj keď som na pripevnenie drôtu použil oveľa menej lepidla.

Krok 4: Montáž a dokončenie

Montáž a dokončovanie
Montáž a dokončovanie
Montáž a dokončovanie
Montáž a dokončovanie
Montáž a dokončovanie
Montáž a dokončovanie

Akonáhle sú skúmavky všetky kalibrované a fungujú, je načase natrvalo vytvoriť obvod a namontovať ho na nejakú formu základne. Vyberám si starožitný hodinový strojček, pretože sa mi páčil mix starožitných, 60. rokov a moderných technológií. Pri prenose z doštičky na pásovú dosku buďte veľmi opatrní a dajte si načas, aby ste zaistili všetky spojenia. Krabica, ktorú som si kúpil, bola trochu malá, ale s opatrným umiestnením a malým nátlakom sa mi podarilo všetko zmestiť. Do boku som vyvŕtal otvor pre napájanie a ďalší pre nixie vývody. Nixie vodiče som zakryl tepelným zmršťovaním, aby som predišiel skratom. Keď je elektronika namontovaná v krabici, prilepte ju k zadnej časti strojčeka. Na upevnenie rúrok som použil horúce lepidlo a prilepil body skrúteného drôtu na kov, pričom som dával pozor, aby boli rovné. Pravdepodobne som použil príliš veľa lepidla, ale nie je to veľmi nápadné. Možno je to niečo, čo sa dá v budúcnosti zlepšiť. Keď je všetko namontované, načítajte skicu hodín Nixie na konci tohto návodu a obdivujte svoje krásne nové hodiny!

Krok 5: Skica Arduino - kalibrácia

#define HOUR_PIN 1 // Hodinový displej cez PWM na Trinket GPIO #1

#define MINUTE_PIN 4 // Minútové zobrazenie prostredníctvom PWM na Trinket GPIO #4 (prostredníctvom hovorov časovača 1)

int hodiny = 57; int minúty = 57; // nastavenie minimálneho pwm

void setup () {pinMode (HOUR_PIN, OUTPUT); pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // nastavenie PWM výstupov

}

void loop () {// Pomocou tohto vyladenia hrncov nixie zaistíte, aby sa maximálna výška trubice zhodovala s analogWrite (HOUR_PIN, 255); analogWrite4 (255); // Toto použite na kalibráciu minútových prírastkov

/*

analogWrite4 (57); // oneskorenie 0 minúty (5000); analogWrite4 (107); // oneskorenie 15 minút (5000); analogWrite4 (156); // oneskorenie 30 minút (5000); analogWrite4 (206); // oneskorenie 45 minút (5000); analogWrite4 (255); // oneskorenie 60 minút (5000);

*/

// Toto použite na kalibráciu hodinových prírastkov /*

analogWrite (HOUR_PIN, 57); // 57 je minimálny výkon a zodpovedá oneskoreniu 1 hod/min (4000); // oneskorenie 4 sekundy analogWrite (HOUR_PIN, 75); // 75 je výstup, ktorý zodpovedá oneskoreniu 2 h/min (4000); analogWrite (HOUR_PIN, 93); // 93 je výstup, ktorý zodpovedá oneskoreniu 3 hod/min (4000); analogWrite (HOUR_PIN, 111); // 111 je výstup, ktorý zodpovedá oneskoreniu 4 h/min (4000); analogWrite (HOUR_PIN, 129); // 129 je výstup, ktorý zodpovedá oneskoreniu 5 hodín/min (4000); analogWrite (HOUR_PIN, 147); // 147 je výstup, ktorý zodpovedá oneskoreniu 6 hodín/minútu (4000); analogWrite (HOUR_PIN, 165); // 165 je výstup, ktorý zodpovedá oneskoreniu 7 hodín/minútu (4000); analogWrite (HOUR_PIN, 183); // 183 je výstup, ktorý zodpovedá oneskoreniu 8 hodín/minútu (4000); analogWrite (HOUR_PIN, 201); // 201 je výstup, ktorý zodpovedá oneskoreniu 9 hodín/minútu (4000); analogWrite (HOUR_PIN, 219); // 219 je výstup, ktorý zodpovedá oneskoreniu 10 hodín/minútu (4000); analogWrite (HOUR_PIN, 237); // 237 je výstup, ktorý zodpovedá oneskoreniu 11 hodín/minútu (4000); analogWrite (HOUR_PIN, 255); // 255 je výkon, ktorý zodpovedá 12 hod/hod

*/

}

neplatné PWM4_init () {// Nastavte PWM na Trinket GPIO #4 (PB4, pin 3) pomocou časovača 1 TCCR1 = _BV (CS10); // žiadny prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // vymazanie OC1B pri porovnaní OCR1B = 127; // inicializácia pracovného cyklu na 50% OCR1C = 255; // frekvencia}

// Funkcia umožňujúca analogWrite na Trinket GPIO #4 neplatné analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // clo môže byť 0 až 255 (0 až 100%)}

Krok 6: Skica Arduino - hodiny

// Hodiny analógového meradla Adafruit Trinket

// Funkcie dátumu a času pomocou DS1307 RTC pripojeného cez I2C a TinyWireM lib

// Stiahnite si tieto knižnice z úložiska Github spoločnosti Adafruit a // nainštalujte ich do adresára knižníc Arduino #include #include

// Na ladenie odkomentujte sériový kód, použite FTDI Friend s pinom RX pripojeným na Pin 3 // Budete potrebovať terminálový program (napríklad freeware PuTTY pre Windows) nastavený na // USB port priateľa FTDI na 9600 prenosová rýchlosť. Odkomentujte sériové príkazy, aby ste zistili, čo sa deje // #define HOUR_PIN 1 // Hodinový displej cez PWM na Trinket GPIO #1 #define MINUTE_PIN 4 // Minútové zobrazenie cez PWM na Trinket GPIO #4 (cez hovory s časovačom 1) // SendOnlySoftwareSériový sériový (3); // Sériový prenos na Trinket Pin 3 RTC_DS1307 rtc; // Nastavte hodiny v reálnom čase

void setup () {pinMode (HOUR_PIN, OUTPUT); // definovanie pinov elektromera PWM ako výstupov pinMode (MINUTE_PIN, OUTPUT); PWM4_init (); // Nastavenie časovača 1, aby fungoval PWM na Trinket Pin 4 TinyWireM.begin (); // Začnite I2C rtc.begin (); // Začnite s hodinami DS1307 v reálnom čase //Serial.begin(9600); // Začnite sériový monitor pri 9600 baudoch, ak (! Rtc.isrunning ()) {//Serial.println("RTC NIE JE spustený! "); // nasledujúci riadok nastaví RTC na dátum a čas, kedy bola táto skica zostavená rtc.adjust (DateTime (_ DATE_, _TIME_)); }}

void loop () {uint8_t hodina, minutevalue; uint8_t hodinové napätie, minútové napätie;

DateTime now = rtc.now (); // Získať RTC info hourvalue = now.hour (); // Získať hodinu if (hodinová hodnota> 12) hodinová hodnota -= 12; // Tieto hodiny majú 12 -minútovú minútovú hodnotu = now.minute (); // Získajte zápisnicu

minutevoltage = mapa (minutevalue, 1, 60, 57, 255); // Prevod minút na pracovný cyklus PWM

if (hodinahodina == 1) {analogWrite (HOUR_PIN, 57); } if (hourvalue == 2) {analogWrite (HOUR_PIN, 75); // každá hodina zodpovedá +18} if (hourvalue == 3) {analogWrite (HOUR_PIN, 91); }

if (hodinahodina == 4) {analogWrite (HOUR_PIN, 111); } if (hourvalue == 5) {analogWrite (HOUR_PIN, 126); } if (hourvalue == 6) {analogWrite (HOUR_PIN, 147); } if (hourvalue == 7) {analogWrite (HOUR_PIN, 165); } if (hourvalue == 8) {analogWrite (HOUR_PIN, 183); } if (hourvalue == 9) {analogWrite (HOUR_PIN, 201); } if (hourvalue == 10) {analogWrite (HOUR_PIN, 215); } if (hourvalue == 11) {analogWrite (HOUR_PIN, 237); } if (hourvalue == 12) {analogWrite (HOUR_PIN, 255); }

analogWrite4 (minútové napätie); // minútový analogový zápis môže zostať rovnaký ako pri mapovaní // vhodnejší môže byť kód na prepnutie procesora - oneskoríme oneskorenie (5 000); // kontrola času každých 5 sekúnd. Môžete to zmeniť. }

neplatné PWM4_init () {// Nastavte PWM na Trinket GPIO #4 (PB4, pin 3) pomocou časovača 1 TCCR1 = _BV (CS10); // žiadny prescaler GTCCR = _BV (COM1B1) | _BV (PWM1B); // vymazanie OC1B pri porovnaní OCR1B = 127; // inicializácia pracovného cyklu na 50% OCR1C = 255; // frekvencia}

// Funkcia umožňujúca analogWrite na Trinket GPIO #4 neplatná analogWrite4 (uint8_t duty_value) {OCR1B = duty_value; // clo môže byť 0 až 255 (0 až 100%)}

Odporúča: