Elektroonikast

Friday, February 7, 2025

Philips P89C664 mikrokontroller - 80C51 arendusplaat Liewenthalilt

IT Kolledžile kingiti 2003-l aastal Eesti firma Liewenthal Electronics poolt 10 arendusplaati-51Kit-i 80C51 arhitektuuriga mikrokontrollerite kasutamiseks õppetöös. Üleandjaks oli CEO Jaan Liivand.
Väidetavalt kasutati samu 51Kit-e ka Liewenthalis oma töötajate väljaõppeks ja prototüüpimisel. 
Kolledžis leidsid kit-d aastaid kasutust aines "Riistvaralähedane programmeerimine", mille juures olid tegevad õppejõud Andres Mulin ja Toomas Kont. 







2008-l aastal kolis IT Kolledž Rävala puiesteelt uude õppehoonesse Tehnikaülikooli linnakus. Arendusplaate siis ilmselt enam ei kasutatud, aga kaasa nad tulid ja avastati möödunud aasta (2024) detsembris suure auditooriumi all paiknevast laoruumist suvalises tähistamata pappkastis, plaatide vahel prügikastist pääsenud A4-paberid.
Ja ennäe imet - plaadid näitasid kõik elumärke - ekraanid helendasid, LED-d vilkusid ühe või teise laboritöö pärandina. 
Muidugi tekkis professionaalne huvi, kuna arendusplaadid nägid sedavõrd head välja, et kas on võimalik neid praeguses päevas ka veel kasutada. Kõik on ju kenasti integreeritud - ekraan, heksadetsimaal-klahvistik, LED-d, temperatuurisensor, laiendusklemmid jne. Kolledžis õpitakse tänagi mikrokontrollereid tundma - tõsi, nüüd hoopis Python programmeerimise aines.

Ei võtnud palju aega, et leida veebist, Silicon Labs lehelt, täiesti toimiv ja tasuta Keil-firma kompilaator 80C51 seeria kontrolleritele. Olemas oli ka välkmälu programmeerimisrakendus FlashMagic, mis suhtleb kontrolleriga jadarežiimis selle ROM-i kirjutatud In-System Programming (ISP) rakenduse kaudu.

