Nauji šviesos diodai eksperimentams

Prisipirkom pigaus Kinietiško šlamsto eksperimentams. Čia diodai kurie paprastai būna priklijuoti prie aliumininių “šešiakampių”. Ju galia 1…3W, tačiau tokiu galingumu juos reikia paleidinėti su radiatorium.

Nauji LEDai

Testavau (ir matavau parametrus) su reguliuojamu srovės šaltiniu.

Nauji LEDai

R, G ir B LEDai sujungti nuosekliai, tikrinau kiek skiriasi šviesumas prie tos pačios srovės.

Nauji LEDai

Baltas šviesos diodas. Ten šalia kabo spalvotas, bet jis nedalyvauja eksperimente.

Nauji LEDai

Maišelis “tipo” UV diodų. Bet labai jau daug tos mėlynos spalvos. Ir dar itariu, kad nemažas kiekis IR spindulių, nes fotoaparatas išviso blogai fotkina.

Nauji LEDai

Kad pamatyti antrinį spinduliavimą ant pinigo reikia va kaip prikišti. Ir tai, su akim matosi, o su fotiku nesigauna.

Nauji LEDai

Iš kažkokio pinigu tikrinimo aparato, tokio senoviško, buvau ištraukes UV LEDų blokelį. Tokį senovišką, su metaliniai korpusais ir stiklinėm akutėmis.

Nauji LEDai

Va šitie UV diodai tikrai šviečia UV spindulius. Ir neakina fotoaparato.

Išvada- Kiniečiai visada siūlo pigiai, bet kartu ir nekokybiškai.

Truputis eksperimentiškai surinktos informacijos:
LBW041050B 1W LED Emitter - 60-Lumen White: I=0.288A, U=3.47V
LBR041040B 1W LED Emitter - 40-Lumen Red: I=0.3A, U=2.65V (srovė turi būti didesnė, tik kad mano srovės šaltinis iki 300mA)
LBG041050B 1W LED Emitter - 50-Lumen Green: I=0.3A, U=2.9 ... 3V
LBB041015B 1W LED Emitter - 15-Lumen Blue: I=0.294, U=3.4V

Dėl liumenu negaliu pasakyti, bet diodai šviečia silpnokai. Matuota apie 21oC temperatūroje.

ATMEGA USB 15. (Nors čia ir ne mega)

Iš senų stacionarių NMT-450 Nokia telefonų prisilupinėjau mažiukų AT90LS2343 kontroleriukų. Tiesa, tik per atsitiktinumą sužinojau kad tai būtent šitas modelis, nes ant mikroschemos užrašyta “ATMEL 4370405”. Gal tai koks palengvintas variantas ar koks specifinis kontroleris. Paprasčiausiai buvo keletas telefonų, kur toje vietoje stovėjo čipukai su normaliais užrašais “AT90LS2343”.

Jau seniau rašiau apie RGB LEDus iš skanerio, kaip jie gražiai šviečia valdomi MCU ATMEGA16. Užsinorėjau padaryti tą patį, tik su šiuo MCU. Deja jis silpnesnis ir neturi hardware PWM.

Teko prasisukti su programiniu PWM (software PWM). Procesoriuko taktinis dažnis 1MHz, tai pagrindinis ciklas ir skirtas tam PWM generavimui, tuo tarpu pertraukimas skirtas spalvų reikšmių generavimui. Programinis generatorius leidžią neribotą kiekį skirtingai valdomų išėjimų, kad tik užtektu MCU našumo.

Software PWM ATTiny

Visa konstrukcija telpa ant skanerio elemento. Ta “mikroschema” ant geltonų laidelių tai tik programavimo kištukas. Gavosi toks kaip ir nereikalingas “gadget”- galima kur nors pakabinti ir stebėti kaip kaitaliojasi visos vaivorykštės (ir ne tik) spalvos. Pakeitus TCCR0 registro reikšmes, galima keisti spalvų kaitaliojimosi greitį. RGB diodai pajungti per 330 omų rezistorius prie PB0, PB1 ir PB2. Spalvą paskirsto skanerio optika.

