Reaction to recent political events. 2025.03.04 at 08:31

I am not too much into politics, but then again, as a person with some quantity or brains and thinking capability, I think there should be a new word in dictionary, explaining the word „trumpism”.

Trumpizm (n.) – A behavior or ideology marked by acts of betrayal, hostility, and disgrace, often associated with self-interest, disregard for established norms, and divisive rhetoric. Characterized by a tendency to prioritize personal gain over loyalty, to treat allies and institutions with hostility, and to act in ways perceived as shameful or damaging to democratic values.

Uses:

Dont be such a trump.

What you did was really trumpish.

This time you’re really trumped.

Senoviški mokykliniai voltmetrai 2025.02.21 at 09:31

Ok, su tuo „senoviški” gal biškį perlenkiau, nes rusijoje manyčiau jie vis dar naudojami, pavadinimas Учебный-2. Gavau juos tokios būklės:

Sureguliavus nulius prijungiau prie laboratorinio maitinimo šaltinio veikimo bandymams.

Taigi, dar pora voltmetrų į kolekciją. Ne tai, kad naudočiau, bet pažaisti visai faina.

Electment Americanch LABTOOL-48 programatorius 2025.02.14 at 14:35

Gavau dovanų tokį senovišką programatorių (ačiū Daliau), gal net labiau tinkantį į Retro HW skyrelį. Nesakau, kad pulsiu kažką su juo programuoti, bet tokie elektronikos inžinerijos minties stebuklai dar galėtų pagyventi. Galbūt papuls kokia nors senovišką mikroschema, kurios „neįkas” mano Batronix’as. Taigi, pasianalizuokime, kas čia per žvėris. Gaila, bet programinės įrangos prie programatoriaus nėra. Pradėkim. Pradžiai – išvaizda.

Programatorius senukas, gyvenimo matęs ir, sprendžiant iš išblerbtos ZIF jungties – nemažai priprogramavęs. Ir nėra ko stebėtis, tokie programatoriai, manyčiau, apie 2000 metus ėjo. Sprendžiant pagal išvaizdą – čia eilinis vieno gamintojo kūrinys, į kurį teises gamintojas pardavė kelioms įmonėms, panašiai kaip su buvusiu remonte Manson maitinimo šaltiniu. Buvo ir įvairių modifikacijų ir pardavėjų, bet visi jie analogai – Dataman-48, Labtool-48, Chipmaster 6000 ir t.t. Ir atrodo jie taip pat, skiriasi tik logotipas:

O gamintojas, manyčiau, visų vienas – Advantech. Palaikomų mikroschemų sąrašas yra čia (bent jau jo 4.65 versija). Puslapyje Advantech labtool-48 programmer resources page (free.fr) radau dar ir daugiau informacijos apie Advantech (turbūt) analogą, reikės pabandyti prisijungti su duodama programa ir pažiūrėti, kas gausis. Ta Advantech įmonė, pasirodo, dar gyva – AEC.

Pažiūrėkime, kas tos dėžutės viduje.

Bendras vaizdas ir pora vaizdelių su didele rezoliucija. Panašu, kad čia matosi maitinimo šaltinio blokas ir viršutinė PCB, po ja yra dar viena.

ZIF lizdas pasodintas į savo atskirą lizdą ant plokštės, pats ZIF plokštės moduliukas atrodo toks „savadarbis”:

Nėra žalio lako, lydmetaliu aplydyti takeliai… Dvelkia tokiu oldskūlu. O bet tačiau – lizdas ant atskiros plokštelės yra gėris, dabar bus labai lengva ir patogu pakeisti išblerbtą lizdą nauju. Kadangi lizdo kokybė susijusi su geru kontaktu su programuojamų mikroschemų išvadais – parinksiu kokį nors kilmingą lizdą.

Šiek tiek abiejų PCB foto, kompresuotos, bet čia galima parsisiųsti nekompresuotų foto archyvą (pirma dalis, antra dalis, dalys išsiarchyvuoja atskirai). Matosi, kad pora mikroschemų pakeistos, viena analogiška, bet kitokiame korpuse, o kita su papildomais išvadiniais elementais – matyt buvo gedimas ir programatorius buvo remonte.

2025.01.24

Atvažiavo DIP lizdas, kuris pakeis originalų, bet prastos kokybės ir labai išblerbtą lizda:

48-6554-11 Aries Electronics | Connectors, Interconnects | DigiKey

Reiks prie progos perlituot ir tikiuosi viskas tiks, gal net ir veiks 🙃.

2025.01.27

Lizdas perlituotas, tuo pačiu dar ir nulakuota PCB, gražiai blizga ir nuo korozijos apsauga. Fotkėse dar su izoliacija, kad apsaugoti vietas kurių nereikia nulakuoti.

Tęsiame apžiūrą ir žvilgsnis užkliuvo už va šito:

Tie kondensatoriai tokie lyg papūsti, lyg ne, bet kam spėlioti, programatorių mes restauruojam savo malonumui, taigi pakeičiam. Štai kokie grybukai auga iš klaviatūros (reiks nevalgyt prie klaviatūros, matyt trupinių daug, jei jau grybai auga 😋).

Tie raudoni – tikri Nichicon, aliuminio polimeriniai kondensatoriai, su super žemu ESR ir atsparumu aukštesnei temperatūrai, ir MTBF 5000 valandų. Tie su juodais užrašais tikri Panasiai (Panasonic), irgi aliuminio polimeriai, žemo ESR ir MTBF 4000 valandų. Jie visi pakeis buvusius kondensatorius maitinimo bloke ir programatoriaus PCB. Po pakeitimo plokštės dar ir gražiai nulakuotos.

Maitinimo bloko PCB takelių pusėje atsirado du nauji papildomi keramikiniai kondensatoriai 10µF 50V, papildomam triukšmų slopinimui, stabilesniam maitinimui. Šiaip, principe, impulsiniuose maitinimo šaltiniuose mėgstu išėjimo kondensatorius šuntuoti keramika, sviestu košės nepagadinsi. Beje, maitinimo bloko markiruotė „ZH-12V5VA”.

Prieš viską sujungiant dar truputį patikrinsiu maitinimo bloką, kad nebūtų po to kokios staigmenos įjungus.

Įjungus maitinimo blokas veikia ir netgi ne visai prastai.

Čia 12V maitinimo oscilograma.

Čia tie patys 12V, tik AC dedamoji, kad matytųsi įtampos tolygumas ir, tuo pačiu impulsinio maitinimo šaltinio kokybė. Čia turime 244 mVp-p pulsacijas. Mano manymu, 1% nuo išėjimo įtampos pulsacijos yra labai gerai, iki 5% gerai. Čia turime 1,91 %, tai maitinimo šaltinis pakankamai gerai gamina 12V.

5V maitinimo įtampos oscilograma.

O čia be DC dedamosios. Pulsacijos 240 mVp-p, t. y. 4,48%. Neblogai, dar nėra 5%. Pabandžius užmesti porą keraminių kondensatorių ant išėjimo vaizdelis toks:

12V grandinėje pulsacijos pasikeitė, sumažėjo iki 188 mVp-p. Pagerėjimas, pulsacijos 1,49%.

5V grandinėje pulsacijos pasikeitė, sumažėjo iki 158 mVp-p. Pagerėjimas, pulsacijos 2,95%. Reiškia kondensatorius paliekam. Būtų galima dar „fine-tune’inti” panaudojant droseliukus, bet ir taip jau labai gerai su maitinimu. O be to, toliau maitinimai dar formuojami impulsiniu LT1172C ir tikrai linijiniu LM317T, ten pulsacijų nebeliks visai.

