Monthly Archives: October 2007

ATMEGA USB 009 (1-wire, i-Button)

Tikriausiai pagalvosite, kad susipainiojau ir užmiršau 008 straipsniuką? Deja, 008 dar nesigavo ir neveikia…

Darbe stačiau elektroninę spyną su Dallas (Maxim) i-Button mikroschemom. Tiksliau “tabletėm”, “batareikom”. Mūsuose tom spynom naudojamos DS1990A mikroschemos. Viena mikroschema kainuoja apie 10Lt. Originali spyna buvo su PIC procesorium, su pačiu mažiausiu, ir 24C16 atmintim raktu atsiminimams. Aš nuskaičiau minėtos mikroschemos turinį ir radau tuos pačius skaičiukus kurie išgraviruoti ant “tablečių”. Pasiskaičiau mikroschemos aprašymą ir pamačiau, kad tai nėra koks tai stebūklingas “high security” daikčiukas. Paprasčiausias serial ROM su CRC ir vienintelis navarotas, kad maitinamas per tą patį duomenų laidą.

Nutariau paeksperimentuoti su esamom tabletėm. Pagrindinė problema, kad internete pilna visokių source susijusiu su 1-wire protokolu, bet dauguma jų naudoja komercinį AVR kompiliatorių kuris turi integruota include failą. O aš norėjau rašyti ant GNU versijos, todėl teko ilgokai paieškoti veikiančio varianto.

Tabletė jungiama prie mano plokštės panaudojant “firmware” jumperį. Tik reikia prikabinti 4.7K pull-up rezistorių is viskas bus gerai (yra programos modifikacija kuri veikia be rezistoriaus). Visa informacija atvaizduojama per LCD moduliuką.

i-button avr

Ekrane, viršutinėje eilutėje rodoma būklė (status): OPEN, SHORT, OK ir ERROR. Atitinkamai: niekas neprijungta, trumpas jungimas, viskas gerai ir klaida. SHORT būklė leidžia naudoti tuos pačius du laidus skambučiui. Dešinėje viršuje, CRC, tai kontrolinė suma. Programos archyve yra programa kuri perskaičiuoja kontrolinę sumą. Apačioje, kairėje- device familly id, mikroschemos grupės numeris. Ilgiausias skaičius- 48 bitų mikroschemos serijinis numeris. Jis taip pat išgraviruotas ant mikroschemos.

i-button avr

Programos išeities tekstai (source code): 20071027.zip

Programoje yra daugiau visokiausių funkcijų, aš panaudojau minimalistinį variantą kuris man veikia.

Dabar jau galima susikontruoti savo kodinę spyną, tik kad ID tabletės nėra saugūs prietaisai. Manau koks nors gudročius gali sukonstruoti mikroschemos emuliatorių ir nužiūrėjęs skaičiukus pagaminti rakto dublikatą. Ir dėl to Dallas’as nekaltas, jis gi rašo:

The DS1990A Serial Number iButton is a rugged data carrier that serves as an electronic registration number for automatic identification.
…allowing the DS1990A to be used easily by human operators. Accessories permit the DS1990A iButton to be mounted on almost any object, including containers, pallets, and bags.

Apie spynas, kaip matot, čia niekur neužsimenama. Manau čia Lietuvaičiai gudrauja ir stumia niekalūs mūsų tautai. Rimtom spynom reikėtų naudoti DS1963S mikroschemutę…

Dolby Digital kinojuostoje

Kažkada atsiplėšiau gabaliuką juostos nuo kino teatro išmestos špūlės. Filmas buvo kažkoks tamsus, apie vampyrus. Su titrais. Juostos galiuką numečiau ir pamiršau. Neseniai wikipedijoj radau straipsnį apie tai, kaip koduojamas garsas kino juostose.

Dolby Digital 35mm