Tikriausiai nesupratote kas čia per skaneris? Tai Canon skanerio vaikščiojantis daviklis. Jis pas pigius skanerius padarytas be lemputės ir optinis elementas yra monochromatinis. Kaip skanuoja spalvotą vaizdą? Ogi paprasčiausiai originalą apšviečia paeiliui su raudonu, žaliu ir mėlynu šviesos diodu ir registruoja vaizdą. Šie skaneriai nepasižymi gera vaizdo kokybę. Ypač tai matosi skanuojant juodai baltą tekstą spalvotame režime. Pasižiūrėjus į nuskanuotą paveiksliuką matosi, kad apie raides atsiranda spalvoti šešėliai…

Tamsoje, “hipnotinis prietaisas” visai gražiai šviečia. Dabar maitinu iš Liion akumuliatoriaus (3.7V), bet schemą galima maitinti ir nuo 5V šaltinio (šviečia žymiai geriau). Prie tos pačios plokštės prilitavau LM2937-5 (7805 variantas), tai dabar schemą galima maitinti ir kad nuo 12V automobilio akumuliatoriaus. Toks “mirksiukas” automobilyje turėtu atrodyti “rimčiau” nei paprastas signalizacijos diodas 🙂

Source code software PWM .

Peugeot 307: inžinieriams duoti į kuprą

Pagaliau brolis rado laiko ir paardėm tą nelemtą Pežo 307 sw. 2006 metų gimimo… Kad išimti faras, reikia nuimti visą buferį su grotelėm. Buferis pritvirtintas kokiais keturiais varžtais ir keliom plastikinėm “užspaudom”. Bet esmė ne buferyje, bet lempos konstrukcijoje. Kažkodėl, Pežo inžinieriai nusprendė, kad dėžutė su elektronika turi būti pačioje žemiausioje faros vietoje. Žymiai žemiau drenažo skylės. Šiaip ta drenažo skylė skirta tik kokiem garams, tik pripylus fara iki pusės, vanduo pasiektu drenažo skylę.

Peugeot 307

Štai ta nelemta “balasto” dėžutė kuri mums buvo reikalinga.

peugeot 307

Bet kokio mykolo pas balastą tiek tau kontaktų? Tas 5 skylučių lizdas su 3 kontaktais ir kažkokiu ekranu tai laidas iki standartinės xenoninės HID lemputės. Tačiau tas 15+2 kontaktų lizdas tai kas?
Pats “balastas” irgi labai “protingai” sukonstruotas- lizdas visiškai neizoliuotas. Kai testavau dėžutę- tai jei pili srovelę vandens ant HID kontaktų, tai tas vandenėlis sau ramiai suteka į balasto vidų. Gaunasi kaip ir vandeninis aušinimas.

peugeot 307

Viduje elektronika atitinkamo stovio. Visur žali ir balti kristalai, vietomis lakas atsilupinėjo. Prie ST semiconductors L9935 mikroschemos viena koja nudegusi, matosi juodi suodžiai…

peugeot 307

Čia jums nuoroda į didelę HID balasto nuotrauką.

Tiesa, ką daro ST L9935 (dual full bridge driver for inductive loads) mikroschema šiame balaste? Lempą maitina? Nifiga, ogi šikniai prancūzai sukišo į tą pačią dėžute ir lempos pozicionavimo sistemą. Taigi, čia ne tik balastas, bet ir lempos kraipaliojimas. Taip “palengvinama” remonto užduotis- netinka unifikuotas Osramo balastas už 278Lt+PVM, netinka ir Dainės balastas. Čia, bliamba, tinka tik suknistas Peugeot koncerno produktas.

Mįslės numeris 2 atsakymas: Damasko plienas

Kiek apdirbau pirkinį- šlifavau, galandau, poliravau, ėsdinau. Gavosi šioks toks rezultatas. Deja, pasiekti pilno grožio nepavyko. Gal ir ruošinys buvo kiek per prastas ir šiaip, šaltkalvis iš manęs gaunasi nekoks… 🙂

Tai paprasčiausiais “virtuvinis peilis” (taip buvo parašyta) iš taip vadinamo Damasko plieno. Aišku čia ne senovinis Damasko plienas, nes jo technologija nebuvo niekur užrašyta. O čia šiaip, plieno apdirbimo rekonstrukcija kuri irgi vadinama Damasko plienu. Bent jau išoriškai ir dar kai kuriais parametrais šitas plienas prilygsta senoviniam variantui. Va jums peiliuko nuotrauka:

Damasko plienas

Tie raštai tai ne kokia graviruotė- tai plieno sluoksniai. Kalant tokį plieną metalas išploninamas, perlenkiamas ir sulydomas. Taip daroma kol gaunasi apie 400 sluoksnių (Taip bent rašo literatūra. Nors čia kaipgi binarinis skaičiavimas- 2,4,8,16,32,64,128,256,512 perlenkiant per pusę). Tai gaunasi toks raštuotas plienas. Tiesa, kad gautusi šios specifinės bangelės, naudojamas papildomas kalimas. Beja šis plienas visur buvo naudojamas kalant šaltuosius ginklus- nuo Japoniškų katanų iki Lietuviškų kalavijų (kalam vijam). Damasko plienas išsiskiria tuo, kad naudojant cheminius reagentus išryškinami sluoksniai. Kai galandau aštriąją dalį, visi raštai paprasčiausiai išnyko. Vėliau panaudojau chemiją ir raštai vėl atsirado.

Damasko plienas

Čia priartintas vaizdelis prie pjaunančios dalies, matosi kad sluoksneliai eina iki pat centro.

Dar Damasko plienas išsiskiria, kad tos bangelės daromos specialiai- tai kaip ir dekoratyvinis elementas. Pas klasikines katanas tie raštai nėra taip banguoti.

Peilio dalis prieš ėsdinima:
pries esdinima.

Kairėje esanti dalis buvo išėsdinta jau Indijoje. Dešinėje pusėje visi ornamentai nusidrožė galandinimo metu. (Peiliai parduodami nepagaląsti).

Dabar reikia prikonstruoti rankeną (kriaunas). Problema ta, kad kotelis yra gana plonas ir trumpas. Nesigauna pritvirtinti dvipuses kriaunas ir užkniedyti. Reikia daryti apvalias kriaunas ir klijuoti (kaip sviestiniam peiliui).

Mįslė numeris 2

Va jums užduotis, mielieji skaitytojai. Pabandykit atspėti, kas buvo šiame siuntinėlyje.

Tai drobinis maišiukas, užsiūtas rankomis iš abiejų galų. Tie raudoni kliatskai šonuose- tai likučiai smalkinio* antspaudo. Viduje pakuotė buvo jau įprasta, iš 21 amžiaus. Maišelio ilgis apie 28 cm. Daiktas viduje irgi panašaus dydžio. Pirkau aš jį per eBay aukcioną. Daiktas sunkus, metalinis. Svoris tikriausiai 160 gramų (nesvėriau, čia pagal užrašą ant maišelio). Kainavo jis man 19$ (JAV doleriu) + atsiuntimas apie dešimt. Siuntinukas atėjo iš Indijos, Radžastano provincijos (čia tiems, kurie neįskaito adreso). Savo adresą aš kiek pridengiau, bet jis buvo labai stropiai parašytas.

Mysle

Ka palengvinti speliones, daiktas leidžiamas LR įstatymų, bet manau jį siųsti draudžia LR pašto taisyklės. O štai gauti manau nedraudžia. 🙂

*-Smalka- lakas anspaudams. Rusiškai- “Сургуч”. Tarybiniais laikais pašte tokį naudojo ir taip vadino. Angliškai- “sealing wax”, Vokiškai- “Siegelwachs” arba “Siegellack”, Prancūziskai- “cire à cacheter”, Itališkai- “ceralacca”.

Smegenų veikla: užrašai ant stalo

Surinkau popierius nuo stalo, kad pailiustruoti kaip veikė mano smegenys. Tuo metu konstravau ir atburinėjau (reverse engineering) tą nelemtą RGB diodų matrica. Daugelis minčių pavaizuotų popieriuje yra neteisingos ir neįgyvendintos. Bet šiaip įdomu paspoksoti. Tokių popiergaliu kartai prigeneruoju gana daug- kartais užrašai mintis, popierius kur nukrenta ir vietoj to, kad ieškoti, bandau perrašyti per naujo. Ir gana dažnai gaunasi žymiai geriau. Kai randi senesnės versijos lapą, pagalvoji- koks gi glušas buvau, kad tokias nesamones čia pripaišiau.

