Category Archives: Betkas

Naujas ICP, kelionė ir barometras lektuve

Jau seniai rašiau, kad yra toks žaislas kaip ICP OES. Taiva, senasis ICP pavargo, surūdijo, lempa nusilpo ir dar keletas senatvinių ligų. Remontas tokiems aparatams gana daug kainuoja, nes progresas kai kur žengia į priekį ir atsarginės dalys brangsta. O ypač brangiai kainuoja prastovos ir specialistų atvažiavimai. Todėl buvo nutarta, kad aparatą reikia upgreidinti, seną atiduoti gamintojui, biški primokėti ir dar nusipirkti autosamplerį (jie labai krūtai atrodo kaip CNC smauko po megintuvėlius). O jei rimčiau, tai mėginių kiekis didėja, didinant tikslumą reikia viską permatuoti su keliais kontroliniais mėginiais ir t.t. Dabar tai daroma rankomis ir rezultatai skaičiuojami irgi “rankomis”.

naujas ICP
Taip atrodo mūsų naujasis žaisliukas. Dėl jo “aprūvinimo” teko belstis į Vokietiją. Su visu savo “mažuoju haremu” kaip pavadino bendradarbiai. Ten teko būti beveik savaitę, nervinti gamintojus ir atstovus baltijos šalyse. Bet kelionė buvo sėkminga- išmokom naujų triukų, radom defektą prietaise (ir dabar perdarys) ir kelis bugus softe. Gamintojas buvo gana patenkintas, nes sakė kad retai taip pirkėjai išnarsto savo pirkinius.
Continue reading →

TDK patefono remontas

Paprašė suremontuoti patefoną, konkrečiau: TDK Life on Record USB Belt Drive Turntable. Gedimas- per greitai suka plokšteles (ir dar netolygiai suka).

TDK belt drive record player repair

Prietaisas šiuolaikinis, yra USB jungtis tiesiogiai jungti prie kompo, kad perkopijuoti plokšteles į elektroninį formatą. Ypač kai norisi perkopijuoti tikrą “lempinį” garsą ir tuos nostalgiškus trakštelėjimus dėl plokštelės defekto. Dar patefonas turi “pribambasą”- kažką panašaus į spektro analizatorių. Pagrindinis “feature” yra tas “belt drive”- paprastas DC motoriukas per škyvą tempia diržiuką kuris suka patį plokštelių laikytuvą. Teoriškai minkštas guminis dirželis apsaugo masyvų metalinį diską nuo motoro triukšmų. Tokiai kinematikai reikia matuoti disko sukimosi greitį (33 su biškiu arba 45) ir tam naudojamas optinis skaitytuvas po disku. Ten diskas turį visą eilę įpjovų ir jei diskas sukasi ant 33 apsukų, ten gaunasi 50Hz signalas.
Tokio disko sukimasis tai klasikinis uždavinys mikrokontroleriui: per mažai apsukų- daugiau galios į motoriuką. Net stabdant pirštu greitis nekrenta- yra galios rezervas.
Continue reading →

ARM:0007 versija B, I2C ir OLED

Pratesiant ARM seriją su pačia pigiausia plokštele iš kinijos. Plokštelėje tik STM32F103C8 ir keli papildomi elementai. Sekantis reikalas kurį reikia įvaldyti tai I2C. Kol kas tik rašymas ir tik po kelis baitus ir be jokių DMA ir IRQ. Visiškai taip pat, kaip ir su AVR. Tačiau šį kartą naudojam patį pigiausią ekraniuką iš kinijos su SSD1306 kontroleriu, aštriai mėlynos spalvos:

STM32 OLED 0.91 inch
Dalis softo mano, dalis vogto ir supaprastinto. Vienintelis pastebėjimas dėl hardwarės- gal dėl sujungimo (per laidelius), o gal dėl kiniškos kilmės, pastebėta, kad kelis kartus ekraniukas nepasileido.