Ant maitinimo blogo yra papildomos nepanaudotos jungtys, pažymėtos „FAN” ir „LED”.

Kadangi jungtys nepanaudotos, prireikus, galima būtų panaudoti pagal paskirtį 😁.

Su LED viskas aišku – prie 5V su 510Ω rezistoriumi, dar priklauso nuo to koks LEDas, bet bus apie 4-6 mA, o vat su FAN schema truputį keistas reikalas. Rezistorius R15 yra oranžinis-baltas-oranžinis-auksinis, t. y. 39 kΩ, bet testeris sumatavo tik 2,329 kΩ, nors rezistorius neatrodo pasvilęs ar kaip nors pažeistas…

Pagrindinis maitinimo blokas atskiras, bet apatinėje programatoriaus dalies plokštėje yra dar keli įtampų stabilizatoriai, gaminantys reikiamas įtampas mikroschemų programavimui.

Iš kairės į dešinę, pirmi keturi L165 daugiakojai Pentawat V korpuse – operacinukai, turbūt naudojami kaip maitinimo šaltiniai. Toliau LM317T ir LT1172C.

Pastebėjau, kad prievadų jungčių tvirtinimai nepilnai prilituoti, tai pataisiau dar ir tą dalyką, užpildamas geru švininiu lydmetaliu:

Programatoriaus plokštėse pamačiau vieną tokią daugmaž programuojamą EPROM mikroschemą NM27C512Q, manyčiau joje turėtų būti programatoriaus programa. Pabandysiu ją nuskaityti, turimas Batronix BX48 Batego II programatorius ją kaip ir „valgo”. Suvalgė, todėl NM27C512Q120 turinys yra čia. Paanalizuokime, kas jame matosi. Pirmiausia, ką pastebėjau:

Programoje nurodyta, kad čia LabTool-48 prietaisas, programinės įrangos versija 2.20. Daugiau kažkokių rišlių žodžių neaptikau.

Internete, tiksliau čia – LabTool-48UXP Upgrade Kit radau, kad galimas koks tai atnaujinimas. Atnaujinimas aprašytas čia – Installation instruction of LabTool-48UXP Upgrade Kit. Pirmame puslapyje tokia truputį chinglish kalba parašyta:

CASE A. LT-48 ( Firmware Version 1.9 ) *(PS1) cann’t upgrade to LT-48UXP.
CASE B. LT-48 ( Firmware Version 2.0 and Above ) *(PS2) upgrade to LT-48UXP, please order Upgrade Kit.
CASE C. LT-48XP upgrade to LT-48UXP, please order Upgrade Kit.
PS1: No support 3.3V device, Upper PCB version is A3.0 or early version
PS2: Support 3.3V device, Upper PCB version is B1.0

Mano atveju, viršutinė PCB (upper PCB) yra B1.0, tai bus palaikomos 3,3V mikroschemos, versija PS2. Tai jeigu programinė įranga bus 2.0 (o yra, kaip matėme iš mikroschemos duomenų 2.20) arba naujesnės versijos, tuomet galioja variantas B (CASE B.) ir galima daryti atnaujinimą į LT-48UXP versiją. Šita versija prideda USB prisijungimo galimybę, Windows XP / Vista (tik x86) / Windows 7 (x86 ir x64) / Windows 8 (x86 ir x64) palaikymą ir galimybę dar labiau atnaujinti programinę įrangą. Apatinės programatoriaus plokštės versija A3.0, bet ji niekur kaip ir nepaminėta, tai gal nėra skirtumo kokia ji.

Daugiau kažko blogo programatoriuje nematau, todėl manau reikia surinkti viską į krūvą ir pabandyti, kaip tas programatorius veikia. Prieš surenkant pastebėjau, kad TO220(-5) korpusuose gyvenančios mikroschemos tiesiogiai prisuktos prie aliuminio radiatoriaus. Tas kaip ir viskas gerai L165 (jeigu maitinimas vienpolis) ir LT1172C, bet LM317T korpusas sujungtas su išėjimu, todėl prisukus jį tiesiai prie radiatoriaus, išėjimas sujungiamas su prietaiso mase.

LM317T
L165
LT1172C

Kadangi atsukdamas tikrai nepamečiau LM317T izoliatoriaus, manyčiau programatorius neveikė, nes įtampos stabilizatoriaus išėjimas pajungtas tiesiai į minusą. Visai tikėtina, kad mikroschema atlaikė tokį kankinimą, nes turi srovės ribojimą ir termoapsaugą, t. y. užtrumpinus išėjimą į minusą, srovė apsiribos iki 1,5A ir kaitins mikroschemą, bet sprogti neturėtų. Perkaitus mikroschemai ji iš viso atsijungtų. Bet šitą vietą reikės patikrinti papildomai.

LM317 tipinė jungimo schema

Pagal tipinė jungimo schemą, LM317 išėjimo įtampa nustatoma dviem rezistoriais. Matuojant R1 gaunu 1,0 Ω, o R2 čia yra kintamas, varžą R2 atstoja operacinukas LM393P, taip irgi galima. Matuojant LM317T išėjimą gaunu 29,13V. Išėjime ! Norint turėti tokią įtampą išėjime, reikia pašerti įėjimui bent porą voltų daugiau, nes LM317T moka tik pažeminti įtampą, bet nemoka jos aukštinti. O tą paaukštintą įtampą iš 12V į 30,77V gamina LT1172C. Po to jau LM317T, pagal operacinuko komandas, išduoda reikiamą įtampą. Panašu, kad įtampos yra, lyg ir teisingos, gal netgi ir veiks surinkus.

Pradėjau surinkinėti po truputį ir, prisukdamas aušinimo radiatoriuką pastebėjau va ką:

Ta LM317T nesiekia bendro radiatoriaus, o jame net nėra skylutės varžteliui. Kadangi LMkė kaba ore, tai jos išėjimas neprijungtas prie minuso, bet užtai aušinimas irgi toks prastokas. Ypač kai ji turės iš 30V padaryti 5V arba 3V, nes dirba linijiniame režime ir visa perteklinė įtampa garinama kaitinant mikroschemą arba radiatorių. Šitą vietą reikės patobulinti. Teko nusipirkti naują LM317T, nustebino, kad originali ST Microelectronics gamybos, bet metalinė korpuso/pado dalis yra žymiai plonesnė nei įprasta. Negi ant tiek juos жаба užspaudė, kad net ant to pado storio taupo..? Bet nauja LM317T su ilgesnėmis kojomis, todėl tikrai užteko ir jų išformavimui ir prilitavimui:

Savaime suprantama, LM317T gavo dovanų izoliuojantį paduką ir baltą plastikinį izoliatorių varžteliui. Kai ardžiau mačiau, kad kai kurie varžtai ar tvirtinimo elementai turi tokius kaip paranitinius izoliatorius/tarpines, tai pridėjau tokių prie visų tvirtinimo varžtų – nebūtina, bet atrodo gražiau, o prie radiatoriaus prisukamų mikroschemų varžteliai gavo mažyčius 3 mm graveriukus:

Štai ir viskas, programatorius truputį atnaujintas, šiek tiek patobulintas ir surinktas. Dabar reiktų prijungti prie kompiuterio ir pabandyti ar veikia. Tam reikės parsisiųsti specialią programą, kuri moka dirbti su šiuo programatoriumi.

Programa yra, bet DB25F – DB25M kabelio neturiu 😆 ir šiais laikais jau žiūriu vietoje nelabai kur gausi.

Garmin PIN kodo nulaužimas 2025.01.29 at 13:44

