Vis laikau mintyse šitą informaciją, bet kai prisireikia ir pamirštu, tai pasidalinsiu – gal pravers ir dar kam nors. MOSFET tranzistorių savybių ir pajungimo palyginimas:
Žemas lygis valdyme išjungia tranzistorių
Aukštas lygis valdyme įjungia tranzistorių
Krūvio nešėjai – elektronai
Greitesni nei P kanalo tranzistoriai
Lyginant panašių dydžių ir specifikacijų N ir P kanalo tranzistorius – N kanaliniai turi mažesnį RDSON
Žemas lygis valdyme įjungia tranzistorių
Aukštas lygis valdyme išjungia tranzistorių
Krūvio nešėjai – skylės
Lėtesni nei N kanalo tranzistoriai
Lyginant panašių dydžių ir specifikacijų N ir P kanalo tranzistorius – N kanaliniai turi didesnį RDSON
Čia toli gražu ne visų savybių palyginimas, tik pradžiai, kad bent jau orientuotis į kurią pusę žiūrėti :). Trumpai apie schemas – R1 ir R4 skirti valdyti užtūros (Gate) srovę, gan dažnai jų ir nebūna, panašiai taip apie 1K varžos. R2 ir R5 skirti timptelėti (pull-up ir pull-down) užtūrą link žemės arba teigiamo poliaus, kad užtūra „nekabėtų ore”, tuomet gali suveikinėti neprognozuojamai, panašiai apie 10K varžos.
P. s. Varžų dydžius paėmiau orientacinius, tam tikromis sąlygomis, schemomis ar maitinimo įtampomis gali skirtis.
Prieš kurį laiką užsisakiau ir gavau pigų visom prasmėm temperatūros matuoklį TM-902C iš AliExpress. Išvaizda negudri:
Bet temperatūrą matuoja. Tik pastebėjau, kad baterija išsikrauna labai greitai, ta prasme realiai greitai, keletas dienų netgi išjungus prietaisą ir baigta. Keistumas paaiškėjo pamatus srovę esant išjungtam prietaisui – pasirodo, kažkas valgo elektrą net kai jungiklis išjungtoje padėtyje. Teko ardyti ir aiškintis toliau. Schemą perpaišyti tingiu, bet ten ir taip viskas aišku, kokiam girtam narkomanui iš Kinijos susišvietė padaryti jungiklį ne tarp baterijos ir prietaiso, o tarp stabilizatoriaus ir prietaiso, t.y. stabilizatorius visada prijungtas prie baterijos ir pastoviai valgo, kad ir tuščios eigos, bet srovę.
Netgi iš foto matosi, kad takelis, prie kurio prilituotas raudonas laidas eina į 7530-1 stabilizatoriaus vidurinį kontaktą, įtampos įėjimą. Išėjimas yra trečias kontaktas ir akivaizdu, kad įtampa iš jo eina į jungiklį. Kaip ? Kokios minčių vingrybės susisukt turėjo, kad taip padaryti ? Nesuprantama… Nors yra ir teigiamų dalykų – nors čia pigus kiniškas išradimas, bet, jeigu tik ne padirbtas, stabilizatorius yra visai kilmingas, Holtek firmos 100 mA ir atitinkamos įtampos (čia 3V) stabilizatorius. Sprendžiant iš blokinės schemos aprašyme:
šitas daiGtas dirba linijiniame režime, pagal bendro kolektoriaus/užtūros schemą, kai tranzistorius valdomas tolygiai atidarant arba pridarant jį kokiu nors atraminiu valdymo įtampos šaltiniu, pavyzdžiui stabilitronu. Šiuo atveju operacinio stiprintuvo pagalba pasiekiamas žymiai geresnis išėjimo įtampos reguliavimo tikslumas. Nesistebiu, kad stabilizatorius gali tiekti tik 100 mA, nes prie maksimaliai galimos įėjimo įtampos (26 V), o išėjime turint 3 V, jis ten turėtų būti kaip reikiant karštas. Paskaičiuojam, tarkim maitinam ne nuo 9 V Kronos, o nuo maksimalios įtampos, išėjime turim tuos pačius 3 V ir 100 mA:
Pkarščio=(26 V – 3 V) × 0,1 A = 2,3 W
Tokiam korpusėliui tai jau rimtas iššūkis būtų :D. Prie 9 V generuotų 0,6 W šilumos, tai irgi gan dideli nuostoliai. Ir dar – beskaitydamas aprašymą radau, kad standartinis tuščios eigos apetitas prie 5 Vin yra tik 2,5 µA, kas būtų labai nedaug. Bet kai matavau tikrai buvo daugiau, gaila nebeprisimenu kiek. Ir tai leidžia daryti išvadą, kad visgi stabilizatorius padirbtas :(. Bet čia gal kaip kam pasiseks :D, baigėsi originalai, deda padirbtus :D. O bet tačiau, vis tiek reikia kažką daryti. Paprasčiausias būdas – peiliu pavandalizuoti takelius, pridėti truputį laido, ir padaryti taip, kad jungiklis atjungtų bateriją nuo stabilizatoriaus.
Štai, mano fantazijos vaisius – raudonas laidas nuo baterijos eina į jungiklio dešinį kontaktą, iš centrinio grįžta į schemą. Vidurinis kontaktas atkeltas, į jo vietą ant PCB prilituotas laidukas iš stabilizatoriaus išėjimo (takelis perpjautas). Kairys jungiklio kontaktas prilituotas tik dėl jungiklio montavimo tvirtumo, nes jungiklis laikosi tik už kontaktų, tam išskutinėjau paduką ant PCB, nors greičiausiai buvo galima tiesiog praskusti laką ir prilituoti. Kas supranta, kodėl galima buvo neizoliuoti to kontakto nuo bendro takelio 🙂 ?
Vadinasi X-Vision Domibar X. „X” matyt dėl to, kad gabaritinis pašvietimas turi X formą. Gamintojas neturi nei normalaus puslapio nei aprašymo, bent jau man nepavyko aptikti, nors pats žibintas kainuoja taip nuo 150 € iki 250 €. Techninė charakteristika, kokią pavyko rasti tokia:
• 128W (16 x 8W Osram LED) • Šviesos srautas 9000lm • Įtampa: 9-32V • Reference mark: 37,5 • Spalvinė temperatūra 6250K • X simbolio apšvietimo galia (15,2W) • Aliuminio korpusas • 220 cm kabelis su DT-3 jungtimi • Matmenys: 558 x 73,5 x 79,1mm (P x A x G) • IP67 • Galima naudoti EU • E-, R112- ja R7-approved • Svoris 3,5 kg
128 LEDiniai vatai yra visai įspūdingas skaičius, turėtų gerai šviesti, jeigu vatai ne mažiukai, kiniški… Bet bėda – tas X simbolio pašvietimas neveikia. Pagrindinė žibinto dalis veikia. Ardymas ne baisiai sudėtingas, kiti LED žibintas būna gerokai smarkiau suklijuoti, o šitas tik varžtukais…
Atsidarius iš karto matosi daug korozijos, principe visos esančios detalės daugiau ar mažiau padengtos koroziniais žalėsiais.
Taigi, visą tą gėrį reikia gerai išvalyti, naudojant tinkamą chemiją. Tą padarius gedimo paieška nebuvo baisiai sudėtinga – tiesiog reikėjo atrestauruoti nupuvusius takelius, ir gabaritinis apšvietimas vėl pradėjo veikti. Dar tuo pačiu ir porą nupuvusių LED emiterių iš pagrindinio šviestuvo teko pakeisti. Štai, keletas „prieš ir po”:
LED žibinte yra keletas atskirų montažinių plokščių – maitinimo plokštė, pagrindinio LED švietuvo plokštė su LEDais ir gabaritinio apšvietimo blokelis, tas kur užžiebia X. Maitinimo plokštėje sumontuota daug DC-DC keitiklių su srovės stabilizavimu LED maitinimui, dabar jau nepamenu, 6 ar 8 moduliukai. Visą šitą plokštę nupurškiau specialiu, elektronikai skirtu, laku – kad nepasikartotų korozija. Arba bent jau ne taip greitai. Pagrindinės LED plokštės nelakavau, ten buvo kita bėda – originaliai ji su lašiuku termopastos perduodavo šiluma į korpusą, blogis tame, kad tas lašiukas buvo tik per kokius 5 cm, o toliau temperatūros perdavimas buvo paliktas „на ура”. Taigi, visa šita plokštė buvo teisingai sutepta gera termopasta, šitie galingi LED kaista tikrai stipriai, o mes visi žinom, kad nuo per didelės temperatūros jie greitai degraduoja ir miršta. Beliko tik surinkti ir ištestuoti veikimą. Kadangi viskas gerai, tai pasibarsiu ant marketingo – visi rasti aprašymai sako, kad pagrindiniame šviestuve sumontuoti 16 x 8W Osram LEDai. Ir spėkit ką – ogi Osram negamina jokių 8W LED emiterių 😀 Tokiam formate maksimaliai radau berods 3W. O gal 4W. Nu bet vis tiek kosmiškai mažai, palyginus su reklama. O man juk reikia dviejų naujų LED. Teko verstis per galvą, bet šiaip ne taip sugaudžiau info, kad čia visgi Osram, modelis GW PUSTA1.PM. Dar aišku šokiai su būgnais, kad gauti originalų Osram’ą, bet viskas pavyko ir LED BARas pilnai sutvarkytas.
Tęsiame eksperimentus su HT12E, dabar bandysime sumesti jo emuliatorių. Kad jau reikia greitai, paprastai ir suprantamai net lameriams – jamam Arduino Uno. Beje, pasigirsiu, kai tik gausiu NUCLEO-F446RE pereisiu prie Kūbo ir STM32F446RE. Kažkurias savo programas gal išportinsiu iš Arduino į normalų C, bet ir savarankiškai jas perrašyti yra labai paprasta. O šitų bandymų rezultatas jau realizuosis, greičiausiai, su STMu. Ok, važiuojam. Pradžiai sumaniau pabandyti koks gali būti maksimaliai greitas meandras pas Uno:
Štai, apie 3,4 us, tai beveik 100 kartų greičiau negu mums reikia, panaudojant D2 arba PD2 kontaktą. Nepabandžiau dedikuoto PWM išėjimo, kitą kartą… O kol kas reikia pristabdyti Atmegą panaudojant delayMicroseconds(Pause) funkciją, kur Pause yra laikas mikrosekundėmis. Rašome 328 us, nors reiktų 330 us – 2 us paliekam prievado junginėjimo laikui. Oscilografas patvirtina sprendimą:
Štai, loginis 1 turėtų trukti 330 us, dėl tikslumo paėmiau 5 loginius 1 ir 5 loginius 0, trukmė 3,340 ms = 3340 us, vieno bito trukmė 3340/10 = 334 us, panašiai :). Kadangi jau sureguliavom bito trukmę, sumetam bitbanginimui programėles:
void one () padarys vienetuką, t.y. išsiųs 001, o void zero () padarys nuliuką, t. y. išsiųs 011.
Dešinėje loginio 1 trukmė, nors ir nuliai ne iš tos pusės – 990 us, idealu.
Kairėje HT12D signalas, dešinėje sugeneruotas programiškai, visi loginiai 1. Jau galima jungti maketinę plokštė ir paduoti į ją mūsų signaliuką.
Pajungiau, niekas nesprogo, net nekaista, netgi veikia. Tuoj padarysiu video kaip mirksi LEDukai.
Programėlė labai paprasta, visų pirma inicializuojam LEDus, t. y. siunčiam visų LED užgesinimo signalą (arba uždegimo, priklausomai nuo SINK ar SUORCE pasirinkimo). To reikia, nes HT12E atsimena siųstus duomenis, taigi, jeigu tarkim buvo įjungtas pirmas LED ir nutraukiam duomenų siuntimą – jis lieka šviesti. Šiaip, principe, kol kas nesvarbu kokia LED būklė buvo prieš sekantį duomenų paketą, bet dėl tvarkos tiesiog inicializuojam ir tiek. Po inicializavimo luktelname 1 sekundę ir pradedam junginėti po vieną LED iš eilės. 5 mm žalias LED mirktelna, kad Transmission Valid (VT). Perjungus trumpiklius LED veikimas invertuojamas. Taip yra todėl, kad HT12D pagal komandą paduoda arba pliusą, arba minusą, t. y. srovę tiekia arba priima, jei taip galima sakyti, o vienas LED prijungtas prie pliuso, o kitas prie minuso. Kadangi HT12D nemoka pakabinti išėjimo ore, neduoti nei pliuso nei minuso, gaunasi, kad LED visada turi maitinimą, tik jeigu į LED ateina iš abiejų pusių pliusai arba abu minusai – LED neveikia. Toliau greitaveikos bandymas. Kaip mes visi žinome, visokie NOP, Pause, Delay ir panašūs dalykai yra blogis, kurio reiktų vengti, bet tokiai paprastai programėlei arba pritaikymui bus gerai. Greitaveikai nelabai turi įtakos normalūs kontrolerio veiksmai (čia tik vienas toks – digitalWrite, rašymas į prievadus), tai to nepatestuosim, bet užtai yra nemažai laukimo (delay ir delayMicroseconds), o tuos būtų galima mažinti. Aišku, jeigu taip parašyti programą Asembleriu, būtų galima patiuninguoti ir rašymą į prievadus bei visą kitą inicializaciją. Bet nafik, vis tiek HD12x bus didesni stabdžiai, net naudojant standartines Arduino komandas. Kaip žinome, kad kažkas atsitiktų, reikia 4 žodžių, taigi, bus laikas tarp žodžių. Pats žodis generuojamas programiškai, taigi, bus 1 ir 0 trukmė. Iš HT12E bandymų žinome, kad bito trukmė yra 330 us (programoje 328 us), o laikas tarp žodžių 10 ms. Bandymai parodė, kad vis dar stabiliai veikia prie 90 us bito trukmės ir 2 ms pauzės tarp žodžių. Sumažinus labiau – arba veikia nestabiliai arba neveikia.
Rašiau apie HT12x enkoderio ir dekoderio maketinę plokštę, toliau tęsiu savybių tyrimą reikiamam tikslui pasiekti. Visų pirma HT12E, enkoderio, arba dar jį vadinsime siųstuvu, nors tai nėra visai tikslu – galutiniam prietaise siųstuvas bus RF transyveris, t.y. radijo dažnio siųstuvas su duomenų kodavimo funkcija (dėl atsparumo trukdžiams, ne dėl šifravimo paranojos), o HT mikroschema tik suformuoja signalą kurį reikia siųsti… Nu gerai, gana beletristikos, dirbam.
Pradedam nuo nulio, t. y. – siųstuvas nedaro nieko, t.y. visi adresai loginiam 0, mygtukai nepaspausti. Vienintelis įjungtas dalykas – TE (Transmission Enable), nes be jo čia būtų tik tiesi linija ties nuline įtampos padala. Beje, TE įjungtas trumpam, tik suliečiu trumpiklį ir paleidžiu.
Taigi, siųstuvas išspjauna 8 duomenų blokus, bendra trukmė ~180 ms, vieno bloko trukmė ~13 ms, pauzė turbūt 10 ms. Kodėl turbūt – paaiškės vėliau. Teorija tokia – gavęs TE signalą siųstuvas siunčia 4 žodžius (word) duomenų arba kol TE signalas yra siuntimas vyksta nenutrūkstamai:
Įprastai žodžio (word) dydis yra nusakomas maksimaliu bitų skaičiumi, kuriuos gali apdoroti procesorius vienu metu. Kompiuteriams tai 32 arba 64 bitai. Aprašymas sako, kad turi būti 4 žodžiai, t. y. 4 bitų paketai, tačiau mūsų oscilogramoje jie 8. Kodėl ? Čia reiktų žiūrėti į siuntimo grafiko dešinę dalį, kur parodyta TE ilgesniame žemame lygyje (žemas = aktyvuotas). Reikalas tame, kad nors aš ir trumpai pyptelnu trumpiklio kontaktus, visgi siuntimas yra greitesnis ir spėja pradėti antrą siuntimo ciklą. Dėl to, manyčiau, oscilogramoje matome ne 4 žodžius, o 8. Kadangi jau žinome, kad turi būti 4 žodžiai, ir jie turi būti vienodi (kartojimas duoda atsparumą trugdžiams, perdavimo patikimumą ir t.t.), galime analizuoti tik vieną žodį:
Taigi, turime 13 aukštų lygių ir, panašu, kad po du loginius 0 tarp jų. Vėliau susitikrinsime su aprašymu, o dabar lyg ir duomenų eilutė tokia:
Impulsų trukmės: Loginis 1 ~ 330 us Loginis 0 ~ 330 us 1 sąlyginis bitas ~ 990 us
Taigi, vienas duomenų blokas arba žodis yra toks, primenu, kai adresai 0, mygtukai nepaspausti, TE = 1:
1001001001001001001001001001001001001
Toliau žiūrim aprašymą:
Taigi, loginis 1 arba 0 sudaromi iš trijų bitų, arba trijų osciliatoriaus ciklų. 001 = loginis 1, 011 = loginis 0. Tada mūsų eilutę galima parašyti taip:
Tą žinoti gerai, bet rašant programą valdikliui, reikės turėti galvoje, kad siųsti turim 3 bitus, o ne 1. Raudonai pažymėjau anksčiau nepaminėtus nuliukus. Pasirinkus kurį nors adresą arba paspaudus mygtuką, atitinkamose vietose keičiasi ir reikšmės. Štai, pasirinkti A0 ir A1 adresai, visa kita neaktyvu:
Akivaizdžiai matosi, kad loginių 1 yra dviem daugiau. O kad būtų visai paprasta, pasitelkiame skaičiuoklę:
Skaičuoklę galima parsisiųsti iš čia. Tereikia surašyti bitų eilę pilkuose ir žaliuose langeliuose ir gausime jų reikšmes bei oscilogramą. Principe, tiek žinant jau galima būtų rašyti programą, bitbanginančią reikiamus duomenis vietoje HT12E, ką mes padarysime sekančiame straipsnelyje. Svarbiausia nepamiršti, kad signalai čia tokie invertuoti, nes kai jungikliai nesujungti išėjime turim loginį 1 (nes visi įėjimai pull-up’inti), tai sakant, kad išėjimas įjungtas realiai turime loginį 0.
Čia toks senesnis projektukas, bet lyg nerašiau tai štai.
Iš tikrųjų dabar jau yra daug visokių gatavų moduliukų, kurie iš karto moka belaidžiu ryšiu valdyti nuotolinę relytę ar kokį kitą prietaisiuką, netgi gražus pultelis jau įeina į komplektą. Bet mano tikslas – turėti specifinį ir tik tai paskirčiai dedikuotą prietaisą, o tam gatavi moduliukai netinka, nebent juos ardyti, panaudoti jų schemas su čingliš datašytais ir bandyti kapstytis… Todėl pasirinkau kiek lengvesnį kelią – senas geras Holtek’o HT serijos mikroschemas, enkoderius, kurie formuoja perduodamą signalą. Jį po to reikia dar paversti RF signalu, o kitoje pusėje RF pagauti ir perduoti HT mikroschemai, kuri jį dekoduos. Su tais HT12x ten yra toks niuansas, kad reikia išorinio rezistoriaus dažniui nustatyti. Ta vieta man truputį neaiški, todėl sugalvojau sukurti maketinę plokštę, kurios pagalba galima išbandyti visus variantus, tuo pačiu pasitikrinant perdavimą, matuojant signalo formas (galbūt siunčiantį HT pakeisti valdikliu, formuojančiu tą signalą).
Kaip enkoderį pasirinkau HT12E – maitinimas nuo 2,4V iki 12V, nedidelis apetitas kei nesiunčia duomenų (0,1 µA prie 5V), adresuojamas. Išvadų reikšmės:
Plačiau apie išvadų reikšmes pakalbėsim kai aiškinsimės schemą.
Taigi, tikslas yra valdyti 4 atskirus arba 2 atskirus kanalus po 2 nesusietus prietaisus, tarkim lemputes. Tam reikėtų vieno enkoderio išsiuntimui ir 4 dekoderių signalo priėmimui. Pagal nustatytus adresus galima būtų atskirai valdyti visus keturis imtuvus. Bet naudojant HT12E enkoderį reiktų sugalvoti, kaip keisti adresus prieš siunčiant duomenis, todėl reikės bandyti nenaudoti pačio HT12E, bet naudoti jo siuntimo protokolą. Tada siunčiantis mikroprocesorius galėtų nesudėtingai formuoti duomenų paketą kuriame jau bus reikalingi adresai. Pradeda maketinės plokštės kūrimą. Tik pupt ir štai jau schema yra (didinasi):
Kaip visada, analizuoti pradedame iš kairės į dešinę. J1 – maitinimo lizdas. Galima naudoti, o galima ir nenaudoti, nes yra JP2 jungtis, į kurią irgi galima paduoti maitinimą. JP1 ir JP4 skirti pasiimti maitinimą papildomai įrangai, priklausomai nuo bandymo (valdikliui, RF įrangai ir t.t.). Toliau IC1 – enkoderis HT12E. Išvadai su Ax skirti adresavimui, koks bus nustatytas čia, toks pat turi būti ir dekoderyje. Išvadai turi vidinius pritempimus prie teigiamo maitinimo poliaus (pull-up), taigi išorėje jie jungiami prie minuso. Paprastam adresavimo pasirinkimui dedam mažų jungikliukų bloką. Sujungtu JP3 trumpikliu gaunamas „Transmission Enable”, leidimas siųsti duomenis. Tarp OSC1 ir OSC2 išvadų jungiamas reikiamo nominalo rezistorius, bet bandymo tikslais rezistoriaus nelituosiu, vietoje jo bus naudojamas precizinis dviejų kontaktų lizdas JP5. Ten bus galima lengvai dėti įvairius rezistorius bandymui. Ir belieka AD11, AD10, AD9 ir AD8. Šiuos išvadus naudojam kaip signalo perdavimo įėjimus, prikabinant prie jų po mygtuką, sujungiantį su minusu. Elektrinių parametrų lentelė iš datašyto:
Kol kas viskas paprasta, tuo labiau, kad panaudota standartinė schema iš aprašymo:
Čia reikia žinoti, kad siuntimas vyksta visą laiką, kol TE yra žemame lygyje, bet man to ir reikia. Ir dar trumpai apie Rosc. Jo parinkimas yra susijęs su dekoderio osciliatoriaus dažniu, todėl formulė yra tokia:
f(OSC dekoderio) ≈50 × f(OSC enkoderio HT12E)
O tada grafikas rezistoriaus nominalui:
Vėliau pabandysim pamatuoti ir parodyti, kad teorija atitinka praktiką.
Ok, važiuojam toliau. O toliau – JP6. Šito trijų kontaktų trumpiklio paskirtis – atjungti arba sujungti perduodamą signalą naudojant 2 ir 3 kontaktus, o 1 kontaktas paliekamas oscilografo arba kokios kitos įrangos pajungimui. Štai ir dekoderis HT12D.
Čia irgi viskas paprasta, Ax skirti adresavimui, jis, natūralu, turi būti toks, kaip ir enkoderyje, taip pat jungiklių pagalba prijungiami prie minuso adreso nustatymui, išvadas taip pat gali būti laisvas ir jam nereikia išorinio patempimo link maitinimo pliuso. OSC1 ir OSC2 irgi skirti rezistoriui, o DIN reiškia „Data IN”, duomenų įėjimas. Makete jis bus tiesiai iš enkoderio, bet atjungus JP6 ir į trečią kontaktą galima būtų paduoti signalą iš kitų šaltinių (pvz., valdiklio). D8-D11 išėjimai, suveikiantys atitinkamai AD8-AD11. Išėjimui suveikus gaunamas loginis 0, kitu atveju loginis 1. Išvadas VT – „Valid Transmission”, išėjimas, pažymintis, kad teisingai gauti duomenys. Pas mus jis mirktels LEDuką LED1, bet gali būti naudojamas ir imtuvo valdikliui. LED1 gali būti atjungiamas JP7 trumpikliu, prie to pačio trumpiklio patogu ir prisijungti oscilografą arba valdiklį. O toliau elektrinių parametrų lentelė:
Taigi, ir čia panaudota standartinė schema:
Ir rezistoriaus parinkimo lentelė:
O skaičiavimo formulė ta pati:
f(OSC dekoderio) ≈50 × f(OSC enkoderio HT12E)
Taigi, mūsų atveju R(enkoderio) = 1 MΩ, R(dekoderio) = 51 kΩ, Umait =3,6VDC. Enkoderio lentelėje gauname panašiai 2,75 kHz dažnį. f(OSC dekoderio) ≈50 × 2,75 kHz = 137,5 kHz. Žiūrim į dekoderio lentelę, toks dažnis prie 3,6 VDC…
Man gaunasi labiau 47 kΩ, bet datašyte rekomenduojama prie 1 MΩ naudoti 51 kΩ. Bet čia gal neatitikimas dėl grafiko skalės netikslumo ir apytikslių verčių, veikia ir su 47 kΩ. Štai turim ir abu rezistorius. Toliau indikacija – tam parinkti 0805 dvigubi LED emiteriukai, per balastinius rezistorius prijungti tiesioginiu ir priešingu poliarumu, išėjimui iš enkoderio indikuoti pasirenkant srovės priėmimą arba tiekimą (sink arba suorce) į LED. Poliatumas pasirenkamas trumpikliais JP9-JP12. Tai turbūt tiek tos teorijos. Schemą jau turim, belieka sutrasuoti plokštę.
Užsakymas gamybai, gamyba, surinkimas ir štai finalinis produktas:
Nors paskutiniu metu ir užsivertęs su rimtais darbais, vis dėl to pasirašiau pažiūrėti ir šitą žaisliuką. Nes didelis, geras ir tikėjomės, kad tiesiog galinukai prašauti.
Dangčio nuėmimas nėra sudėtingas, o vat išmontuoti radiatorių su galinių tranzistorių ir draiverių blokais viename (pažymėjau raudonai) – jau buvo nemažai laiko suvalgęs iššūkis.
Aštuonis viršuje esančius tranzistorius pamatuoti nebuvo sudėtinga, bet jų komplementarinės poros sumontuotos apačioje, po visa konstrukcija… Ir dar nors kad būtų bent vienas sudegęs – ne, tiek galiniai, tiek ir draiveriai matuojasi teisingai. Teko viską gražiai surinkti atgal ir įjungti smegenis. Bet pirma reikia pajungti maitinimą resyveriui. Bandymas parode, kad niekas nepasikeitė – budintis maitinimas pasileidžia, bet pirminio maitinimo relė vis dar spragsi ~1Hz dažniu, tuo pačiu užsidega ir „Zone 2” LED indikatorius. Ok, kadangi nieko nesugadinom stiprintuvinės dalies ardymo-testavimo-surinkimo procedūra, dabar jau teks galvoti. Taigi, pirminį maitinimą įjungia pagrindinis procesorius:
Čia pirminio maitinimo šaltinio schemos dalis. Per jungties JL901A pirmą kontaktą paduodamas signalas MPOWER (Main Power?) į Q9200 tranzistoriaus bazę, tranzistorius atsidaro ir įjungia RL9200 relę. Ji permeta tinklo įtampą į pirminio maitinimo transformatorių T904. Normaliai viskas taip ir turėtų likti įjungta. Bet tas MPOWER signalas tai yra, tai jo nėra, tai vėl yra, tai vėl nėra – ir taip relė spragsi be sustojimo. Toks keistas procesoriaus elgesys įprastai yra ženklas, kad jam biškį negerai su galvele. Ir tai pats blogiausias remontas – procesorių pakeisti galbūt dar ir galima, bet programos jam tai jau tikrai niekur negausi. O paskutinis bandymas pradangino ir likusią vilties kibirkštėlę – atjungiau visus galus, apsaugas, nu ir „на пролом”, kad užsikurtų tik procesorius, displėjus ar bent jau nespragsėtų relė. Spragsi. Ties ta vieta jau kaip ir tenka pripažinti, kad pagrindinis procesorius muštas, bet tas neatsako į klausimą kodėl ir kaip visada lieka abejonė, o gal kažkas kitas. Taigi, važiuojam toliau. Pirminio maitinimo transformatorius gamina 3 įtampas, kurias, per P9301A jungtį pašeria į nuolatinio maitinimo formavimo modulį U0065:
Kaip visada, iš kairės paduodamas maitinimas, tie patys 6 kontaktai su 3 maitinimo įtampų porom. DSP_AC1 ir DSP_AC2 po saugiklio ir tiltelio dar skirstosi į du maitinimus. Vienas +9VDC bėga tiesiai į jungtį, o kitas stabilizuojamas Q9350 į 5,9VDC. Abu šitie maitinimai geri, vietoje 9V turim apie 8,6V, o 5,9V tokie ir yra – DC/DC konverteris SI8008TM veikia teisingai. Pereinam prie apatinės schemos dalies. FLAC1 ir FLAC2 nėra ką matuoti – kaip ateina iš transformatoriaus, taip be pakeitimų ir nueina toliau. O vat spėkit, kokia įtampa yra tarp +3.3VMPU ir -VP? Logiška būtų manyti, kad 3,3V, nu taip, logiška 😀 bet yra tai apie 45V. Ne ne, kablelio nepamiršau, keturiasdešimt penki voltai. Ties ta vieta apėmė negera nuojauta, tas +3.3VMPU greičiausiai išsišifruoja taip – 3,3V maitinimas MikroProcesoriams (taip, jų juk čia ne vienas – pagrindinis, DSP, displėjaus ir dar krūvelė kitų. Ir taip, visi žinome, kad procesoriai maitinami 3,3V įtampa, nu galbūt atlaikytų dar kokius papildomus 0,2-0,5V, bet jau tikrai ne papildomus daugiau kaip 40V. O dabar sąrašiukas, kurie procesoriai, valdikliai ar panašūs, kritiniai veikimui, daikčiukai maitinasi nuo tos įtampos ir bus išėję į vėsių temperatūrų, tikslių signalų ir amžino teisingos įtampos maitinimo lankas:
Q7502 — M66005-0001AHP — Slave upper Q7501 — M66005-0001AHP — Master lower Q8701 — MPD70F3740GC-UEC-AX — Vienas iš video procesorių Q7500 — HNA-16SL04T — panašu į fluorescencinio displėjaus valdiklį Q7016 — µPD70F3746GJ-GAE-AX — video procesorius
Turbūt dar ne visi, plius dar sauja operacinukų ir kitos smulkmės… Gaila, panašu, kad laikas sugaištas, pastangų įdėta, o rezultatas – pšššt, neremontuotinas. Principe tektų keisti visas PCB su tais procesoriaus į naujas/kitas, o jos taip nesimėto pakampėm, net eBay kukliai tyli. O ir kaina, nujaučiu, bus netoli naujo resyverio.
O dabar, kad gyvenimas neatrodytų toks paprastas – mįslė. Pagal schemą tranzistoriaus bazę valdo ir galutinę įtampą nustato du stabilitronai, a.k.a. Zenerio diodai – UDZS16B ir UDZS30B. Pagal datašytą jų įtampos 16V ir 30V, kadangi sujungti nuosekliai, tai stabilizacija būtų 46V. Panašiai tiek ir turime išėjime. Tai kas čia vyksta 😀 ? Kodėl gamykliškai visi 3,3V procesoriai maitinami 46V ? O vat štai procesoriaus maitinimo lentelės:
Taigi, absoliutus maitinimo maksimumas +4,6V, standartinis darbinis maitinimas 2,85-3,6V, t.y. 3,3V pats tas.
Taigi – tęsiam teisybės paieškas 😀 Dėl visa ko užmečiau akį į kai kurias montažines plokštes, kur galėtų būti tų 46V konvertavimas į 3,3V. Nėra…
Laboratorijoje turiu tokį senuką kompiuką, Compaq D520 SFF, jis, nors ir visas papiktintas max RAMu ir SSD, bet vis labiau burzgina savo CPU ventiliatorių. Pagalvojau, kad visgi reiktų kažkaip pritildyti tą garsą. O ventiliatorius ten toks specifinis, šoninio išpūtimo, BFB1012H. Ir seniai nebegaminamas. Iš tokios formos vis dar gaminamų ventiliatorių netiko nei vienas bandytas – juose per daug elektronikos (užstrigimo apsauga, lėto paleidimo ir pan funkcijos). Todėl teko bet šiek tiek restauruoti jau esamą ventiliatorių.
Po lipduku gyvena ašies fiksatorius, jį atsegus nusiima sparnuotė su magnetu ir lieka ašis su guoliais. Kas keisčiausia – tiek visiškai naujame tokio tipo ventiliatoriuje BFB1012HH tiek ir šitame guoliai ganėtinai nesunkiai išsiima. O kad jau pavyko išimti – lekiam į Dagmitą ir perkam naujus guolius (apie 2,5 € vnt.).
Dešinėje nauji guoliukai, kairėje seni. Matosi, kad vienas senas gerokai kaitęs, net spalvą pakeitęs. Dešiniam viršutiniam kampe ne fokuse bet ašies fiksatorius. Surinkimas paprastas, ventiliatorius veikia. Ūžimo mažiau, tai dar kurį laiką pasinaudosiu tuo senuku :).
Jau rašiau, kad gavau dovanų kokį centnerį elektronikos, taigi, pradėjau nuo kietųjų diskų. Aišku, perspėjo, kad visi jie su blogais sektoriais arba neveikiantys, bet man tinka – papildys neodiminių magnetukų atsargas. Bet įdomumo dėlei juos ir pratestavau. Testavimui naudoju Victoria 5.36 programą. Taigi, HDD numeris vienas:
SATA diskas, todėl pajungtas tiesiogiai prie PC, matom kaip gražiai ir tolygiai mažėja greitis. Bet yra dvi didelės greičio „duobės” – toje vietoje diske rasti blogieji sektoriai. Programa gali juos „remapinti” – pažymėti kaip blogus ir peradresuoti duomenis, todėl daugiau į tas vietas duomenys nebūtų rašomi, bet tai negarantuoja, kad neatsiras naujų blogų sektorių. Seniau, kai diskai dar būdavo maži, o dideli labai brangūs, naudodavau tokį triuką – padarydavau disko skirsnį gerokai iki blogųjų sektorių. Šiuo atveju turim 2TB diską, taigi, galima būtų naudojimui atskelti pusę disko, porą GB iki pirmosios duobės ir gauti dar neblogai veikianti apie 1 TB diską. Kadangi toliau diskas nebūtų formatuojamas – operacinė ten nebelįstų ir duomenų nerašytų. O paliekant su atsarga dar ir blogieji sektoriai ne taip greitai išlystų. Tekstinė ataskaita:
Victoria 5.36 HDD/SSD | Device 1 log file. 2021-10-16 11:52:54 : Starting Victoria 5.36 HDD/SSD. 8xCPU, 3460,28 MHz, Windows 10 x64 found. 11:52:54 : [Hint] Recommend 32-bit Windows XP for a best work! 11:52:54 : Warning! Windows x64 detected! PIO mode supported on Windows x86 only. 11:52:54 : API access enabled, device #0 11:52:55 : Get drive passport… OK 11:52:55 : Model: WDC WD2000FYYZ-01UL1B0; Capacity 3907029168 LBAs; SN: WD-WMC1P0160214; FW: 01.01K01 11:52:55 : Press F1 to About/HELP 11:52:57 : Get drive passport… OK 11:52:57 : Model: WDC WD2000FYYZ-01UL1B0; Capacity 3907029168 LBAs; SN: WD-WMC1P0160214; FW: 01.01K01 11:52:58 : Get S.M.A.R.T. command… OK 11:52:58 : SMART base updated. 11:52:59 : SMART status = GOOD 11:53:04 : Get drive passport… OK 11:53:04 : Get S.M.A.R.T. Log directory… OK. 11:54:09 : Get drive passport… OK 11:54:10 : Recallibration… OK 11:54:10 : Starting surface scan, LBA=0..3907029167, FULL, sequential access w. REMAP, tio 250ms 11:55:19 : Block start at 20981760 auto reassign… OK 11:55:20 : Block start at 20987904 auto reassign… OK 11:55:23 : Block start at 20992000 auto reassign… OK 11:56:21 : Block start at 38598656 auto reassign… OK 11:56:24 : Block start at 38602752 auto reassign… OK 14:43:44 : LBA 2836366502 try REMAP… complete 14:43:48 : LBA 2836366503 try REMAP… complete 14:43:52 : LBA 2836366504 try REMAP… complete 14:46:49 : LBA 2875931668 try REMAP… complete 14:46:52 : LBA 2875931669 try REMAP… complete 16:15:17 : *** Scan results: Warnings – 10, errors – 0. Last block at 3907029167 (2,0 TB), time 4 hours 21 minutes 7 seconds. 16:15:17 : Speed: Maximum 168 MB/s. Average 88 MB/s. Minimum 9 MB/s. 1513 points.
Po remapinimo antras testas atrodo žymiai gražiau (skiriasi mastelis, todėl žalias grafikas žemiau):
Dar vienas, dabar jau 500 GB diskas:
Testas ir SMART’as neblogi, pasidėsiu, mažu dar kur pravers.
O čia klaksinčio HDD SMART’as:
Kas keisčiausia, rašo, kad „GOOD”, bet diskas tai miruolis.
O dar vienas diskas buvo PATA, toks dabar jau retesnis, o neveikimas toks įdomesnis – apžiūrint PCB pasimatė nusprogusių detalių:
Foto neryški, bet viršuje, prie vartelio, matosi, kad trūksta detalės, ten buvo sprogęs Zenerio diodas, tik jau numontavau. PATA diskų maitinimas yra 12V ir 5V, abi įtampos turi savo Zenerius, apsaugai nuo viršįtampių. Čia, matyt, 5V Zeneris gavo daug ir aukštesnės įtampos, galbūt del maitinimo bloko gedimo čia pateko 12V, pats Zeneris sprogo, bet pagalvojau „o gal jis apsaugojo elektroniką už jo, pabandom mini remontą :)”. Bet pirma – patikrinam ar verta. Numontavus Zenerį pajungiam prie PC per USB adapterį – nu veikia :D. Be Zenerio jungti galima, tik jeigu ateis viršįtampis – niekas nesaugo schemos elementų, bet testui bus gerai. Taigi, tą numontavus šrotelyje nusičiupau pirmą papuolusią PCB nuo kito disko ir permontavau atitinkamą Zeneriuką. Štai, donoras ir recipientas:
Ir tik įkėlęs šitą foto pamačiau, kad yra dar viena nusprogusi detalė, šalia naujojo Zenerio. Bet Viktorija padarė testą ir su tokia:
Greitis čia stabilus, nes jungta per USB, riboja adapterio galimybės, tai maksimalaus greičio nepasiekia, bet „duobes” parodo. Pabaigoje greičio kritimas buvo labai didelis, vidurkis pasidarė ~80 KB/s, tai jau nusibodo laukt ir išjungiau. SMART’as lyg ir neblogas šito disko, bet dėl blogų sektorių, PATA jungties ir mažo dydžio (40 GB berods) jis tapo magnetukų donoru.
This is a collection of semiconductor logos which we found over the years, all symbols and signs are copyrighted by the appropriate owner. Please contact us if you found other or an error.