Category / Elektronika

Radeon 6850 remontas 2020.07.12 at 14:44

Žengiu į naują, bet jau gerai išnagrinėtą sritį – video kortų remontą. Nauja – nes tik dabar tuo užsiėmiau, o išnagrinėtą – nes teorines žiniai gan ilgai gilinau ir tobulinau. Šį kartą remontas paprastas, reikia tik kruopštumo – pažeidimai mechaniniai, sakė „transportavimo metu“.

Visų pirma numontuojam Karlsoną. O tada įdėmiai apžiūrim ko trūksta ant PCB. va jums vaizdelis:

Ir finalinis, su pažymėtomis trūkstamomis detalėmis:

Iš GPU pusės viskas gerai:

Sulituoti trūkstamas detalės nėra sudėtinga, todėl sugalvojau papildomai patikrinti video kortą – juk po to ji bus parduodama. Taigi, visų pirma visų maitinimo grandinių ir jų apkrovų varžos normos ribose, tepam pačią geriausią, kiek man kol kas teko atrasti termopastą – Thermal Grizzly Hydronaut TG-H-030-R-RU termopasta (11,8 W/mK!) ir surenkam testavimui. Bendru atveju, pagrindiniai testavimo žingsniai tokie:

  1. Sumontavus ir įjungus kompiuterį vaizdas iš video kortos turi būti stabilus ir teisingas, nors galimai OS dar neturi video draiverių.
  2. Patikrinam, ar teisingi video draiveriai ir ar atpažįstama video korta. Jeigu viskas gerai ir vaizdas vis dar yra – puiku, reiškia RAM čipai neatšokę, GPU funkcionuoja teisingai.
  3. Leidžiam sintetinius testus GPU apkrovai, kad įsitikinti 2 punkto teisingumu, plius patikrinti, kaip laiko temperatūras. Aš testuoju 1 valandą – per tiek laiko garantuotai stabilizuojasi apkrovos ir temperatūros.

Šiuo atveju, Windows 10 x64 atpažino ir suinstaliavo draverius:

GPU-Z ir VideoShark atpažino video kortą ir rodo teisingą (dažniais skiriasi, nes ne tuo pačiu metu programėles leidau – o video korta dažnius reguliuoja pagal apkrovą) informaciją:

Toliau 1 valandos testas bandymų stende su FurMark programa:

Finalinė informacija, gal daugiau man pačiam, jeigu ateityje reiktų:

Kortos apetitas be apkrovos 1,1-1,5A prie 12V (rodant Windows 10 darbalaukį), apetitas prie maksimalios apkrovos 5,8-5,9A prie 12V.
Terminis grizlis puikiai susidoroja su šilumos perdavimu į radiatorių, maksimali temperatūra nuo „laisvų apsukų“ 35° C paleidus testą su 99% apkrovos pakilo iki 66° C, o ventiliatoriai dirbo tik 59 % pajėgumu.
Viskas, beliko tik užklijuoti lipduką žymintį garantiją ir „DC Labs“ logotipą.

Elektrinių dviračių baterijos 2020.05.24 at 14:41

Kažkaip paskutiniu metu vis tenka „pakrapštyt“ elektrinių dviračių akumuliatorius – draugas užsiima prekyba, tai man pafasuoja elektronikos :D. Tai jeigu bus laiko parašysiu visą straipsnių ciklą šia tema, ypač apie valdiklių logiką ir programavimą. O dabar ant stalo 30 celių pacientas, su nusiskundimu „nesikrauna“. Kadangi celės geros tai jų senatvinius marazmus galima atmesti iš karto. Na, kad fiškutės tokios labai kitajskos tai ir taip aišku, bet bandom diagnozuot. Išėjimas valdomas spyna ir raktu, kaip mašinoje :D, bet pasukus raktą atsiranda 27,87 V, taigi, iškrovimo grandinė kaip ir veikia. Baterijos valdiklis iš tradicinės BQ serijos, BQ27000. Aprašymas yra čia. Ok, kadangi visi komutuojantys tranzistoriai lyg ir geri, saugikliai F1 ir F2 (panašu į termosaugiklius) geri, bandom prijungti krovimą – ir nieko. Bet taip nieko, kad visai visai, bent jau dūmelis būtų koks parūkęs… Taip atrodo viršutinė, matoma, schemos dalis:

Didieji tranzistoriai – iškrovimui, t. y., dviračio variklio maitinimui, mažieji du stovi krovimo grandinėje. Krovimo detektavimas lyg ir optrono pagalba – tas keturkojis prie mažesnių tranzistorių. Ir šitoje pusėje daugiau nieko įdomaus – takeliai nesudegę, tranzistoriai sveiki. Bet – pala pala, o kas čia per D1 ? Šalia juodos apsnargliuotos silikonu jungtelės. Tiksliau ne kas per D1, o kur jis ? Pagal lydviečių formą atrodo, kad jis ten buvo. Bet į „nusprogimą“ nepanašu, sakyčiau buvo nuluptas prievartiniu būdu. Nu ok, grįšim prie jo vėliau, nes laikas pamatyti kas slepiasi kitoje pusėje.

Štai ir BQ valdiklis, pažymėtas U21, ir – ooooooooo, zdarooova draugeli 😀 F3 saugiklis. Testuojam – miręs :). O saugiklis čia specialus, esu jau apie tokius rašęs čia. Saugiklis 12AH4, tokių, žinoma, neturiu, bet bandymui užteks jį truputį pašamanint – sujungti laidu jo „jėginius“ kontaktus. Va, niekada, vaikai, taip nedarykite:

Ir atsiprašau už negražų litavimą – kol laukiu naujo lituoklio, tenka naudotis gremėzdišku dujinuku, nepatogu ir temperatūrą sunkiau susireguliuoti…

Bandymas – ir vis dar neveikia. Chm… Kažin, jeigu ant plokštės trūksta kokių nors detalių gali neveikt 😀 ? O schema tokia – tranzistorius Q15 (IPD135N08N3) atidaromas, kai prijungtas akumuliatorius. Ir dabar ant jo užtūros yra 5 V, matuojant su akumuliatoriaus minusu, kurie jį atidaro. O vat tranzistoriaus Q14 užtūra turėtų būti valdoma kroviklio įtampa, tai prijungus kroviklį tranzistorius turėtų atsidaryti. Bet neatsidaro. Spėkit kodėl… Turbūt dėl to, kad valdymo įtampa turėtų ateiti per tą trūkstamą diodą. Ale koks jis čia buvo ? A, per daug nėra ką sukt galvą, dedam ką turim – tradicinį 1N4007, SMD korpuse, žymėjimas N7, 1000 V ir 1A tikrai užteks tranzo atidarymui.

Štai ir generalinis bandymas – keista, bet veikia, krovimas yra, apribojau ties 4 A, nes laidukais plonais pasijungiau. Dabar beliko tik sutvarkyti saugiklį ir viskas veiks.

Mercedes Benz A0025422619 automobilinė relė 2020.01.08 at 12:49

Gavau tokią vat originalią Mercedes Benz / Tyco relytę, kodas A 002 542 26 16. Skundas buvo standartinis – relė sena, pakaitus, padegus, korpusas net spalvą pakeitęs, veikimas toks labiau „noriu dirbu, noriu nedirbu“. Sprendimas irgi paprastas – pakeisti tą relė ir tiek.

Kadangi čia relė, tai nesukdamas galvos rekomendavau važiuoti į Mercedes atstovybę ir nusipirkti naują (reikia dviejų vnt). Nu ok, šiaip relės kainuoja nu kiek ten… 5-7 €, čia tipo „Mersinė“ tai gal bus užsimetę dvigubai, tai 10-15 €, nu irgi dar „худа бедна“ įkandama. Bet pasirodo, ta relė kainuoja ~25 €/vnt. O čia jau biškiuką chamiškai… Pasiūliau dėti elementarią to pačio Tyco relė, 12V 70A, ir dar su diodu, kad apsaugotų nuo atjungimo metu sugeneruotos įtampos. Ir ką – neveikia. Ta relė nepraeina automobilio borto kompiuterio patikros ir jos nejungia. Ok, gal diodas netinka, poliarumas, pavyzdžiui, priešingas. Dedam su Tyco 12V 70A relė su rezistorium. Irgi neveikia. Nu nu, galvoju, negi čia iš tikro bus kokia stebuklinga super relė, kad net kainuoja 25 €/vnt. Pasigavau tą seną relę, nulupau dangtelį ir – nieko ten stebuklingo.

