Съдържание:

Arduino контролиран Nixie-тръбен термометър: 14 стъпки
Arduino контролиран Nixie-тръбен термометър: 14 стъпки

Видео: Arduino контролиран Nixie-тръбен термометър: 14 стъпки

Видео: Arduino контролиран Nixie-тръбен термометър: 14 стъпки
Видео: Ч3 57 - тахометр. Измеряем обороты двигателя. Счётчик количества витков для намоточного станка. 2024, Ноември
Anonim
Arduino термометър Nixie с тръба
Arduino термометър Nixie с тръба

Преди години купих куп тръби IN-14 Nixie от Украйна и оттогава ги лежах. Винаги съм искал да ги използвам за персонализирано устройство и затова реших най -накрая да се справя с този проект и да създам нещо, което използва този почти древен начин за показване на цифри, но засега не исках да изграждам часовник с лампа Nixie (мислех, че беше малко клиширано нещо за правене и засега ми стигнаха фантастичните проекти на хипстър часовник), затова си помислих: Защо да не построя термометър за стаята си, който да се активира чрез пляскане? Накарах го да се активира с пляскане, така че да не е включен през цялото време, защото смятах, че това е голяма загуба на енергия и също не исках да осветява стаята, особено през нощта.

Тръбите Nixie се управляват от Arduino, който също е отговорен за отчитане на температурата от добре познатия температурен сензор DHT-11.

Това е съкратено копие от оригиналната ми поредица, публикувана на моя уебсайт. Разгледайте го, ако се интересувате от други технически статии и проекти, които все още не съм редактирал за Instructables.

Стъпка 1: Nixie тръби и високо напрежение

Nixie тръби и високо напрежение
Nixie тръби и високо напрежение

Тръбите Nixie са тръби със студен катод, които са пълни със специфичен газ. Освен това те съдържат общ анод (или катод) и отделни катоди (или аноди) за всяка цифра или символ, които могат да покажат (виж фиг. 1.1).

В моя случай тръбите имат общ анод, а цифрите са отделни катоди. За разлика от други тръби от онова време (транзистори, диоди, …) Обикновено тръбите на Nixie не се нагряват, за да работят правилно (оттук и името: тръба със студен катод).

Единственото нещо, от което се нуждаят, е доста високо напрежение, обикновено между 150 и 180V DC. Това обикновено е основният проблем при работа с тези дисплейни устройства, защото това означава, че ще се нуждаете от персонализирано захранване или усилваща верига и контролери, които могат да включват и изключват катодите, без да използват твърде много GPIO линии.

Стъпка 2: Повишаващ преобразувател 12V към 170V DC

Повишаващ преобразувател 12V към 170V DC
Повишаващ преобразувател 12V към 170V DC

Нека започнем с това, че по някакъв начин създаваме необходимото напрежение, за да накараме тръбите да светят. За щастие типичната тръба на Nixie се нуждае от високо напрежение, но много нисък ток, което означава, че е доста лесно и евтино да се изгради такъв преобразувател.

Бъдете внимателни, когато използвате тази схема и високите напрежения като цяло. Те не са играчка и получаването на запълващо боли много в най -добрия случай и потенциално може да ви убие в най -лошия случай! Винаги изключвайте захранването преди смяна/обслужване на веригата и не забравяйте да използвате подходящ калъф, така че никой да не го докосне случайно, когато се използва!

Използвах добре познатата интегрална схема MC34063 за повишаващия преобразувател. Тази малка интегрална схема комбинира всичко необходимо за всякакъв вид превключващ преобразувател. Въпреки това, вместо да използвам вградения транзистор на интегралната схема, реших да отида с външен транзистор, което помогна на IC да се охлади и също така ми позволи да имам по-висок ток на изхода. Освен това, тъй като беше изненадващо трудно да се намерят правилните стойности за всички тези компоненти, за да се получи изход от 170V, аз се отказах след няколко дни на изчисления и тестове (Най-високото, което получих от 12V беше 100V) и реших да не изобретявам отново колелото. Вместо това купих комплект от eBay, който почти следва схемата от този лист с няколко ощипвания (Вижте фиг. 2.1. Добавих и описания към изображението).

Стъпка 3: Контрол на тръбите с Arduino

Управление на тръбите с Arduino
Управление на тръбите с Arduino

Така че, както видяхте по -рано, тръбите изискват високо напрежение за включване. „И така, как можете да включвате и изключвате тръбите с микроконтролер, като Arduino?“, Може да попитате.

Има няколко алтернативни маршрута, които можете да предприемете, за да постигнете тази цел. Например, специални драйвери за тръби Nixie. Все още можете да получите нови стари запаси и употребявани интегрални схеми, но те могат да бъдат трудни за намиране и могат да бъдат скъпи и не очаквам да ги намерите по -лесно в бъдеще, тъй като те вече не се произвеждат.