Ir aišku visas source code, bei sukompiliuotas hex hardvarės testavimui. Kompiliavosi ir su 6 ir su 7 gcc.
SSD1306 OLED on ARM STM32F103C.

ARM:0006 versija B, SPI ir waveshare e-Paper

Čia miksas tarp kiniško e-Paper straipsnio, ARM su pamažintu procesoriuku ir ST-Link programeriu. Ir aišku biški nostalgijos apie 8 bitus ir mano pirmus bandymus programuoti C. Gavosi toks kaip ir mini straipsniukas.

Kai tik buvo laisvo laiko nuo statybų, pasinagrinėjau apie STM32 procesoriuko kinišką moduliuką už kelis eurus. Čia jau gal net 64kb atminties, ir jau be vargo galima ką nors vizuališkesnio suprogramuoti nei su aštunta atmega. Užduotis buvo SPI ir ekraniukas. O kad nebūtu labai tuščias ekraniukas, sudėjau seno 8 bitų žaidimo “game engine” dalį. Daugiau programuoti aš jau patingėjau, bet vistiek bent jau matosi kas gaunasi jei nenaudojamas pilnas ekrano atnaujinimas.

STM32 ir waveshare e-paper
Hardwarė be modifikacijų- tiesiai iš kino. Šiaip, vienas pastebėjimas- arba kažkokia klaida softe (bibliotekose), bet sukonfiguravus MCU dirbti ant 48MHz, softas rodo 72MHz. Dabar softas rodo 96MHz, bet ant tokio greičio šis MCU negali dirbti. Gal čia koks kiniškas fuflo MCU?
Continue reading →

Su naujais, mėlyno ekrano metais

Sveiki,

Norėjau parašyti ir papaišyti ką nors daugiau, tačiau įjungtas kompiuteris pradėjo rodyti spalvotus kvadratėlius, mirguliuoti ekranu ir nusibaigė mėlynu ekranu…

blue screen of death - nvidia card failed

Jei tai tikrai video plokštės gedimas, tai nu-i-nafig, tai buvo nvidia gtx 960, didoka tokia.
Pradžioje lūžinėti pradėjo tik firefox antrame monitoriuje, ir tai ne visada. Poto dar dažniau. O šiandien, tik spėjau atsidaryti naršyklę- pyst, pyst, pyst ir blue screen. Perkroviau ir spėjau nukrauti naujus draiverius. Suinstaliavau, perkroviau ir vėl pyst.
Deja neturiu kitos video kad pakeisti, o motininė neturi on-board video plokštės. Todėl rašau iš avarinio nešiojamo kompo…

Apie ką męs čia?

Taigi, sveikinu su naujais metais. Tikiuosi, kad tikrai nebus niekam blue screenu ir šiaip viskas bus gerai. Ir linkiu visiems laimės, nes jei žmogus laimingas tai visa kita dzin.

ICP plazmos generatorius

Jau rašiau apie tai, kad yra toks žaisliukas kuris vadinasi ICP OES, t.y. “inductively coupled plasma optical emission spectroscope”. Ir jo šviesos šaltinis yra atmosferinio slėgio, o gal ir didesnio argono plazma. Į plazmą ipurškia visokiausias tiriamas medžiagas ir pasikeičia plazmos spalva.