Susiradau savo atraižą, pasitikrinau ir tikrai radau Dolby Digital takelį. Duomenys užkoduoti matrix barkodu. Kas per trys papildomi skaitmeniniai takeliai aš nežinau. Senose juostose ten eina analoginiai garso takeliai. Pas mus technika moderni…

Dolby Digital 35mm

Fotke daryta per 25x didinanti mikroskopą- atstumas tarp skaičiais pažymėtų padalų lygiai vienas milimetras. Per vidurį matosi Dolby Digital (DD) logotipas.
O čia jau nuotrauka pasiskolinta iš Wikipedijos:

DD is Wikipedijos

HDTV

HDTV, hdtv… koks gi tas HDTV dydis? Va kelios iliustracijos kurios pavaizduoja kadro dydį tiems kurie neraukia nieko apie pixelius, eilutes, 720p ar 1080p… Prašom atkreipti dėmesį į įprastus Windows XP elementus po pagrindiniu kadru. Palyginkite su savo monitoriaus “start meniu” mygtukėliais ir suprasit.

HDTV
HDTV
HDTV
HDTV

ir nesumažintas gabaliukas…

HDTV

Ateniuatorius

O! tai lobis kuri radau labai netyčia. Aš turiu pasidaręs šiokį-tokį funkcinį-sweep generatorių. Vienintelė bėda, kad neturėjau jam ateniuatoriaus. Paprastas, anglinis rezistorius labai jau traškėjo, o vielinis turėjo per didelį induktyvumą. Iš kažkokio rusiško prietaiso buvau išlupes ateniuatoriu, bet jis labai sunkiai junginėjosi ir taip pat buvo skirtas žemiems dažniams. O šiandien netyčia pamačiau jau suniokotą amerikonišką sweep generatorių. Taip kažkur 1964 metų laidos. Jo maksimalus dažnis kažkur 10MHz, taip supratau iš skalės likučių. Visa lempinė sistema jau buvo stipriai parėjusi, o ir lempos jau stipriai pajuodusios. Bet jame buvo labai “nepriklausomai” primontuotas ateniuatorius. Paprasčiausiai dvi “bačkutės” su BNC jungtimis. Kiek teko pavargi kol atsukau colinius varžtus, bet prietaisiukas buvo saugiai išluptas.

ateniuatorius

Tai iš esmės du ateniuatoriai- vienas dešimtim decibelų, kitas vienetams. Mažiukas turi 0, 10, 20, 30, 40 ir 50 dB rodmenis. O štai didysis jau pilna skalė nuo 0 iki 10 imtinai dB. Dar viena padala kurios trūko rusiškam aparate- atjungimas.

Patys ateniuatoriai padaryti iš storasienės bronzos, pasidabruotos. Į vidų nelindau, nes pagal pirmus testus ateniuatoriai puikiausiai veikia. Labai maloniai, švelniai persijunginėja rankenėlės. O BNC jungtys su “vakarietiška” pakraipa, todėl šiuolaikiniai BNC laidai lengvai ir patogiai jungiasi. Ko nepasakysi apie tarybinius laidus- kur standartinė jungtis ant marytės plaukelio mažesnė. Dėl to “mažumo” jungtis labai sunkiai užsideda ir dar sunkiau nusiima.

ATMEGA USB 007 (USB)

Jau rašiau, kad man nepavyko perkompiliuoti valdymo programą kad ji teisingai veiktų, nors prie originalaus archyvo pridėtas EXE failas buvo visai veikiantis. Matyt tai mano turimo kompiliatoriaus problemos- gal jis blogai nulaužtas ar jo versija kažkokia neteisinga. Aš naudojau Borlan Delphi Professional, Second Edition v7.2, Created 2006 by Lite Application.