Така че няма да използвам такъв драйвер за тръби Nixie. Вместо това ще използвам транзистори и двоични до десетични декодери, така че да не се налага да използвам 10 GPIO линии на никси тръба. С тези декодери ще ми трябват 4 GPIO линии на тръба и един ред, за да избера между две епруветки.

Освен това, за да не се налага да превключвам между епруветките през цялото време с висока честота, ще използвам джапанки (които ще се нуждаят от една допълнителна линия GPIO за нулиране), за да запазя последния вход толкова дълго, колкото е необходимо (Вижте фиг. 3.1, щракнете тук за пълната верига за управление с висока разделителна способност).

Стъпка 4: Съображения за проектиране

Докато проектирах тази схема, открих декодери с вградени R/S-джапанки, които все още се произвеждат (например CD4514BM96). Но за съжаление не успях да ги получа бързо, тъй като времето за доставка беше две седмици и не исках да чакам толкова дълго. Така че, ако целта ви е да направите малка печатна платка (или искате да имате малък брой различни интегрални схеми), тогава определено трябва да отидете с такъв чип, вместо да използвате външни джапанки.

Съществуват и обърнати варианти на тези декодери. Например, CD4514BM965 е обърнат вариант към гореспоменатия IC, където избраният номер ще бъде нисък вместо висок, което не е това, което искаме в този случай. Затова обърнете внимание на този детайл, когато поръчвате частите си. (Не се притеснявайте: Пълен списък с части ще бъде включен по -късно в тази инструкция!)

Можете да използвате всеки тип транзистор за вашия масив, стига рейтингите да съответстват на напрежението и тока на вашите лампи. Налични са и интегрални схеми с транзисторни масиви, но отново не успях да намеря такива, които са оценени над 100V или са бързо достъпни.

Стъпка 5: Транзисторен масив

Транзисторен масив
Транзисторен масив

В стъпка 3 не показах транзисторния масив, за да поддържа графиката проста и лесно разбираема. Фигура 5.1 показва подробно липсващия транзисторен масив.

Както можете да видите, всеки цифров изход на декодера е свързан към основата на npn-транзистор чрез резистор за ограничаване на тока. Това е всичко, наистина просто.

Просто се уверете, че транзисторите, които използвате, могат да издържат на напрежение от 170V и ток от 25mA. За да разберете каква трябва да бъде стойността на вашия основен резистор, използвайте калкулатора, свързан в края на тази инструкция под „Допълнителни показания“.

Стъпка 6: Отчитане на температурата

Четене на температурата
Четене на температурата
Четене на температурата
Четене на температурата

Може би вече сте чували за комбинирания датчик за температура и влажност на DHT-11 (или DHT-22) (Вижте фиг. 6.1). Единствената разлика между този сензор и DHT-22 е точността и обхвата на измерване. 22 има по-висок обхват и по-добра точност, но за измерване на стайната температура DHT-11 е повече от достатъчен и по-евтин, въпреки че може да даде само цели числа.

Сензорът изисква три връзки: VCC, GND и един ред за серийна комуникация. Просто го свържете към източника на напрежение и свържете единичния проводник за комуникация с GPIO щифт на Arduino. Информационният лист предлага добавяне на издърпващ резистор между com-line и VCC, така че комуникационната линия да е във високо състояние, когато не се използва (Вижте фиг. 6.2).

За щастие вече има библиотека за DHT-11 (и куп добре документирани библиотеки за DHT-22), която ще обработва комуникацията между Arduino и температурния сензор. Така че тестовото приложение за тази част е доста кратко:

Стъпка 7: Попълнете скицата на Arduino

Така че след отчитането на сензора, последната стъпка беше да вземете информацията от сензорите и да покажете температурата с тръбите на Nixie.

За да включите определен номер на тръба, трябва да предадете 4-битов код на декодера, който ще включи правилния транзистор. Освен това трябва да предадете и един бит, който показва коя от двете тръби искате да настроите в момента.

Реших да добавя R/S-Latch точно пред всеки вход на декодера. За тези от вас, които не знаят как работи една от тези ключалки, ето кратко обяснение:

По същество ви позволява да съхранявате един бит информация. Резето може да бъде SET и RESET (оттук и името R/S-Latch, известно още като S/R-Latch или R/S-Flip-Flop). Чрез активиране на входа SET на ключалката изходът Q се настройва на 1. Чрез активиране на входа RESET, Q става 0. Ако и двата входа не са активни, се запазва предишното състояние на Q. Ако и двата входа се активират едновременно, имате проблем, тъй като ключалката е принудена в нестабилно състояние, което основно означава, че поведението му ще бъде непредсказуемо, така че избягвайте това състояние на всяка цена.

