Monthly Archives: May 2011

1995 o gal 1993

Jau galvojau, kad pamečiau… Gal kur nors disketėse dar ir rasčiau. Tačiau gerai kad yra internetas… Apie ką aš čia? Čia mano pirmasis didesnis programinis projektas. Ir kogero antra programa kuri parašyta C kalboje. Programa paviešinta internete, baisu net gi pasakyti, 1995 metais. 🙂
Radau netyčia naršydamas pagal savo vardą ir pavardę. Pasirodo įtrauktas į kažkokius “classic games” CD rinkinius. Pasirodo, aš buvau geras žmogus ir programa netgi įdėjau su visais sourcais. Dabar nusikroviau, paleidau Amiga kompiuterio emuliatorių ir va kas gavosi:

Ant tikro Amiga kompiuterio visas vaizdelis žymiai tolygesnis. Čia jau emuliacijos problemos (CPU ir GPU dažnio santykis). Sunku suderinti, nes “žaidimas” parašytas visiškai nežinant OS subtilybių ir be jokios dokumentacijos. Nors ir nebuvo dokumentacijos (rašiau reverse engineerindamas keletą bandiminiu programų) šis žaidimukas naudoja GPU akseleraciją! (aišku 95 metų lygio). Kas juokingiausia- nemokėjau skaityti iš disko (arba ilinkinti grafinę medžiagą) ir nemokėjau daryti “fprint” komandos grafinėje aplinkoje… Todėl gavosi tokia keista grafika, tekstas ir garsai… 😉

Source kodas rodo dvigubą datą: 1993 ir 1995 metus. Kadangi rašyta ant dviejų kompų (A500 ir A1200) tai yra didelė tikimybė, kad softas gali būti ir 1993 metų. Tik jis paskelbtas 1995.

Boulder Dash

Nu, bent jau prie labirintų žemėliapių parašyta tiktai senesnė data:

Boulder Dash

Gaila, neišliko mano rašytas ATARI kompiuko softas… 🙁 nebuvo tada interneto.

Kaip paleisti modeliuko varikliuką be distancinio valdymo

Tikriausiai daugelis matė internete gražius bešepetėlinius variklius skirtus modeliukams- malūnsparniams, lektuvėliams, valtim ar mašinytėm. Jie valdomi specialiais kontroleriais. O tuos kontrolerius savo ruožtu valdo radio bangų imtuvas, o imtuvą- siustuvas… ir t.t. O jei norėtusi tą motoriuką paleisti be visos šitos “nagruzkės”? Paprasčiausiai tiesiogiai imti ir pajungti, kad suktu kokį grąžteli…

Mystery BEC brushless controller
O kokių tik “krutų” terminų neprisigalvojo tie modelistai: BEC, ESC, UBEC, SBEC…

Tam reikalui nusipirkau vienus iš pigiausių ir greičiausių motoriukų ir reikiamą kontrolerį. Tačiau įjungus maitinimą aš išgirdau tik kelias treles iš motoro- kontroleris laukia komandų. Ar tai sukimosi, ar tai programavimo… Į rankas internetą… ieškom, ieškom ir pradedam pykti. Visa informacija tipo tokia: nuspauskyte vairalazdę iki galo, įjunkite lėktuvo modelį, po cyptelėjimo perveskit šturvalo trottle į kitą padėti… ir panašiai. Pilna diskusijų kaip ten kažkam nesusiprogramino ir panašiai. Tačiau apie realius protokolus, dažnius ir principus nulis informacijos.
Tik nesupykit modeliuotojai, bet jūsų (čia turima omenyje užsienio) forumuose nėra protingos info. Matyt visa šita produkcija skirta end-useriams ir jums tikrai per sudėtinga tie hercai, PWM moduliacijos ir panašiai. Todėl tenka beveik viską reverse-engineerinti…

Trumpa video iliustracija:

Valdymo dažnis apie 400Hz. Dažnis gali kiek skirtis, tačiau šitam kontrolerius jis pasirodė stabiliausias. Vieno iš įjungimo metu kontroleris užsiprogramuoja min max reikšmes. Apie tai (ir apie programavimą) pabandysiu parašyti kitą kartą. Tačiau dabar jau matosi (žiūrėti į žalią oscilogramą), kad kuo pilnesnis PWM (daugiau aukšto lygio) tuo greičiau sukasi motoriukas. Oscilografas biški lagina, bet suprasti galima. Ir dar matosi, kad šiuo atveju, motoro apsukų ir PWMo priklausomybė kažkokia iškreipta.

