Vieno nixio laikrodis

February 4th, 2017

Per naujų metų sveikinimą panaudojau šią iliustraciją:

2017 year nixie in-18

Tai vieno nixio laikrodis. Visos detalės tipinės, hardwarėje nieko specifinio. Vienintelė naujovė- viskas valdoma vienu mygtuku. Kadangi reikia daugiau funkcijų, tai mygtukas atskiria “trumpą" ir “ilgą" paspaudimą.
Dar vienas skirtumas- RTC panaudotas iš kažkokio DVRo. Tai Dallas Semiconductors/Maxim čipas DS1338. Jis turi “tick" išėjimą kuris užprogramuotas 1s impulsams ir aktyviai naudojamas programos. Dar naudojama IPS511G mikroschema- smart switch, kuri tik reikiamu metu įjungia aukštos įtampos šaltinį. Lempa didoka, o ir keitiklis nėra labai ekonomiškas. Todėl kai nenaudojama lempa, iš ~7V maitblokio srebia apie 14mA srovės, tačiau kai užsikuria lemputė, srovė užkyla iki maždaug 290mA. Jei neišjunginėti maitinimo, tai raktinis FETas kiek kaista ir jaučiasi šiluma per korpusą. Naudojant atjungimą viskas spėja ataušti.

Laikrodis kokias 7 sekundes nieko nerodo, poto parodo valandas ir minutes nuosekliai. Kiekvienas skaičius rodomas vieną sekundę.Daromos nedidelės pauzelės, kad matytusi kaip keičiasi skaičiai net tada, kai laikrodis turi rodyti tą patį skaitmenį.
Norint iš karto pažiūrėti laiką, reikia nuspausti trumpam mygtuką, tada laikrodis pradeda skaičių rodymo ciklą. Jei niekas neliečiama, skaičiai atsiranda savaime.
Norint nustatyti laiką, reikia spausti ir palaikyti mygtuką. Tada laikrodis rodo visus skaičius iš eilės ir nesiblaško tarp jų. Tada trumpu nuspausdimu galima padidinti skaičius. Penktas ilgas nuspaudimas išjungia nustatymo režimą. Tai indikuojama “vaiduoklišku" švytėjimu (ne visos nixies tai padaro)- visa lempa truputi švyti, bet konkrečių skaičių nerodo. Tai gaunama paduodant aukštą įtampą, bet nejungiant jokio segmento. Per parazitines talpas ir rezistorius yra įtampos nutekėjimas ir lempa švyti.

Kiek apie softą: naudojami trys darbiniai algoritmai vienu metu:
Pirmas- sekundinis “tick" iš RTC mikroschemos per INT0 koją. Čia beveik viskas ir atliekama: nuskaitomas RTC, pagal mygtuko reikšmę atliekamos funkcijos, rodomas laikas.
Antras- taimeris. Čia, neatsimenu kokiu intervalu dirba, bet čia pagal mygtuko rezultatą persijungia režimai. Taip pat generuojama “kintama" įtampa nixio uždegimui per kondensatorių. Taip uždegiamas indikatorius, nes išjungiant aukštos įtampos šaltinį įtampa “pasibaigia" ne iškarto, o poto, kai išsikrauna kondensatorius. O dar, čia galima reguliuoti nixio švietimo ryškumą.
Trečias- pagrindinis ciklas. Čia tikriausiai reikėtu irgi panaudoti kitą taimerį, bet šioje softo versijoje daromas sisteminis mygtukų būklės apklausimas kas 10ms.

Ir aišku:
Single nixie RTC clock with single button control. Source code and hex.

Kiniškos PCB, pigiau ir spalvingiau

January 25th, 2017

Kaip ir žadėjau, kai tik gavau PCB iš Kinijos, tai iš karto dedu kelias nuotraukas ir kiek komentarų.

kiniska PCB plokste

Pirmiausia- seniau buvo 5×5 ir tik žalios. Dabar, dėl konkurencijos, mažiausia PCB tai 10×10 ir bet kokios spalvos. Teoriškai galima jas panelizuoti ir frezuoti, bet tada kaina pasidaro nebe pigi. Ši kainuoja ~10$ (10vnt) plius siuntimas (apie 5$). Pagamina iš gerberių per kelias dienas, deja siuntimas užtrunka Kinišką mėnesį. Tai kiek ištemptas ir neapibrėžtas laiko tarpas kiek panašus į kalendorinį mėnesį.
Read the rest of this entry »

Drėlės akumuliatoriaus perdarymas

January 14th, 2017

