Nixie clock

~ 11 Dec 2016, 06:43

Ако следите моя блог, сигурно сте забелязали, че обичам да пиша за разни електронни джаджи, с прогреса от чертожната дъска до физическата им реализация. Това е поредната история, в която този път разглеждаме реален продукт на пазара, а този пост е behind-the-scenes от създаването му до ден днешен. Ами - да се потопим!

Идеята

Всичко тръгна от една тема във форумите на HardwareBG. Още преди това бях голям фен на никси лампите:

picture

Тези индикатори са се произвеждали в огромни количества през 60те и 70те години на миналия век, но LED-овете са ги направили анахронизъм малко по-късно. В тази статия ще разберете отчасти защо.

Решен да си направя собствен Nixie часовник намерих съмишленици, отидох до NN electronics и си накупих 4 лампи Mullard ZM1080.

Първи тестове

На пръв поглед никси лампата е една стъклена ампула, в която има десетина голи проводника и видът на светеща такава е нещо средно между лампа с нажежаема жичка и неонов надпис. Българското им название - газоразрядни индикатори - подсказва същността им: ампулата е с изтеглен въздух и има остатъчно налягане на неон (и други помощни газове), но напрежението между полюсите е твърде ниско за луминесцентно излъчване и се получава газов (тлеещ) разряд, който обхваща непосредствената околност на полюса с отрицателен потенциал[1] (в случая са 10 полюса: оголени проводници, оформени като цифрички). Макар и да прилича на нажежаема жичка, това е само измамно - газоразрядните индикатори не греят изобщо.

Освен катодите, в ампулата има само един анод (положително заредена решетка, която трябва да се държи под високо напрежение от 160-180 волта над потенциала на катодите). За да покажете конкретна цифра на никси лампата е достатъчно да свържете генератор на високо напрежение към анода и някой от катодите към земя. Ако сте нацелили правилното напрежение - получавате светеща цифра:

picture

Отлично!


На практика се налага токът през лампата да се ограничи, иначе тя може да изгори. С тази цел са поставени 10К резисторите, които ще видите в схемите по-долу. Ако съберете 6 лампи на едно място и ги разделите по двойки, можете да си направите цифров часовник с газоразрядни индикатори.

Необходимостта от високо напрежение е досадно[2], но преодолимо препятствие. След като намерих в интернет схема за високоволтово захранване с 555, MOSFET и индуктор, се заех да мисля как да се направи мултиплексирането на схемата.

Мултиплексиране

Какво значи мултиплексиране? (про-тата можете да пропуснете следващите обяснения)
Ако два компютъра трябва да си комуникират и поради някаква причина могат да използват само светлинна сигнализация, то няма проблем - единият ще има светоизлъчвател, напр. LED, а другият - светодетектор, напр. фотодиод. И с подходящ сериен интерфейс / мигане с LED-а, всичко заспива. Но ако компютър трябва да си говори с човек... неее, един LED далеч няма да ви е достатъчен. Налагат се десетки или стотици светещи елементи, в най-различни форми и подредби... вие самите най-вероятно четете този текст от такава подредба с поне половин милион пиксела.

А когато компютърен процесор трябва да командва комплекс светлинни елементи, неизбежно голямата им бройка се превръща в проблем. Да илюстрираме с 6 никси лампи:

Image

Тук имаме микроконтролер, който разполага с 60 контролируеми "заземителни" пинове (open drain изходи). Така може да светнем произволна цифра на произволна лампа.

Малкият проблем е, че трябва да ползваме микроконтролер с поне 60 крака, и да имаме 60 писти, което ще е криво за опроводяване. По-лошото е, че такъв микроконтролер няма - повечето ползват нисковолтови полупроводникови процеси и рядко могат да издържат на напрежения над 20V, а често дори 5.5V е проблем. А нас ни трябва с 160V... Ако вържете нормален микроконтролер тук, той просто ще изпуши моментално.

Ето защо се налага да използваме високоволтови транзистори (например BS108), командвани от TTL изходи на микроконтролера:

Image

Още тук виждате колко "космата" става схемата: броят писти нарасна трикратно и само транзисторите биха изисквали 180 спойки. С микроконтролера и лампите ще са над 300 спойки. Запояването на такава платка би било безобразно досадна и пипкава работа.