Kažkada labai seniai, realiai seniai, prieš kokia 10 metų, nusipirkau eBay Garmin navigaciją Nuvi 660 Euro. Net ir tuo metu Garmin, Mio ir kiti navigacijos prietaisai jau buvo išstumti navigacijų, esančių protinguose telefonuose, todėl pirkau pigiai. Pats prietaisas lyg ir veikiantis, bet pilnai įjungti nepavyko – uždėtas PIN kodas, be kurio prietaisas nieko nerodo, tik PIN kodo įvedimo meniu. O turėtų būti va toks vaizdelis:

Jau neprisimenu, ar kreipiausi į pardavėją, kad grąžintų pinigus, bet PINo tikrai negavau. Gal dėl to, kad navigaciją įsijungiau gerokai po visų eBay terminų (nes ir pats jau naudojau telefoninę navigaciją). Tuo metu buvau pradėjęs žaisti su Arduino, todėl sugalvojau pasidaryti hardware’inį bruteforcer’į. Kaip čia tas daiktas vadintųsi lietuviškai..? Mechaninis kodo spėliotojas arba parinkiklis, arba rinkiklis ? Turbūt. Su tuo PIN kodu viskas veikia taip – surenki 4 (gal) skaičiukus, Garmin’as pyptelna garsiuką ir parašo, kad kodas blogas. Alternatyvūs variantai, kuriuos pamenu iš anų laikų:

  • Laikyti Reset mygtuką 2 valandas 30 minučių, tas lyg ir pilnai perkrauna prietaisą į gamyklinius nustatymus. Gal, nebandžiau – lengvi keliai ne mums.
  • Susisiekti su gamintoju, pateikti pirkimo dokumentus ir gauti kažkokį atrakinimo būdą, PIN kodą ar kažką. Irgi ne variantas, nes pirkimo dokumentų neturiu.

Pats PINas gyvena iš išorės neprieinamoje atmintyje (per USB jungtį), ta atmintis nepriklausoma nuo maitinimo, todėl atjungus akumuliatorių neišsitrina. Greičiausiai galima būtų pasijungti atminties mikroschemą prie programatoriaus ir, nuskaičius duomenis, rasti/pakeisti PINą. Bet irgi, lengvi keliai ne mums 😋. Ir todėl pradėjau tokio mechaninio PIN rinkiklio projektą. Anuomet Internete mačiau tokį prietaisą, gal gremėzdišką, kuris mechaniškai rinko PIN kodą, spaudė OK ir su kažkokiu šviesos davikliu tikrino, ar ekrano šviesumas pasikeitė iš PIN kodo meniu aplinkos (tamsi) į žemėlapį, kuris yra šviesesnis. Toks būdas kaip ir tinkamas, kai žinai tą tašką, kuriame ekranas pasikeičia iš tamsaus į šviesų ir tik tuo atveju, jei PIN teisingas. Dar buvo kažkoks pusiau CNC aparatas, kuris mygtuko „spaudiklį” judindavo link reikiamo mygtuko, dar mačiau ir tokį, kur buvo prisijungia prie touchpad’o, ekrano prilietimus apdorojančios mikroschemos, ir paspaudimus šėrė kaip jau gatavus duomenis į procesorių.

Aš sugalvojau kitą būdą – spaudinėti ekraną mechaniškai, o PIN kodo teisingumą detektuoti pagal garsą. Reikalas tame, kad surinkus PIN kodą, prietaisas sugroja tam tikrą toną ar tonus. Tuo metu tikėjausi, kad blogo PIN kodo garsas skiriasi nuo gero PIN kodo garso. Kol kas dar nežinau kaip iš tikrųjų, bet su laiku paaiškės. Bet blogo PIN kodo garsą girdėjau ne vieną kartą, bandydamas rankutėmis surinkti populiariausius PIN (0000, 1234 ir t. t.). Taigi, pradėjau kurti schemą ir gavosi va tokia vat:

Kaip visada, paanalizuokime, kaip čia kas su ta schema. Blemba, dabar kai žiūriu į schemą – kiek visko daryčiau kitaip, geriau, patogiau, paprasčiau 🙂, taip, kaip sakoma, „gyveni ir mokaisi”. Paveiksliukas didinasi į naują kortelę (į naują tab’ą, jeigu lietuviškai).

Kairėje pusėje DC/DC konverteris, kurio pagrindas LMZ23605TZ/NOPB mikroschema, konverteris. Efektyvumas, prie man reikiamų srovių apie 90 % arba daugiau, išėjimo srovė gerokai per didelį, net 5A, bet pamenu, pasirinkau būtent tokį konverteriuką, nes norėjau išbandyti tą mikroschemą, kaip ji veikia, konfigūruojasi, valdoma ir t. t., tai, kad nešvaistyti papildomai resursų, parinkau ją kuriamam prietaisiukui. Visas maitinimo šaltinis surinktas su keliomis išorinėmis detalėmis – įėjimo kondensatorius C1, išėjimo kondensatorius C2, R1-R2 daliklis, išėjimo įtampai nustatyti. Papildomų mikroschemos funkcijų, pavyzdžiui, minkšto paleidimo, nenaudojau, tai nėra ir papildomų detalių. Visų komponentų skaičiavimas ar parinkimas gerai aprašytas mikroschemos aprašyme, tai labai nepasakosiu, tik išėjimo daliklio skaičiavimas 5V išėjimo įtampai (VO):

\[ V_O = 0,796\,\text{V} \times \left( 1 + \frac{R_{FBT}}{R_{FBB}} \right)\]
\[ 5V = 0,796\,\text{V} \times \left( 1 + \frac{R_{FBT}}{R_{FBB}} \right)\]
\[ \frac{5V}{0,796V} = 1 + \frac{R_{FBT}}{R_{FBB}} \]

Ir dar supaprastinam:

\[ \frac{R_{FBT}}{R_{FBB}} = \frac{5V}{0,796V} – 1 \]
\[ \frac{R_{FBT}}{R_{FBB}} = 6,2814 – 1 = 5,2814 \]

Taigi, rezistorių varžos santykis yra:

\[ \frac{R_{FBT}}{R_{FBB}} =5,2814 \]

Pasirenkam bet kurią varžą savo nuožiūra ir pagal gamintojo nustatytas varžos ribas, ir randame antrą varžą pagal formules:

\[ R_{FBT} = R_{FBB} \times 5,2814 \]
\[ R_{FBB} = \frac{R_{FBT}}{5,2814} \]

Jau nepamenu, kurį pasirinkau savo nuožiūra, bet tarkim RFBT paėmiau 5K62, tuomet:

\[ R_{FBB} = \frac{5620Ω}{5,2814} = 1 064,1117Ω \]

Artimiausias varžos nominalas – 1070 Ω. Dabar galima sudėlioti varžas į pirmąją formulę ir patikrinti kokią bus įtampa:

\[ V_O = 0,796\,\text{V} \times \left( 1 + \frac{5620Ω}{1070Ω} \right) = 4,9769 V\]

Beveik tiksliai 5V. Primenu, kad čia reikia naudoti precizinius rezistorius. Realiai mano Mastech MS8265 rodo 4,971V prie 8,4V ir 0,3A maitinimo. Tiek apie maitinimo dalį.

Šalia yra USB jungtis J2 Garmin’o krovimui, šeriam tiesiai tuos 5V ir tiek.

IC2 ir IC4 padeda mygtukams S1, S2, S3. Padeda tuo, kad atlieka debounce funkciją, taip sakant padaro mygtukų signalą gražų, su vienu įjungimu/išjungimu, antraip būtų matomas kontaktų „drebėjimas”, kai sujungimo metu kontaktas atsiranda ne iš karto, pradžioje mygtukas junginėjasi ir tik po keliu ar keliolikos mikrosekundžių stabilizuojasi.