Nors ir žiemos metas, laikas nuo laiko važiuoju į fazendą ir ten ką nors statau ar remontuoju. Palyginus su remontais Kaune (kur kaimynai užliejo sienas- lubas ir rusį, bet pas “juos nebėga"), šis fazendinis remontas ramina nervus. Ten kovojama su sena sienų izoliacija ir dabar reikia įsukti vieną kitą milijoną medvaržčių… Buvau pasiskolinęs normalų suktuką iš darbo, bet ji reikia atiduoti atgal. Pirkti naują kažkaip nenoriu. Aš prisiminiau, kad kai stačiau garažiuką arkliui, buvau nusipirkęs kinišką suktuką. Jo akumuliatorius jau kokį dešimt metų kažkodėl padėtas ant palangės iš kiemo pusės… Taigis, jis tikriausiai jau nebeveikia :) Todėl nutariau akumuliatoriau elementus pakeisti į kitus, juolab mėtosi visas kalnas ličio bačkučių iš “garantinių" kompų akumuliatorių. Garantiniai reiškia, kad tie akumai susifeilino dėl gamyklinio defekto ir ten dažniausiai 66,66% ličio elementų visiškai geri ir beveik nauji. Paėmiau vieną samsung akumą ir jo skrodimas parodė, kad 100% “bačkelių" geros- paprasčiausiai kontrolerio PCB perlūžusi per pusę.

Akume buvo 6 elementai, sujungti pagal 3S2P schemą. Elemento talpa kažkur 2Ah (teoriškai, naudojami samsungėliai, nors ir nauji kogero bus 1.8Ah talpos). Įtampa kažkur gausis apie 12V. Norėjau pažiūrėti kas parašyta ant suktuvo… bet suktuvo neradau. Prisiminiau, kad darbe kažkur mėtėsi suktuvas (aišku kiniškas) be akumo kur radau šiukšlėse ir pasiėmiau dėl patrono… laime, kad ta vieta nelankoma vos ne penkmečiais, tai drėlę radau :) . Ji buvo be jokių užrašu… dzin.

dreles akumuliatoriaus remontas
Mechaniškai sutvirtinti elementus patodu su kiniškai akumų laikikliais, kurie kaip kokios lego kaladėlės susijungia viena su kita. Nuotraukoje kitos celės, nes fotkinau po eksperimento.
Read the rest of this entry »

Nauji metai, vėl

December 31st, 2016

Pagaliau baigėsi šie kiek bjauroki 2016 metai, kurie prasidėjo Buviu, Princu, o baigėsi princese Lėja su jos motina… Asmeniškai man šie metai buvo sunkoki, tačiau gal jau baigsis šis juodumo periodas. Todėl linkiu visiems ir sau, kad sekantys metai būtų geresni, šviesesni ir laimingesni.

Ta proga suklijavau animuotą gifą:

2017 year nixie in-18

Tai pačios didžiausios ir gražiausios tarybinės indikatorinės lemputės- ИН-18. Ir pačios brangiausios :)
Nei softas, nei hardwaras nevertas paminėjimo. Tai panaudotos standartizuotos mano PCB. O jei prašnekom apie PCB, tai nežinau ar tai jau po visam, ar tai tik akcija: seeedas atpigino PCB gamyba keturis kartus ir už tą pačią kainą leidžia pasirinkti bet kokią PCB spalvą. Dabar vietoje 5×5 PCB už tuos pačius 10 doleriu daro 10×10cm. Visa bėda, kad demo Eagle neleidžia išnaudoti visą plotą- max paišomas dydis 8×10cm free versijoje. O dar Eagle nupirko autokadas… Kai jie ten spręs toliau licenzijavimą aš nežinau, jaučiu padarysis kokį nors “cloud" nesusipratimą ir dar pagėjins visą dizainą… Kai gausiu PCB, parašysiu atskirai.

Švęskit šventes!

Kiniškas niekaliukas arba 4×4 LED kubas

December 25th, 2016

Kažkada vasaros metu užsakiau kinišką rinkinuką surinkti 4×4 LED kubą. Rinkinukas nėra brangus, kažkur puspenkto dolerio su atsiuntimu. Už tai gaunam PCB, kalną mėlynu (gal yra ir ne mėlynu) LEDu, kelis rezistorius, dvi mikroschemos 74HC595, visokios jungtys… Ir labai labai kiniškos instrukcijos kurios nieko nerodo. Todėl litavau pagal save ir padariau kiek atvirkščiai- LEDus pastačiau kita kryptim ir jie kitaip užsidega (softe teko invertuoti). Kaip konstruktorius pradedančiajam tinkamas, tačiau reikia žmogaus kuris turi kantrybę- lituoti ore tuos LEDus tikrai reikia nervų. Dabar mano nervai pašliję (nuo buitinio triukšmo), tai teko lituoti net dvi dienas.