Siis aga selgus, et ainult 3 plaati 9-st reageeris FlashMagic kutsele - ülejäänud panid lihtsalt "tuima", mis iganes nende peal jooksis. Digiostsilloskoobi abil oli lihtne näha kuidas FlashMagic püüdis kontrolleriga suhelda, saates välja sümbolit "U" (binaarkoodis 0x01010101"), mille vahendusel lepivad osapooled  kokku protokolli kiiruses (vaikimisi 9600 boodi). Lukus mikrokontroller aga ei vasta.
Dokumentatsioon tegi üsna pea pöördumatult selgeks, et ju on viga programmeeritavas käivitusvektoris (Boot Vector), mida saab FlashMagic muuta kuid ainult ISP-režiimis. Kui aga käivitusvektor ei näita enam ISP-d sisaldava ROM mälu aadressile (mis on 0xFC00, käivitusvektoris on kirjas vaid vanem bait), siis ISP ei käivitu ja ongi kogu lugu. Aitab ainult rööprogrammaator. Ju laborites olid tudengid avastanud ka Boot Vector-i programmeerimise võimaluse ja uudishimutsenud....
Üsna pea sai veebi andmetel selgeks ka see, et rööpprogrammaator on midagi eksklusiivset ja kallist, seda kasutati kiipide mass-programmeerimiseks suuremates ettevõtetes. Nüüdseks on 80C51 programmaatorid ammu tootmisest maas ja suurema tuhnimise peale e-Bayst leitud paar potentsiaalselt pakkumist ei äratanud usaldust, dokumentatsiooni ei olnud, hind aga 200€ suurusjärgus.

Aga Liewenthal Electronics toimetab Eesti elektroonikamaastikul ju endiselt! Sai siis "oma agendi", kunagise doktorandi, kes nüüd töötab Liewenthalis, kaudu ääri-veeri uuritud ja tuli rõõmusõnum! 80C51 Kit-de avastamine oli firmas vanematel tegijatel "lambi põlema pannud" ja vana kola hulgast leiti üles nii oma Kit-d kui ka programmaator. Viimane olla tõeline 'vintage'-kast, PC-XT aegse rööpliidesega, pistikplaatidega seatav konkreetse programmeeritava seadme jaoks.
Plaadid Liewenthali ja nädala pärast tagasi. Uues pappkarbis, iga Kit pakitud omaette roosasse mullikilesse. Kõik korras, Boot Vector 0xFC ja kõik reageerisid FashMagic korraldustele. Tänud! Sellist teenust ostaksid hiired edaspidigi! Arendusplaadid olid ikka nii soliidselt tehtud, et mingeid muid elektrilisi probleeme polnud ligi 20 aastat seisnud plaatidel tekkinud.

PS. Enne kui Liewenthali taas avastasin, jõudsin läbi mängida mõtte, et ehk on lihtsam hankida uued protsessorid. Tõepoolest, AliExpress neid ka pakub. Mitte küll Philips kaubamärgi all, aga NXP märgistusega. NXP on Philips-st eraldunud tegija. Üksiku kontrolleri tellimine (pakkumine oli pisut väiksema mäluga variandile - P89C662) maksis koos saatekuludega napilt üle 2€ ja panin tellimuse üles. Ja tuligi paari nädalaga nagu lupsti, mulliümbrikus, üksik kiip ladumismasina lindilt väljalõigatud jupil.



Omaette teema oli olemasoleva kontrolleri PLCC44 pesast kättesaamine. Aitas kirjaklamber, millest sai tekitada mikrokonksu ning ettevaatlikult kiipi diagonaalidest nõksutades üles ta tuli (ähh, kahe € eest saab AliExpressist ka PLCC pesade näpitsad ja nüüd on ka need tööriistasahtlis olemas). Asendasin, lihtne pesasse vajutus ... ja ei midagi -  FlashMagic kiibiga kontakti ei saanud. 
Kahtlustasin juba seda, et ehk on tegemist nö ladumismasina testimiseks mõeldud kiibi imitatsiooniga nn dummy-kiibiga, milles pole räni lõhnagi. Suhtlus AliExpress vahendajaga ei aidanud, see ei jaganud tehnilistest terminitest ööd-ega-mütsi. Aga kui kaardile tuli Liewenthal, läks ka see kiip kaasa. Selgus, et käivitusvektori sisuks oli 0x00. Nende rööpprogrammaator asendas vektori vaevata ja kõik toimis - ISP oli ROM-s täies ilus olemas. Tuleb välja, et aus Hiina kraam. Jälle maailm parem.


Aga mida edasi? 80C51 aeg on ümber. See oli üliedukas arhitektuur ja olid ajad, kus iga ränisuutlik tegija püüdis seda pisikeste oma modifikatsioonidega turule tuua ja kontroller jõudis ka igale poole. Küllap on praegugi hulgaliselt vanemat masinavärki ja automaatikat, mida ajab ringi üks või teine 80C51 kloon. Nüüdsetel 8-bitistel kontrolleritel on kõik parameetrid "üles tuunitud". Kiiremad, parema energiaefektiivsusega, enam taimereid, integreeritud perifeeriamooduleid, palju enam mälu, nobedam ja paindlikum arendamine jne. Ja mida neist 8-bitistest üldse rääkida - alla 16-bitise kontrolleri uutesse seadmetesse ei kavandatagi, tänased lemmiklapsed on kõik 32-bitised ... monstrumid (suutlikkuse ja keerukuse mõttes). 
Ja samas, C-keel on endiselt mikrokontrollerite maailmas au sees ja uus põlvkond peab endselt kõike algusest peale õppima. Sammhaaval, lihtsamalt keerulisemale. Ja selles mõttes on 80C51-s auru veel parasjagu.
Ehk parafraseerides Andrus Kivirähk-i Aabitsakukke - kes ikka väga tahab, sellel on 80C51-st õppida küll ja küll.

K.T.
veebruar 2025

Saturday, December 21, 2024

HP Compaq d530 toiteplokk PDP124P 2024-l aastal

Kodus seismajäänud vanu arvuteid üle vaadates selgus, et enam kui 20 aastat vana HP Comapq d530 SFF enam ei käivitunud. Küllap oli mittekäivitumine juhtunud enam kui 10 aastat tagasi, aga siis sellest ei hoolinud kuna olid uued ja edevamad arvutid käepärast. Nüüd aga vaatad flopi-seadme, CD-lugejaga ja IDE-kõvakettaga Pentium 4 prosega Windows XP arvutit hoopis teise pilguga... see on ju väärtuslik relikt! Uunikum! Vintage!

Toiteplokk (PDP124P) visuaalselt mingeid probleeme ei reetnud, olin seda kunagi varem juba parandanud ja kraapinud ära riknenud (elektrijuhiks muutunud) liimi komponentide ümber.
Kui olin kõik kahtlased komponendid vastavalt http://webdevsys.com/d530psuRepairNotes.htm taas üle kontrollinud (ahelas multimeetriga mõõtes), siis tekkis oletus, et viga võib olla hoopis teises tütarplaadis, mis vastutab väljundpingete kvaliteedi eest.
Kvaliteedifunktsiooni tagab sellel kiip TSM1121 (3.3V 5V 12V HOUSEKEEPING IC), mis peab sisselülitamisel olema passiivne kuniks ploki väljundpinged alles kujunevad. Ja tõesti - tütarplaadil on kolm elektrolüütkondensaatorit, mis vastutavad vajaliku käivitusviite eest (2.2 uF, 60V).  Justkui juhuslikult peale joodetud ja liimiga kinnitatud kolm silindrilist jubinat (enne pildi tegemist olin osa liimist juba eemaldanud).



Kolmest kaks oli kaotanud igasuguse mahutavuse. Pärast kõigi kolme asendamist 2.2 uF 35V keraamilistega käivitus plokk ja arvuti nagu kulda :) 