Beja, BEC- tipo battery eliminator. Pas paprastus inžinierius elektronikus- paprasčiausias įtampos stabilizatorius. Tai, va, pas šitą “kontrolerį”, tas “eliminatorius” padarytas ant atskiros plokštelės. Tipo jis turi gaminti kažkokią žemesnę itampą. Deja, arba jis kažkoks blogas papuolė arba aš nieko nesupratau- jis darosi švelniai šiltas ir be apkrovos. O ir išėjimo įtampa apie 8V. Jei tai turi būti, tai šudas. Nes neapkrautas įtampos stabilizatorius turi būti šaltas. Jau nulupau plastiką ir galvojų apie šio reikalo skrodimą. Iš šonų matosi ar tai keli tranzai ar kelios ala 7805 mikroschemos.

Video registratoriaus objektyvas

Turiu nusipirkęs iš DX video kamerytę, kuri filmuoja gatvę kai važiuoju automobiliu. Tačiau stokinis objektyvas pernelyg siauro kampo, ne viską pamato. Ilgą laiką brandinau mintį ir nusipirkau objektyvų rinkinuką. Komplekte yra: 2.8mm, 3.6mm, 6mm, 8mm, 12mm ir 16mm.

objektyvu rinkinys

Teko kiek palaužyti, išlupti apsauginį stikliuką, pavargau kol atsukau užlakuotą originalų objektyvą.

Originalus, stock, objektyvas duodą tokį vaizdelį foto režime:
stock lens
(spaudžiant ant nuotraukos nusikrauna originalus, virš 3 megų failas. Galioja visom testinėm foto).

O dabar eksperimentai:

Visas durnumas, kad daugumas objektyvų susifokusuoja už sriegio ribos, todėl nuotraukos gavosi neryškios ir kiek apšviestos- šviesa pateko į matricą per plyšius. Ir aišku, originalus objektyvas turi IR filtrą. O nauji neturi…

Pradeda nuo didžiausio “zoomo”:
16mm objektyvas
16 mm ojektyvas. Fokusas gaudytas rankomis.

12mm objektyvas
12 mm ojektyvas. Fokusas gaudytas rankomis.

8mm objektyvas
8 mm ojektyvas. Fokusas ant pačio sriegio galo.

6mm objektyvas
6 mm ojektyvas. Fokusas ant pačio sriegio galo. Gal ir gerai, bet panašu, kad stokinis objektyvas būtent tokio židinio nuotolio.

3.6mm objektyvas
3.6 mm ojektyvas. Fokusas gaudytas rankomis. Jau plačiakampis, bet objektyvas turi kaboti “ore”. Nesamonė kažkokia…

2.8mm objektyvas
2.8 mm ojektyvas. Fokusas gavosi normaliai ir gana gerai įsukus objektyvą į korpusą. Labai jau plačiakampis, bet kogero teks šitą naudoti. Ir spalva kažkokia kitokia, tikriausiai objektyvas kiek sugeria IR spindulius.

Nulupau IR filtro stikliuką nuo iriginalaus objektyvo ir šiaip ne taip priklijavau prie naujojo. Gavosi taip:
IR filtras ir 2.8mm objektyvas
Labai jau fish eye 🙂

Perdaryta kamera atrodo taip:
kamera po perdarymo

Matosi, kad objektyvas išlenda iš korpuso. Teko nuimti apsauginį (tikro stiklo!) stikliuką ir padrožti plastiką.
kamera po perdarymo

O čia svarbiausias testas, dėl ko viskas buvo vargstama. Filmukas- pradžia stokinis, poto plačiakampis be IR filtro ir jau viskas sumoontuota.


(filmas turi HD režimą)

Pažiūrėsim kaip viskas atrodys automobilyje.

Triukas su kondensatorium

Per kažkiek laiko prisikaupė CCTV kamerų GANZ YCH-30P. Tai paprastos stebėjimo kameros, tiksliau jų kūneliai (body) dirbančios PAL sistemoje nuo 220V tinklo. Pagrindinė šių kamerų bėda- netobulas maitinimo šaltinis. Šaltinis gamina 9V ir 50Hz “tick”. Maitinimo širdis STRTG6153 mikroschema. Taip greitai šios mikroschemos datasheet’o neradau, bet sprendžiant pagal jos giminaites, kažkokios schemos užuomazgos aiškios.

