Tavo-mano vamzdyje jau prieš kelias dienas įdėjau filmuką apie sidabro elektrolizę. Dabar atėjo laikas pažaisti su brangesniu metalu. Todėl pradžioje surinkau visas turimas laboratorijos atliekas ir sulydžiau į vientisą gabaliuką. Poto užsiimiau auksakalyste ir ištaškiau tokį plokščią daiGtą.
Continue reading →
Category Archives: Betkas
Lazerio optikos tobulinimas
Kiniškas lazeris padarytas bet kaip. Šita jau žinojau. Šiandien norėjau apžiūrėti kaip padarytas fokusuojantis lęšiukas ir kaip ji ten patobulinti su oro tiekimu. Pakeliui, jei reikia, išplauti galimas nuosėdas. A dar, papildomai nusipirkau atsarginį stikliuką.
Kita pusė- paprasčiausias lygus aliuminio gabalas su kreivai išgręžta skylute. Jokio idubimo lęšiukui nėra. Kai prisuki, lešiukas grubiai traiškomas tiesiogiai aliuminio.
Continue reading →
AVR55:dar vienas LCD iš telefono
Seniai mėtėsi stalčiuje, niekaip nekilo rankos jį pajungti. Tačiau kažkaip papuolė po ranka. Tai tikriausiai iš kokio senoviško Siemens telefono LCD ekraniukas su kodu “M15SGFNZ07”, spėtinai iš Siemens A65, M55, C60, MC60, S55, A60 ar panašiai.
Jungiasi per 3V logikos, ir toks pats maitinimas. Pinoutas žiūrint nuo siauresnės ekrano dalies, iš kairės (kai ekrano jungtis kairėje apačioje):
1-CS
2-RESET
3-RS
4-SCL
5-SDA
6- +2.9V Vcc
7- GND
8- LED1+
9- LED1, LED2 GND
10- LED2+
Ties SCL ir SDA tik šiaip panašūs į I2C. Ištikruju ten žymiai paprastesnis protokolas.
Kiek paguglinus buvo rasti du šaltiniai- kažkokio lenko kūryba ir vienas Lietuviškas saitas. Lietuviškas buvo Arduino variantas, todėl jo per daug nesinagrinėjau. O lenko kūryba pasinaudojau, kad bent jau kažką rodytu. Poto gana daug perrašiau pats ir optimizavau. Gavosi kaip ir biblioteka kuri dalinai high-level sutampa su kitų ekraniukų valdymu. Todėl nėra problemų perkelti projektą iš vieno ekraniuko į kitą. A, dar, proporcinis šriftas, nes su monospace ant tokio ekraniuko (100*80) nelabai prasisuksi.
Dėl spalvų tai nežinau- ar tas LCD toks prastas, ar blogai sureguliuotas kontrastas. Beja, šis ekraniukas yra žiauriai lėtas. T.y. pats skystas kristalas lėtas.
Šiaip, dar vienas momentas- čia naudojamas softwarinis SPI. Nes eksperimentuojama buvo ten kur SPI naudojamas kitais tikslais. Tačiau nėra didelė problema padaryti per hardwarinį SPI. Tik vienoje vietoje reikia kiek pakeisti kodą.
Nu ir žinoma:
M55 Siemens LCD ekraniuko AVR source code ir kompiliuotas hex failas (ATMEGA16)
Dantračiai, lazeriai ir matematika
Jei turi pjaustanti lazerį, tai reikia būtinai išsipjauti kelis dantračius. 🙂 Čia toks įstatymas tikriausiai.
Tačiau dantratis yra ne šiaip abstraktus piešinys, o griežtas matematinis reiškinys. Todėl rankomis dantračio nenupaišysi… Yra specialus softas paišyti dantračius. Tačiau vienas softas mokamas, o kitas softas neduoda vektorinio paveiksliuko reikalingo lazerio pjovimui. Ką daro tokiu atveju Levas? Aišku iš pradžių stipriai guglina. Poto nervuojasi, poto prisimena, kad kiekvienas CorelDraw softas savyje turi Visual Basic.
Todėl pirmiausia bandoma bet kaip programuoti… poto suprantama, kad dantratis yra siaubingai sudėtingas. Ir kad jam galima pritaikyti daugybę parametrų. Kad kai kurie parametrai kinta nuo dantračio diametro…
Taigi, kaip paišyti dantračius Corelyje:
Spaudžiam čia:
Continue reading →
ARM:0016 pertraukimai WTF?
Kartas nuo karto, kai būna laiko vis paknibinėju ARM procesoriuką. Bet kuo toliau, tuo labiau jis mane nervuoja. Šį kartą pašnekėsim apie pertraukimus dėl PIO kojų lygio pasikeitimo…
Biški veikia ir biški veikia keistai…
Susikonfiguruoji koją kaip input:
AT91F_PIO_CfgInput( AT91C_BASE_PIOA, RTC_INT );
Pagalvoji, kad kojai reikėtu pull-up:
AT91F_PIO_CfgPullup( AT91C_BASE_PIOA, RTC_INT );
… pyst neveikia iškarto. Nebereaguoja. Tai šitą eilutę užkomentuojam.
Dėl šito nežinau ar reikia, bet eksperimente panaudojau:
AT91F_PIO_CfgInputFilter( AT91C_BASE_PIOA, RTC_INT );
Dabar konfiguruojam pačio pertraukimo valdymą:
//* configure PIO interrupt and handler AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, AT91C_ID_PIOA, // pertraukimo tipas. INT_LEVEL, // pertraukimo lygis //AT91C_AIC_SRCTYPE_EXT_LOW_LEVEL , // nesuprantu kas sukelia pertraukima AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE , // nes visi sitie veikia vienodai //AT91C_AIC_SRCTYPE_POSITIVE_EDGE, // visiskai. Nesamone. ISR_PIO_handler); // paprograme atliekanti INT apdorojimą
Ir kaip parašyta komentaruose, visiškai pofig ką ten konfiguruoji- ar low_level ar external negative edge ar positive edge pertraukimas iššauna visada. Į RTC_INT koją padaviau 1Hz signalą kuris ateina iš nepriklausomo šaltinio. Taigis pertraukimas šaudo ir kai būna LH ir HL perjungimas. Ir visiškai dzin ką ten rašai.
Kita pastebėta nesamonė- nesugebu išjungti pertraukimo. Pas AVR procesoriuką, vieną asemblerio komanda ir pertraukimai išjungti. Čia jau ne. Tačiau yra “makro” komandos:
//AT91F_AIC_DisableIt (AT91C_BASE_AIC, AT91C_ID_PIOA); //AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_PIOA);
Atrodo kaip tik tas- išjungia pertraukimus pagal PIO. Praktiškai viskas žymiai blogiau. Ta išjungimo komanda susideda iš kelių komandų. O procesorius taigi dirba “asinchroniškai” (pipeline). Ir taip gaunasi, kad kažkuriuo momentu kažkas susimaišo protelyje pas ARMą ir pertraukimas nebeveikia.
Programa tokia: sukasi amžinas ciklas kuris ant spalvoto LCD ekranėlio paišo mažus kvadratėlius ar linijas (tai ne žaidimas), o pertraukimas, kas 1 sekundę parašo- atnaujiną laiką ant to pačio ekrano. Grafinio ekrano paišymo subtilybė- kad nupaišyti primityva atliekamos kelios komandos. Ir jų seka svarbi. Todėl, teoriškai grafinio paišymo metu pertraukimas turi būti išjungtas. Išjungia pertraukimą, nupaiš0 kvadratėlį, įjungia pertraukimą. Ir kai pertraukimas suveikia, ant to pačio ekrano parašo laiką. Ką jus manot? Ogi figuški- per mažiausiai 10 sekundžių, daugiausiai per porą minučių pertraukimas sugenda. Jei nejungti pertraukimo blokavimo, viskas veikia ilgai, tik ant ekrano atsiranda artefaktų dėl nekorektiško valdymo. Programėlę reikia rašyti kitaip, nei įprasta pas ATMEGAs…
Laukių komentarų žmonių kurie žaidė su SAM7 čipu.
Beja, int handleris:
__ramfunc void ISR_PIO_handler(void) { volatile unsigned int pin_mask = AT91C_BASE_PIOA->PIO_ISR; // Int patvirtinimas-isvalymas. Be jo neveikia. if(pin_mask & RTC_INT) { if ( (AT91F_PIO_GetInput(AT91C_BASE_PIOA) & RTC_INT) == 0 ) { AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, _BV(15)); AT91F_PIO_SetOutput( AT91C_BASE_PIOA,_BV(15)); } } AT91F_AIC_ClearIt(AT91C_BASE_AIC,AT91C_ID_PIOA); // clear interrupt AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC); // acknowledge interrupt }
gal čia kažką neteisingai parašiau?
CO2 lazerio filmukas
Skaitytojai prašė filmuko. Vieną padariau, bet pradžiai keletas iliustracijų.
Kažkas prašė pažiūrėti kas bus jei pjausiu ploną juostelę. Čia atlieka ir matosi kažkur 1 mm pločio juostelė. Pati juostelė dar matysis ir filmuko pabaigoje.
Continue reading →
CO2 lazerio testai
Šį savaitgalį tvarkiau rūsyje ventiliaciją, nes lazeris išsikraustė ten. Todėl nieko elektroniško nebus. Užtat kaip be šito:
Pjovimo greitis (max lazerio galingumas):
3.65 mm faniera (3 sluoksniai) ~15…16 mm/s.
4 mm organinis stiklas iš senukų ~5 mm/s.
Organinis stiklas pjaunamas smirda degusiu polistirolu. Čia tas kur pjaunant paprastu lobziku veliasi ant pjūklo. Kažkur turiu ir akrilo, bet dar neradau.
Greičius dar kogero reikėtu tikslinti.
Organinio stiklo kraštai stiprokai apsilydo- svastikėlio elemento plotis 5mm, išsididinus nuotrauką matosi kaip ir kiek apsilydė. O faniera kaip ir gerai pjauna.
Pašalinau kinišką medžiagos tvirtinimo sistemą. Vietoje jos naudoju kol kas aliumininio radijatoriaus groteles. Deja jos “metalinės” spalvos, tai kartais pablikuoja spindulį- matosi ant fanieros, kad kartais pasvyla kita pusė.
CO2 lazeris
Nu, vieni pasakys- neturi kur pinigų dėti. Kiti pasakys trumpai- durnius. O kiti pasakys, kad berniukai niekada nenustoja žaisti su žaislais, tik su amžiumi žaislai brangesni. Ir čia ne apie automobilius…
Tai užėjo bzichas, ir už 2350Lt ir 81 centą nusipirkau aš Kinišką CO2 lazerį. Čia jau kaip sakoma brutto. Su atsiuntimu ir atnešimu į vietą (visdėlto 28kg). Vežėjas UPS, prekė iš UK, tai importo ir PVM mokesčio nėra.
Teoriškai 40W, praktiškai BBŽ.
Continue reading →
Kūrybinė pauzė…
Nieko nepabaigiau, nieko gero nepadariau. Darbe pagaliau iš Olympus’o išsimušėm “factory settings” slaptažodžius, tai dabar pats perkonfiguruoju XRF prietaisiukus. Pagaliau bus galima pasidaryti taip, kad būtų patogu dirbti su prietaisu. Pekeliui pastebėjau, kad kai kurie prietaisai turi suinstaliuotus visus režimus (jie mokami), tik paprasčiausiai nuimtos “varnelės”. Tačiau kai kurie prietaisai tikrai “tušti”. Taigi jau antrą savaitę tikrinu visus prietaisus ir nebenoriu nieko daryti daugiau…
Keisdamas akumuliatorius sudubasinau savo 10W LED prožektorių. Todėl skubiai teko perlituoti detales. Dabar jau ant žalios PCB.
Čai jau viskas vėl veikia, bet taip ir sustojo darbai, nes … tingiu.
Continue reading →
Kiniška RFID kodinė spyna 2 arba pašto veikimas
Šiaip, ta kodinė spyna buvo užsakyta prieš daugubę mėnesių dėl RFID pažaidimo. Bet to užsakymo daug prekių pradingo ir buvo atsiimti pinigai. Atėjus najiems, 2014 metams, pašto užtvanką pramušė ir pasipylė šūdas… (įvairiom prasmėm).