Kiek paeksperimentavau ir radau metodą kaip apeiti šį bugą, bet tai tiesiog kažkoks nesusipratimas. Užtenka pridėti vieną eilutę kurioje atliekami nereikalingi veiksmai su nenaudojamais kintamaisiais ir viskas pradeda veikti. Deja, aš nesu šios programavimo kalbos specialistas. Jei rimtai, aš pirmą kartą matau šią programavimo sistemą. Jei kas nors paanalizuotu tekstus ir pakomentuotu, būtų visai fainai. Pakeitimai tekste aprašyti “Readme.txt” faile.

Kiek pamodifikuota USB-LCD valdymo programa ir jos išeities tekstai (source code) skirti Borland Delfi 7. Veikia su mano WinXP Pro SP2, and P4HT kompiuterio: 20071007.zip.

23″ monitorius

Vieniems klientams pirkau naujutėlaičius Apple Full HD wide monitorius. Jų ištrižainė yra įspūdinga, bet dėl monitoriaus proporcijų, pats prietaisas neatrodo labai didelis. Kai pastatai šalia jau įprasto 17″ monitoriaus, tie 23″ cinema neatrodo labai jau dideli.

Full HD monitor

Monitoriaus “native”, matricos rezoliucija 1920×1200 pikselių, tai pilnai atitinka HD standartui 1900×1080.

Full HD monitor

Per šį monitorių jau galima žiūrėti pilną HD vaizdelį be jokių dydžio ir proporcijų iškraipymų. Monitoriaus kokybė tikrai gera. Monitoriaus matrica aišku neturi nei vieno “mušto” “negyvo” taškelio. Visa matrica tolygiai pašviesta. Ganėtinai platus apžvalgos kampas ir spalvos nesikraipo žiūrint iš šono. Maitinimo šaltinio laidas, USB, firewire perduodama į monitorių per vieną ne per storiausia. Laida. Beja, šie monitoriai nepripažysta analoginio signalo, todėl jei turite seną VGA plokštę, tai prie jos nepajungsit. USB ir firewire monitoriuje nieko nedaro, ten tik minėtų laidų hubas. Labai patogu pasijungti kokį USB raktelį tiesiai į monitorių- nebereikia susilenkus grabalioti kompo subinę ar priekį.

Full HD monitor

Tokiam dideliam ekrano plotę galima pridėlioti labai daug įkonėlių ir langelių. Bėda ta, kad Windozė labai pradeda laginti kai ant desktopo daug šlamšto. Darba su Adobe photoshop, Premiere ar Encore labai patogus, bet ne toks patogus kaip darbas su dviem monitoriais. Bandžiau pajungti du 23″ monitorius, bet mano video plokštė turi tik vieną skaitmeninį išėjimą… 🙂 Taip pat patogu dirbti ir sukitom programom skirtom darbui su daugybe langelių: bent jau MS Visual Studio Express Edition paketai ganėtinai gerai “tilpo” į ekraną. Aš pats nedirbu su Excel/open office lentelėm, bet žmonės dirbantys su panašiais monitoriais labai patenkinti. Ypač patenkintos buhalterės- joms telpa visa “šachmatkė” ant ekrano. Kas tai per žvėris yra šachmatkė aš jau neaiškinsiu… 🙂 Man net purto prisiminus savo “buhalterio-sąskaitininko” darbą.

Full HD monitor

Aišku yra minusų dirbant su dičkiais monitoriais- mūsų WWW dizaineriai matyt dar neišrado, kad gali būti platūs ir dideli ekranai. Todėl daugumas interneto puslapių atrodo našlaitiškai. Tie balti fonai gal tiktų užrašams? 🙂

vieta užrašams?

Rezistoriai

Ardydamas sena techniką, beja vakarietišką, radau labai gražius rezistorius. Nors jie beveik nepanaudojami šiais laikais megėjiškoje kuryboje, bet rezistoriai patraukė mane savo grožių. Ne kiekvieną dieną galima rasti rezistorius įlituotus į stiklines kolbikes. Tai labai didelės varžos rezistoriai iš kažkokio “mokslinio” prietaiso. Matyt kažkoks RC generatorius, nes prie kiekvieno rezistoriaus dar ir kondensatorius.