Следва да забележим, че схемата ни дава и страхотна свобода какво да светнем, като повечето избори биха били глупави. Например, бихме могли да светнем едновременно катоди "2" и "6" в една и съща лампа, което ще изглежда просто... странно. За всяка лампа следва да можем да покажем някоя от цифрите 0-9 или нищо. 11те опции могат да се кодират в 4 бита, а декодирането да се прави чрез специализирана интегрална схема, например 74141:

Image

74141 е една наистина възхитително полезна за целите схема[3]: 4те входа (маркирани с A, B, C и D) приемат двоично число от 0 до 15. Всеки от 10те (Q0-Q9) изхода е реализиран вътре в кристала чрез високоволтов транзистор с отворен колектор. Ако изберете число 0..9 (например подадете 5V на вход C и 0V на A, B и D), дешифраторът ще види числото "4" и ще свърже Q4 със земя. Числата 10-15 се дешифрират като празни - лампата не свети.

С използване на 6 броя 74141 (или съветските им аналози К155ИД1) броят спойки намаля на 198 общо. Контролерът вече изисква само 24 I/O пина и нещата изглеждат доста по-добре. Все още не сме мултиплексирали нищо, обаче.

Нека разделим лампите в две групи по 3: четни и нечетни. Ще сложим контролиращ елемент на анодите, който да командва коя група е активна:

Image

Ако ключът S1 допусне високото напрежение само на нечетната група, то ние имаме пълен контрол над всяка от лампите 1, 3 и 5: дешифраторите ще командват катодите на лампи 1+2, 3+4 и 5+6 респективно, но четните няма да светят, тъй като нямат напрежение на анодите. Ако искаме да покажем "18:33:40" на дисплея, ще подадем 1, 3 и 4 на дешифраторите и реално потребителят ще вижда "1_:3_:4_".
След което превключваме ключа S1 към четната група и едновременно подаваме на дешифраторите респективно 8, 3 и 0: на дисплея ще се вижда "_8:_3:_0":



Както виждате, ако сменяме между двете показания достатъчно бързо, човек не да забелязва трептенето и ще му се струва, че вижда "18:33:40", но с двойно по-ниска яркост.

Всъщност, можем да стигнем и по-далеч от мултиплексиране на две групи. 6 се дели и на 3:

Image

А можем да направим и пълно мултиплексиране:

Image

Какви са недостатъците на мултиплексирането на повече групи? Първият е, че яркостта намалява: при пълно мултиплексиране тя е едва 1/6 от номиналната. Разбира се, можем да компенсираме с повишаване на напрежението към лампите, но това ги поставя в по-натоварен режим[4].
Вторият недостатък е, че опростявайки командването "долу" (при катодите), сложността се качва "горе" (при анодите). Ключът S1 изисква транзистори (няма удобна интегрална схема като 74141 за тази цел), по два транзистора за група и в даден момент каквото спестим отдолу, се качва отгоре. Вижте следната сравнителна таблица:

Image

Опциите 2x3 и 3x2 изглеждаха като оптимални, така че сковах бърз прототип, за да проверя колко % duty cycle изглежда прилично като яркост в нормални условия ако захранваме лампите със 160 волта. Ето как изглеждаше:

picture

С потенциометъра избирам на колко процента да ШИМ-ирам лампата


picture

Топлото зарево на индикаторната технология от 60те (а на заден фон са 5,760,001 екземпляра на индикаторната технология от 00те - credits to espr1t)


И така, в крайна сметка предпочетох 2х3 схемата: 50% максимална яркост и общо три дешифратора.

Развой

С това бях готов за прехвърлянето на високоволтовата схема и командващата логика на печатна платка[5][6].

Това беше първата ревизия (v1.00):

picture

Първи тест на мултиплексирането


Понеже исках платките да са компактни, използвах стария подход от battery level meter-а да строя двуетажна сглобка. Долу е високоволтовата схема, микроконтролерът, бутоните и часовникарският чип. Горе са лампите, дешифраторите и превключвателят на четни/нечетни лампи (S1).

Тук се сблъсках и с първия проблем при намирането на лампи: имах само 4 бр. За часовник трябват 6, но тук се намеси Private от форумите на HardwareBG , който за късмет имаше точно същия тип и на практика ми подари 2 бройки, за да се завърши комплектът:

picture

v1.00 с лампите


Познайте чии лампи са на Private :)

Насетне v1.00 беше изоставена, тъй като определено не бях предвидил достатъчно място за отстояние между двойките лампи. Отделно си накупих и от тези руснаци:

picture

ИН-12