Be debounce funkcijos procesoriukas fiksuotų kelis paspaudimus vietoje vieno, bet visą darbą padaro tam, skirta MAX6817 mikroschema.

Šalia matosi aktyvus pjezo-pypsiukas. Aktyvus – todėl jam užtenka paduoti maitinimą iš valdiklio, o ne kažkokį dažnį, kad išgirsti garsą. Jeigu nebūtų aktyvus – reiktų su valdikliu norimu dažniu junginėti išėjimą.

D1, R3 ir C3 skirti Reset grandinei ir programavimui. Kai viskas gerai, R3 laiko Reset kontaktą aukštame lygyje (pull-up), o įrašius naują programą į valdiklį jis, per C3 iš atitinkamo programavimo jungties kontakto, automatiškai perkraunamas. JP2 – trumpiklis, kad perjungti valdiklio kontaktus programavimui arba solenoidų valdymui.

Visko centre – AtMega328P valdiklis, šalia 16 Mhz kvarciukas.

Dešiniau nuo valdiklio visas būrys BSP76 smartFETų, tranzistoriukų ir jungtelės solenoidams.

Viršuje LCD displėjaus blokas, valdomas dviem laidais per 74LS164D registrą ir loginio IR mikroschemos NC7S08M5X. Apie tai rašiau seniai, 2015 metais, kai šios schemos dalies pagrindu pasidariau LCD skydą Arduinui – Arduino 2 laidų LCD skydas. Veikimas paprastas, šeriam reikiamus duomenis nuosekliai į 74LS164D, pasirenkam reikiamą bitą (1 arba 0) QC išėjime, pagal tai, ar siunčiama komanda ar duomenys, paskutinį bitą QH padarom loginiu 1, tuo pačiu duomenų kontaktą irgi padarom loginiu 1, tada IR elemento išėjimas irgi tampa loginiu 1, tuo pačiu loginis 1 atsiranda LCD displėjaus E kontakte, tuo sukomanduoja LCD displėjui nuskaityti duomenis iš duomenų šynos DB4-DB7 (naudojamas 4 bitų duomenų perdavimas).

Ir beliko schemos apačioje esantis garso apdorojimo blokas. Jo pagrindas – labai populiarus audio stiprintuvėlis LM386M ir 74LVC1G17DCK buferio. Audio signalas iš jungties, per DC blokuojantį kondensatorių C4 patenka į stiprintuvą. Jo paskirtis yra sustiprinti signalą, jeigu kartais Garmino signalas būtų per silpnas arba nebūtų galimybės pasigarsinti Garmino garsą. Būtent toks stiprintuvas pasirinktas nes atitinka jo maitinimo įtampa, 5V ir vienpolis, plius beveik nereikia išorinių elementų, nes vidinis stiprinimas jau sureguliuotas ties 20, bet prireikus, papildomo potenciometro pagalba galima reguliuoti nuo tų 20 iki 200. Principe panaudota schema iš aprašymo:

Tik truputį patobulinta, kad būtų galimybė keisti stiprinimą. Toliau seka dar vienas filtruojantis kondensatorius C6. Tuomet testavimo taškas TP1, skirtas prijungti oscilografą, pažiūrėti, koks signalas yra tarp stiprintuvo ir buferio. Tuomet buferis, dirbantis kaip Šmito trigeris. Šiek tiek iš Wikipedios:

Šmito trigeris – vieną analoginį įėjimą, vieną loginį (1/0) išėjimą ir dvi būsenas turinti schema, pasižyminti histereze. Šmito trigeris turi du įėjimo slenksčius. Esant įėjimo signalui žemiau pirmojo slenksčio, schema pereina į loginio nulio būsena ir lieka joje tol, kol signalas neviršija antrojo (aukštesnio) perjungimo į loginio vieneto būseną slenksčio. Loginio vieneto būsenoje schema lieka tol, kol įėjimo įtampa nenukrinta žemiau pirmojo (į nulinę būseną perjungiančio) slenksčio.

Jeigu paprastai, kai įtampa įėjime viršija, tarkim 1V trigerio išėjime yra loginis 1, kai įtampa žemiau 1V, išėjime loginis 0. Taip labai paprastai iš sinusoidės padarome meadnro formos signalą, plius dar su histereze. O meandro formos signalas visada bus arba 0V arba 5V, todėl jį labai lengva detektuoti ir apskaičiuoti dažnį su valdikliu – nebus jokių sinuso formos signalų, kur dar trukdžiai ir visi kiti blogi dalykai, galintys iškreipti dažnio matavimą. Mūsų atveju viskas atrodo va taip:

Panašiai 1 kHz sinusoidė įėjime (geltona linija) po stiprintuvo ir buferio tampa stabiliu meandru (mėlyna linija). Nebelieka ir neigiamo poliarumo įtampų, kas valdikliui būtų ankstyva mirtis dar nepradėjus kaip reikiant dirbti. Tačiau matosi kažkokie šuoliai persijungimų metu, juos būtų gerai irgi panaikinti, gal užtektų kokio nedidelio keraminio kondensatoriuko išėjime.

Štai ir visa schema. Paprasta kaip du kart du.

Antra klausimo pusė yra programa. Per tuos 10 metų vis prišokdavau kažką parašyti, tai dabar ten toks zooparkas, kad pats jau turiu pagalvoti apie ką ten rašiau 😁. Bet prisimenu, kad buvo tikslas kažkaip pasidaryti meniu. Tam sugalvojau naudoti meniu „flag’ą”, žymę, kuri keičiasi sulig kiekvienu meniu ir pagal ją atitinkamai valdomas tekstas ekrane ir funkcijos. Meniu struktūra:

  • Pagrindinis vaizdas, tiesiog parašyta
    PIN bruteforcer
    Menu – press UP
  • Paspaudus į viršų galima mygtukais aukštyn ir žemyn valdyti meniu:
  • Start cracking
    OK to start !
  • Crack from XXXX?
    Enter start PIN
  • Solenoid test
    OK to run test
  • Check sound frequency
    PIN BAD frequ.
  • Enter desired
    sound frequency?
  • Exit

Ties šita vieta pagalvojau, o gal perrašyti viską nuo nulio, tuo pačiu pasikartoti programavimą ir gal pavyks optimizuoti kodą, plius nebus toks kratinys.

2025.01.13

Perrašiau kodą, kažkiek paotimizavau, kažką palikau kaip buvo, kad nepersikrauti smegenų 🙂. Reikia susilipdyti bandymų stendą. Tiesiogine prasme susilipdyti. Tam reikia Garmin prietaiso ir medinių pagaliukų:

Tiks tiltas laikys visą PIN rinkiklį. Pagaliukai tarpusavyje suklijuoti ciano akrilatu (aka Super Glue), tiltas priklijuotas prie Garmin’o dvipuse lipnia juostele ir išcentruotas:

Kad šoninių skaičių nesimato – nieko tokio, toje vietoje paspaudus vis dar suveikia teisingas skaičius. Dar truputis dvipusės lipnios ant PIN rinkiklio ir klijuojam visą konstrukciją į krūvą:

Užklijavus patikrinam, ar lengvai paspaudžiami visi skaičiai, niekas nekliūna. Apie teisingą paspaudimą žinome pagal garsą.

Čia dar pirmoji softo versija, turinti dažnio įsiminimo funkciją, bet po to ją išmečiau kaip nepraktišką ir sunkiai pagaunamą. Dabar tiesiog galima pamatyti koks kada dažnis groja. paprastų mygtukų paspaudimai ~630 Hz, paspaudus OK sugroja ~630 Hz ir ~1600 Hz. Taip sužinome, kokio panašiai dažnio reikia ir, pasinaudojus atitinkamu meniu punktu įvedame rankiniu būdu. Įsimenamos dažnių reikšmės ±200 Hz, tai įvedus 1600 Hz dažnio paieškai naudos nuo 1400 Hz iki 1800 Hz.