Kameros CCTV
Kelios išrengtos kameros, jų maitblokiai.

O čia maitblokis iš arčiau:
Kameros CCTV maitinimo šaltinis
Remontuojant, kokios 10 kamerų susiremontuoja pakeitus 56uF 35V kondensatorių kuris maitiną mikroschemą. Standartinis high ESR gedimas. Per eBay prisipirkau 47uF 35V kondensatorių ir viskas gerai gaunasi. Tačiau keletas maitblokių neatsigavo. Tačiau bevartaliojant rankose maitblokius keletą kartų pistelėjo elektra (kaltas- neiškroviau 10uF 450V kondensatoriaus) ir vienas maitblokis atsigavo. Aišku nemalonus reikalas, bet sudomino. Kas gi galėjo susiremontuoti schemoje nuo elektros iškrovos ir kartu nesugesti. Prisiminiau, kad elektrolitiniai kondensatoriai (ir ne tik) kartais “susiremontuoja”. Peržiūrėjom plokštę atidžiau:

Kameros CCTV
Va vienas įtartinas objektas- 1uF 35V tikriausiai tantalinis kondensatorius. Ir ką? testeris parodė trumpą jungimą, tuo tarpu veikiančiuose maitblokiuose jis “prasiskambina” kaip tikras kondensatorius. Paėmiau išorinį reguliuojamą maitblokį, nustačiau maždaug 12V ir “pasviliniau” detalytę… Išsigando rupužė- maitblokis pradėjo veikti. Matyt atsistatė elektrolito izoliacija arba nusvilo susitrumpinusi dalelytė.
Deja vienas maitblokis tai nesusitaisė- elektrolitas atsistatė, tačiau matyt susvilę kažkas daugiau. Tačiau vienas iš kokių 20 tai procentas geras.

Spirografas

Spirografas (nuo žodžio spiralių paišymas, nė kiek nesusijes su kvėpavimo matavimu). Tai senesnio eksperimento pratesimas. Tik dabar panaudojau papildomą programą kuri generuoja skriptus. Nedidelis lyrinis nukrypimas: kas darosi su šiuolaikiniu programavimo softu? Seniau, kad ant kokio 8 bitų kompo (ar dosinio MS Basic) nubrėžti taškelį ant ekrano užtekdavo įjungti grafinį režimą ir paleisti kompandą “pset”. Poto atsirado windozė ir MS Visual Basic, čia jau reikėjo nurodyti objektą kur paišom, perjungti scalling režimą, ir paleisti komandą pset… Kas patobulėjo perėjus į VB.net 2005 express edition? Ogi nebeliko ne tik komandos PSET (pats Microsoftas rekomenduoja paišyti 1 pixelio storio elipses!) bet ir nėra galimybės tiesiogiai paišyti. Reikia sukelti paišymo komandas į eventą, tą eventą pririšti prie grafinio objekto ir poto kažkaip jį išprovokuoti. Eina namas, pasikrušiau kelias valandas, nieko gero nesigavo, užsiknisau negyvai ir paršliaužiau atgal prie Visual Basic 6.0. 🙁

Lyrinis nukrypimas baigėsi. Aš turėjau tokį žaisliuką kaip Spirografas. Tokia liniuotė su krumpliaračiais, ikiši tušinuką, pasuki ir gaunasi kažkokios kreivės. Priklausomai nuo skylutės (parametro) ir dantračio kreivės gaunasi vis kitokios. Panašiai gaunasi ir su softu, tik čia dar daugiau parametrų ir galimų kreivių. Softas pakeliui sugeneruoja .bat failą kuris gali valdyti išskrostą printerį.

Filmukas- iliustracija:

Beja pradinis softas vos vos patobulintas, kiek pagražintas ir pora bugų išnaikinta.

O čia biški prasisukau per šiukšlyną ir parinkau motoriukų:
stepper motors from dot matrix printers
Labiausiai domina senoviški motoriukai, nes jie išardomi, su rutuliniais guoliais ir lengvai tvirtinasi. Dar ir datašytus galima rasti. Šiuolaikiškesni jau su slydimo guoliais, skardiniai ir panašiai. O jau visiškai naujuose printeriuose naudojami paprasti šepetėliniai varikliukai ir padėties encoderiai.