Така че, за да се покаже номер 5 на първата (вляво) и номер 7 на втората тръба на Nixie, трябва:

  • ВЪЗСТАНОВЕТЕ всички ключалки
  • Активирайте лявата тръба (Изпратете 0 по EN-линия)
  • Задайте входовете на декодера (D, C, B и A): 0101
  • Задайте D, C, B и A на 0, така че да се запази последното състояние (Това не е необходимо да се прави, ако и двете тръби трябва да показват същия номер)
  • Активирайте дясната тръба
  • Задайте входовете на декодера (D, C, B и A): 0111
  • Задайте D, C, B и A на 0, така че последното състояние да се запази

За да изключите тръбите, можете да предадете невалидна стойност (като 10 или 15). След това декодерът ще изключи всички изходи и следователно нито един от наличните транзистори няма да бъде активиран и токът няма да тече през тръбата на Nixie.

Можете да изтеглите целия фърмуер тук

Стъпка 8: Извършване на печатни платки

Извършване на печатни платки
Извършване на печатни платки
Извършване на печатни платки
Извършване на печатни платки
Извършване на печатни платки
Извършване на печатни платки

Исках да комбинирам всичко (с изключение на усилващата верига) на една печатна платка, която според мен се получи доста добре (виж фиг. (8.1)).

Моята основна цел беше да поддържам размера на печатната платка възможно най-малък, но все пак да осигуря малко място, където да може да се монтира към кутията. Исках също да използвам SMD-компоненти, за да мога да подобря техниката си на запояване и те също така биха помогнали за поддържането на печатната платка тънка, така че персонализираният калъф да не се налага да бъде голям и обемист (Вижте фиг. 8.2).

Поради използването на SMD компоненти, повечето от връзките трябваше да бъдат направени от страна на компонентите. Опитах се да използвам възможно най -малко виа. Долният слой наистина има само линиите GND, VCC и +170V и някои връзки, които трябваше да бъдат направени между различни щифтове на една и съща интегрална схема. Това е и причината, поради която използвах двете микросхеми DIP-16 вместо техните SMD варианти.

Можете да изтеглите файловете за проектиране на печатни платки и схемите на EAGLE тук.

Тъй като това е малък дизайн с много малки допустими отклонения и следи, беше важно да се намери добър производител на печатни платки, така че те да се окажат хубави и да работят правилно.

Реших да ги поръчам в PCBWay и не мога да бъда по -доволен от продукта, който ми изпратиха (Вижте фиг. 8.3).

Можете да получите незабавна оферта за вашите прототипи онлайн, без да е необходимо да се регистрирате. Ако решите да поръчате: Те също имат този удобен онлайн конвертор, който ще преобразува EAGLE файловете в правилния гербер формат. Въпреки че EAGLE също има конвертор, аз наистина харесвам онлайн конвертори от производители, защото по този начин можете да сте 100% сигурни, че няма да има проблеми със съвместимостта с гербер версията.

Стъпка 9: Отстраняване на неизправности

Отстраняване на неизправности
Отстраняване на неизправности

При първото тестване на прясно споената платка нищо не работи. Лампичките изобщо не показват нищо (декодерите достигнаха стойност> 9), или случайните числа или ще останат постоянно включени, или ще светнат и изключват, което изглеждаше хубаво, но в този случай беше нежелателно.

Отначало обвиних софтуера. Така че аз измислих този Nixie тестер за Arduino (Вижте фиг. 9.1).

Този скрипт ви позволява да въведете номер на GPIO щифт (0-8), на който искате да промените състоянието. След това пита за държавата. При въвеждане на пин номер 9, ключалките се нулират.

Така че продължих тестването си и направих таблица на истината с всички възможни входове за A, B, C и D. Забелязах, че числата 4, 5, 6 и 7 не могат да бъдат показани с нито една от двете епруветки. Освен това те биха реагирали различно на една и съща комбинация от входове.

Реших, че трябва да има и проблем с електричеството. Не успях да намеря никакви технически проблеми в дизайна, но след това се замислих за нещо, което научих отдавна (но никога не съм имал проблем оттогава): Потокът може да бъде проводим. Това може да не е проблем за обичайните цифрови приложения и приложения с ниско напрежение, но изглежда, че това е проблем тук. Така че почистих дъската с алкохол и след това тя се държеше правилно.

Един вид. Друго нещо, което забелязах: Частта, която използвах в EAGLE при създаването на моето PCB оформление, беше неправилна (поне за моите тръби). Моите епруветки изглежда имат различен извод.

Само някои неща, които трябва да имате предвид, когато вашата верига не работи веднага.

Стъпка 10: Персонализиран случай

Персонализиран калъф
Персонализиран калъф
Персонализиран калъф
Персонализиран калъф
Персонализиран калъф
Персонализиран калъф