picture

За сравнение...


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

picture

В основната платка има дупки, както за ZM1080, така и за 12-пинов конектор към слоткетите:

picture

picture

Я да видим върви ли:

picture

picture

... и с 6 лампи


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

picture

picture

Отпред


През това време платките минаха през 2 ревизии: в 1.01 поправих масата бъгове, неправилни размери на компоненти, грешни пинаути и др., а в 1.02 уголемих платките до показания размер и добавих възможността за двата вида лампи на горната платка. Във версия 1.03 вече бяха само козметични поправки.

Фърмуер

През това време по долната платка също кипеше работа:



Първи прототипи

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

picture

Сглобка с Z573M лампи


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

picture

Оксидация


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

picture

Шпилки и втулки


Това вършеше работа, но все пак ми се искаше да са черни и прибегнах до ebay. Там можете да си купите 5 метра черна найлонова тръбичка с точно подходящия диаметър. След това тръбичката се нарязва до необходимите размери и втулките са готови. Но така фабрикуваните втулки имат един издайнически елемент - с надписи са и не са съвсем прави. И докато надписът пада лесно със спирт, то закривяването няма махане, колкото и да се старае човек. Опитайте се да го откриете тук:

picture

Рязането на шпилките и втулките беше един досаден и изморителен процес:



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

Серийно производство

За целта първо следваше да събера по-сериозни количества лампи и дешифратори, понеже вече не се произвеждат и се намират трудно (NOS - new old stock). Отделно цените им варират много. С комбинация от търсене по форуми, оферти в онлайн магазини, преслушване на обявите в български и руски сайтове, и подобни, по някое време бях събрал 100-на лампи в най-различни видове и състояние:

picture

Част от колекцията...


picture

Тази партида ИН-12 бяха от м. Март 1984...


Намирането на дешифратори беше дори по-трудно, за щастие намерих един пловдивчанин, който продава такива в големи количества и неговите са първа употреба:

picture

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

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

Статистически повечето закупени NOS компоненти си работеха. Повредените лампи обикновено не работеха изцяло, не съм срещал частично дефектни. При дешифраторите е обратното, обикновено на проблемните им беше изгорял само един изход, останалите работеха. Но в резултат пак бяха за кофата.

Голямото количество елементи от всякакъв произход ме накара да ги подредя и именувам в класьори:

picture
picture

Следващата стъпка бяха опаковките. Комплектът за запояване не отнема много място и след кратко ровене из вехториите вкъщи намерих една подходяща по размер кутия от видеокарта:

picture

Снех размерите ѝ, след това отидох при един производител на кашони и опаковки, където потърсихме щанца за кутии с подобни размери. По принцип могат да ви изработят кутии с произволни размери, но първоначалната цена при такава специална поръчка е доста солена и затова просто ползвах щанцата на техен клиент, комуто са трябвали картонени кутии с доста близки до видеокартата размери. Картонът се реже там и ви го връчват вид на един топ листи (примерно 50-100 броя):

picture

които после трябва да си сгънете сами, за да образувате кутийки. Ето как изглежда една такава кутийка със съдържанието ѝ:

picture

Опаковането на елементите не беше особено трудно, предвид че само лампите са чупливи, съответно само те искат индивидуална грижа с картон или аерофолио. За резисторчета, транзисторчета и подобни вършат работа и обикновени zip-lock пликчета[9]. Последното беше да измисля как да разполагам интегралните схеми и цоклите. По принцип доставените от магазина, ако не са в тръба, ги слагат на нещо като твърд дунапрен или стиропор. Оказа се, че в Динакорд продават подобен относително твърд дунапрен (със съвсем друга цел - там е за звукоизолация), който е евтин и го продават на квадратен метър. После с макетното ножче се реже до необходимите размери.

Впоследствие се научих да "редя тетриса" все по-добре и да прахосвам все по-малки количества от въпросния дунапрен:

picture

Това е моят шедьовър :)


И така произведох първата голяма партида:

picture

Ето как изглеждаха надписите:

picture

С натрупването на много бройки човек започва да забравя коя каква е и къде е отишла. С тази цел, пък и за да може да се следят и другите продукти, разработих вътрешнофирмено софтуерче за проследяване на отделните бройки, което да може да генерира PDF-и с баркодове и приемо-предавателни протоколи:

Image

Разбира се, какво е един комплект за запояване без подробна и добре илюстрирана документация? След дълго писане и много корекции от страна на Алекс, указанията бяха готови.

