Sprogo programatorius
|Ši istorija deja ne informacinio pobūdžio, o gal labiau įspėjamojo arba “kas būna, kai programatorius gauna fazę”.
Jau kažkiek laiko dirbu prie projekto, kurio užsakovas yra šiuolaikinio meno specialistas J.Urbonas. Projekto idėja gan paprasta: pastukseni į duris, o to stuksenimo gerokai stipresnis “aidas” pereina į grindis. Kuo stipriau stuksenama, tuo stipresnis smūgis per kojas jaučiamas. Prie durų turi būti montuojamas mažas, nuotoliniu būdu (radijo bangomis) veikiantis jutiklis, kurio baterija turėtų laikyti bent jau 3 mėnesius. Kaip jūs tokį darbą atliktumėte?
Apie visą projektą parašysiu kada nors kitą kartą, na o dabar einu prie reikalo. Jutiklyje ir imtuve su visa valdymo elektronika sumontuoti mikrovaldikliai ATtiny13. Šiaip projektas jau buvo beveik baigtas, liko tik programiškai suderinti smūgio jėgą. Veikimo atstumas – apie 200-300 metrų. Turbūt kyla klausimas kas gi formuoja tą smūgį. Tai atsakymas paveikslėlyje dešinėje. Tai galingas elektromagnetas. Su pliku magnetu atlikinėti bandymus yra truputėlį nesaugu – iššovusi gerą kilogramą sverianti šerdis galėtų nemenkai sužaloti ar užmušti, todėl visa tai yra laikinai prisukta prie taburetės. Po taburete matote elektromagneto valdymo bloko galios dalį – tai 4700 µF 400V kondensatorius su 170 W (10*17 W) jo įkrovimo varža bei 70 A atlaikančiu IGBT tranzistoriumi.
Šio valdymo bloko problema ta, kad nėra visiškai jokio galvaninio atrišimo nuo ~220 V tinklo. T.y. jei prisiliestumėte prie bet kurio kontakto ir jei netyčia tuo metu kita ranka laikytumėte už centrinio šildymo radiatoriaus arba įžeminto kompiuterio korpuso, būtumėte neblogai pakratytas.
Imtuvas maitinamas DC 12V, taigi jam reikalingas atskiras maitinimo šaltinis. Tam reikalui panaudojau paprastą transformatorinį maitinimo šaltinį, kurio išėjimas jau turi galvaninį atrišimą. Taigi, jo išėjimą galima laisvai jungti su galios bloko įėjimu ir viskas puikiai veiks. tik yra kita problema – tada jau ir prie imtuvo liestis negalima bus, o tai jau iššaukia problemų programavimo metu, nes:
- Prijungiant programatoriaus laidą nepriliesti jokio kito kontakto yra gana sudėtinga;
- Programatorius tiesiogiai susijungia su kompiuteriu, kuris yra įžemintas, o tai reiškia trumpą jungimą ir liepsnas.
Kad to galima būtų išvengti, reikalingas trečias maitinimo šaltinis IGBT tranzistoriaus valdymui bei optinis išrišimas optronais (2 vnt.). Šis papildomas maitinimo šaltinis papildomai kainuoja, o taip pat ir užima gana daug vietos, kuri šiame projekte yra labai ribota. Žodžiu, nusprendžiau galvaninio išrišimo nedaryti ir tiesiog būti labai atidus: kiekvieno programavimo metu turėjau atjungti IGBT tranzistoriaus valdymą nuo imtuvo, tada prijungti programatorių, užprogramuoti, atjungti programatorių ir vėl prijungti IGBT valdymą.
Ši veiksmų seka man puikiai sekėsi, na, gal kokius 20 kartų. Ir tada vieną kartą prieš prijungdamas programatorių užmiršau atjungti IGBT valdymą… Rezultatas: pokšt, liepsnos, dūmai…
Štai ir rezultatas. Blogų dalių statistika: 7 mikroschemos, 4 kondensatoriai, 2 diodai, 2 tranzistoriai, 1 droselis, 7 rezistoriai, 3 takeliai…Visų blogų dalių vertė, įskaitant ir tas, kurias teko užsakyti – 13 Lt :-) Man žiauriai nuskilo, kad sudegė tik programatoriaus “galas”, t.y. įtampų formavimo dalis, o valdymo elektronika liko sveika. O čia valdymo elektroniką paleisti būtų labai komplikuotas reikalas – EEPROM atmintyje ir XILINX logikoje yra programos, kurias gauti būtų beveik neįmanoma.
Nukentėjo ir mano pagamintas imtuvas (foto dešinėje). Nuotrauka jau su išlituotomis blogomis detalėmis (kurių irgi gavosi geras tuzinas), tačiau įsižiūrėję galite pastebėti kiek takelių “trūksta” – jie tiesiog išgaravo. Imtuvo blogų detalių sąmatas – 60 Lt…
Aišku fazė kliuvo ir kompui: kelioms sekundėms dingo vaizdas, bet jam atsiradus viskas buvo savo vietose.. Keista (video integruota į šiaurinį tiltą). Per stebuklą niekas motininėje plokštėje nenudegė ir kompiuteriui nieko nenutiko, net USB veikia.
Po remonto viskas atrodo taip:
Pažiūrėjus į programatorių net nepanašu kad būtų buvęs remontuotas, bet tai išduoda tik vienas rezistorius, kurį matote dešinėje. Turiu visus dažniausiai pasitaikančius paviršinio montažo rezistorių ir kondensatorių nominalus, bet 6,8 Omo neturėjau… O ką tokiu atveju daryti? Negi dėl to važiuoti į parduotuvę? Originaliai visų paviršinio montažo rezistorių ir kondensatorių korpusai buvo 0805, bet tą “tiltelį” pastačiau iš 0603. 1+4,7+1=6,7 Omo. Beveik 6,8. Dėl šio neatitikimo programavimo metu duodama įtampa yra ne 5V, o 4,9V… Tame bėdos nematau, o taip pat nemato ir elektronika.
Imtuvas atrodo kiek baisiau… Visus nusprogusius takelius teko “atstatyti” laideliais. Taip pat ištuštinau savo mikrovaldiklių ATtiny13 rezervą ir dar teko pirkti gana brangų (~50Lt) RF modulį. Bent jau tiek, kad dabar vėl viskas veikia ir apturėjau gerą pamoką.
Bijojau kad programatoriaus gali nepavykt prikelti, o tokiu atveju būčiau paleidęs 100€ į orą (taip, šis programatorius tiek kainuoja). Šis programatorius (ASIX PRESTO) yra rimtas dalykas, programuojantis daug visokių mikrovaldiklių ir atminčių, taip pat turintis gana neblogas apsaugas, kurios, beje, man labai padėjo ieškant sugedusių dalių:
Apibendrinant: apturėjau truputėlį rūpesčių ir labai gerą pamoką. Na ir, žinoma kažkiek nuostolių: 75Lt materialinės ir geras pusdienis darbo. Pasimokykit iš mano klaidos ir būkit atidūs dirbant su faze…
Turėsim omeny ;-)