Sunday, November 17, 2024

ZUMIMALL valvekaamera remont

Eelmine sissekanne oli 8 aastat tagasi! Aga jah, siis toimusid tööelus põhimõttelised muudatused ja aeg ning energia läks mujale. Nüüd on ring täis saamas ja paistab, et saab olema enam aega hobideks.
Õnneks pole blogger maailmast kadunud ja arhiivina ikka tore :)👍

Niisiis, ZUMIMALL on hiina tootja, kelle üks toodetest on kaugjuhitav WiFi valvekaamera välitingimusteks. Täitsa toimiv ja paigaldamine-häälestamine lihtne.
Aga umbes 2 aastat Eesti välistingimusi küpsetas läbi selle valgustussüstemi (vastavalt valikule - valge valgus või IR), nii et öist pilti enam ei saanud. Ööd muutusidki mustadeks.

Kaamera lahtiharutamisel selgus, et valgusallikateks on kolm miniatuurset binaar-LED-i (IR+Valge), mis on koos minimaalse juhtelektroonikaga paigutatud alumiiniumkettale (trükkplaat alumiiniumil).



Mõõtmisel selgus, et IR-LED-d on kõik "surnud", valged LED-d aga võiksid töötada kuid nende juhttransistor paistis olevat sandistunud - täispinge(5V) korral LED-d vilkusid, madalama toitepinge korral õnnestus näidata stabiilset põlemist.
Komponendid on Hiina päritolu ja tähised mittemidagiütlevad, aga peab kiitma, et on olemas üks päris abiks veeb, mis võõraste SMD-komponentide tähiseid aitab mõista ja pakub analooge - https://www.s-manuals.com/smd/.

Suurem üllatus oli see, et LED-d on pandud toimima kõrge stressi režiimis, mille puhul nendel eralduv võimsus oleks aktsepteeritav pigem impulssrežiimis (nt foto tegemiseks). Vt skeemi:


IR-LED-idega on järjestikku ainult 1-oomine takisti! Siiski-siiski - J3Y transistoridega on realiseeritud voolupiiraja, mis võiks IR-LED-idel tähendada summaarset piirangut ~1A ja valgetel ~0,3A (hinnates, et piiramine algab kui J3Y baas-emitter pinge tõuseb 0,5 voldini. Aga kui üks LED läbi põleb, jaguneb vool rühmas ülejäänutele ja nende stress kasvab järsult ja ilmselt fataalselt.

Kahjuks pole konkreetsed LED-d mujalt leitavad kui ainult Alibaba lehelt: https://www.alibaba.com/product-detail/IR-Warm-Cool-White-Bi-color_1600132571739.html , kus neid saab tellida 4-tuhandeliste seeriatena (arvatavasti automaatmontaažilindil).
Järelmärkus nädal hiljem: Siiski, aliexpress aitab, tellida saab 100-kaupa:
https://www.aliexpress.com/item/1005005269240360.html?spm=a2g0o.detail.0.0.7bdawMekwMek8R&mp=1
 
Enam kasu oleks IR-LED-de funktsionaalsuse taastamisest (öine must-valge pilt oleks ju OK). Kuivõrd sobiv asendus  puudub, siis ilmselt tuleb loobuda valgetest dioodidest ja paigaldada ainult sobivas suuruses SMD IR-dioodid.
Oomipoest leidsin IR25-21C/TR8 1mm laiuse 940nm IR-transmitter-dioodi. Igaks juhuks sai valge valguse 1,5 oomine voolupiiramise takisti ümber tõstetud IR juurde.
Toimibki, aga arusaadavalt pisut väiksema IR-valgusjõuga :-)