Nuotraukoje ji atrodo taip, bet tai tikrai neteisinga spalva:
ICP OES generator teardown
Pati plazma yra labai ryški, nes nuotrauka daryta per “suvirintojo” stiklą. Plazmoje yra labai daug ultravioletinių spindulių. Ir šiaip, per plyšiukus praėje šviesos spinduliai yra melsvai balti.
Plazma daroma taip: per stiklinį vamzdį pučiamas argonas (apie 15 litrų per minutę), tiesa didžioji dalis argono sunaudojama nupūsti plazmą nuo stiklo ir aušinti agregatą. Kur dega pati plazma, argono srautas mažesnis, kažkur vienas litras per minutę.
Plazma uždegama stipriam elektromagnetiniam lauke- ten trijų vijų gryno sidabro vielos konturas per kurį teka 27MHz dažniu srovė ir sunaudojama iki 1700W galios. Plazma neužsikurtu pati, tačiau yra aukštos įtampos išlydžio grandinė, kuri padaro pradinį “žaibą”.
Mūsų ICP pradėjo truputi kaprizintis, todėl buvo iškviestas meistriukas. Jis atsivežė paardytą generatorių, kad žinotik tiksliai kaip ardosi ir išardė mūsiškį (refurbished generatorius kainuoja €3900+PVM). Pakeliui aš padariau keletą nuotraukų, kad visi sužinotų kaip veikia šitas dinozauras. Dinozauras todėl, kad nauji ICP modeliai jau nebenaudoja tokio tipo generatorių ir perėjo pilnai į solid state mosfetus. Mūsiškis ICP greitai irgi iškeliaus į archyvus, nes užsakėm naują.
Continue reading →

AVR89: ePaper modulis

Nusipirkau pabandymui iš kinų epaper (elektroninio popieriaus, e-ink) tipo ekraniuką. Pažymėtas jis waveshare logotipu, o kas gamintojas iš tikrųjų aš nežinau, nes ir datasheete nurodytas tik šis pavadinimas.

epaper waveshare AVR atmega

Yra dokumentacija pdf faile, kurios kaip ir neskaičiau, nes buvo pavyzdinis softas. Softas skirtas ARM, mini linux variantui ir aišku Arduino. Softas dalinai tinkamas ir mažiems kontroleriams, tačiau jis reikalauja “video RAM”. Čia iškilo problemėlė, nes ir mažiausiam ekraniukui reikia (200×200/8=5000) vos ne 5kB RAMo!
Savo softo variantą supaprastinau ir panaudojau paprastą senovišką ATMEGĄ. Konkrečiai ATMEGA162, tačiau tiks ir bet kuri kita. Tereikia tik keletos laisvų pinų ir aparatinio SPI.
Vėl eilinį karta teko pasibaisėti originalaus softo optimizavimu ir biški iš tikro optimizuoti. Mano variantas kiek greitesnis, dalis konstantų perrašyta į PROGMEM.

Dabar biški apie “elektroninio rašalo ir popieriaus” veikimo subtilybes. Tikriausiai daugelis matė, kad kartais elektroninės knygos “mirguliuoja ekranu” kai perpaišo vaizdelį. Taip daroma todėl, kad ekranas turi “burn-out” t.y. biški lieka seno vaizdo. Tačiau perpaišus vaizdą pilnai į juodą ir poto pilnai į baltą, senas vaizdelis išsivalo pilnai. Taip galima daryti automatiškai suprogramavus kontrolerį- tada pasiuntus naują vaizdą ekranas automatiškai persipaišys. O galima įjungti “rankinį režimą” ir tada ekranas neatsinaujina. Tada lieka seni vaizdeliai. Juos galima panaikinti lokaliai užtušavus ekrano dalį juodai ir poto baltai.
Dar viena ekrano įpatybė, kad ekranas turi du ekrano buferius- į vieną galima rašyti informaciją, o kitas tuo metu rodomas. Tačiau norint operatyviai parodyti naują informaciją tenka du kartus perduoti informaciją į ekraną.

Kadangi ekraniukas buvo nupirktas tik pabandymui, o ne kažkokiam projektui, tai softas surašytas tik pabandymui. Nėra nei grafinių operatorių nei didelių raidžių. Tėra tik dviejų tipų teksto rašymas ir paveiksliuko paišymas (čia vėl papuolė arklys ir jo klasika apie “resistance” ir “penis harder”). Beja, tik dabar pastebėjau, kad vaizdelis konvertavosi kaip veidrodinis.