Heh, štai ir priežastis, rezistoriaus varža ne tokia, ir borto kompiuteris nenori tos relės valdyti. Vis tiek 25 € ta relė neverta. Sprendimas:

Bet kokia 12V 70A relė – pas Lemoną Sun Hold už 2 Eur, kilmingesnė, Tyco iki kokių 10 € (rekomenduočiau kilmingesnė, nes tas Lemonos dumblas tai…).

Rezistorius 0,25 W, 560 Ω, 1 % tikslumo – kokią 10 centų.

Montuojasi lengvai, ten tokios kaip kontaktinės šakutės, į kurias įsispraudžia rezistoriaus vielutės, bet aš ant jų dar po lašą lydmetalio užmečiau, dėl patikimumo. Bandymas – viskas veikia. Sprendimo kaina nuo 2,1 € iki 10,10 € vs 25 €… O dar kai reikia dviejų – visai neblogas rezultatas ir sutaupymas, o kadangi pasirinkom lygiai tokias pačias Tyco reles tai ir kokybė nei trupučio nepablogėjo.

Detalių žymėjimas schemose 2019.01.22 at 07:11

Kažkada prisireikė pasižiūrėti, kaip žymisi kažkokia detalė schemoje, tai radau visą sąrašą:

https://en.wikipedia.org/wiki/Reference_designator

Designator Component type
A Separable assembly or sub-assembly (e.g. printed circuit assembly)
AT Attenuator or isolator
BR Bridge rectifier
BT Battery
C Capacitor
CN Capacitor network
D Diode (including LED, TVS, thyristor, Zener)
DL Delay line
DS Display
F Fuse
FB Ferrite bead
FD Fiducial
FL Filter
G Generator or oscillator
GN General network
H Hardware, e.g., screws, nuts, washers
HY Circulator or directional coupler
J Jack (least-movable connector of a connector pair) | Jack connector (connector may have „male“ pin contacts and/or „female“ socket contacts)
JP Jumper (Link)
K Relay or contactor
L Inductor or coil or ferrite bead
LS Loudspeaker or buzzer
M Motor
MK Microphone
MP Mechanical part (including screws and fasteners)
P Plug (most-movable connector of a connector pair) | Plug connector (connector may have „male“ pin contacts and/or „female“ socket contacts)
PS Power supply
Q Transistor (all types)
R Resistor
RN Resistor network
RT Thermistor
RV Varistor / Variable resistor
S Switch (all types, including push-buttons)
T Transformer
TC Thermocouple
TP Test point
TUN Tuner
U Integrated circuit (IC)
V Vacuum tube
VR Voltage regulator (voltage reference) / Variable resistor (potentiometer or rheostat)
X Socket connector for another item not P or J, paired with the letter symbol for that item (XV for vacuum tube socket, XF for fuse holder, XA for printed circuit assembly connector, XU for integrated circuit connector, XDS for light socket, etc.)
XTAL Crystal
Y Crystal or oscillator
Z Zener diode

Elektronika ir dūmai 2018.10.31 at 08:40

Visa elektronika padaryta iš dūmų. Kai dūmai išeina – elektronika nebeveikia.

© o.eletronics

Atnaujintas Texas Power Management Guide 2018.08.14 at 07:34

Šiandien atėjo naujas katalogėlis, naudinga informacija :).

Aukštos įtampos maitinimo šaltinis – pakeliui link Nixie Clock kūrimo 2018.08.03 at 15:21

Kol dar vyksta dujinio išlydžio indikatorinių lempų (Nixie) laikrodžio visos schemos kūrimas (sakyčiau ir tas jau beveik baigtas) sumasčiau, kad reikia pagaminti ir išbandyti nedidelę schemos dalį – lempų maitinimo šaltinį. Jo darbas – iš 12V padaryti apie 170V, kurių reikia lempos veikimui. Schemą stengiausi daryti kuo mažesnę, turint galvoje, kad ant PCB gyvens ir 170VDC – padidinti atstumai tarp takelių (dėl pramušimo). PCB gaminta pas JLCPCB, nereklamuoju, nes naudojuosi ir Seeed’u, bet ir šitie neblogai padarė. DC/DC bloko schema yra tokia:

Kaip visada, apie elementus iš kairės į dešinę. Maitinimo prijungimo kontaktinė kaladėlė, pagal projekto užduotį maitinimas 5-12VDC, praplėstos ribos nuo 3VDC iki 40VDC. MC34063AD – 1,5A DC/DC konverteris – schemos pagrindas. Kondensatorius C2 nustato generatoriaus dažnį. Droselis L1 – jame kaupiama energija, kaip ir visuose DC/DC keitikliuose. D1, Q3 ir R3 turėtų paspartinti Q4 tranzistoriaus atsidarymą/uždarymą. Q4 žinoma yra aktyvusis schemos elementas, raktas :). Viskas veikia tradiciškai – kai Q4 atidaromas srovė teka per L1 ir Q4, energija kaupiama droselio magnetiniame lauke, tuo metu srovė neteka per D2, apkrova maitinama iš kondensatoriaus C5. Kai Q4 uždaromas L1 priešinasi srovės kitimui iš karto apkeisdama elektromagnetinio lauko poliarumą, todėl induktyvumo įtampa prisideda prie maitinimo šaltinio įtampos. Šita padidinta įtampa dabar teka per L1 ir D2, pakraudama C5 iš kurio vėl maitinama galutinė apkrova. Ir ciklas kartojasi iš naujo. Paprasta. Skaičiavimai schemai nesudėtingi, yra MC34063AD mikroschemos aprašyme. Pagal skaičiavimus droselis turi būti 52,272 uH 1,410 A, artimiausias 53 uH 1,87 A, PE-53831SNL. Pagal skaičiavimus išėjimo kondensatorius turi būti 2,872 uF, ne mažiau 200V įtampos, artimiausias CKG57NX7T2E335M500JJ, 3.3 µF, ± 20%, 250 V. Pagal skaičiavimus Ct kondensatorius turi būti 382,98 pF,  rtimiausias 390 pF. So tokiais parametrais grįžtamąjį ryšį galima reguliuoti tiek, kad išėjime turėtume nuo 18,3V iki 188,75 V. Kad reguliavimo potenciometras daugiasūkis tai turbūt ir taip aišku.

PCB gavosi nediduke, 34×22 mm.

O gyvai atrodo taip:

Toliau veikimo bandymas. Tuščia eiga sureguliuojam 170V, tas pavyko nesunkiai. Prijungiam vieną indikatoriaus segmentą (iš pradžių jungiau 3, po to 8 – daugiau šviečiančio ploto).

Vienas skaičius 8 prie 12V įėjimo valgo 0,2A, t.y. 2,48W:

Toliau bandymai.

  1. Veikimas prie minimalios įtampos. Prie 5V – neveikia, minimali įtampa yra 5,6V, mažiau – indikatorius nebešviečia. Galim užskaityt, ne tiek daug skiriasi nuo projektinės, tuo labiau, kad pasukiojus potenciometrą gal dar išpeštume veikimą prie mažesnių įtampų.
  2. Įtampos stabilumas:

Štai, prie tos pačios apkrovos stabilumas geras, reiškia turėtų veikt.

Šiandien sergu, tai sumasčiau padaryti efektyvumo bandymus. Matavimas „žemoje“ pusėje:

0,235 A ir 12,188 V = 2,86418 W

Matavimas „aukštoje“ pusėje:

11,98 mA ir 169,8 V = 2,034204 W

Naudingumo koeficientas 2,034204/2,86418 = 0,710. Taigi, padauginus iš 100 %, gautume NVK 71%. Galėtų būti daugiau.

Čia visi reikiami failai, LBR, SCH, BRD ir netgi Gerberiai.

Lempa su judesio davikliu Luxa 102-150/500W 2018.04.25 at 12:44

Ėt, turbūt dauguma tokį dalyką turinčių žmonių anksčiau ar vėliau (greičiausiai anksčiau) susiduria su bėda – nustoja veikti lempos judesio daviklis. Taip atsitiko ir su mano dviem lempomis Luxa 102-150/500W. Aprašymas yra čia. Iš pradžių pradėjo veikti keistai – mirksėti kokių 1-3 Hz dažnių, suveikinėti kai nereikia ir panašiai. Galų gale visai nebeįsijungė. Ką padarysi, reikia ardyti ir tikrinti, kas gliūčina. Ardymo neaprašinėsiu, nes kiekvienai lempai jis gali būti skirtingas, o vat schemos – daugiau mažiau vienodos. Ypač maitinimo dalis. Taip taip, būtent maitinimas nusprogo. Ten toks piguvinis, bet labai dažnai (beveik visada) naudojamas kondensatorinis maitinimo šaltinis. Pajungus elektrą jis duoda tik varganus 6V, vietoje 24V, todėl visa elektronika kaip ir veikia, ji už 5V stabilizatoriaus, bet 24V relė jau nebesudirba. Vat ir gedimas. Schema labai tipinė ir nesudėtinga:

Visos dalys labai elementarios ir pigios, todėl šita schema naudojama visur (net ir kilmingesniuose prietaisuose), kur užtenka keliolikos miliamperų maitinimo srovės. Daug srovės toks maitinimo šaltinis negali duoti. Pagrindinė detalė čia yra kondensatorius CX1. Bet apie viską paeiliui, kaip visada, iš kairės į dešinę. Rezistorius R1 skirtas apriboti srovę, tuo pačiu prisideda prie kondensatoriaus reaktyvinės varžos (Rbendra=R1+Xc). Rezistorius R2 skirtas tam, kad iškrauti kondensatorių CX1, kai prietaisas išjungiamas. Kondensatorius CX1 yra X2 tipo, 047 μF, 275V, būtent jis ir apriboja įtampą iki reikiamos (senas geltonas, pilkas naujas). 

Bet įtampa čia vis dar kintama, todėl toliau eina elementarus diodinis tiltelis (D1-D4). D6 ir D8 yra du 12V nuosekliai sujungti stabilitronai, jie stabilizuoja įtampą ties 24V. Už jų, papildomam išlyginimui skirtas kondensatorius (teisingiau gal būtų buvę kondensatorių dėti tarp tiltelio ir stabilitronų, bet elektriškai tai tas pats). Originaliai buvo 220 μF 25V kondensatorius, bet pakeičiau jį į 220 μF 35V, nes schemos darbinė įtampa 24V, labai jau arti kondensatoriaus maksimalios įtampos. Arba pataupė, arba, kas labiau tikėtina, taip užprogramavo dar vieną senatvinį gedimą, tyčia… Vis tik įtampa truputį pakils – kondensatorius su laiku jos neatlaikys ir sprogs. Didesnės darbinės įtampos kondensatorius turėtų dirbti be didesnių problemų.

Tiek apie teoriją, Internete yra labai gerų techdokų su parinkimo skaičiavimu, tai dabar apie tai nepasakosiu. Gal kada nors bus atskiras straipsnelis „Kondensatorinių maitinimo šaltinių projektavimas“.

O šituo atveju kaltininkas vietoje deklaruojamų 0,47 μF teturėjo 0,14 μF, dėl to ir įtampa pakito. Kodėl pasikeitė talpa – nežinau, senatvė, karštis, darbo režimai – viskas gali būti. Įmontavus naują X2 tipo (būtent tokio reikia) schema atsigavo ir viskas vėl veikia.

ĮSPĖJIMAS ! Schemos didžiausias minusas – nėra jokio atrišimo nuo aukštos įtampos, tam tikromis sąlygomis schema gali stipriai nupurtyti arba nužudyti. Matavimus rekomenduoju daryti jungiant per skiriamąjį transformatorių.

MAX6955 – galingas LED draiveris su galybe funkcijų 2018.03.26 at 14:37

Čia toks pažintinį darbelį susigalvojau, galima sakyti už bausmę ir kad nauda būtų. Istorija nutiko 2017.07.25 22:50 Lietuvos laiku. Tokai ir istorija – truputį viršijau greitį, tai gavau baudą su teisių atėmimu. Nu ten ne daug – 53 km virš leistino buvo. Taigi, kadangi tapau teroristu, sugalvojau, kad reiktų man laikrodžio, kuris rodytų kiek laiko dar būsiu teroristų sąraše. Toliau jau būtų galima galvoti – ar tik sekundes skaičiuoti, ar kažkaip kitaip išdėlioti informaciją. Pavyzdžiui, metuose yra 31536000 sekundės, tai 8 simboliai. Bet jeigu, tarkim, norėčiau parašyti datą, kada baigiasi bausmė, tai būtų [2018.07.25_22:50:00] 15~16 simbolių (žiūrint kaip pavyks su skirtukais – taškais ir tarpu susitvarkyti). Chm, o valdyti šešiolika 7 segmentų indikatorių jau yra iššūkis. Čia mums į pagalbą skuba „Maxim Integrated“ kūrinys – MAX6955 mikroschema. Tikrai daug funkcijų ir tokio dvilypo – patogiai nepatogaus valdymo ir konstrukcijos. Patogumas tame – kad ji daug darbo padaro pati, nuimdama apkrovą nuo procesoriaus. O nepatogumas sudėtingume (vien Čarlipleksingas ko vertas), gerai nors, kad aprašymas toks pusė velnio. Taigi, pakeliui į laikmačio (nes čia realiai ne laikrodis) sukūrimą, susiveikiau MAX6955 bandymų plokštę:

Ant jos gyvena dvi MAX6955 mikroschemos, valdančios 16 indikatorių po 14 segmentų. Sujungimas paprastas, standartinis I²C ir maitinimas (5V). Kad būtų greičiau pasikūriau viską ant Arduino UNO, ten visai patogi Wire biblioteka, padaranti pusę darbo. Internete radau ir biblioteką MAX6955 valdymui, bet ja naudotis nenoriu, kad išsiaiškinti kaip valdyti MAX6955 iš bet kokio procesoriuko. Pradėjau nuo paprastų dalykų – pasijungiau bandymų plokštę prie senuko PC, per LPT jungtį. Maxim’as turi demo programėlę, kuri valdo MAX6955.

Geras dalykas, kad apačioje rašo, ką siunčia į MAXus. Taigi, pradėjau aiškintis, kaip tas dalykas daromas. Viskas lyg ir aišku – siunčiam konfigūracinius duomenis, po to galima varyti duomenis ekraniukui. Čia porą dienų keikiausi, nes vyko nerealūs ir neįmanomi dalykai, greičiausiai dėl ateivių, rusų arba amerikonų įtakos – nu neveikė niekas. Niekaip. Prijungus prie PC – veikia, prijungus prie Arduino – ne. Galų gale sumasčiau pažiūrėti, kas man čia meluoja ir pasikabinau ocsilografą prie SCL ir SDA, kai duomenis siunčia PC. Gerai, kad pavyko nusilaužti MSO2072A dekodavimo licenzijas, tai mačiau iškoduotus duomenis. Pasirodo, PC rašo duomenis į 0xCA ir 0xC0 adresus (pirma ir antra mikroschema), o oscilografas rodo, kad rašo į 0x65 ir 0x60 adresus. CHA ! Va kur šuo pakastas. Netikėlis. Kad jį kur. Pakeičiau adresus programoje ir viskas pradėjo veikti. Beje, aprašyme irgi duoti 0xCA ir 0xC0… Toliau ir nebesigilinau kodėl čia tokia nesąmonė. Įdomu, su skaitymo adresais irgi tas pats ? Bet užtai dabar buvo galima mankštinti MAX6955 visom pozomis. Kad būtų lengviau – trumpas komandų sąrašas „для чайников“:

 