Sunday, December 4, 2016

Akvavalvur

Proloog

Möödunud aastal (2015 sügisel) murdsid TTÜ magistrandid Sardsüsteemide aines päid aruka maja lahendustega. Kellel sõrmejäljega ukseavamine, kellel patareitoitega ilmajaam, kellel valgustuse juhtimine, ja oli üks tiim ka akvaariumivalve ülesandega. Tegijad said oma projektid kaitstud ja arvestatud, aga lahendused jäid lõpetamata ning kurnatud tiimidel ei jätkunud särtsu jätkata probleemi lahendamist pärast kursuse lõppu.
Aga juhtumisi karjus ka oma akvaarium "valvuri" järele. Kurva kogemusena riknes aasta tagasi veesoojendana (jäi pidevalt tööle) ning 35 kraadises vees hukkus mitu iludust, sealhulgas oma 15-aastane igati ponks tontsäga.
Olin juba varem teinud ja edukalt rakendanud karusellprintsiibil automaatsöötjat, mille käivitas elektromehaaniline kell koos valgustusega. Lihtne ja tõhus. Aga mitte terviklahendus kõigi avaariumiga seotud seadmete jaoks. Olukord oli selline nagu Gary Oldmanil kultusfilmis "Viies element", et kui sa tahad midagi tehtud saada, pead ikka ise ära tegema.

Akvavalvur


Akvavalvuri põhimoodul on paigutatud kompaktsesse (isegi liiga kompaktsesse) akrüülplastist kokku kleebitud karpi. Ülapaneelil vasakul on menüü-joystick, paremal valgustuse ja pumpade töö käsitsilülitid. Esipaneelil vasakult paremale: RGB-LED, LCD-ekraan ja PIR sensor. Helesinine värvus tähendab muuhulgas, et läheduses on tuvastatud inimene (ka fotograaf on inimene), mis tähendab lülitusrežiimides mõneti teistsuguseid käitumisi.
Akvaariumisse uputatav veekindel termoandur on seadme ees juhtme otsas.
Tagapaneelil on pistikupesad veesoojendi, valgustuse, filtri pumba ning õhustaja jaoks, paremal küljel USB pesa toitekarusselli ühendamiseks.

Disain

Sisendid

  1. Reaalaeg (pole midagi parata, kalade käitumine peab käima samas rütmis inimese elurütmidega)
  2. Vee temperatuur (üks ääretult oluline näitaja, mille mõõtmine on samas kõige lihtsam)
  3. Fototakisti ümbritseva valguse intensiivsuse mõõtmiseks (seade peaks suutma eristada pimedat ja valget aega)
  4. Inimese lähedus (PIR andur inimese läheduse tuvastamiseks ning mis koos ümbritseva valguse intensiivsuse indikaatoriga aitab akvaariumi valgustust intelligentselt juhtida)
  5. Liides juhtnuppudega (valgust, pumpi peaks saama ka käsitsi juhtida, kasvõi hoolduse ajal)
  6. Joystick-mikrolüliti menüüs ringiliikumiseks ja tegevuste valikuks

Väljundid

  1. LCD displei 
  2. Toitmine, seatav kuni 2 aega ööpäevas, 15 min täpsusega
  3. Valgus, seatav kuni 2 sõltumatut intervalli 15 min täpsusega
  4. Veesoojendi (tegelikult autonoomse termorelee põhise veesoojendi järelkontroll), seatav max ja minimaalne temperatuur
  5. Õhustaja, seatav 2 režiimi (eraldi päeva- ja öörežiim), töö- ja puhketsükli kestvused seatavad sõltumatult 15 minutilise sammuga (15, 30, 45, 60, 75 ja 90 minutit)
  6. Filtripump, seatav 2 režiimi (eraldi päeva- ja öörežiim), töö- ja puhketsükli kestvused seatavad sõltumatult 15 minutilise sammuga (15, 30, 45, 60, 75 ja 90 minutit)
  7. Hooldusajad (vesi, filter) - tsükli pikkus, järelejäänud aeg järgmise hoolduseni 
  8. Helisignaal andmaks märku häiretest või hooldusvajadusest

Platvorm

Siin oli asi lihtne. Kuna õppeaines, millega on järgmisel õppeaastal jälle tegemist, oli kasutusel TI MSP430 ühe-plaadi mikrokontrollerid, siis paistis, et oma isiklike oskuste tudengitega pariteetsel tasemel hoidmiseks tuleb samalaadset platvormi kasutada. Konkreetselt sai valitud alumisest otsast pisut võimekam MSP430F5529LP koos Sharp96 LCD tütarplaadiga. See Sharp inspireeris kohe algusest peale kuna tema ekraani resolutsioon on 96x96 pikselit. Juhtumisi 96 = 24 x 4. Capish? Ehk siis võiks veerand tunni täpsusega animeerida ööpäevas toimuvat!

Sharp96 LCD moodulil on ka paar mahtuvustundlikku ala, mis võimaldaks lihtsa menüü juhtimist realiseerida. Paraku MSP430F5529LP emaplaadi korral polnud kõik alad kasutatavad (ülekate I2C-ga, mis on aga vajalik reaalaja kella jaoks), mitõttu tuli menüüjuhtimine eraldi realiseerida, milleks sai eraldatud 4 sisendit joystik tüüpi lülitile. Ahjaa - joystick omab viit kontakti - aga kuna teatud kombinatsioonid on mehaaniliselt välistatud (ei saa korraga nt paremal ja vasakule vajutada), siis sai üks võimatu kombinatsioon paari dioodiga viienda nupu alla pandud. Edasine on juba tarkvara ülesanne.

Üldiselt on seadmel 2 töörežiimi - autonoomne töö ja häälestamine. Autonoomse töö ajal huvitab kasutajat vaid primaarne info (kellaaeg, vee temperatuur, täiturite sees/väljasolek, alarmid). Siin tuligi mängu 96 pikseliline rida, milles on esitatav ühel lineaarsel real nii ööpäeva töörežiimid kui ka jooksev hetk:


Niisiis siin on esmalt 2 numbrit - jooksev aeg ja temperatuur. Nende all on neli aegrida 00:00-st kuni 23:59-ni, kusjuures üks piksel (pikseli laiune kriips) vastab 15 minutile.
Pikem aktiivsus on esitatud jämedama kriipsu või jutiga ning jooksvat hetke esitab valge katkestustriip ajajoonel. Näiteks valgust jagatakse ööpäevas kaks korda, esimene umbes tunnine tsükkel on hommikupoole, teine algab hilisõhtul ja kestab üle südaöö kuni 00:15-ni.
Loomulikult peab olema võimalik kõiki parameetreid sättida, milleks on ammendav menüü:
Edasine on suurelt juba programmeerimise tehnika.
Seade salvestab erijuhtumid (tuvastatud häireolukorrad, taaskäivitamised, sensoritõrked jne) välisesse EEPROM-i."LOGI"-režiimis saab neid lehitseda ja logi kustutada.

Hooldusrežiim

 Aegajalt vajab akvaarium hooldust - veevahetus, põhja- ja seinte puhastamine, taimede korrastamine, filtrikäsnade läbipesemine jms. Hooldusintervalli soovitusi leiab nii käsiraamatutest, kalapoodide veebilehtedelt kui ka foorumitest. Oma väljakujunenud graafik on veevahetuseks 2 nädalat ja filtripesu 3 kuu järel, millega kalad näivad hästi leppivat. Neid parameetreid saab akvavalvuri menüüvalikus "HOOLDUS" sättida. Akvavalvur peab meeles hooldusintervalle ja annab märku kui üks või teine loendur on nulli jõudnud.
Hoolduse peale kulub praktikas vähemalt pool tundi ja selle ajal ei oleks pumpade-valgustuse automaattöö kuidagi teretulnud. Tõsiseks ohuallikaks on veesoojendi, mis teoreetiliselt võib rikneda või hoolduse käigus puruneda nii, et võrgupinge vette lekib ja hoidku jumal kui sel ajal käsipidi akvaariumis sobrad. Õpetlikke "fööni- ja vanninalju" on filmides juba piisavalt nähtud.
Seepärast sai realiseeritud spetsiaalne hooldusrežiim, mille ajal on küttekeha välja lülitatud ning pumbad-valgus hooldajal käsitsi sättida. Hooldusrežiimi inditseerib LED-i roheline valgus ning selle vaikimisi kestuseks sai pandud 45 minutit. Loomulikult võib hooldusrežiimi varem lõpetada, mille järel taastub automaatrežiim.

 Toitekarussell

Kaladega peab suhtlema ning toitmise käigus tuleb see kõige paremini välja. Kui aga on puhkus või pikem lähetus, siis peab automaatika inimest asendama. Nendeks puhkudeks saigi "treitud" toitekarussell.
Karusell kujutab enesest 12-sektorilist 8mm paksusest akrüülklaasist ketast, mis on paigutatud kahe plaadi vahele, milles on vaid üks toitesektori mõõtudes ava. Ketast pöörab aeglustiga samm-mootor, mille juhtimiseks on omaette mikrokontroller. Kontrolleri karbikesel on nupud ketta  käsitsi pööramiseks (algasendi sättimiseks), ülejäänu on matemaatika.
Akvavalvur on liidestatud toetekaruselliga praegu vaid ühe juhtsignaaliga ega anna tagasisidet toidu olemasolu ning toitmise õnnestumise kohta sektorites. Signaali saabumisel (akvavalvur omistab "1"-e 15-ks minutiks) pöörab mikrokontroller ketast aeglaselt ühe segmendi võrra ning läheb seejärel ooterežiimi ootamaks uut käivitussignaali.
Pole raske ära tabada, et karusell on võimeline vaid 11-t portsu keerama. Aga tagasiside puudumine - no kes keelab lihtsat veebikaamerat kasutamast, mille vaatevälja jäävad nii kalad kui ka toitekarussell, sest oma silm on kuningas ja ega massinat saa uske.

 

EMI

EMI - Electromagnetic Inference. See oli paras pähkel. Moodul, mis ilma induktiivseid koormusi lülitavate releedeta toimis laitmatult, kukkus esimestel katsetel kokku pea iga kord kui pump või luminofoorlamp sisse või välja lülitus. Süüdi oli ka kompaktne disain, mis asetas liinipinge komponendid vaid mõne cm kaugusele juhtplaadist ning selle komponentidest. Kohe algul tulnuks mõelda korraliku Faradi puuri stiilis varjestusele ja ahelate paremale lahutamisele. Lahendused, mis kõik nõksukese aitasid ning kokkuvõttes "päeva päästsid":
  1. Valitum toitemuundur (elementaarse sisendfiltriga)
  2. Toiteahelate ülekontroll (üks maanduspunkt)
  3. Ohtralt silukondensaatoreid kõigile toiteahelatele trükkplaadil
  4. Valvekoer e WDT protsessori resettimiseks kui protsessor jääb "rippuma", oodates lõputus tsüklis vastust sensorilt
  5. Kõikide oluliste olekuandmete hoidmine reaalaja kella mälus (selleks on seal ruumi oma 56 baiti), et neid reset-järgselt automaatselt taastada
  6. Analoogmõõtmiste tulemuste keskmistamine üle mitme sämpli, üksikute äärmuslike andmenäitude ignoreerimine (tõenäoliselt EMI häirest põhjustatud andmebiti muutus)

Wednesday, June 3, 2015

No-pin-processor



Millised on vähima väljaviikudega arvuga protsessorid?
Näiteks Microchip[1] tootevalikus on 6-väljaviiguga 8-bitiste protsessorite seeria PIC10. Selle tippesindaja PIC10F322 omab 896 baiti (512 sõna) programmimälu, 64 baiti muutmälu, töötab sagedusega kuni 16MHz, sisaldab 3-kanalililst AD-muundurit, kaht 8-bitist taimerit ja töötab toitepingetel alates 1,8 V (madala toitepingega versioon). Lisaks terve hulk pisifunktsioone, näiteks integreeritud temperatuurisensor, mis teevad protsessorist tõelise arupuru kaaslase, mida võib “visata igasse ruumipunkti selle entroopia vähendamiseks”[2]. Arvatavasti sobiv lisand sensoritele, muunduritele ja teistele elektroonikaseadmetele lokaalseks mini-infotöötluseks. Kaks väljaviiku kuuest kulub ära toite jaoks, aga ülejäänud neli on multifunktsionaalsed rakenduse jaoks.
 
SOT-23 korpus, u 3x3 mm

Kas saab vähemaga?
Nelja väljaviiguga protsessor paistab olevat selline miinimum, millest allapoole on raske minna. Kaks toiteühenduse jaoks, ülejäänud kaks vastavalt andmesisend ja väljund (jadakood). Pool-dupleks (vahelduvrežiim) andmevahetuse korral piisaks ka kolmest klemmist. Protsessori ainsaks ülesandeks võib olla ka ainult konkreetse lainekujuga signaali väljastamine ja siis on vaja ainult väljundklemmi.
Kas saab veel vähemaga?
Iseenesest võib andmevahetuseks kasutada toiteklemme, sellisel juhul tuleb kas kiibist väljaspool andmeside eraldada toitesignaalist või tagada kiibiga sellises kodeeringus andmeside, et sellelt on võimalik energiat näpata. Tulemus – kaks klemmi.
Kas saab siiski veel vähemaga? Muidugi saab, elektrilisi väljaviike pole üldse tarvis. On võimalik saada energiat keskkonnast kasutades valgusenergia muundit või MEMS (Microelectromechanical systems) lahendusi erinevate keskkonna füüsikalis-keemiliste protsesside muundamiseks sisemiselt kasutatavaks elektrienergiaks. Samamoodi saab selline kiip oma töötluse tulemust ilmutada – näiteks valgus- (elektromagnetvälja) impulssidega või MEMS aktuaatoritega, mis mõjutavad välist keskkonda.
Sageli eeldame me protsessorilt töökohal programmeeritavust, s.t. koos andmeside viikude kaotamisega tuleb lahendada ka eriolukorra võimalus, mille korral läheb protsessor programmeerimisrežiimi. Lihtsam on seda teha sisselülitamishetkel, aga kui protsessor on väga osav ümbritsevast keskkonnast energiat korjama, siis võib selle seisma „näljutamine“ olla küllalt tülikas. Võib ka ette näha keskkonnas erisituatsiooni tekitamist (näiteks jahutades kiipi oluliselt külmemaks tema tavapärasest töökeskkonna temperatuurist), mida kiip interpreteerib korraldusena programmeerimisrežiimi minemiseks. 

Siin meenub avalugu Vernor Vinge raamatust „A Fire Upon the Deep“. Selles hävitas ultimatiivselt kuri tehisintellekt üle suure distantsi kosmoselaeva, millega inimesed põgenesid, olles kaasa võtnud tundlikku infot kurja tehismõistuse kohta. Kuri aru kasutas selleks vaid nõrka sidelaserit, millega ta suutis ühe anduri protsessori ümber programmeerida ja tekitatud ussiagu kaudu hukutava koodi juhtimissüsteemi saata…

Aga kokkuvõttes käituks ilma elektriliste ühendusteta kiip paljuski nagu elusrakk… ilma paljunemissuutlikkuseta, aga see-eest väga usaldusväärsena ja pikaealisena.

K.T.
Tallinn, mai 2015


[1] 6-viigulisi kontrollereid on teisigi, nt. Atmel tinyAVR
[2] Ka puru maksab, üksikprotsessori ligikaudne hind hulgiostjale (partii suurus 5000) on 30-40c sõltuvast konkreetsest PIC10 seeria mudelist.

Friday, January 25, 2013

DMX 4-kanaliline kontroller PAR56 vol 2