Ekranas organizuotas baitais, todėl galima perpaišyti tik po mažiausiai vieną baitą. Kadangi nėra skaitymo iš ekrano, atsiranda problemos su grafikos primityvais. Dėl to kila ir šrifto naudojimo apribojimai.

Jei bus sugalvotas koks nors projektas, tada bus galima ir patobulinti visą softą. O dabar štai:
waveshare e-ink, e-paper software source code for clasic C and AVR ATMEGA .
Ten yra source kodas, +visokie niekai kaip “penis harder” paveiksliukas ir jo B/W versija C kalboje [penis.c]. Taip pat Atari ir ZX Spectrum šriftai. Taip pat proporcinis šriftas.

Ir dar neparašiau, kad vaizdas išlieka išjungus maitinimą. Tačiau ir taip aišku, nes čia e-ink’as.

Dzingle Ballz :)

Kadangi statybos man dar vis aktualu, dažnokai užsuku į senukus. Ir pastebėjau, kad prasidėjo kalėdinės nesamonės. Parduotuvė pasipuošė ir panašiai. Vakar buvo juokingas nutikimas- ėjau pro papuošta zona, o priešai ėjo jaunas tėvelis ir nenustatytos lyties vaikas. Vaikas kažko paklausė savo tėvo ir bagstelėjo pirštu į didelį pliušinį elnią. Va būtent tėvo reakcija ir atkreipė mano dėmesį- jis kažkodėl biški paraudo ir pagreitintu būdu nutempė vaiką gilyn į parduotuvę… Kas čia buvo

dzingle balls
Elniukas tikrai gražiai padarytas ir dydis jo beveik kaip tikro (man atrodo, kad tie elniai turėtu būti biški didesni).

Tačiau kas buvo tokio čia keisto? Pradėjau galvoti dedukciniais metodais ir kiek nuleidau savo žvilgsnį, nes vaikas mato pasaulį kiek kitaip ir tikrai ne iš 180cm aukščio.
Continue reading →

Nešiojamas lituoklis

Trumpas pasokojimas kaip kinai užmuša konstravimą nors kartu ir labai palengvina gyvenimą.
Kartais nuo karto visokie bendradarbiai sužino (nors ir labai slepiu), kad moku lituoti ir prašo ką nors pataisyti. Dažniausiai apsimetu, kad neturiu lituoklio ar lituoju su netransportabilia litavimo stotele. Tada jie traukia visokius lituoklius- nuo tarybinių “kirvių” iki kiniškai-lenkiškų nesamonių. Su bet kokiais antgaliais. Tiesa dar turiu kažkur Veller lituoklį, bet jis perkaista- gal skirtas bešviniam, o gal koks neaiškus. Tačiau ir veleris nepatogus ką nors teisingai sulituoti. Todėl vieną vakarą besiblaškydamas po kiniškus internetus nutariau nupirkti kažką naujo. Ir kartu pakonstruoti.

T12 lituoklis soldering iron
Tai buvo net keli siuntiniai ir palaidų dalių: 24V maitblokis, dėžutė, lituoklio laikiklis, kontroleris su OLED ekranu (nepernešu neinformatyvių LED) ir kelis lituoklio antgalius kartu su kaitinimu ir matavimu.
Continue reading →

Biški vėl apie ARM ir STM32

Kažkaip nusipirkau pas kinus porelę ST-Link adapterių ir panorėjau juos išbandyti. Deja pirmiausia po ranka nebuvo mano pagrindinio kompiuterio, o tik nešiojamas vasarinis. Jame nieko nebuvo susijusio su ARM programavimu. Tai nutariau atburti kaip tai daroma ir tik tada paaiškėjo, kad niekur neužrašiau, kaip visdėlto nuo nulio paruošti kompiuterį (windows) darbui su STM32 čipukų programinimui.
Dar priedo, mano darbinis kompas jau turėjo dalinai suinstaliuotus softus, ir perėjimas iš Atmelio į ST buvo labai kažkaip paprastas.
Gaila, bet nieko vėl neužsirašiau, bet parašysiu maždaug iš akies, kaip tai buvo. Kaip ir minėjau anskčiau, aš kaip heiteris ir oldskūlinis hardcoras nemėgstu visokių IDE ir eklipsniu, tik command line, tik hardcore, tik make. Todėl viskas gavosi keistai.