След като всичко останало беше подредено, исках да построя хубав калъф, в който да се помести моята верига. За щастие ми остана много дърво от моя проект за часовник, който исках да използвам за изграждане на решетка от вътрешната страна (Виж фиг. 10.1).

Изградих корпуса, използвайки следните измервания:

Количество Размери [mm] Описание
6 40 x 125 x 5 Долна, горна, предна и задна страна
2 40 x 70 x 5 Малки странични части
2 10 x 70 x 10 Структурни части от вътрешната страна (Виж фиг. 8).
2 10 x 70 x 5 Конструктивни части на капака (Виж фиг. 11).

След като изрязах парчетата, ги поставих заедно, за да създам кутията, показана на фиг. 10.2.

Фигура 10.3 показва случая от различен ъгъл.

Горната част на корпуса е точно същата като дъното, само без стените и с по -малко високи конструктивни части (виж фиг. 10.4). Той действа като капак и може да се сваля за обслужване на компонентите от вътрешната страна. Печатната платка ще бъде монтирана към капака, като двете тръби стърчат от кутията.

След като бях доволен от това как всичко си пасва, просто залепих всички части заедно и оставих да изсъхне за няколко часа.

Може би се чудите как фиксирах печатната платка към капака, когато в горната част няма видими винтове. Просто пробих отвор за винта в структурната част на капака и след това направих зенкер за влизане на главата на винта (виж фиг. 10.5).

Стъпка 11: Завършване на изграждането

Завършване на изграждането
Завършване на изграждането
Завършване на изграждането
Завършване на изграждането

След като основната платка беше монтирана към капака, всички останали компоненти просто трябваше да бъдат поставени в кутията, което може да се види на фиг. 11.1.

Както виждате, опитах се да организирам кабелите възможно най -добре и мисля, че се получи доста добре. Всичко се вписва добре в кутията, както можете да видите на фиг. 11.2.

Добавих и DC-Jack към кутията (и полудях малко с горещото лепило там). Но по този начин е възможно да захранвате термометъра с всяко общо зарядно устройство за телефон и подходящ кабел. Можете обаче да добавите и 5V батерия, ако искате.

Стъпка 12: Части, използвани в тази компилация

За електрониката:

Количество Продукт Цена Подробности
1 DHT-11 4, 19€ Взех го от скъп магазин. Можете да ги получите за по -малко от 1 $ от Китай.
2 CD4028BM 0, 81€ Декодер
2 74HCT00D 0, 48€ NAND
1 74HCT04D 0, 29€ Инвертор
1 Pinheader 0, 21€ 2x5 пина
1 Винтова клема 0, 35€ 2 връзки
20 SMBTA42 0, 06€ npn-транзистор
20 SMD-резистор 0, 10€ 120 хиляди
2 74LS279N 1, 39€ R/S-джапанки
1 Печатни платки 4, 80€ Поръчайте тук
2 IN-14 Nixies 2, 00€
1 Повишаващ конвертор 6, 79€

Ще ви е необходим и някакъв микроконтролер. Използвах Arduino Pro Micro.

За случая:

Количество Продукт Цена Подробности
N. A. дърво ~2€ Виж по-горе
4 Винтове M3x16 0, 05€
4 Ядки М3 0, 07€
1 бутилка Лепило за дърво 1, 29€
1 консерва Боя за дърво 5, 79€

Стъпка 13: Заключение

Заключение
Заключение
Заключение
Заключение

Наистина съм доволен от резултата от тази конструкция. Веднъж успях да отрежа прецизно дървените парчета и също така не забравих за монтажните отвори за печатната платка. И всъщност изглежда великолепно (виж фиг. 13.1).

Освен това беше интересно да се работи с тръби и високо напрежение като цяло и има няколко неща, които трябва да се вземат предвид при това.

В заключение бих казал, че е добре, че днес имаме по -удобни начини за показване на числа, но от друга страна няма нищо сравнимо с блясъка и цялостния външен вид на тръбите nixie, които наистина харесвам да гледам, особено, когато е тъмно (виж фиг. 13.2).

Надявам се да ви е харесала тази инструкция. Ако сте го направили, не забравяйте да разгледате моя уебсайт за още интересни статии и проекти!

Стъпка 14: Приписване, източници и допълнителни четения

Допълнителни четения MC34063 Подробности за приложението - ti.comMC4x063 Информационен лист - ti.com IC драйвер за тръба на Nixie - tubehobby.com DHT -11 Arduino библиотека - arduino.ccA Транзистор като превключвател - petervis.com Теория на базовите резистори, формули и онлайн калкулатор - petervis.com

Източници на изображения [фиг. 1.1] IN-14 тръби Nixie, coldwarcreations.com [фиг. 2.1] Усилваща верига, самостоятелно изтеглена, но взета от ebay.com [Фиг. 6.1] DHT-11 температурен сензор-tinytronics.nl

Препоръчано: