Küllap on kõik "vanad" arvutikasutajad mitmeid kordi seisnud dilemma ees,
mida teha oma vana arvutiga, kui palju sellest säästa, kui palju minema
visata või edasi müüa. Viimasega on valdavalt raskusi, sest Moore'i reegli
järgi suureneb arvutite jõudlus iga poolteise aastaga kaks korda. See suhe
on pöördvõrdeline hinnaga, nii et umbes viie aastaga langeb enamiku komponentide
väärtus 10 korda. Õnneks on ühes arvutisüsteemis palju detaile ning mitte
kõik ei vanane sedavõrd kiiresti - näiteks 3,5'' (1,44 MB) flopiseadmed
on elanud ja ilmselt elavad üle veel mitu emaplaati.
Kuigi leidlik inimene leiab tänapäeval rakendust ka kümneaastasele tervikarvutile,
tuleb antud artiklis siiski juttu vaid ühest komponendist, mille valdav
osa arvutikasutajaid on nukralt prahisahtlisse tolmu koguma pistnud - need
on 5'' flopiseadmed. Võimalik, et veel täiesti töökorras, aga lihtsalt
nende aeg on ümber nagu vinüülplaadimängijatelgi. Ka 3,5'' flopiseadmete
tulevik on enam kui tume, neid päästab vaid odavus ja tohutu levik, sest
- senist status quod murendamas ning turgu haaramas on sadu kordi suurema
andmemahuga kiired flopiseadmed (Iomega ZIP, LS120, Sony HiFD jt.). Uued
tegijad on tõsised konkurendid, kes kõik sihivad kogu PC-de turgu, kuni
aga tarbija pole huvitatud sõjatandrile sattumisest, elavad 3,5'' seadmed
veel hästi.
Edasi tuleb juttu sellest, mida annab flopiseadmest päästa ja mida päästetuga
peale hakata. Eriharidust elektroonikas ja/või arvutitehnikas pole järgneva
mõistmiseks vaja, kuid elementaarteadmised riistvara poolelt kuluvad ära.
FLOPISEADME LAHKAMINE
Vanade flopiseadmete kasutamise üle on pead vaevatud mujalgi ning, nagu
kombeks, jõuavad väärt kogemused internetti.
Ausalt öeldes, ega palju taaskasutamist väärivat flopiseadmetest ei leia,
kuigi insenerimõtte imetlemiseks on põhjust küll. Kõige ahvatlevam tükk
on ikkagi lugemispeade liigutamiseks mõeldud samm-mootor, mille uuele
elule äratamine on väljakutsuv ja tegutsemisrõõmu pakkuv ettevõtmine. Internetist
on näha, et katsetajaid on nii vanu kui noori, õpilastest kuni ülikoolide
professoriteni välja. Ka allakirjutanu ei loe end kompetentseks ei elektrimootorite
ega robotitehnika alal, aga õnneks on samm-mootorid piisavalt tolerantsed
ja kannatavad "torkimist" enam kui kaasaegne tippelektroonika.
Lisaks mootoritele leiab seadmest mitmeid täiesti kasutuskõlblikke positsiooniandureid
(valgusdiood + fototransistor), samm-mootori juhtkiibi või darlington-transistoreid,
toitepistiku... ja ongi vist kõik. Flopiketast keerutav mootor, milles
rootor on paigal, staator aga pöörleb, pakub taaskasutamiseks palju vähem
võimalusi, kuigi käimasaamine on võrratult lihtsam - tuleb leida vaid kaks
õiget klemmi (neljast/viiest), pinge peale ja voil´!
Üle jääv metall võib küll harakat ligimeelitavalt läikida, kuid lihtsuse
mõttes kuulutame selle siiski (taaskasutatavaks) vanarauaks ja keskendume
enamlubavatele komponentidele.
SAMM-MOOTOR
Samm-mootori võlu seisneb tema täpses juhitavuses. Et igale vooluimpulsile
reageerib rootor pöördega kindla nurga võrra, on samm-mootorid mudeli-
ja robotiehitajate kindlad lemmikud. Flopiseadme mootor pole küll mingi
imeasi, Robocop'i sellega ei tee, sest puudu jääb nii jõust kui ka kiirusest
ja voolutarve on suur, kuid samm-printsiibi enda kasutamine võimaldab ehitada
väga erinevaid ja efektseid mudeleid. Järgnevalt vaatlemegi samm-mootori
juhtimiseks vajalikke ahelaid, juhtskeeme ja -programme, kõik ülejäänu
jäägu ettekujutuse ja loova mõtlemise teha.
Niisiis, kogu programmi läbiviimiseks peavad meil olema järgmised vahendid
ja seadmed:
- demonteeritud 5'' flopiseade
- multimeeter (volt- ja oommeeter)
- jootekolb ja jootevahendid
- montaaûijuhtmeid, prototüüpimisplaat
- PC-printeri 25-kontaktiline pistik
- toiteplokk 12 V, 1 - 2 A, katsetusteks väga soovitavalt elektroonse ülevoolukaitsega.
Flopiseadme tüüpiline samm-mootor on praktiliselt kuubikujuline ja sõltuvalt
valmistajast viie või kuue ühendusjuhtmega (unipolaarne juhtimisskeem).
Haruldasem, neljajuhtmeline mootor viitab bipolaarsele skeemile, mis on
märksa tülikam, nõudes enam komponente ja ettevaatust juhtskeemi pingestamisel
(lühiseoht).
Juhtmete funktsiooni määramiseks on soovitav kasutada oommeetrit (mähise
takistus sõltub mudelist, tüüpiliselt on see 75 W). Kuigi juhtmed on tavaliselt
eri värvi, on need värvid eri tootjatel erinevas tähenduses ja kindluse
mõttes tuleb kõik endal multimeetri abil ära määrata. Viiejuhtmelise skeemi
korral on takistus üldjuhtmest kõikidesse teistesse juhtmetesse võrdselt
75 W. Kuuejuhtmelise ühen- duse korral tuleb leida mõlemad üldjuhtmed ja
need kokku ühendada (joon. 2). Nüüd tuleks üldjuhe ühendada toiteallikaga
(+12 V) ja ükshaaval mähiseid pingestades leida järjestus, mille korral
mootor teeb iga uue ühendusega ühe sammu samas suunas. Kui kõik klapib,
jääb üle ainult mootor juhtskeemiga ühendada.
ANDURID
Nagu öeldud, koosneb tüüpiline flopiseadme positsiooniandur valgusdioodist
ja sellega paaris olevast fototransistorist. Multimeetri dioodikontrolli
reûiimiga on lihtne leida üles valgusdiood, mis pärisuunas pingestades
näitab pingelangu u' 1 V. Fototransistor on multimeetrile kõva pähkel,
sest normaalolekus on transistor suletud ja takistus mõlemas suunas väga
kõrge. Kui märgistus ja ühendusskeem midagi ei reeda, tuleb valgusdiood
pingestada läbi takisti (vt. joonis) ja leida toitepingete polaarsus, mille
korral multimeeter näitab voolu läbi transistori. Anduri tüüpiline ühendusskeem
on toodud joonisel 3, arvatavasti leiab flopiseadme trükkplaadilt ka siintoodud
väärtustele lähedased takistid.
JUHTSKEEM
Samm-mootor muutub tõeliselt huvitavaks alles siis, kui saame seda juhtida
arvutiga. Kui tahame luua autonoomset mudelit, siis pärast katsetusperioodi
lõppemist on lihtne programmeerida mingi mikrokontroller, näiteks PIC,
täitma vajalikku ja siis juba testitud funktsiooni.
Kõige lihtsam on, kui flopiseadme trükkplaadilt leiab spetsiaalse kiibi
samm-mootori mähiste tüürimiseks, vastavad kiibid on tähistatud ULN2003,
PA2003, MC1413 või SN75468. Kõik need on 7-bitilised 500-mA koormusvooluga
TTL-sisendiga n-p-n darlington-transistoriga ajurid, just sobivad 4-faasilise
samm-mootori juhtimiseks. Printerites, kus vajatakse võimsamat samm-mootorit,
võib esineda 4-bitiseid kuni 1,5-A koormusvooluga darlington-lüliteid ULN2068B
vms.
Eriti kasulik on 8-bitiline ULN2803, mis võimaldab juhtida kaht neljafaasilist mootorit.
Loomulikult on toodud ühendusskeem vaid üks paljudest võimalikest, erinevaid
lülitusi leiab Internetist. Paljude kiipide spetsifikatsioonide otsimisel
on osutunud kasulikuks Farnelli koduleht.
Võib olla, et kasutada oleval flopiseadmel on mootori juhtimine lahendatud
üksikutel (darlington-)transistoridel. Ega seegi palju tülikam ole, transistorid
on samuti taaskasutatavad, lülituse koostamisel on vajalikud veel kaitsedioodid
ja baasitakistid, mis on kõik flopiseadme trükkplaadilt taaskasutatavatena
leitavad, vt. joonis.
Jääb veel üle ühendamine PC-printeri väratiga, mida vaatame järgmises peatükis.
PROGRAMMEERIMINE
Lühiartikkel ei saa hõlmata kõiki variante, mis seonduvad programmeerimisega,
aga C või mõne muu keele kompilaatori olemasolul ei ole ka algajal raske
10-realist programmi koostada ja katsetada. Õnneks on palju näiteid ka
Internetis, tuleb ainult otsida ja julgelt järgi teha.
Mida ja kuidas programmeerida, sõltub juba oskustest ja eesmärgist, oluline
on vaid teada paralleelvärati olulisi registreid, mis on näha joonisel
(D7,...,D0 - andmed (data), S7,...,S3 - olek (status) ja C3,...,C0 - juhtimine
(control)). Olekubitid S7,...,S3 on sisendid, ülejäänud väljundid - programmeerimisel
tuleb jälgida ka seda, et osa sisendsignaale on inverteeritud. Nagu näha,
on paralleelvärati võimalused ahtad, aga suhteliselt lihtsalt teostatav
kolme samm-mootori samaaegne juhtimine (3 x 4 väljundit) ja 5 sõltumatut
signaali anduritelt on enam kui eksperimentaalseadme või -roboti jaoks
vaja. Kogenum eksperimentaator suudab paralleelväratist multipleksimisega
palju rohkem välja "pigistada", aga see nõuab ka märksa enam välist riistvara.
Enamik samm-mootorite juhtprogrammide näiteid on kirjutatud C või C++ keeles,
aga vastava kompilaatori puudumisel sobib alustuseks ka Microsofti QBASIC,
mis on igas Windows-masinas olemas. Järgnevad QBASIC käsud näitavad paralleelvärati
registrite aadresse ja kahte põhilist pöörduskäsku, millest esimene kirjutab
muutuja bits väärtuse andmeregistrisse ja teine loeb samasse olekuregistri
seisu. Kõik ülejäänu on juba teie teha!
pdata = &H378
status = &H379
control = &H37A
OUT pdata, bits
bits = INP(status)
KOKKUVÕTE
Jääb üle soovida vaid julget pealehakkamist, et tehismaailm muutuks silmanähtavalt
aktiivsemaks ja atraktiivsemaks! Muuseas, see on tõsine väljakutse - ülemaailmsetel
mikrorobotite võistlustel on mägitud jalgpalli, maadeldud, vallutatud kindlustusi
ja lahendatud muid enamal või vähemal määral tehisintellekti nõudvaid ülesandeid.
Võistlustingimused välistavad sageli simuleerimise, robotid peavad olema
ja on füüsilised! Loomulikult on selliste ülesannete keerukus ja maht sadu
kordi suurem artiklis kirjeldatud samm-mootorite jooksutamisest, nõudes
sageli tervet entusiastide-spetsialistide võistkonda, aga millestki peab
ju alustama ja "rauapoolt" tuleb kindlasti tunda. Et see on juba oleviku
ala, näitas veenvalt Sony robotkoerte AIBO müügiedu.
Kalle Tammemäe
TTÜ arvutitehnika instituut