Perrašius programą truputį pasikeitė meniu struktūra, naujoji:

  • Pagrindinis ekranas – PIN Bruteforcer / Menu – UP/DOWN
  • Start Cracking / OK to start !
  • Crack from XXXX? / Enter start PIN
  • Solenoid test / OK to run test
  • Check sound / frequency
  • Enter desired / sound frequency
  • EXIT

Veikimo logika tokia. Įjungus prietaisą reikia nustatyti detektuojamą dažnį. Net jeigu iš karto eiti į Start Cracking, vis tiek bus nukreipimas dažnio įvedimui:

Įvedus dažnį parodoma informacija apie detektuojamų dažnių ribas, pasirinkus Start Cracking tos ribos dar kartelį parodomos. Jeigu nežinomas dažnis, kurio reikia, tuomet pirma pasirenkame punktą „Check sound frequency” ir pasimatuojame koks ten dažnis (video aukščiau). Dabar tik įdėsiu kaip atrodo naujas meniu matavimui ir iš dažnių generatoriaus pašeriu apie 1500 Hz, dažnis pačiam generatoriuje plaukioja, tai parodymai irgi plaukioja iš paskos. Matavimo tikslumas gal nėra didelis, bet tokiai paskirčiai tikrai pakankamas.

Ir tuomet, kai jau turime suvestą dažnį, galima pradėti parinkinėti PIN kodą. Iš niuansų – dažnio matavimui galima pareguliuoti jo stiprumą daugiasūkiu paderinimo potenciometriuku, idealiausia matuoti signalą oscilografu TP1 ir TP2 taškuose, bet nebūtina.

Ar teisingai pataikyta į Garmino mygtukus patikrai ir tuo pačiu ar visi solenoidai veikia/nestringa/pasiekia ekraną galima įjungti solenoidų testavimo programėlę:

Bemaigydamas mygtukus pagalvojau, kad visai gal norėčiau turėti galimybę užtildyti pypsiką, nes labai daug pypsi, tai meniu papildytas „MUTE” funkcija. Tuo pačiu kaip ir pabaigiau PIN rinkimo procedūrą, nieko ten labai mandro – surenka PINą, 3 sekundes detektuoja dažnius, jeigu per tą laiką užfiksuoja nustatytą dažnį, kuris reiškia „PIN neteisingas” – palaukia šiek tiek, kol Garminas persijungs iš „PIN neteisingas” lango į PIN įvedimo langą ir renka sekantį kodą. Jeigu nustatyto dažnio neaptinka – parašo, kad PINas yra toks koks buvo suvestas.

Paskubėjau kuo greičiau sužinoti koks gi tas PIN kodas, todėl be didelių kodo optimizavimų ir papildomo funkcionalumo palikau atkodatorių/bruteforcerį maigyti Garminą, o Garminą pypsėti. Atėjau po kiek laiko ir matau, kad PIN kodas surastas – 0324. O bet tačiau – jis neteisingas. Nors mano prietaisas nesuklydo – garso, reiškiančio, kad PIN blogas iš tiesų nebuvo, nes, pasirodo, Garminas pakibo. Taip taip, ateinu, o jis ore kaba 😆. O jei rimtai, pakibo ties ekranu, kur rodoma informacija ką daryti, jeigu PIN blogas. Perkrovus vėl viskas įsijungė į PIN įvedimo ekraną. Bet tai blyyyyn, negi dabar vėl nuo 0000 reiks koduoti 😅? Nesąmonė, paėmiau ir parašiau trūkstamą programos dalį, kur galima įvesti nuo kurio PIN pradėti. Ties ta vieta irgi dar pasvarsčiau ar neperrašius man visko dar kartelį iš naujo, apsisprendžiant kaip geriau saugoti piną, masyve ar kaip paprastą skaičių. Bet kūrybinė krizė buvo praėjus, tai tik parašiau PIN įvedimo dalį, prakonvertuojant PIN kintamąjį, kad tiktų likusiai programai ir sušėriau Atmegai. Procesas užsisuko, nors protarpiais Garminas vis dar pakibdavo, bet po perkrovimo tereikėjo įvesti detektuojamą dažnį ir nuo kurio PIN važiuojam toliau, nesudėtinga. Ir po kiek laiko, jeigu kas patikės, kad sėkmingai pataikiau nufilmuoti būtent tada, kai tikrasis PINas atrastas:

Ir bandymas rankiniu būdu įvesti PINą 1948:

Gaunamas startinis konfigūravimo ekranas, kadangi buvo spaustas Reset mygtukas. Šiaip būtų įsijungęs neresetuotas Garminas, su buvusio vartotojo nustatymais, istorija ir t.t.

Štai ir viskas, baigėsi šita epopėja, užtrukusi 10 metų 😂. Dar iš įdomesnių niuansų – jeigu Garminą prijungti prie maitinimo šaltinio naudojant standartinį mini USB kabeliuką – jis persijungia į PC režimą ir rodo tik kompiuteriuką ekrane. Norint, kad taip nebūtų, reikia arba specialaus kabeliuko, arba standartiniam kabeliukui sujungti kartu 4 (ID) ir 5 (GND) kontaktus, paveiksliukas iš Interneto:

Programa neoptimizuota, kažkiek vis dar padrika, Eagle schema ir PCB berods teisingos, viskas yra čia.

Populiariausias gyvenvietės pavadinimas Lietuvoje ? 2024.11.08 at 16:36

Šiaip paieškojau, koks dažniausias pasitaikantis gyvenvietės pavadinimas Lietuvoje, pasirodo – Pakalniškės arba Pakalniškiai. Google Maps randa net 15:

HK1 MAX Android TV priedėlio remontas 2024.10.24 at 09:14

Taip, kiniečiai prikepė visokių tų TV priedėlių, kaip karštų bandelių mokykloje, net nesuprantu, kodėl tas pats modelis turi skirtingas specifikacijas. Į remontą papuolė HK1MAX, gamintojas „Made in China”. Ant prietaiso parašyta 4G RAM ir 32g ROM, Internete randu 4GB RAM 64GB ROM Android 10.0. Vienu žodžiu zooparkas. Bet šiandien ne apie tai. TV žiūrėtojas vietoje 5V maitinimo pašėrė 12V ir po to priedėlis nustojo veikti.

Ardymas nesudėtingas, tai nėra ką parašyti. Bet pajungus prie maitinimo šaltinio priedėlis valgo kažkiek ne logiškai daug amperų, maitinimo šaltinį apribojau ties 2A, ko turėtų tikrai užtekti normaliam veikimui, bet maitinimo šaltinis šoko į apsaugą, nes srovė viršijo 2A. Ardome.

Nebaisiai daug detalių, matomos RAM/ROM mikroschemos nevalgo 5V, taigi, viskas maitinasi per DC/DC konverterius. Gal ir geras ženklas, jeigu konverterio nepramušė – veiks. Kairėje foto matosi 4 didesni droseliukai, paprastai droseliukai būna DC/DC konverterio schemos dalis. Dešinėje pusėje yra tik vienas AMS1117, toks tradicinis pas kiniečius Texas Instruments LM1117 klonas. Jo maksimali įtampa 15V, taigi, 12V prijungimą jis turėjo išgyventi, o vat šalia droselių esantys AS20B5 pažymėtos mikroschemos (realiai MT3520B) greičiausiai neišgyveno, maksimali įtampa tik 6,5V.

Tipinė jungimo schema:

Visas mikroschemos aprašymas yra čia.

Tikrinam DC/DC konverterius – geras ženklas, įėjimas nepramuštas į išėjimą, atsiranda tikimybė, kad už konverterio mikroschemos išgyveno. Teks pakeisti ir pabandyti. Bėda tame, kad tos mikroschemos niekas iš patikimų tiekėjų neturi, teko užsakyti iš AliEkspress – o to labai nemėgstu, nes 90% mikroschemų iš ten – padirbtos arba iš viso neveikiančios.

Praėjo kiek laiko, mikroschemos atvažiavo ir buvo įlituotos. Stebuklas įvyko:

Išvada – 12V sudegino visas keturias mikroschemas, bet viskas, kas liko už jų išgyveno. kadangi testas sėkmingas, priedėlis veikia, tai šiek tiek diagnostinių duomenų:

Kitoje pusėje esantis AMS1117 gamina 1,837 V.

Lazerinė technika 2024.09.22 at 15:38

Ne baisia sudėtingas remontas, bet kad jau prašė pažiūrėti… Kalba eina apie tokius pigučius lazerinius projektorius😀

Nei jis čia labai galingas, nei kažkuo geras, projektoriuoja visokius taškus ir tiek. Pradžiai kaip visada, diagnostika. Neveikia. Nu tai negi atsiųs remontui veikiantį… Teks ardyti, gerai, kad nesudėtinga. Va jau ir krūvelė pabertų:

Taip, iš viso keturi aparačiukai. Gedimas pas visus vienodas, nuo perdėto jėgos panaudojimo jungiant maitinimo šaltinį – nulaužtos visos jungtys. Betikrinant radau dar ir vieną trijų padėčių jungiklį stringantį. Išėmus matosi, kad jis toks lyg padegęs, lyg kaitęs… Visos blogos detalės išmontuotos:

Prasideda „lengvoji” dalis – surasti kuo juos pakeisti. Paieška užtruko kokia 15 minučių, bet rezultatas:

Lizdas: PJ-013D Same Sky (Formerly CUI Devices) | Connectors, Interconnects | DigiKey

Jungiklis: EG2301B E-Switch | Switches | DigiKey

Pabumbėsiu… Maitinimo šaltinis 5V 1,5A, kiek tas aparatas „valgo” dar nežinau, bet tas jungiklis atlaiko tik kokius 200 mA, t. y. 7,5 karto mažiau. Ar nebus čia to kaitimo priežastis, kai per jungiklį prasibėgo didesnė srovė nei galima ? Reiks pamatuoti sroves, gal koks varikliukas pastrigęs ir dėl to vartoja didesnė srovę, ir degina jungiklį.

Patys aparačiukai padaryti labai kreivai šleivai, tokia Kinija, kad matyt pačio nuošaliausio Kinijos kaimo rūsyje gaminti…

Trumpai apie tai, kas viduje.

Du lazeriniai spinduoliai, po vienu prispaustas pavalkėlis, nežinau, ar kad kreiviau būtų ar atsitiktinai 😋. Abu lazeriai šviečia į pusiau veidrodinį stikliuką, kuris turėtų viršuje esančio lazerio spindulį atspindėti 90° kampu ir tiesiai praleisti dešinėje esančio lazerio spindulį. Pabandome.

Taip, viršutinis lazeris raudonas, atsispindi reikiamu kampu ir išlenda per balto plastiko konstrukciją. Ji su varikliuku, matomai ten dar kokį veidrodį sukioja, kad spindulys judėtų. Dešinys lazeris tuomet turėtų būti žalias, bet prijungus maitinimą neveikia, tai kol kas ne žalias 😁.

Dar keletas foto su montažinėmis plokštėmis:

LM317T, matomai surinktas įtampos stabilizatorius, reiks pamatuoti kiek Voltų gamina. Raudonu laidu padarytas trumpiklis, nuo jam yra vieta ant PCB… Toliau visokia smulkmė, DBL358V operacinukas, turbūt prie mikrofono grandinės, keletas 2SD882 tranzistorių, NE555 taimeriukas, laiko impulsų generavimui.

Remontuojam.

Aparačiukai nenumeruoti, bet tarkim pirmasis pasitaikęs po ranka – maitinimo lizdas pakeistas, jungiam. Ok, toks įspūdis, kad šalia namo kyla Eurofighter’is pilnu forsažu. Burzgia aušinimo ventiliatorius, reiks pakeisti. Laikinai atjungia ir bandom toliau. Lazeriai šviečia, o vat varikliukas, vartantis poliarizuotą stikliuką – ne. Pajungiam varikliuką prie maitinimo šaltinio, prie 5V šiaip ne taip, labai nenoriai, pradėjo suktis – viskas aišku, sunkiai sukasi, valgo daugiau srovės, srovė degina jungiklį ir gal dar kažką pakeliui, nes jungiklis tai veikia. Greita diagnostika, tiesiog atsekant takelius, kaltininkas rastas ir pašalintas. Raskite 1 skirtumą 😋

Taip taip, 10 Ω rezistorius negyvas, matomai neatlaikė srovės. O gal čia tas pats aparačiukas, kuriam ir jungiklis neatlaikė. Vienu žodžiu teks pakeisti rezistorių. Ir tas sunkiai besisukantis varikliukas:

Paprastas šepetėlinis variklis, apie guolius čia nėra kalbos. Bet užsakiau naujus ir laukiam gavimo :).

Ventiliatoriai pakeisti, nors teko prie to padirbėti – visų pirma tvarkingas sulituoti ventiliatorių laidukus prie nukirptų senųjų ventiliatorių jungčių, užtraukiant termokembriką, po to dar pasirodė, kad ventiliatorių skylės varžtams per didelės, gerai, kad turiu ne mažą dėžę visokių kompiuterinių varžtelių, tame tarpe ir ventiliatorių tvirtinimo varžtų, tie puikiausiai tiko.

Laukiam lazerio spindulius vartančių varikliukų gavimo…

2024.12.03

Varikliukai gauti ir sumontuoti. Patys varikliukai tai tiko idealiai, bet niekada nebūna viskas lengva – dviejų varikliukų dantračiai trūkę, uždėjus teko įtvirtinti specialia, UV šviesoje kietėjančia derva. Laikosi tvirtai. Naujas varikliukas laisva eina vartoja apie 5 mA.

Naujasis varikliukas su klijuotu dantračiu kairėje, o dešinėje jau sumontuotas. Kadangi nauji varikliukai atvažiavo be jungčių, teko senąsias jungtis prilituoti prie laidų, viską užtraukti tinkamos spalvos termokembriku. Prietaisiukai patikrinti ir veikia kaip numatyta gamintojo. Apie remonto kainą nesakysiu, nes gaunasi daugiau nei nauji prietaisiukai 🙂.

Pjovimo diskų galandinimo staklių automatikos bloko remontas 2024.07.25 at 11:33

Toks skubus remontukas pasitaikė, gavau „SCE904AN-002-01 Pacific Scientific High Performance Digital Servo Drive” valdymo bloką, kuris, taip supratau, valdo pjovimo diskų galandinimo stakles. Daiktas brangus (eBay apie 2000€), o ir darbai stovi, kalnai negaląstų diskų, todėl reikėjo skubaus remonto. Atidėjau visus projektukus į šalį, ir porą dienų, arba labiau naktų praleidau su šituo bloku. Pradžiai, kaip ir visada, teko pasiaiškinti schemotechniką, nes tam, kad sutaisyti bet kokį daiktą, būtina žinoti kaip jis turi veikti. Gedimas – neįsijungia, po to beliko tik diagnostika. Pradžiai teko išardyti bloką:

Priekinė panelė su 7 segmentų LED indikatoriumi, maitinimų ir komunikacinėmis jungtimis, gale – masyvus radiatorius.

Atidarius va toks va vaizdelis. Kairėje – jėginė dalis ir impulsinis maitinimo šaltinis, dešinėje – valdymo schemos. Pačią diagnostiką suskirsčiau į tris etapus – jėginės dalies diagnostika, valdymo grandinės diagnostika ir likusios schemos diagnostika. Kodėl taip ? Nes labiausiai tikėtina, kad nusprogo jėginė dalis, kuri dalyvauja didelių srovių komutavime, jei ne ji, tuomet labai tikėtina, kad nusprogo valdymas (neseniai žaibavo, tai gal, pavyzdžiui, nužaibavo kokį prociuką).

Jėginė dalis sudaryta, principe, iš vienos detalės, IGBT modulio Semikron SKM40GD123D:

Modulio struktūra:

Nieko labai blatno, šeši IGBT tranzistoriai viename dideliame korpuse. Pliusas, kad visi gerai aušinsis ir bus vienodos temperatūros ir greičiausiai vienodų parametrų, jeigu daryti tuo pačiu procesu. Šalia dar gyvena du trifaziai lygintuviniai tilteliai VS-36MT140:

Modulių sandara standartinė:

Tikrinam…

Čia visi jėginiai elementai geri, IGBT modulis, tilteliai, dideli raudoni kondensatoriai, filtravimo dalis – pareiname prie valdymo schemos tikrinimo.

Pradžiai bandome tikrinti mikroschemų maitinimo grandines. Trumpo jungimo nėra, viskas kaip ir gerai, reikštų, kad galima padaryti diagnostinį maitinimo įvedimą ir pažiūrėti iš kur rūks dūmai. Ant plokštės patogiai matosi 5 VDC stabilizatorius:

Štai jis, kairiame apatiniame kampe, prisuktas prie radiatoriaus, šalia ir jo kondensatorius. Čia standartinis LM7805, 5 V stabilizatorius. Pasitikrinam aplink jį, viskas gražu, trumpo nėra, bandome jungti. Stabilizatoriaus įėjimui paduodam 7V, minusą prie stabilizatoriaus minuso, ir jo išėjime turime gražius 5 V. Bet valdymo plokštė vis tiek neveikia. Net nėra tų gražių 5 Voltų ant mikroschemų maitinimo išvadų. Nu va, nusiminiau aš, net susinervinau truputį, galvoju takelis kur nors bus trūkęs, o plokštė turbūt trisluoksnė, nebeatkasiu kur trūko. Bet vis tiek pradėjau tikrinti. Tikrinu tikrinu, nu kas per monai, mikroschemų maitinimas tikrai ne iš to stabilizatoriaus važiuoja, pasirodo iš tų šleifų, plataus ir siauresnio, kurie matosi foto kairėje pusėje. O tai kam tada tas 5 V stabilizatorius ? Nežinau, bet imamės plano B – paduodu maitinimą į bet kurios patogios mikroschemos maitinimo išvadus. Kiek Voltų ? Pasižiūrėjau keleto mikroschemų aprašymus, vienos valgo nuo 3 V iki 5,5 V, kitos grynai 5 V, taigi, tiek ir paduodam. Ir – stebuklas, displėjus atsigavo, rodo kažkokius kodus ir skaičius. Reiškia procesoriukas protauja, gerai. Bet vis dar nėra maitinimo. Kadangi jis ateina per šleifą iš jėgos plokštės pusės, grįžtame prie jos. Jėginėje plokštėje gyvena tas impulsinis maitinimo šaltinis:

Pasitikrinu ar nėra trumpo (su mintim, kad jeigu nėra, bus sąlyginai saugu jungti į 230 VAC), kai kuriuos komponentus (nes matosi kaitimo žymių), prasiskambinu AC takelius iki pat pagrindinės mikroschemos UC3845A. UC3845A ir UC3845B versijų aprašymai visai pravertė. Mikroschemos blokinė schema:

Ir tipinė jungimo schema:

Ir gedimas buvo būtent šito maitinimo šaltinio schemoje, bet kadangi remontas buvo komercinis, nesu tikras, kad galiu apie jį papasakoti. Bet diagnostikai reikėjo ocsilografo ir testerio, o gedimo priežastis – karštis. Remontas pavyko, o pats blokas padarytas kokybiškai, plokštė gera, elementinė bazė irgi patiko, nustebino, kad net visi varžteliai su prabangiom graverinėm/pleištinėm/rifliuotom poveržlėm:

Nuotolinis valdymas, tęsinys – posūkiai, siųstuvas 2024.07.16 at 09:15

Tęsiam projektuką, kurio pradžia susijusi su straipsneliais:

HT12E – HT12D bandymų plokštė – nuotolinio valdymo pradžia

HT12E enkoderio duomenų srauto savybių tyrimas

HT12E enkoderio emuliatorius

Jau po truputį galima papsakoti apie viso šito reikalo tikslą – reikia be laidų valdyti posūkius, taip taip, mašinos posūkius. Kas per mašina ir kodėl reikia – vėliau, kad būtų intrigėlė 😁. Ir pagaliau pabaigta finalinė siųstuvo versija, išbandyta ir pasitvirtinom teisingą veikimą. Paskutine tapo trečioji versija, taigi, pabandykime paanalizuoti klaidų ir tobulinimo kelią.

Pati pirmoji, V1.0 versija, įkūnijanti pačią idėją. O idėja tokia – prie H1 prijungiama posūkių valdymo rankenėlė, kuri iš 2 kontakto permetą pliusą į 1 arba 3, priklausomai nuo to, į kurią pusę paspausta. R1 ir R3 – pull-down rezistoriai, kad valdikliukas Attiny85 neprisigaudytų trukdžių. Toliau visą „protingą” darbą daro valdikliukas. Pagal tai, į kurį kontaktą (PB1 ar PB2) ateina signalas, valdiklis suformuoja atitinkamą baitų paketą ir supučia jį iš PB3 kontakto į siųstuvo TXM433LR antrą kontaktą (duomenų įėjimas), o siųstuvas viską ištransliuoja per ANT-433-USP anteną. Prieš tai nepamirštame nustatyti loginį 1 PB4 kontakte ir tuo pačiu siųstuvo PDN kontakte, kad siųstuvas „prabustų”. Tas padaryta elektros energijos taupymo sumetimais, kad bent jau siųstuvas neveiktų visą laiką, o tik tada, kai reikia parodyti posūkio signalą, nes maitinimas nuo CR2450 3V baterijos, iš kurios galima tikėtis tik 600 mAh. Viršutinė schemos dalis, U4 su C1 ir C2 – aukštinantis DC/DC mikrokonverteris XCL101C301ER-G, sugebantis iš 0,7-5,5 V įėjimo padaryti stabilią nustatytą įtampą, nuo 1,8 V iki 5.0 V (±2.0%) su 0,1 V žingsniu. Maksimali srovė 100 mA, mums tikrai užtenka. Kam jo reikia ? Ogi tam, kad baterijai išsikraunant, schema vis dar gautų skaniai ir sočiai valgyti 🙂. Pabandžiau, veikia stabiliai iki 0,8 V, taigi, baterijoje esančią energiją išnaudos kuo pilniausiai. Toliau jungiklis H2 ir baterija U3 (nežinau, kodėl būtent U). J1 trumpiklis arba 0 Ω rezistorius skirtas atjungti likusią schemos dalį, kol vyksta Attiny85 programavimas per CN1 jungtį, nes programatorius šeria 5 V, o siųstuvas valgo maksimum 3,6 V. Schema, sakyčiau griozdiška, bet kažkaip veikia, toliau bandome optimizuoti. Skirtingai nuo visų elektronikos gamintojų, man žodis „optimizuoti” nereiškia „atpiginti”, todėl antroji schemos versija gavosi tokia:

Pagrindiniai komponentai liko tokie patys, todėl kalbėsime tik apie pasikeitimus. Pirmas dalykas – schema perbraižyta plačiau, lengviau suprasti, kas čia prie ko prijungta ir kodėl. Perprojektuota maitinimo šaltinio veikimo logika, kas leido pašalinti mechaninį įjungimo tumbleriuką. Mintis tokia – baterijos pliusas, kaip ir ankščiau, ateina į posūkių rankenėlės kontaktus ir daugiau nieko neužmaitina. Įjungus posūkį, pliusas nubėga į trijų diodų mikroschemą ir patenka į tranzistoriaus Q1 užtūrą, tranzistorius atsidaro ir prijungia minusą prie visos schemos. Kam trys diodai ? Čia toks, vadinamas, loginis ARBA elementas. Loginis ARBA – tai kai bent viename įėjime yra loginis 1, išėjime irgi yra loginis 1. Taigi, kai maitinimas ateina nuo kurio nors posūkio (į kairę arba į dešinę), jis per savo diodą užmaitina tranzistorių, pasileidžia visa schema, tada valdikliukas iš PB4 paduoda pliusą, kad laikyti tranzistorių atidarytą tiek, kiek jam reikia. O kiek reikia ? Čia mintis tokia – kad posūkis mirksėtų, valdiklis/siųstuvas turi periodiškai siųsti įjungimo ir išjungimo komandas, jeigu siuntimas išjungiamas, tarkim, po komandos uždegti posūkio indikatorių, tuomet jis ir lieka degti, nes nebelieka komandos jį išjungti. Todėl atjungus posūkių rankenėlę pats valdikliukas dar palaiko schemą veikiančią, kad spėtų pabaigti siųsti išjungimo komandą ir tada jau PB4 nustatomas į loginį 0 ir viskas atsijungia iki sekančio posūkių rankenėlės įjungimo. Truputį pakoreguota ir Attiny programa, kad veiktų pagal naująją schemą. Toliau smulkmenos – pridėti trumpikliai SJ2 ir SJ3, skirti tam pačiam reikalui, programavimo metu atjungti likusią schemos dalį. Pamiršau – pirmoje versijoje J2, o antroje SJ1 naudojami DC/DC apėjimui, užtrumpinus maitinimas eina tiesiogiai iš baterijos ir DC/DC keitiklis nedalyvauja parade. Bandymu metu maitinimo schema veikė keistai, matyt atjunginėti minusą tuo trazistoriumi nebuvo gera mintis, gal koks „ground loop’as” gaunasi, gal dar kažkas, bet DC/DC keitikliui nepatiko taip veikti, todėl pradėta projektuoti trečioji schemos versija.

Ir vėl, pagrindinė mintis liko ta pati – mažinti nereikalingų komponentų kiekį, mažinti elektros suvartojimą, viską optimizuoti. Čia pagrindinis pasikeitimas yra maitinimo grandinėje. Paanalizuokime. Baterijos U2 pliusas sujungtas su posūkių rankenėle ir mikroschema U5 (TCK106AF), čia toks „protingas” tranzistorius, arba skaitmeninis jungiklis arba… Vienu žodžiu padavus jam pliusą jis pats teisingai sujungia savo Vin su Vout ir užmaitina prie Vout prijungtą schemos dalį. Taigi, kol posūkių rankenėlė atjungta, niekas neveikia, nėra jokio srovės vartojimo – energetinio taupumo tikslas pasiektas, nes energija naudojama tik tada, kai reikia rodyti posūkį. Sujungus rankenėlę, pliusas nubėga pas vieną iš trijų diodų (tas pats loginis ARBA), pasileidžia DC/DC keitiklis ir užmaitina visą schemą (valdikliuką ir siųstuvą). Valdikliukas įsijungia, įmeta loginį 1 į PB4, tuo paleisdamas tą U5 jungiklį, pasitikrina kuris posūkis įjungtas (kontaktai PB1 arba PB2) ir atitinkamus duomenis supučią siųstuvui. Kai posūkis atjungiamas, valdiklis vis dar laiko PB4 išėjime aukštą lygį, kad veiktų jungiklis U5, per kurį maitinimas patenka į vieną iš diodų, tada į DC/DC keitiklį ir visa schema veikia, kol valdiklis išsiunčia paskutines komandas, o tada nustato loginį 0 į PB4, tuo išjungdamas jungiklį U5. Kadangi tuo metu tai būna vienintelis dalykas, laikantis schemą įjungtą – viskas išsijungia iki sekančio posūkio įjungimo. Šitoje vietoje dvejojau, nes posūkių rankenėlė perduoda tiesioginę baterijos įtampą ir kaip ji keisis baterijai išsikraunant ? Maitinimas po DC/DC vis dar būtų 3V, bet baterija tuo matu jau gal bus tik 2V. Čia teko paknisti Attiny85 aprašymą, ir radau tokį dalyką:

\[ U_{AukštasLygis}\geqslant0,6*U_{Maitinimo}\geqslant0,6*3 \geqslant 1,8V\]
\[ U_{ŽemasLygis}\leqslant0,3*U_{Maitinimo}\leqslant0,3*3 \leqslant 0,9V\]

Taigi, įtampos nuo 1,8 V ir daugiau bus tikrai fiksuojamos kaip loginis 1, įtampos žemiau 0,9 V bus tikrai fiksuojamos kaip loginis 0. Taigi, baterija gali išsikrauti net iki 1,8 V, vis tiek schema veiks teisingai, man tokie įtampų lygiai priimtini 🙂.

Schema ir montažinė plokštė braižyta EasyEDA programoje. Kodėl ? Paprastoms schemoms man ji visai patiko. Yra visokių niuansų ar nesklandumų, bet ne kritiški, todėl šalia Autodesk Eagle (gaila, kad ne Cadsoft) naudoju ir EasyEDA.

Plokštė daryta pagal posūkių rankenėlę, kad tilptų viduje. Keletas 3D vaizdelių:

Ir jau pagaminta plokštė:

Reiks dar įkelti EasyEDA projekto failiukus ir valdiklio programą.

O toliau – pabaigti ir aprašyti imtuvo projektą (prototipas irgi jau pagamintas ir išbandytas). Paskutinei, trečiajai, schemos versijai, dar įmanoma padaryti šiokį toki atpiginimą – kadangi per Attiny85 IO kontaktus gali tekėti 40 mA srovė, galima išmesti U5 ir valdyti viską vietoje jo, PB4 tikrai išveš tokias sroves – visa schema, siuntimo metu, vartoja 4,9 mA, t. y. ~8 kartus mažiau. Tam tereikia PB4 prijungti tiesiogiai prie D1 diodų 4 kontakto.

Elektrinės efektyvumas 2024.05.16 at 15:54

Kažkurią dieną, po lietaus ir esant gan vėsiam orui, gaminamos elektros pikas buvo 9820 W. Visai neblogai, turint galvoje, kad sumontuotų panelių maksimali galia – 9890 W, vos ne 100% naudingumas. Sekantis etapas – instaliacinės dėžės keitimas, „smart meter’io” pajungimas.

2024.07.04

Ir truputis realesnės statistikos.

Abiem atvejais graži saulėta diena, panelės karštos, todėl našumas kažkiek pakritęs, bet momentinis generavimas 7,68 kW, per dieną prigeneruoja 65 kWh. Tai realus naudingumas 7680/9890*100 = 77,65 %.