// Komnandos struktūra (adresas, funkcija, reikšmė)
// Funkcija: Dekodavimas                                                  -- 0x01
/* Reikšmės: Nėra dekodavimo (simboliai 7-0)                              -- 0x00
             HEX dekodavimas: simboliui 0, be dekodavimo: simboliai 7-1   -- 0x01
             HEX dekodavimas: simboliui 2-0, be dekodavimo: simboliai 7-3 -- 0x07
             HEX dekodavimas: simboliams 7-0                              -- 0xFF
*/
// Funkcija: Globalus šviesumas                                           -- 0x02
/* Reikšmės: Minimalus šviesumas                                          -- 0x00
             Maksimalus šviesumas                                         -- 0x0E
             Tarpinės reikšmės kas 0x01
*/
// Funkcija: Skanavimo limitas                                            -- 0x03 (kiek simbolių turi dirbti)
/* Reikšmės: Rodyti 0, 1, 2 simbolius                                     -- 0x02
             Rodyti 0, 1, 2, 3 simbolius                                  -- 0x03
             Rodyti 0, 1, 2, 3, 4 simbolius                               -- 0x04
             Rodyti 0, 1, 2, 3, 4, 5 simbolius                            -- 0x05
             Rodyti 0, 1, 2, 3, 4, 5, 6 simbolius                         -- 0x06
             Rodyti 0, 1, 2, 3, 4, 5, 6, 7 simbolius                      -- 0x07
*/
// Funkcija: Konfigūracija                                                -- 0x04
/* Reikšmės: Viskas išjungta                                              -- 0x80
             Konfigūracijos sumuojasi prie 0x80
             Išjungta                                                     -- 0x00
             Įjungta                                                      -- 0x01
             Lėtas mirksėjimas                                            -- 0x00
             Greitas Mirksėjimas                                          -- 0x04
             Miksėjimas išjungtas                                         -- 0x00
             Mirksėjimas įjungtas                                         -- 0x08
             Mirksėjimo skaitliukas nereaguoja                            -- 0x00
             Mirksėjimo skailiukas perkraunamas 2wire ack signalu         -- 0x10
             Simboliai P0 ir P1 neliečiami                                -- 0x00
             Simboliai P0 ir P1 ištrinami                                 -- 0x??
             Skaičių šviesumas - globalus nustatymas                      -- 0x00
             Skaičių šviesumas - individualus kiekvienam simboliui        -- 0x40
*/
// Funkcija: Displėjaus testas                                            -- 0x07
/* Reikšmės: Normalus veikimas                                            -- 0x00
             Displėjaus testas                                            -- 0x01
*/
// Funkcija: Simbolių tipas                                               -- 0x0C
/* Reikšmės: 14 segmentų simboliai                                        -- 0xFF
             16 arba 7 segmentų simboliai                                 -- 0x00
*/

Čia ne visa konfigūracija, bet pakankama, kad pradėti dirbti. Toliau duomenys (segmentai kaip pirmoje foto, numeracija iš kairės į dešinę):

// Duomenų rašymo struktūra (adresas, segmento ID, reikšmė)
/*
   Segmento ID:
   1 -- 0x20
   2 -- 0x21
   3 -- 0x22
   4 -- 0x23
   5 -- 0x24
   6 -- 0x25
   7 -- 0x26
   8 -- 0x27

   Taškas -- prie ASCII simbolio HEX reikšmės pridėti 0x80, prie DEC reiktų pridėti 128
*/

Štai ir viskas. Šitą žinant jau galima siųsti konfigūraciją į MAX6955 (užtenka vieną kartą, kol yra maitinimas – atsimins).

 

  Wire.beginTransmission(ID_MAX1_write);                                  // Inicializuojama pirma mikroschema
  Wire.write (0x01);                                                      // Dekodavimas visiems simboliams
  Wire.write (0xFF);                                                      // Dekodavimas visiems simboliams
  Wire.endTransmission();

  Wire.beginTransmission(ID_MAX1_write);                                  // Inicializuojama pirma mikroschema
  Wire.write (0x02);                                                      // Globalus šviesumas 0 lygio iš 16
  Wire.write (0x16);                                                      // Globalus šviesumas 0 lygio iš 16
  Wire.endTransmission();

  Wire.beginTransmission(ID_MAX1_write);                                  // Inicializuojama pirma mikroschema
  Wire.write (0x03);                                                      // Visi simboliai aktyvūs
  Wire.write (0x07);                                                      // Visi simboliai aktyvūs
  Wire.endTransmission();

  Wire.beginTransmission(ID_MAX1_write);                                  // Inicializuojama pirma mikroschema
  Wire.write (0x04);                                                      // Funkcijų rinkinys
  Wire.write (0x81);                                                      // Funkcijų rinkinys
  Wire.endTransmission();

  Wire.beginTransmission(ID_MAX1_write);                                  // Inicializuojama pirma mikroschema
  Wire.write (0x07);                                                      // Displėjaus testas įjungtas
  Wire.write (0x00);                                                      // Displėjaus testas įjungtas
  Wire.endTransmission();

  Wire.beginTransmission(ID_MAX1_write);                                  // Inicializuojama pirma mikroschema
  Wire.write (0x0C);                                                      // 14 elementų segmentai
  Wire.write (0xFF);                                                      // 14 elementų segmentai
  Wire.endTransmission();

Po to belieka tik nuspręsti ką noriu rodyti. Laikmatį programuoti kol kas patingėjau, bus vėliau, bet vaizdelis yra:

Gėris tame, kad mikroschema „moka“ beveik visus simbolius, tereikia nusiųsti teisingą kodą arba parašyti ASCII simbolius klaviatūra (čia 14 segmentų indikatoriams):

Ok, toliau vieną iš patogių funkcijų – segmento adreso automatinis padidinimas. Dėl to, jeigu nereikia kontroliuoti kiekvieno segmento atskirai, galima rašymą daryti taip:

  Wire.beginTransmission(ID_MAX1_write);                                  // Rašom į pirmą MAX6955
  Wire.write(0x20);                                                       // Pirmo segmento adresas
  Wire.write(0x00);                                                       // Į pirmą segmentą rašo 0
  Wire.write(0x01);                                                       // Į antrą segmentą rašo 1
  Wire.write(0x02);                                                       // ir t.t.
  Wire.write(0x03);                                                       //
  Wire.write(0x04);                                                       //
  Wire.write(0x05);                                                       //
  Wire.write(0x06);                                                       //
  Wire.write(0x07);                                                       // Į 8 sekmentą rašo 7
  Wire.endTransmission();

Patogiau 🙂

Amerikoniško Yamaha RX-V465 perdarymas į universalų 2018.03.15 at 12:22

Yamaha ilgą laiką gamina visai padorią audio techniką, o man į rankas papuolė grynakraujis amerikonas, RX-V465 modelis. Valgo tik 110V, ir ne bet kokių, o 60 Hz. Visai neįdomus variantas, nes norint naudoti Lietuvoje ar Europoje, tektų jungti per žeminantį transformatorių. Ir vis tiek jis darytų 110V 50 Hz, o ne 60 Hz. Kai kuriems prietaisams aktualus dažnis, tai reiktų atkreipti dėmesį – vien su žeminančiu transformatoriumi apsisukti neišeis. Bet šituo atveju 50 Hz ar 60 Hz nėra taip jau svarbu, svarbu, kad būtų 110V. Visų pirma, įsitikinau, kad šitas daiktas veikia – mažu visai neapsimoka jį čia perdarinėti. Tam man pagelbėjo toks alkoholiko/bomžo mišinys, vadinamas LATRu. Paprastas, 9A atlaikantis latras, beliko tik nustatyti 110V ir prijungti stiprintuvą. A, tiesa, kas nežino – LATRas, LAboratorinis TRansformatorius. Ėch, užsikūrė tas netikėlis, bent jau vazdas ekrane yra, mygtukai lyg ir veikia, klaidų nemeta. Kolonėles patingėjau jungti, tai tuo bandymai ir apsiribojo. Pradžioje, šito modelio versijos yra tokios:

J – Japonas
U – Amerikonas
C – Kanadietis
R – Universalus
T – Kinas
K – Korėjietis
A – Australas
B – Britas
G – Europietis
L – Singapūrietis
E – Pietų Europietis
V – Taivanietis
F – Rusas

Nežinau, kodėl Yamaha sugalvojo tiek daug skirtingų modelių, greičiausiai tai susiję ne tik su maitinimais, bet ir su radijo dažniais ir lokaliais standartais. Jei būtų tik dėl maitinimo tai užtektų universalios R versijos. Tai ir bus mano tikslas. Versija nustatoma varžiniu dalikliu, keičiant R3809 rezistorių.

Taigi, pirmas darbas – pakeisti 1,2 kΩ į 4,7 kΩ. Taip procesorius dirbs pagal atitinkamą R versijos programą, prijungimas prie 139 kontakto. Tikiuosi :D.

Šitoje PCB daugiau pakeitimų nėra. Toliau reiktų truputį „paredaguoti“ budinčio maitinimo schemą, pakeičiant įėjimo kondensatorių iš 100 μF 220V į 100 μF 400V ir įėjimo saugiklį į 6,3A 250V.

Ir tai buvo lengvoji perdarymo dalis. Toliau – pagrindinis maitinimo transformatorius. Jam reikia parvynioti pirminę, bet tą padaryti įmanoma, kadangi transformatorius patogiai išsiardo. Geriau tą patikėti žmonėms, kurie tuo užsiima. Bet perdarius transformatorių – viskas veikia, FM dažniai atitinka Europinius, perdarymas baigtas.

Informacijos šaltiniai:

  1. Remonto žinynas