Rezistoriai specifinio nominalo 316.2 Mega omo. Taip, trys šimtai šešiolika milijonų du šimtai tūkstančių omų. Kiti rezistoriai ant vieno perjungėjo eina iš tos pačios serijos tik kinta dešimtim: 312.6, 31.62, 3.162M. Kuo mažesnis rezistorius, tuo tikslesnis- 3M rezistorius jau 0.5% tikslumo. Stikliniai – 1%.

resistors

Ant kito perjungiklio RC grandinės: 316.2M+0.00068uF, 100M+0.0022uF, 31.6M+0.0068uF, 10M+0.022uF ir t.t.

resistors

Pats prietaisas buvo surinktas ant tranzų ir keletos mikroschemų, bet aukštos įtampos lygintuvas padarytas ant lempos: VICTOREEN 7234, CLEVELAND, MADE IN USA. Lempa matyt perpatikrinta, nes yra ranka darytas užrašas. Lempos data tikriausiai apie 1970 metus. Prietaisiukas vyresnis už mane. 🙂

Video per UTP kabelį

Buvo užduotis kaip galima pigiau video signalą iš kamerytės perduoti per įvairias gamybines patalpas link kompiuterio kuris viską įrašinėja. Paprasčiausias sprendimas- paimti špulę koaksalinio kabelio ir pravesti nuo kameros iki kompo. Bet. Pagrindinis “bet” tame, kad kabelis eina per du sandėlius ir vienas gamybines patalpas. Taip pat peršoka tarp dviejų aukštų pastatų. Dėl elektros sistemos netobulumo ir daugokos jėgos kabelių patalpose daug trugdžių. Ir dar, patalpos išdažytos kreida- kabelio vedžiojimas gryna kankynė. Taip pat, tarp pastatų didelis potencialų skirtumas- reikia galvaniškai atrišti signalo perdavimą. Kilo mintis pasinaudoti esamais kompiuteriniais- telefono tinklais. Tarp taškų praeina keletas UTP (tiksliau STP- shielded twisted pair) kabelių kurių ne visos poros išnaudotos. Visas kabelio ilgis apie 300 metrų.