Čia kokie 7 lapeliai užrašų. Naudojamas DeŽaVu formatas (Djvu). Jis skirtas archyvuoti visokiausius beviltiškus skanūs…

Djvu formato dokumentas.

Jei nematot, nusikraukit Lizardtech djvu pluginą IE ar Firefoxui.

RGB matrica: gama korekcija

Seniau minėjau, kad RGB matrica neteisingai perduoda pustonius. Kiek pasiknaisiojes internete radau terminą “gamma correction” kuri naudojama manau visuose displėjuose. Vikipedija davė didelį straipsnį ir net baisuoklišką formulę kaip skaičiuojama gama (γ):
formule

Tačiau man reikėjo paskaičiuoti ne pačią gamą, bet korekcinę lentelę. Po trumpos paieškos radau šį algoritmą:
brightness = (255# * ((x / 255#) ^ (1# / gama))) + 0.5

Parašiau trumpą programėlę ROM reikšmių lentelės generavimui, o lentelė vėliau įrašoma į FPGA. Va jums ekrano fotkė. (kažkaip patiko fotkinti ekraną o ne spausti print screen 🙂 )

gamma software

Toliau bus keletas matricos nuotraukų su įvairiom gamma reikšmėm. Man labiausiai patiko reikšmės tarp γ=2 ir γ=3. Primenu, kad tiesinė priklausomybė (γ=1) jau išbandyta ankščiau ir rezultatas buvo blogas.
Spauskit ant nuorodos: Continue reading →

RGB matrica: beveik 24 bitai

Supumpavau Verilog kodą iki tiek, kad pagaliau RGB matrica pradejo rodyti beveik 24 bitus informacijos. Kadangi neteisinga tiesinė LED priklausomybė, labai daug informacijos išsikraipo ir nesigauna didelis grožis. Diodų šviesumo ir žmogaus akies priklausomybė greičiausiai kokia logaritminė. Ir dar trūksta taktų (PWM moduliacija vykdoma pakadriui, nes taip sujungta schema. Todėl fps turi būti x kartų didesnė nei standartinė flicker-free), jei imti 256/4 mirgėsio nėra, o štai prie 256/2 jau jaučiasi žiaurus mirgėjimas. Taktinis dažnis ~120MHz. Nėra kur slėptis.

Keletas iliustraciju:

RGB beveik 24bit LED

Kaip viskas šviesu ir negražu. Visai nėra juodos spalvos. Tuo tarpu originaliam paveikslėlyje irgi nėra juodos spalvos, bet daug “tamsiai pilkos”:

RGB beveik 24bit LED
(2K kosminė odisėja ir demotivatoriai)

Labiau “hentai-manga” stiliaus paveiksliukas su popieriaus lapu:

RGB beveik 24bit LED

ir visas, nufotkintas tamsoje:

RGB beveik 24bit LED

Originalus paveiksliukas:

RGB beveik 24bit LED
“Your resistance only makes my penis harder!” posakis yra gana įžymus, žiūrėkit vikipedijoje apie tai. 🙂

Testinis failas (SOF/POF) įrašyti i FPGA ar konfiguracinę mikroschemą EPS4: POF/SOF.POF/SOF (fixed). New: POF/SOF. Naujos “firmware” source kodas.

RGB matrica: rašom softą

Kai pavažiuoja smegenys nuo FPGA programavimo (niekaip nepavyksta dalis 24 bitų konvertavimo į vieno bito PWM), peršokam į MS Visual Basic kurybą. Naudojam senovišką VB6 versija, nes .NET versija kažkaip nesugeba automatiškai konvertuoti senų mano projektų. O kai kuri nauja programulką, labai patogu naudotis senesnių programų gabaliukais- moduliais.

Pasirašiau sau darbinį variantą paveiksliuko konvertoriaus. Programa konvertuoja bet kokį paveiksliuką į RGB matricos dydžio atminties buferį ir taip pat, panaudojus lygio detektorius gamina vieno bito frame buferį.

RGB matrica: softas

Čia nuotrauka (netgi ne printscreenas!) su gyva matrica ir kompo ekranu. Matosi, kad matrica rodo tą patį kaip ir programos apatinis langelis. Programa gamina atminties image (vaizdą) Quartus Memory Initialization File (.mif) formatu. Jį buvo labai lengva aprašyti naudojant Basico komandomis.

O čia, šiaip, iliustracija. Dalis “timing” diagramos kurią teoriškai generuoja FPGA kodas:

timing

Kodas iš esmės toks: imam duomenis iš vidinės RGB kadro atminties, iš duomenų atimam kadro numerį (kadro numeris tai paprasčiausias skaitliukas). Taip gaunam primityvią PWM moduliacija kadrui. Teoriškai, šviesiausias taškas šviečia visus 256 karus iš 256. Tuo tarpu 50% ryškumo taškas šviečia tik 128 kadrus iš 256. Praktiškai 256 kadrai nesigavo- naudoju 64 lygius, nes neužtenka greičio (net ir dabar prasideda triukai- iš vidinės atminties skaitom duomenys tuo pat metu kaip ir keičiamas adreso duomenys- ir viskas taktuojama ~200MHz taktiniu dažniu). Taip gaunama 262144 spalvos. Iki 16M kiek trūksta… Šis rezultatas perrašomas į 1 bito kadro buferį. Kita dalis FPGA mikroschemos ima duomenis iš šio buferio iš 30 vietų po 16 bitų ir per 30 serial-shift registrų išpumpuojama į MBI mikroschemas. Atminties pumpavimas, modifikavimas ir pumpavimas atliekamas vienu metu, todėl įtariu gali kilti problemos su judančio vaizdo rodymu. Bet iki šios problemos nepriėjome.
Šiuo metu sunaudojom 2011 loginių elementų( iš 5980 galimu, 34%) ir 73728 bitus atminties (92160 galimu, 80%) ir beveik visus pinus- 79 (iš 98 galimu, 81%). Nors tiesa pinai tai ne mano problema, nes ne aš dariau plokštę…

Backscatter mail išpuolis

Pentadienį pastebėja neįprasta veiklą mano pašto dėžutėje ir pašto serveryje. Kaip nepastebėsi, kai pamatai pranešimą, kad gavai kokius 3000 naujų laiškų. Ir laiškų kiekis didėja akyse. 99.5% laiškų- pranešimai, kad mano siustas laiškas nepraėjo. Panagrinėjus giliau, paaiškėjo, kad “mano” laiškas kvietė pažiūrėti tokios pornografijos, kokios dar niekas nematė… 🙂 Ir nuoroda į imageshack serveriuose esanti flash paveiksliuką. Nežinau, kokia ten gera pornografija buvo, bet kad tai virusas tai jau tikrai. Vienintelė bėda, kad virusas siuntinėjo laiškus su mano atgaliniu adresu. Gal naudojo ir kokius nors dar kitokius- nežinau. Bet kad naudojo mano tai tikrai žinau 🙂 Aš net neįsivaizduoju kiek buvo išsiusta laiškų, bet visi laiškai kurie nerado adresato ar buvo užblokuoti kokios nors antispam sistemos parvyko pas mane. Gerai, kad laiškai ėjo tolygiu srautu ir nebuvo labai dideli. Aš teoriškai paskaičiavau, kad gavau apie 600Mb pašto per vieną parą. Kad apsisaugoti nuo įkyriu pašto serveriu teko pakoreguoti spamassassino taisykles, kurios melavo serveriams, kad tokio vartotojo iš viso nėra. (Standartinis assassino bouncer tikrintojas nepadėjo).

Čia jums situacijos iliustracija:

Backscatter schema

Dabar (šeštadienį), atrodo virusas buvo užgniaužtas pačio imageshack sistemos ir kitų tarnybų. Dabar gaunu tik keliasdešimt laiškelių per minutę. Tikiuosi protrukis greit nurims.
Šitas efektas anglų kalboje vadinamas “backscatter” mail.

Pagaučiau aš tą viruso kurėja, tai tokia pornografija jam padaryčiau… geriausiu atveju nuraučiau kiaušius.