ST-Link STM32F103

Darom taip- iš ARM pagrindinio puslapio nusikraunam gcc windozei. Ten kažkur yra installas. Vadinasi maždaug “GNU Tools ARM Embedded” ir versija kažkokia pagal datą. Nusikrovus šitą reikalą, nuėjau į savo puslapius (nugi šituos) ir nusikroviau pirmą source. Kažkodėl suveikė komanda “make”, bet neteisingai. Pasirodo, šitam kompe yra kažkas kuris vadinasi make, tik labai senoviškas. Tai buvo WinAVR paketas kurį kažkada suinstaliavau. Gal net instaliavau tam, kad kompe būtu “programmers notepad 2”. Bandžiau gadinti makefile, kad priversti veikti, bet nieko nesigavo, net paprasčiausia komanda “rm” veikė su klaidom ir net netrynė failų.
Netgi pradėjau krauti paskirai failiukus “make”, “rm” iš internetų ir GNUwin, bet ten viskas senai nenaudojama. Kol netyčia kažkur radau make sukompiliuota kažkokių geriečių. Nes kartais užknisa tas linuxinis bajeris- reikia kokios utelės, tai tipo susikompiliuok pats. O kad tą padaryti reikia prisiinstaliuoti visą kalną kitokio softo. Sunku jiems ir binarius padėti? Arba sukompiliuoja 30kb programą, kurį reikalauja kokio nors suknisto dll. Bet jo neprideda. O statinė tos pačios programos versija gal 100kb ilgesnė.

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Users\User>make -v
GNU Make 4.2
This program is built by Equation Solution.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http ://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

C:\Users\User>

O poto prisiminiau, kad yra toks reikalas kaip CygWin. Po jo instaliavimo ir path prioritetų nustatymo (kad windows žinotu kur guli cygwin visokie failiukai) sistema pradėjo veikti.

Nueini į archyvo folderį, kur yra failas “makefile” ir ten rašai “make all”, o jei reikia viską perkompiliuoti iš naujo, tai “make clean” ir viskas.

Dėl hardwarinio programino, prie kiniško ST-Link puikiausiai tiko originalus ST softas kuris atpažino kiniškus donglus ir net pasiūlė atnaujinti firmware.

Pačios kiniškos plokštelės LED diodo (kabančio ant C13 kojos) pamirksėjimo softas čia:
STM32F103C8T6 blinky source ir sukompiliuotas failas.
O patiems nekantriausiams kurie nori patikrinti kiniška PCB dedu ir hex failą atskirai.
HEX failas testavimui.

Beja kiniškas plokšteles reikia vizualiai apžiūrėti ir ištaisyti defektus. Vienoje plokštelėje reikėjo per naudo prilituoti kvarcą, kitoje padėti teisingą rezistorių.

Kaip ne keista, va ant linuxu to pačio padaryti nepavyko. Nu neveikia man make. Jaučiu problemos su failų lokacijos nurodymu makefile faile. Beja, visokie IDE kuria baisias failu nuorodas. Nors pavyzdžiui viename eclipse tutorial saite pilna nesmonių kaip šita:
failo nuoroda.

Nu ir kas per nesamonė su tais ../..//././.././/././. !? Suprantu, kad galima vieną sluoksnį ar du palipti į viršų, bet tiek privaryti? Šitos nesamonės tikriausiai sugeneruotos pačios eklipsės, kai vartotojas išmėto projekto failus visur. Bet kai reikia tai atsiburti… ojojoj.

Poto gaunasi maždaug taip ir taip. 🙂. Paskutinė klaida tikriausiai dėl to, kad yra komandinės eilutės ilgio ribojimas.