Следващата стъпка беше да се направи уебсайт и промо-материали за обявяването на продукта. Досега не се бях занимавал с продуктова фотография, но сглобих един лайтбокс от подръчни материали и вече разполагах с прекрасен бял фон:

picture

picture

С малко напудряне


Постановката изглеждаше така:

picture

picture

... какво ли няма да направи човек, за да кадрира правилно нещата...


Съществен елемент тук е осветлението. Лампите са със студено бяла светлина - 6500К. По принцип цялото ми осветление вкъщи е с топъл спектър, 2700К, обаче като вкарате корекцията на бялото при осветление 2700К, цветът на светещите цифри става неприятно лилав и студен.

След което се загледах в разни шукарийки как да използвам така направените висококачествени снимки за full-screen презентация на продукта (не ще и дума, външният вид е водещ тук). Чрез supersized сглобих една минимална страничка в този стил, която да демонстрира продукта.

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

За подпомагане на продажбите направих две неща - първото беше да изхарча кредита си за Google AdWords, който ми бяха подарили преди 6 години.
Макар да е тривиално да се направи Google ads кампания, уцелването на правилната аудитория е предизвикателство. Ако keyword-ите са строго специфичните (nixie clock, газоразрядни индикатори, никси часовник), посетителите на ден са много малко. Google ми предлагаше да добавя keyword-а "часовник", сам по себе си. Послушах ги, но се оказа лошо предложение - така пък обирах от огромния трафик от хора, които търсеха ръчен часовник. А като предлагаш никси часовник на онзи, който е отворил да търси за Rolex-и и Fossil-и... те просто няма да цъкат. Импресиите се качиха много, но click-through rate-ът падна значително. Накрая зарязах кампанията, беше ясно, че не помага.

Другото нещо, което помогна доста, беше да подарим един сглобен часовник на Роботев. Помните ли онези ZM1080 лампи от първия прототип? Е, отидоха тук:

picture

Сглобени комплекти

Макар и болшинството ни клиенти предпочитаха да си запояват часовниците сами, както се оказа, имаше интерес и към директно сглобени часовници. За тях отидох пак до фирмата с опаковките за да си подбера подходящ размер кутийки:

picture

Фирмената им котка ми даваше препоръки


Белият цвят на кутиите даваше възможност надписите да са малко по-джиджани:

picture
picture

За поддръжка на продукта (по предложение на Роботев) сложих форум. Освен това продължавах да експериментирам с нови елементи и идеи. Ето един часовник, сглобен специално за кръглата годишнина на приятел, като тук за разделителни точки използвам ИНС-1 индикатори:

picture

А ето един, на който тествах алтернативна цветова гама:

picture

picture

Това не е часовник - това е decimal-to-binary конвертор :)



Изводи

Какво научих:


За в бъдеще остава:

  1. Да намеря начин за износ и извън България, тъй като тук пазарът е малък, а продуктът е зверски специфичен. Между другото, ако някой желае да се занимава с продажби на комплектите по ebay - да ми пише :);
  2. Да добавя PIR сензор, за да може събуждането от скрийнсейвъра да става и при движение, не само при шум;
  3. Да прехвърля кода върху AVR, понеже се оказва, че това е платформата за хоби програмиране и повече хора имат познания (и програматори) за целта;
  4. Да добавя опция за автоматично сверяване на часа през GPS;
  5. и още много други...


Като всяко друго нещо, и този проект може винаги да му се направи или добави по още нещо. Но този пост вече стана километричен, така че спирам до тук, а на читателите, стигнали до края - поздравления :) И хиляди благодарности на всички хора (няма да изброявам, списъкът е страшно дълъг, те знаят кои са), които помогнаха тази моя мечта да стане реалност!



Коментари:

#1 от Антон, изпратено на 16 Dec 2016, 19:50


Поздравления и все така успешни идеи :)!


#2 от ицаци, изпратено на 19 Dec 2016, 23:01


Страхотна реализация и перфектно описание, както винаги :)


#3 от Private, изпратено на 26 Dec 2016, 17:52


И аз (като участник в часовниковата завера :) ) изказвам благодарности за чудесния материал. :)




Име:
За връзка: (Линк към вашия блог/сайт/e-mail; незадължително)
Вашият коментар:

Сметнете израза: осдeceт и еднo минус седeм = (въведи с цифри)


<<

Valid XHTML 1.0 Strict