LED 4x4 cube AVR atmega

Kai viską sulitavau, pakuičiau savo lobynus. Deja nei vienos “arduino" PCB neturiu, o kur turiu nesusiderina pinais su šituo rinkinuku. Kad reikia originalaus arduino rodo debilna 0,1″ jungtis pastumpta per pusę žingsnio.
Softas pridedamas prie konstruktoriau irgi ne fontanai… ypač patiko ši optimizacija:

if(value > 19) return;
if(charge != LOW && charge != HIGH) return;
if(charge == LOW)
{
switch (value)
{
case 0: HC_595_Temp &=~_BV(15); break;
case 1: HC_595_Temp &=~_BV(14); break;
case 2: HC_595_Temp &=~_BV(13); break;
case 3: HC_595_Temp &=~_BV(12); break;
case 4: HC_595_Temp &=~_BV(11); break;
case 5: HC_595_Temp &=~_BV(10); break;
case 6: HC_595_Temp &=~_BV(9); break;
case 7: HC_595_Temp &=~_BV(8); break;
case 8: HC_595_Temp &=~_BV(7); break;
case 9: HC_595_Temp &=~_BV(6); break;
case 10: HC_595_Temp &=~_BV(5); break;
case 11: HC_595_Temp &=~_BV(4); break;
case 12: HC_595_Temp &=~_BV(3); break;
case 13: HC_595_Temp &=~_BV(2); break;
case 14: HC_595_Temp &=~_BV(1); break;
case 15: HC_595_Temp &=~_BV(0); break;
case 16: digitalWrite(LED_Pin16,LOW); break;
case 17: digitalWrite(LED_Pin17,LOW); break;
...

ir panašiai. Iš esmės kiniškam softe kiekvienas LED aprašytas atskirai ir daromas 16×4 ciklas užpildyti tuos aštuonis baitus informacijos reikalingus displėjui. Ir dar visokio monstriško softo. Ką jau pasakyti, kad “raštai" surašyti į paprastą masyvą. Nutariau nesikankinti ir pasirašyti savo softą grynam C.
Mano variantas kiek paprastesnis ir kartu sudėtingesnis jei reikia suprogramuoti animaciją. Animacija saugoma baituose. Po du baitus vienam sluoksniui. Kiekvienas bitas atitinka vieną LED. Pati animacija saugoma progmem.
Visas softas sukasi per pertraukimą, pati serial out procedūra klasikinė, netikrinau ar tikrai reikalingos visos komandos (kad ir priverstinis CLK LOW įjungimas po ciklo). Tačiau viskas veikia.

4×4 LED Cube ATMEGA source kodas ir sukompiliuotas hex.

Dar vienas bambesys- dabar jau harwarėje. Kinai pataupė balastinius rezistorius. Suprojektavo tik po vieną rezistorių visam sluoksniui (nors į rinkinuką įdėjo daugiau rezistorių), todėl kai dega visas sluoksnis, LEDai dega silpniau nei tada, kai dega vos keli LEDukai.

LED 4x4 cube AVR atmega
Kairėje kaip padarė kinai, dešinėje kaip daryti geriau. Aišku dešinė schema irgi ne pyragai- viso sluoksnio LEDai teoriškai duoda sakysim 16×20mA=0.32A. O tiek tikrai neina per ATMEGOS vieną koją… ko pasekoje mikroschema dirba nekorektiškam režime. Gerai, kad ji tokia “fool proof" ir veikia, o ne susvyla. Šiaip, kam tada iš viso varginosi su tais rezistoriais… O jei norisi daryti teisingai, čia reikia pakabinti tranzistorių su leistina srove 0,5A ar daugiau ir viskas šviestu tolygiai. Pačios 74HC mikroschemos dirba daugmaž normaliu režimu, nes veikimo metu viena koja “draivina" tik vieną diodą.

Atari 800XL remontas

December 8th, 2016

Dėl statybų nieko gero ir nedarau. Bet vasaros metu nusipirkau seną Atari 800XL kompiuterį ir diskasukį prie jo. Šiaip, pirkau tik diskasukį, nes pats kompiuteris neveikė- nepraeidavo RAM testas (ir rodos ROM), mirgėjo keli simboliai ant ekrano. Visi defektuotos atminties požymiai. Rodos problema paprasta ir išsprendžiama, nes kitą Atarį kompiuterį jau suremontavau.
Padarius skrodimą, paaiškėjo, kad kompiuteris tobulintas vietinių meistrelių- išplėsta atmintis iki 320kb, padarytas OS versijų perjungimas. Patobulinimas padarytas su keliom logikos mikroschemos (nuskusti pavadinimai) ir su RAM čipų “buterbrodais" (kai ant vieno čipo viršaus prilituojamas kitas čipas ir atlenkiamos kojos). Viskas buvo labai chaotiškai ir rusiškai padaryta, todėl nusprendžiau pašalinti visus “upgreidus" ir pradžioje kompiuteriuką atstatyti iki gamyklinės versijos.

Atari 800 xl repair
Read the rest of this entry »

SAS - kas per velnias? Arba greiti diskai

November 5th, 2016

Kažkada radau diskų masyvo “krepšelį". Tai toks modulis, kuris statomas į serverius, gal į desktop kompiuterius ar į kokius 19 colių modulius. Ten labai patogiai susikiša maži diskeliai (kaip nešiojamam kompiuteryje, tik daugiau nei du kartus storesni). Dar prisirinkau senų kietų diskų su rankenėlėm, kad gal būt ateityje sukonstruoti kokį nors diskų masyvą.
SAS HDD
Read the rest of this entry »

HE remontas 2

October 22nd, 2016

Prieš porą savaičių rašiau, kad aplankiau HE remonto vietą. Šį penktadienį vėl aplankiau iš Panemunės pusės, kad apžiūrėti situaciją. Šį kartą buvo vėlesnis metas ir buvo tamsu. Atvykus į vietą didesnių pokyčių nepastebėta, tačiau mane pastebėjo kelios žmogystos kurios paklausė kur aš einu. Burbtelėjau, kad einu tikrinti kaip jie dirbą ir nupėdinau prie pačio tilto. Viena žmogysta sėdo į automobilį ir per tą neveikianti tiltą nuvažiavo į Petrašiūnus, o kita žmogysta priėjo prie manęs ir kažką paklausė. Deja nesupratau žodžių… po keliu sakinių išsiaiškinom, kad žmogus yra Latvis ir yra sargas. Po poros gana piktų sakinių nesusipratimas buvo išsiaiškintas ir sargas mielai pasidalino informacija…

HE remontas stringa
Read the rest of this entry »

Blackoutas

October 14th, 2016

Buvo eilinis didokas blackoutas Petrašiūnuose, todėl mirus UPSo akumams ir dar geriesiems elektrikams pakibirkščiavus su elektra, dingo vienas diskas- dingo mistiškai. Todėl kažkodėl neveikė mano WWW. Nors nei duomenys nei softas nesisuko tame diske. Teko gražiai nušutdownintį kompą ir vėl užkurti- diskas atsirado BIOSe ir atsirado sistemoje.

Šiaip, kaip tik atsirado proga pašnekėti apie mistiką ir sutapimus. Kad ir šio kompo (WWW serverio) diskų problemos. Prieš kelias dienas SMART daemonas parašė laišką, kad miršta diskas. Kol viską suderinau ir panašiai, kol buhalterės padarė pavedimus, praėjo tam tikras laikas- ir šiandien turėjau gauti naują diską. Bet vakar, tryliktą dieną, elektrikai nutarė daryti eksperimentus su 10kV įvadais ir diskas dingo. Nu tiesa, dingo ne tas diskas kurį reikia keisti. Bet kodėl? Kodėl būtent 13? Kodėl viskas veikė be didesnių problemų paskutinius ~4…5 metus?

Kodėl CASCO draudimas baigiasi rugpjūčio mėnesio viduryje (dargi gal net 13-tą dieną) ir aš neskubėdamas ieškau pigiau ir kodėl rūgsėjo pirmom dienom automobilis sudaužomas?

Ir galu gale, kodėl koks nors šlamštas nenaudojamas guli dešimt metų garaže, o kai išmeti, po savaitės jo prisireikia?

Vamzdžių sujungimas kampu

October 6th, 2016

Tai tik teorinis eksperimentas!

Prasidėjo viskas nuo to, kad radau seną žurnalą “Наука и Жизнь" ir jame buvo aprašoma dviejų vamzdžių sujungimo- suvirinimo problema. Tiksliau, kaip tiksliai nupjauti vamzdį, kad jį privirinti prie kito vamzdžio balno jungtim. Ir kokią skylę išpjauti kitame vamzdyje. O dar buvo noras pažaisti su Corel Draw programa ir joje esančiu beisikų.
Tačiau viskas greitai nesigavo, nes algoritmas buvo aprašytas su klaidom, o softas- programuojamam kalkuliatoriui. Teko kiek pavargti.

vamzdziu suvirinimas
(paveikslėlis skolintas iš interneto).
Read the rest of this entry »

Unhappy Tikbalang