Sai ostetud Oomipoest uus PAR56 projektor firmalt Skytronic selle mõttega, et kopeerin mugavalt vana disaini, lisades projektori juurde oma pisikese 4-kanalilise DMX512 kontrolleri.
Paraku selgus, et elu on ikka edasi läinud ja konkreetsel mudelil oli nelja DMX kanali (Red, Green, Blue, Dimmer) asemel 5 DMX kanalit ning nende järjestus ka pisut teistsugune (Dimmer, Red, Green, Blue, Strobe). Sellele vaatamata pidanuks vana kontrolleriga saama põhifunktsioone kontrollida, aga tühja...
Esmalt tuli korrigeerida DMX signaali kuju vastamaks täpselt Wikipedias kirjeldatule. Korralik IDLE nivoo, BREAK signaal, MAB jne). Esimese disaini juures olin IDLE 0-nivoo peale jätnud, aga vana projektor selle peale ei protesteerinud. Muutsin sobivalt väljastatavas signaalis kanalite järjekorda ja viiendat kanalit võis hoopis ignoreerida, kuna puhast Strobe kanalit ei kavatsenudki kasutada - see oli sigaaeglane - kiireim vilkumine oli umbes sekundilise intervalliga, aeglaseim minutites! Juhendi järgi pidanuks ka RGB kanalite peal väärtused 127-255 tähendama Stobe funktsionaalsust, aga jällegi tühja ... kogu koodivahemik 0-255 oli värvi heleduse reguleerimiseks. Nii et mingi tüng.
Strobe väärtus '0' tähendas "no stobe" ja nii sai programmi ka muudetud.
Teiseks ei tahtnud PAR56 külmstardist kuidagi DMX signaalile reageerida - väga visalt vahel õnnestus käima saada, "kuumalt" ikka toimis. Katsetamise käigus selgus, et algul tuleb anda DMX signaal koos korraliku Strobe väärtusega (255) ning kusagil sekund hiljem Strobe nulliks teha. Jälle paar iseenesest mõttetut koodirida juurde, aga see oli pisiasi.
Lõpuks põles veel üks punane valgusdiood läbi, jättes projektoril tummaks 4 järjestikust LED-i. Püüdsin nii Elfast kui Oomipoest saada ekvivalentse valgusjõuga asendust valgusvihuga ~15 kraadi, aga päris nii head ei leidnudki. Teiste hulgas üks pisut kööbakam siiski silma ei paista.

Igatahes lõpuks värk toimis! I did it again! [25.01.2013]


Monday, July 23, 2012

Koduvaht

Juba õige mitmes versioon kodusest uksekellast sündmuste logijast. Arvestab keskmise korteri-majaga, kus on 2 sissepääsu, õuevärav, garaaž jms. Hea märgata kui väravast käiakse, millal on keegi ukse taga kella andmas käinud, kas postkasti on midagi pandud jms. Ei asenda kaugeltki mitte professionaalset valvesüsteemi, aga täiendab seda, olles samas unikaalne ja omanäoline.

Spetsifikatsioon:
  • 3 optiliselt isoleeritud digisisendit (logitakse avatud-suletud, kaasneb helisignaal)
  • 2 tavalist digisisendit (logitakse avatud-suletud, kaasneb helisignaal)
  • 3 erinevat uksekella sisendit (logitakse), igaühele sõltumatu monofooniline meloodia või MP3
    • üks uksekella sisenditest on optiliselt  isoleeritud
  • 2 temperatuuriandurit
  • Logimälu sügavus 1023 sündmust
Baseerub PIC18F2520-l, võrgupingest sõltumatu reaal-aja kellaga (DS1307).Tarkvaraliselt paras pähkel - monofoonilise muusika esitamine nõuab taimeritega parajat mängimist, displei vajab kontrollimist ja juhtnupud jälgimist (üle I2C liidese). Monofoonilise muusikaga oli pigem lihtne, lahenduse printsiibid olid omal varnast võtta juba kunagiste tipi õpingute aegadelt 80-te algul kui sai ehitatud esimesed monofoonilise muusikaga uksekellad.
MP3-mängijana on kasutatud laiatarbe mälupulk-mängijat (baseerub SIGMATEL Inc. kiibil STMP35XX), mida saab juhtida tema juhtnuppudele vajutuste emuleerimise kaudu - nõudes optilist lahutamist ülejäänud ahelatest ja omaette taktiga komponendi taimingu ning vastavate signaalijärjestustega mängimist. MP3 väljundi digimürast päästmiseks tuli tekitada võimendile (TDA2822M kiibil) galvaaniliselt lahutatud toide.
Korpuseks sai vana 9600 bps modemi oma :-)
Ekraanil on näha jooksev aeg, sise- ja garaaži temperatuur (talvel võib minna alla nulli ja kartulitega-hoidistega võib juhtuda siis üht-teist ebameeldivat).
Teisel real on viimase sündmuse aeg ning kolmandal selle kirjeldus.

Alumine pisike ekraan kuulub MP3 mängurile.
Nuppe on minimaalselt - logi vaatamine, kellamuusika valik ja kellaaja sättimine. Tjah, seade ei salvesta sündmusi kui elektrit pole, aga elektri tagasitulek ise on üks sündmus, mis pannakse kirja.




Followers