Pradžioje naivai panorėjau panaudoti taip vadinamus video baloon- pasyvus prietaisiukai kurie konvertuoja asimetrinį 75 omų kabelį į simetrinį 100 omų kabelį ir specialiai skirtas video signalo perdavimui. Drasiai prijungiau tuos du balūnus prie kabelio galų ir gavau šūdiną rezultatą. Pirmiausia- signalas pernelyg nuslobsta per tokį atstumą (nors reklamose parašyti žymiai didesni atstumai), o antras dalykas- tai jau mano nežinojimas. Paprasčiausiai video-balūnas nėra transformatorius. Tai tik kiek mandrai pajungtas droselis-trafas ar autotrafas. Žodžiu jokio galvaninio atrišimo. Gerai, kad video įrašymo įranga buvo teisingai įžeminta ir nukentėjo tik mano pirščiukai.
Teko pagalvoti apie galvaninį atrišimą ir aktyvų stiprinimą… Deja, mano biudžetas jau buvo pilnai išnaudotas ir visi komerciniai sprendimai automatiškai atpuolė. Liko tik “pasidaryk pats” sprendimas ir kalnas senos elektronikos. Šiam sprendimui prireikė dviejų esminių elementų- video transformatoriaus kuris kažkiek turi būti prisiderines prie esamo UTP kabelio ir video stiprintuvo. Video stiprintuvas padarytas ant Elantec (darbar Intersil) operacinio stiprintuvo EL2044C (Low power, Low voltage, 120MHz Unity-Gain stable operational amplifier). Čipuką išlupau iš kažkokio video prietaiso. Operacinis veikia nuo plataus įtampų diapazono nuo 2.5V iki 36V ir dar priedo jis kaip tik skirtas video signalams stiprinti- gerai dera jo išėjimas prie 75 omų video įėjimo.
Pati sudėtingiausia detalė tai video transformatorius. Siuntimo pusėje signalas išėjęs iš video kameros patenka į tą patį balūną (nenorėjau vargti su banginių varžų suderinimų, o ir vienoje pusėje kabelį reikia galvaniškai įžeminti) ir eina per UTP kabelį. Kitame kabelio gale gauname stipriai pasilpusi diferencinį video signalą. Čia pastatytas transformatorius simetrinį signalą verčia į įprastą. Koks gi tai turi būti trafukas? Ogi labai jau plačiajuostis ir suderintas su UTP kabeliu. Čia jau bėda- informacijos apie trafukus aš internete neradau ir teko išbandyti net kelis variantus. Net kelis trafus suvyniojau pats. Vienas dalykas tikrai aiškus- trafo šerdis feritas. Trafas turi turėti mažą talpą, bet ir tokį induktyvumą, kad saugiai perduoti platų video signalą. Deja negaliu pasakyti kokį trafą aš panaudojau- aš namie pajungiau DVD grotuvą kaip video šaltinį. Video signalą perdaviau per UTP kabelio atraižą- 4 x 120metrų. Kabelio galiukas buvo 120 metrų, o signalą perdaviniau pirmyn- atgal per visas poras. Tai ir gavosi tie keturi kartai. Viso apie puse kilometro laido ir 5 “skrūtkės” (prijungimai nebuvo tobuli ir naudojau laidų atraižas). Kabelio emuliatorius gavosi dar baisesnis nei realus. Tada prie šios sistemos jungiau įvairius transformatorius, iš kurių signalas ėjo į video stiprintuvą, o toliau į televizorių. Pirmas eksperimentas parodė baisų vaizdą, be spalvų ir su baisiais šešėliais. Neskaitant to, kad buvo problemos su sinchronizacija. Šešėliai atsirado dėl atspindžių kabelyje ir transformatoriuje. Tai patvirtino ir oscilografas. O spalvų trūkumas buvo ir dėl atspindžių ir dėl aukštesnio dažnio praradimo kabelyje. Primenu, kad PAL sistemoje spalvinis signalas užkoduotas ant 4.43MHz nešančiosio ir primaišytas prie skaisčio signalo. Kondensatoriai ant video stiprintuvo kiek padėjo sustiprinti spalvas. Ypač padėjo kondikas ant… išėjimo rezistoriaus. Aš net įtariau išejimo rezistorių turint didelį induktyvumą- bet detalė tai SMD ir išimta iš video įrenginio… Sumažinus trafuko apvijas, spalvingumo signalas atsigauna, bet išsikraipo žemadažnis signalas (tai labai gerai matosi oscilogramose prie kadrų sinchro impulsų). Sprendimas buvo atrastas kiek netikėtai paskaičius internetą- vienas žmogus stiprino kažkokį radio imtuvo signalą ir taip pat turėjo problemų su galvaniniu atrišimu. Tas žmogus panaudojo senos tinklo plokštės transformatorius. Skubiai išardžiau seną 10Mbit LAN plokštę ir panaudojau trafuką. Jis parodė labai gerus rezultatus aukštame dažnyje (jis skirtas darbui ~10MHz) bet visiškas slamštas su žemais dažniais. Tada iš nevilties sujungiau du transformatorius nuosekliai- vienas aukštam dažniui, o kitas likusiam video signalui. Svarbu tik nesupainioti trafo fazių, nes gali būti keistoki efektai 🙂

Galutinė stiprintuvo schema:

Video over UTP

Viršutinis trafas schemoje aukštadažnis, apatinis paprastas. Apatiniam panaudojau ryšio transformatorių ant feritinio žiedo nuo kažkokio sudėtingo telefonų stoties maitblokio. 100 omų rezistorius prie trafo tai pagrindinė apkrova. Kondikas kiek pagerina aukšto dažnio signalo lygį. Kondiko talpos nepamenu. 500 omų trimeris- papildoma apkrova su kuria reguliuojama linijos apkrova. Horizontalus 100 omų rezistorius irgi ne šimto omų. Aš nepamenu kokį idėjau, bet itariu kad apie 47 omų. Visa šita machinerija parenkama taip, kad signalas kiek galima mažiau būtų iškraipytas- pagrindinė kova su atspindžiai daroma čia. Beja, užmiršau pasakyti, kad trafai tai 1:1.

5 kiloomų trimeris reguliuoja “Gain” t.y. stiprinimą. Su juo sureguliuojamas signalo lygis, kad vaizdelis būtų panaudojamas.

Visas aparatas maitinamas iš dvipoliarinio šaltinio. Aš panaudojau paprastą stabilizuotą maitblokį su “sintetine žeme”. Tai kiek neekonomiška, bet nenorėjau ieškoti trafo su dviguba apvija. Dvigubas maitinimas davė žymiai geresnius rezultatus, nes video signalas yra “pririštas” prie žemės ir jame yra neigiamų dalių. Daryti galvaniškai atrištą video signalą su kondikais ant išėjimo nesinorėjo. O beto, toje pačioje dėžutėje guli LMxxx quad operacinis kuris užsiima ir audio signalu. Jam dvipusis maitinimas irgi visai gerai.

CIS

Darbe reikia kartais paspausdinti spalvotai. Ką nors nelabai kokybiško ir pigaus. Spalvotas lazerinis printeris kol kas dar atpuola dėl pačio prietaiso ir dažų kainos. Kiek supratau iš vietinių pildytojų, mažųjų printerių apsaugos sistema dar nenulaužta. Todėl tenka naudoti originalias kasetes. Todėl naudojame paprastučius rašalinius printerius. Seniau naudojom jau aprašytą HP970cxi, bet padidėjus spausdinimo tiražams teko labai dažnai keisti rašalines. Aišku jas lengva pildyti, ypač spalvotas, bet atsibodo. O beto ir pats printeriukas kiek išklero. Todėl nupirkom naują printerį: Hewlet Packard Business Ink jet 1000. Tai “beveik” profesionalus printeris- jo rašalinės nejuda, kiekviena spalva turi atskirą rašalinę. Tačiau HP sumastė, kad jiems reikia užsidirbti pinigėlius iš jūzerių. Todėl į rašalines įmontavo mikroschemas. Šią apsaugą galima apeiti- rusiškam saite rašoma, kad užtenka atjungti kelis laidelius. Nežinau- nebandžiau.
Šie printeriai patogus tuom, kad jiems galima prikonstruoti CIS sistemą (Continuos Ink Supply). Tai paprasta sistema, kuri naudodama susisiekusių indų principus prijungia papildomą rašalo talpą prie pagrindinės kasetės. Tokią sistemą galima pasidaryti ir pačiam (aš net susiradau atitinkamas šlangeles), bet galima nusipirkti eBay aukcione jau padarytą sistemą. Aš pasirinkau eBay variantą- nes pirkinį apmokėjo darbdavys, o ir vargti nereikėjo. Taigi, už 94 USD aš gavau pilnai surinktą sistemą. Į komplektą įėjo: papildomos rašalo talpos, šlangelės, rašalo kasetės su modifikuotais čipukais ir visa sistema jau buvo užpildyta rašalu. Va kaip atrodo sistema jau pajungta prie printerio:

CIS for HP1000

Juodą rašaliuką jau pildėm. O šiaip, buvo problemų su papildomų “bonkių” tvirtinimu- jos atšoko nuo printerio šono. Ir dar buvo papuolę oro burbulai į vamzdelius- teko pasidarbuoti švirkštu ir išpumpuoti oro kamščius.