Elektronika.lt
 2024 m. gruodžio 22 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 Schemų archyvasSąrašas
 Teorija, žinynaiSąrašas
 - Elektronikos komponentai
 - Elektronikos technologija
 - Parametrų apskaičiavimai
 - Kompiuterija
 - Telekomunikacijos
 - Įvairi teorija
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Gruodžio 22 d. 11:24
Energetikos sektoriaus laukia pokyčiai – alternatyvų yra, bet ar užteko laiko pasiruošti?
Gruodžio 21 d. 11:33
Kokį elektronikos įrenginį dovanoti, kad jis vėliau neišaugintų elektros sąskaitos?
Gruodžio 20 d. 17:12
KTU mokslininkai sukūrė nanolazerį – sidabro nanokubus panaudojo šviesos generavimui
Gruodžio 20 d. 14:28
Lietuvių kalba ir technologijos: VU mokslininkų projektas LIEPA-3 atvers naujas galimybes
Gruodžio 20 d. 11:49
Stacionarūs kompiuteriai: koks jų vaidmuo nešiojamųjų kompiuterių eroje?
Gruodžio 20 d. 08:14
„DS Automobiles“ pristato naujausią savo elektrinį flagmaną – „DS N°8“ kupė
Gruodžio 19 d. 20:18
Naudingi patarimai, kurie padės maksimaliai padidinti jūsų elektrinio automobilio priemonės įveikiamą atstumą
Gruodžio 19 d. 17:27
Žaidybinimas: efektyvus švietimo įrankis ar bėgimas nuo tikrovės?
Gruodžio 19 d. 14:27
Orkaitės darbymetis prasideda: 5 paprasti patarimai, kurie kalėdinius kepinius leis paruošti elektrą naudojant taupiau
Gruodžio 19 d. 11:15
Proveržis magnetų tyrimuose: ištisas savaites tarnaujanti telefono baterija ir 1000 kartų didesnė jo sparta
FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Reklama
 Teorija, žinynai » Elektronikos technologija Dalintis | Spausdinti

Robotas savo rankomis – lengvai!

Publikuota: 2007-05-04 07:30
Tematika: Elektronikos technologija
Skirta: Pradedantiems
Autorius: el. paštas Vitalij Rodnov
Aut. teisės: el. paštas ©Vitalij Rodnov

„Noriu pasidaryti robotą“– tokia mintis aplanko daugelį žmonių, besidominčių elektronika. Pamėginsiu pasiūlyti paprastą „roboKITą“, prieinamą kiekvienam moksleiviui – „99 litų botą“, kuris buvo kuriamas pagal tris pagrindinius kriterijus: visas detales galima būtų nusipirkti Lietuvoje; bendra detalių kaina būtų iki 100 Lt; būtų prieinamos aiškios schemos ir instrukcijos.

 Rodyti komentarus (167)
Įvertinimas:  1 2 3 4 5 

Atnaujinta: 2009 12 23 d.

Įžanga

„Noriu pasidaryti robotą“ – tokia mintis aplanko daugelį žmonių, besidominčių elektronika. Interneto forumuose daug klausimų šia tema, bet mažai atsakymų. Žodis „robotas“ gali būti labai plačiai traktuojamas, todėl pateiksime konkretesnį apibrėžimą. Šiame straipsnyje „robotas“ – tai pramoginė platforma, galinti judėti erdvėje ir reaguoti į aplinką. Taip pat sudarysime apytikslį pradedančiojo robotų konstruktoriaus portretą: tai mokyklinio amžiaus žmogus, neturintis patirties elektronikoje ir programavime. Jis neturi nei pakankamai pinigų, kad sukonstruotų rimtesnį robotą, nei pakankamai kantrybes, kad ilgesnį laiką ieškoti iškilusių problemų sprendimo.


Pav. 1. Primityvaus roboto schema

Pamėginsime išanalizuoti dabartinę situaciją. Robotų konstravimas nėra populiarus Lietuvoje dėl kelių priežasčių:

  1. Pardavime nėra reikalingų detalių. Jei kas ir yra parduodama, kainos yra pakankamai aukštos. Užsienio internetinėse parduotuvėse yra visko, bet detalių kaina su siuntimų ir muito mokesčiais visai nedžiugina. Vieno variklio kaina gali siekti kelis šimtus litų, o vieno daviklio kaina taip pat nebūna mažesne. Žmogus, tik pradedantis domėtis robotais, negali sau leisti tokių išlaidų, nes jis nėra tikras, kad nupirks tinkamą detalę. Nors ir tiksliai žinant, ko reikia, dėl aukštų kainų nedažnai tenka užsakinėti detales iš užsienio.
  2. Nėra pakankamai informacijos lietuvių kalba. Didžioji dalis informacijos, susijusios su robotais, yra anglų ir rusų kalbomis. Įdomiu ir vertingų straipsnių yra tiek daug, kad net pačius geriausius neįmanoma išversti į lietuvių kalbą, nes jų sąrašas užimtų ne vieną lapą.
  3. Robotų konstravimą suaugę žmones laiko vaikų žaidimais. Daugelis pradedančiųjų robotų konstruktorių yra labai jauni, be patirties elektronikoje. Dažnai jie neobjektyviai įvertina savo sugebėjimus ir iš karto imasi per daug sudėtingų projektų, todėl didžioji dalis tokių sumanymų taip ir lieka neįgyvendinti.
  4. Mano žiniomis, Lietuvoje nėra nei vieno fiziškai egzistuojančio robotu entuziastų klubo, kur žmones galėtų susitikinėti, dalintis idėjomis, pasiekimais ir tokiu būdu palaikyti vieni kitus. Virtuali robotų konstruktorių susitikimo vieta yra adresu Biteplius.lt -> Elektronikos klubas -> Robotų kūrimas temoje.

Jūs manote, padėtis beviltiška? Labai klystate. Išeitį jau seniai rado amerikiečiai, kai pradėjo gaminti „roboKITus“. Tai detalių rinkinys, iš kurio per pora vakarų galima surinkti robotą, pilnai paruoštą, pavyzdžiui, Minisumo varžyboms. Komplekte – programinė įranga, su kuria galima be jokių programavimo žinių išmokyti robotą judėti ringe. Žmogus, nieko bendro neturintis su elektronika ir programavimu, nusiperka „roboKITą“ ir per savaitė jis jau gali dalyvauti varžybose. Neoriginalu, bet paprasta ir greita. Žmogus be pasiruošimo surenka toki robotą, sudalyvauja varžybose, gauna gerą dozę teigiamų emocijų. Jis mato, kad gali tai padaryti, įgauna pasitikėjimo savo jėgomis. Didelė tikimybė, kad jis norės patobulinti savo robotą, pradės ieškoti informacijos, mėgins giliau suprasti jo veikimą. „RoboKITas“ suveikė!

Susipažinkite – „99 litų botas“

Kodėl gi „roboKITai“ nėra populiarūs pas mus Lietuvoje? Atsakymas labai paprastas – kaina. „Parallax“ „roboKITas“ kainuoja nuo 150 doleriu, kiti – dar brangesni. Maža to, jų nėra pirkti Lietuvoje. Reikia pripažinti, sunku įkalbėti tėvus išleisti 500 litų „kažkokioms nesąmonėms“. Jūs vėl manote, kad padėtis beviltiška? Jau supratote, kad vėl suklydote... Aš pamėginsiu pasiūlyti paprastą „roboKITą“, prieinamą kiekvienam moksleiviui. Jis vadinasi „99 litų botas“ ir buvo kuriamas pagal tris pagrindinius kriterijus:

  1. Visas detales galima būtų nusipirkti Lietuvoje.
  2. Bendra detalių kaina būtų iki 100 Lt.
  3. Būtų prieinamos aiškios schemos ir instrukcijos.

Tai nėra komercinis produktas, todėl jis neturi nei plataus sensorių asortimento, nei daugybes paruoštų programų. Kai kam jis gali pasirodyti per daug primityvus, bet jis leis jums neskausmingai ir be didelių finansinių išlaidų prisiliesti prie nuostabaus robotų pasaulio, susidraugauti su mikrovaldikliais. Tai tikras robotas, kuris pralinksmins jus, jūsų artimuosius ir bendraklasius. Jis turi du variklius ir ratus iš CD diskų. Jo akys – infraraudonųjų spindulių sensoriai, o jo smegenys – paprastas ir greitas mikrovaldiklis.

„99 litų botas“ gali:

  1. Važiuoti pirmyn ir atgal, suktis i šonus.
  2. Sekti jūsų ranką arba bėgti nuo jos.
  3. Blaškytis po kambarį, mėginant išvengti susidūrimu su baldais bei sienomis.
  4. Važinėti po stalą ir stengtis nenukristi nuo jo.
  5. Būti valdomas standartinių nuotolinio valdymo pultelių.

Jis yra daug įdomesnis už žaisliukus iš prekybos centrų, nes jo elgesys priklauso tik nuo jūsų fantazijos ir išradingumo. Jūs dar bijote žodžio „mikrovaldiklis“? Nusiraminkite, šiais laikais mikrovaldiklių programavimas nereikalauja nei brangios įrangos, nei ypatingų sugebėjimų, tik truputį kantrybės. Aš pasistengsiu kuo išsamiau aprašyti kiekvieną „99 Lt boto“ gamybos etapą.

Reikalingi sugebėjimai

  • Mokėti naudotis lituokliu ir multimetru.
  • Bent jau minimalios žinios elektronikoje: mokėti atskirti maitinimo + nuo - , diodo anodą nuo katodo.
  • Jei jūs nežinote, kas yra multimetras ir katodas, geriau susilaikykite nuo „99 litų boto“ gamybos, nes nuostoliai nuo jūsų veiklos gali žymiai viršyti šimtą litų. Pasigilinkite savo žinias arba susiraskite daugiau patyrusi elektronikoje draugą – ir grįžkite – robotai laukia!

PRISIMINKITE: „99 litų boto“ ir „penkių laidukų“ programatoriaus schemos yra daug kartų patikrintos ir, jei surinktos be klaidų, – garantuotai veikia. Aš neprisiimu jokios atsakomybes už bet kokius materialinius ar kitokius nuostolius, atsiradusius dėl jūsų klaidų ar neapdairumo.

Detalių pirkimas

Pilną detalių sąrašą jūs rasite straipsnio pabaigoje ir failų archyve. Visos „99 lt boto" gamybai reikalingas detales galima nusipirkti Lietuvoje apytiksliai už šimtą litų. Naujokams tai gali kainuoti truputį brangiau, nes reikės pirkti kiekvieną varželę, kiekvieną kondensatorių. Elektronikos mėgėjai, turintys daug smulkių detalių namuose, tikrai sutilps į šimtą litų. Elektronikos komponentų parduotuvės (pvz., www.lemona.lt, www.evita.lt) ir parduotuves RC modeliuotojams (pvz., www.rcshop.lt, www.modelis.lt) yra daugelyje miestų. Jei jūsų mieste jų nėra, per internetą užsakytos prekės parneš jums namo už standartinį 10–15 t pristatymo mokestį. Kad apmokėti sąskaitą internetu, gali prireikti tėvų pagalbos, bet apmokėjimo procedūra yra labai paprasta. Galima naudoti praktiškai bet kokio banko debetines korteles, į kurias daugeliui žmonių yra pervedami atlyginimai. Arba galima susimokėti pašte ar banke grynais, atspausdinus mokėjimo nurodymą, kurį jūs gausite užsakius prekes.

Maitinimas

Kiekvieno gero roboto pagrindas – tinkamai parinktas maitinimo šaltinis. Ličio-polimero („LiPo“) akumuliatoriai yra nepakeičiami, konstruojant nedidelius robotus. Jie yra labai lengvi, užima mažai vietos. Būkite atsargūs su „LiPo“ – neleiskite jiems per daug išsikrauti. „99 litų botas“ neturi akumuliatoriaus įtampos stebėjimo funkcijos, todėl reikia nepamiršti REGULIARIAI krauti akumuliatorių ir VISADA jį atjungti nuo schemos, kai robotas išjungiamas. Tam užtikrinti „99 litu botas“ neturi maitinimo jungiklio –būsite priversti atjungti akumuliatoriaus jungtį nuo schemos, jei norėsite išjungti robotą. Priešingu atveju, jūs rizikuojate nepataisomai sugadinti akumuliatorių. Tai ne „99 litų boto“ kaltė, tai tiesiog visų „LiPo“ savybė. Ir nesakykite, kad aš jūsų neperspėjau. Tai patirtis, kuri kainavo man realius pinigus, o jūs ją gaunate už dyką.

Dažniausiai „LiPo“ akumuliatoriai turi balansavimo jungtį ir „Power“ laidus. „Power“ laidai (storesni) jungiami prie „99 litų boto“ schemos įėjimo. Balansavimo jungtis yra skirta TIK krovimui su specialiu pakrovėju. RC modeliuotojų parduotuvėse galima rasti nebrangių „LiPo“ pakrovėjų (pvz., „E-sky“), kurie puikiai tinka „99 litų boto“ akumuliatoriui krauti. „E-sky“ neturi maitinimo šaltinio. Galima nusipirkti stabilizuotą 1 ampero, 12 voltų maitinimo šaltinį, bet pigesnis variantas būtų naudoti kompiuterio maitinimo bloko laisvą „molex“ jungtį. Tiesiog pajungiame raudoną „E-sky“ „krokodilą“ prie PC „molex“ jungties geltono laido, o juodą „krokodilą“ – prie „molex“ juodo laido (bet kokio iš dviejų). Tokiam pajungimui puikiai tinka jungtis nuo PC papildomų ventiliatorių.


Pav. 2. „E-sky“ pakrovėjo pajungimas

Jūs galite naudoti bet kokios chemijos akumuliatorius (NiCd, NiMh). Tai gali būti baterija iš radijo bangomis valdomo žaislo ar kt. Svarbu, kad bendra baterijos įtampa butu >7 V, nes kitu atveju įtampos reguliatoriai negales palaikyti 5 V savo išėjimuose.

Sensoriai

Infraraudonųjų spindulių sensoriaus veikimas plačiai aprašytas straipsnyje „Padovanokite savo robotui regėjimą!“. „99 litų botas“ naudoja tokiu pat principu veikiantį sensorių, skiriasi tik konstrukcija. Kairėje ir dešinėje pusėje yra TSOP1738 TV imtuvai. Kiekvienas imtuvas turi po du jam priklausančius infraraudonųjų spindulių siųstuvus (IR diodus). IR diodų spinduliavimas atsispindi nuo objektų ir patenka į imtuvus. „99 litų botas“ gali atskirti, kur yra kliūtis – kairėje, dešinėje, ar centre.

Priklausomai nuo sensorių parodymų, „99 litų botas“ gali atlikti iš anksto nustatytus veiksmus - atsitraukti, priartėti, pasisukti. Jei sensorius pakreipsime žemyn, „99 litų botas“ galės matyti stalo kraštą ir atitinkamai elgtis (nenukristi nuo stalo). Sensorių jautrumas reguliuojasi su potenciometrais atskirai kairei ir dešinei pusei. Mažindami potenciometrų varžą, mes didiname srovę per IR diodus, tuo didindami jų spinduliavimo stiprumą. Kuo stipresnis spinduliavimas, tuo ilgesnė bus „99 litų boto“ matymo zona, ir atvirkščiai. Sensorių būsenų vizualinei kontrolei yra du šviesos diodai – kairei ir dešinei pusei. Tai labai palengvina sensorių jautrumo derinimą. Atitinkamas šviesos diodas užsidega, kai kaires ar dešinės pusės sensorius mato objektą. Nuosekliai su potenciometrais prijungtos varžos, kad apsaugoti IR diodus ir mikrovaldiklį nuo viršsrovių. Potenciometru nominalai yra parinkti taip, kad sensorių jautrumo diapazoną galima būtų reguliuoti nuo kelių iki keliasdešimt centimetru, ko pilnai pakanka „99 litų botui“. Praktiškai, nustačius maksimalu jautrumą nedideliame kambaryje, imtuvai gaudys daugybe parazitinių atspindžių nuo sienų ir baldų. Sensoriai dirbs nestabiliai, todėl toks jų jautrumas nėra labai pageidaujamas. Tokio dydžio robotui idealus jautrumo atstumas svyruoja nuo 10 iki 20 centimetrų. Šiuo atveju robotas pakankamai patikimai matys objektus ir jam netrukdys parazitiniai atspindžiai. Atpažinimo patikimumas priklauso nuo daugelio dalykų, pavyzdžiui nuo tapetų spalvos kambaryje ir kitų iš pirmo žvilgsnio nesusijusių dalykų. Mano kovinis Minisumo botas „BADas“ naudoja tokio tipo sensorius, ir didelių problemų kol kas nebuvo pastebėta (kaip nebuvo pastebėta ir nei vieno „BADo“ oponento).


Pav. 3. BAD-minisumo

Darome schemą

„99 litų boto“ schema nėra sudėtinga. Rinksime ją ant maketinės plokštės, o reikalingus ryšius jungsime plonais laidukais. Toks būdas nėra geriausias, bet vienintelis galimas naujokams. Elektronikos mėgėjai failų archyve ras spausdintinės plokštes šabloną ir galės pasigaminti plokštę savo mėgstamų būdų – lygintuvu ar UV (vienintelis laidukas spausdintinėje plokštėje sujungia mikrovaldiklio „Reset pin1“ ir ISP jungties pirmą kojelę). Didžiausi tinginiai gali užsisakyti gatavą spausdintinę plokštę per www.modematic.lt. Bet kaip galima atsisakyti malonumo pačiam pasidaryti plokštę? Tylus vakaras, kanifolijos kvapas, mėgstama muzika – nuostabu! Aš smulkiai aprašysiu schemos gamybos žingsnius, kad palengvinti gyvenimą naujokams.


Pav. 4. „99 litų boto“ schema (padidinti)

Pav. 5. Komponentų išdėstymas (padidinti)
  1. Visų pirma išdėstome pagrindinius komponentus – valdiklį, TSOP imtuvus, IR diodus ir jungtis servo varikliams bei maitinimui.
  2. Kiek galima arčiau TSOP imtuvų kojelių sumontuojame maitinimo filtrus – R7, R8, C7, C8.
  3. Sumontuojame pirmą 5 V reguliatorių (7805L) su triukšmu slopinimo kondensatoriais C4, C5 ir apsauginiu diodu D1. Prie reguliatoriaus išėjimo prijungiame TSOP imtuvų bei mikrovaldiklio maitinimą.
  4. Sumontuojame antrą 5 V reguliatorių ir apsauginį diodą D2. Prie reguliatoriaus išėjimo pajungiame servo variklių maitinimą. Atskiras reguliatorius varikliams reikalingas tam, kad sumažinti triukšmų lygį mikrovaldiklio maitinimo grandinėje. Jeigu jūs turite maitinimo jungtį su apsauga nuo atvirkštinio pajungimo, diodai D1 ir D2 nėra būtini. Tokiu atveju maitinimo + nuo akumuliatoriaus junkite tiesiai prie 5 V reguliatorių įėjimų.
  5. Sumontuojame valdiklio „Reset“ grandinę – R3,C1, prilituojame 10 MHz kvarcinį rezonatorių bei C2, C3 kondensatorius.
  6. Pajungiame ISP programavimo jungtį prie valdiklio. Pastaba – ISP jungties laidų išdėstymas neatitinka standarto. Elektronikos mėgėjai per 5 minutes galės pakoreguoti ISP jungtį x.LAY faile pagal savo turimo programatoriaus laidų išdėstymą. Naujokams tai neaktualu – juk teks gaminti ir programatorių, ir schemą.
  7. Sumontuojame imtuvų būsenų vizualines indikacijos šviesos diodus „Right_Detect“, „Left_Detect“ ir pajungiame juos per R4, R5 prie atitinkamų mikrovaldiklio kojelių.
  8. Prijungiame TSOP imtuvų išėjimus prie mikrovaldiklio atitinkamų kojelių.
  9. Prijungiame valdymo laidus nuo servo variklių jungčių prie mikrovaldiklio atitinkamų kojelių.
  10. Dabar prie mikrovaldiklio per potenciometrus P1, P2 ir varžos R1, R2 pajungiame infraraudonųjų spindulių diodus „IR_Right1“, „IR_Right2“, „IR_Left1“, „IR_Left2“.
  11. Su multimetru keletą kartų patikriname visus ryšius.
  12. Be klaidų sulituota schema yra paruošta valdiklio programavimui ir po programavimo pasileidžia iš karto.

Patarimai:

  1. Su plona adatėle nuvalome kanifolijos pėdsakus tarp visų gretimų litavimo taškų. Tai padės įsitikinti, kad schemoje nėra nepageidaujamų trumpų jungimų.
  2. Mikrovaldiklį patariu nelituoti tiesiai į plokštę, o naudoti lovelį. Reikalui esant, valdiklį galima bus lengvai išimti.
  3. Pirmą įjungimą patariu daryti su išimtu iš lovelio valdikliu ir be servo variklių. Pajungus maitinimą, su multimetru pamatuojame valdiklio maitinimo įtampą tuščiame lovelyje (turi būti 5 V), taip pat servo variklių maitinimo įtampą (turi būti 5 V). Taip jūs nesudeginsite mikrovaldiklio ir servo variklių, jei schemoje liko klaidų ar trumpų jungimų.
  4. TSOP imtuvams gamintojas rekomenduoja naudoti paprastus maitinimo filtrus – R7, R8, C7, C8. Jie nėra būtini, bet pradėti geriau su jais. Kai schema pasileis, galima bus pamėginti tuos filtrus pašalinti, bet aš to nepatarčiau daryti, nes gali nukentėti TSOP imtuvų darbo stabilumas.
  5. Ant IR diodų patariu užmauti juodo termovamzdelio gabaliukus, o jų galinę dalį uždažyti su juodu markeriu. TSOP imtuvu galinę dalį ir šonus apklijuoti su stora juoda izoliacija. Vėliau galėsite pamėginti nuimti termovamzdelius ir izoliaciją – greičiausiai imtuvai bus pastoviai suveikę, nes jie gaudys IR spinduliavimą tiesiai iš IR diodų, o ne atspindžius nuo kliūties.
  6. Patariu palikti šiek tiek ilgesines TSOP imtuvų ir IR diodų kojeles, kad nuo plokštes jie pakiltu per 2–4 mm. Tai leis mums pakreipti juos žemyn, kai norėsime paeksperimentuoti su stalo krašto atpažinimu.

Pav. 6. Paruošta plokštė (padidinti)

Sveikinu – šiame etape jūs jau turite be klaidų surinktą „99 litų boto“ schemą ir esate pasiruošę mikrovaldiklio programavimui.

Mikrovaldiklis

Jums įdomu, kodėl „99 litų boto“ smegenims buvo parinktas būtent „Attiny2313“? Turbūt todėl, kad pas mane yra jų perteklius. Juokauju :-) AVR šeimos mikrovaldikliai yra labai populiarūs visame pasaulyje. Jie teoriškai atlaiko iki 10000 perprogramavimo ciklų ir juos galima programuoti, neišimant iš schemos, todėl jūs galite nebijoti eksperimentuoti su jais. „Attiny2313“ – puikus šios šeimos atstovas – mažas, pigus ir galingas. Aš neminėsiu visų jo galimybių – tai galima sužinoti iš dokumentacijos. Čia jums labai pravers anglų kalbos žinojimas.

Mikrovaldiklis pagal programą valdys servo variklius priklausomai nuo sensorių būsenų. Tam reikia parašyti programą ir užprogramuoti valdiklį. Jūs jau panikuojate? Nusiraminkite – pirmam „99 litų boto“ paleidimui jums nereikės rašyti programos. Tai jau padaryta. Keletą paruoštų programų („BascomAVR“ kodą ir sukompiliuotus HEX failus) jūs rasite failų archyve. Savo programos rašymui (ar jau paruoštos programos modifikavimui) gali būti naudojamos įvairios darbo aplinkos. „99 litų boto“ programavimui mes naudosime „BascomAVR“ darbo aplinką. Tai labai patogi, intuityviai suprantama aplinka. Nemokama „BascomAVR“ versija leidžia kompiliuoti iki 4 KB kodo. „Attiny2313“ turi 2 KB atminties, todėl nemokamos versijos pilnai pakanka. Programos yra rašomos „Basic“ kalba. „Basic“ – labai protingas pasirinkimas naujokams. Jis leidžia susikoncentruoti užduočiai ir per daug nesijaudinti dėl sintaksės.

Programos įkėlimui į mikrovaldiklio atmintį jums prireiks programatoriaus. Tam gali būti naudojamas bet koks turimas programatorius. Jei neturite jokio – per 10 minučių galite jį pasidaryti. Pats paprasčiausias programatorius – tai „penki laidukai“. Toks programatorius puikiai tinka naujokams. Jis jungiasi prie kompiuterio LPT prievado. Elektronikos mėgėjams galiu parekomenduoti „AVR-Doper“ programatorių. Jis jungiasi į USB portą ir gali būti naudojamas kompiuteriuose, kuriuose nėra LPT prievado. Bet jame naudojama „Atmega8“ vis tiek reikės programuoti su „penkiais laidukais“ ar su kitokiu jau turimu programatoriumi.


Pav. 7. Programatorius (padidinti)

Mikrovaldiklio programavimas „Bascom“ aplinkoje:

(pastaba: nuo šiol „fusebitų“ programavimas tapo žymiai paprastesnis ir saugesnis - skaitykite priedą failų archyve)

  1. Paleidžiame „BascomAVR“.
  2. Per Meniu->Options->Programmer pasirenkame „Sample Electronics Programmer“, pažymime „Autoverify“ langelį ir spaudžiame OK.
  3. Per Meniu->Open file užkrauname reikiamą BAS falią. Pirmą kartą programuojant mikrovaldiklį, pasirinkite FIRST-TEST.BAS.
  4. Pajungiame programatoriaus laidą prie roboto ISP jungties ir patikriname, ar schemai pajungtas maitinimas. Servo variklius geriau atjungti.
  5. Spaudžiame piktogramą „Compile current file“ (F7) ir po to – „Run programmer“ (F4) ->Program.
  6. Atsidarys programavimo langas ir mikrovaldiklis bus identifikuotas.
  7. Programavimo lange spaudžiame „AutoProgram chip“ – programa bus įrašyta į mikrovaldiklio atmintį.
  8. Neuždarome lango, spaudžiame „Lock and Fuse Bits“ – bus išvestas valdiklio „fusebitų“ sąrašas.
  9. Nustatome „FusebitC“ = „Divide clock by 8 disabled“.
  10. Nustatome „FusebitA987“ = „1111 external XTAL“.
  11. Įsitikinkite, kad „fusebitų“ reikšmės nustatytos teisingai ir jokie kiti fusebitai nebuvo pakeisti. Jei nesate tikras, tiesiog uždarykite programavimo langą ir pradekite iš naujo. SVARBU: vienas „Write FS“ paspaudimas su neteisingai nustatytais fusebitais gali kainuoti jums iki 10 litų (mikrovaldiklio kaina). Jį išimti ir pakeisti nauju bus lengva, juk jūs naudojate lovelį). Susikaupkite ir nepridarykite sau nuostolių.
  12. Spaudžiame „Write FS“ – naujos „fusebitų“ reikšmės bus įrašytos į mikrovaldiklį.
  13. Spaudžiame „Refresh“ ir patikriname, ar tikrai pakeitimai buvo sėkmingai išsaugoti.
  14. Viskas – mikrovaldiklio programavimas ir „fusebitų“ nustatymas atlikti teisingai.

Pav. 8. „Bascom“ programavimas 1 (padidinti)

Pav. 9. „Bascom“ programavimas 2 (padidinti)

Patarimai, programuojantiems mikrovaldiklį:

  1. Neskubėkite. Dėl neapdairaus mygtukų spaudinėjimo jums gali tekti pirkti kitą mikrovaldiklį, o tai neįeina į jūsų planus, ar ne?
  2. Parsisiųskite naujausią „BascomAVR“ demo versiją iš www.mcselec.com.
  3. Servo variklių dar nejunkite, schema veiks ir be jų.
  4. PRISIMINKITE: be klaidų surinktoje schemoje programatorius IŠ KARTO pamatys ir teisingai identifikuos valdiklį, paspaudus mygtuką „Program“.
  5. SVARBU: kartuoju, nekeiskite „fusebitų“, jei tiksliai nežinote, ką jie reiškia. Priešingu atveju jūs galite užblokuoti mikrovaldiklį ir nesugebėsite jo atgaivinti be patyrusio žmogaus pagalbos. „99 litų boto“ valdikliui reikia pakeisti tik du „fusebitus“ „FusebitC“ ir „FusebitA987“ (žr. paveiksliuką).
  6. Viena kartą atlikus „fusebitų“ nustatymą, daugiau to daryti nereikės. Norint įkelti kitą programą į mikrovaldiklio atmintį, „BascomAVR“ darbo aplinkoje reikia atlikti žingsnius nuo 3 iki 7 (žr. „Mikrovaldiklio programavimas“), pasirenkant reikalingą BAS failą.

Galimos problemos ir jų sprendimai:

  1. Programatorius nemato valdiklio. Gauname pranešimą „Could not identify chip xxxxxx“.
    1. SVARBU - dar karta įsitikinkite, kad „99 litų boto“ schemoje nėra klaidu;
    2. Patikrinkite, ar teisingai ir be klaidų surinktas programatorius „penki laidukai“, ar jungtis nėra apsukta;
    3. Patikrinkite, ar užmaitinta „99 litų boto“ schema;
    4. Patikrinkite, ar teisingai nurodytas programatoriaus tipas ir LPT prievado adresas „BascomAVR“ nustatymuose (žr. paveiksliukus);
    5. Pasitikrinkite kompiuterio BIOS nustatymus. Pamėginkite pakeisti „LPT port mode“. Pas mane veikia su „Mode=SPP“, bet gal jums padės EPP ar ECP;
    6. My Computer->Properties->Hardware->Device Manager pasitikrinkite, ar LPT prievadas matomas ir neišjungtas;
    7. Jei niekas nepadeda, pamėginkite pajungti programatorių prie kito kompiuterio, arba su kita operacine sistema;
    8. Jokių duomenų apie „BascomAVR“ suderinamumą su „Windows Vista“ aš neturiu. Pasitikrinkite savo „BascomAVR“ versijos palaikomų operacinių sistemų sąrašą.
  2. Programavimo pabaigoje matome pranešimą „Difference at address: xxxxxx“.
    1. Nepanikuokite;
    2. Pamėginkite tiesiog dar keletą kartų paspausti „Program chip“;
    3. Tokia klaida dažniausiai atsiranda dėl per ilgo programatoriaus kabelio (jis turi būti <50 cm ir gerai ekranuotas). Patrumpinkite kabelį, naudokite ekranuotą kabelį;
    4. Dar viena galima priežastis - per greitas kompiuteris. Einame į BascomAVR->Options->Programmer ir parenkame „Port delay“ > 0, pvz., 10. Paeksperimentuokite, tai turėtu padėti. Neišsigąskite, jei programavimas vyks pastebimai ilgiau, taip turi būti.
  3. Schema neveikia po programavimo.
    1. Patikrinkite, ar schema užmaitinta, ar akumuliatorius pilnai pakrautas;
    2. Pajungus maitinimą, penkis kartus 1 s intervalu turi sumirksėti dešiniojo sensoriaus šviesos diodas. Tai rodo, kad valdiklis yra užprogramuotas teisingai;
    3. Jei šviesos diodas visai nemirksi, bet valdiklis užprogramuotas – patikrinkite, ar diodas prijungtas prie teisingos valdiklio kojeles ir ar neapverstas antraip (katodas sumaišytas su anodu);
    4. Jei šviesos diodas mirksi žymiai ilgesniais negu 1 s intervalais, tai rodo, kad jūs neteisingai užprogramavote „fusebitus“. Pasitikrinkite „fusebitų“ nustatymus (žr. paveiksliuką);
    5. Laikant ranką ~5–20 cm atstumu nuo sensorių, imtuvų būsenų vizualinės indikacijos šviesos diodai užsidega - sensoriai „mato“ kliūtį. Atitraukus ranką, diodai užgęsta – kliūties nėra. Atpažinimo atstumo reguliavimas yra atliekamas su P1, P2 potenciometrais. Paeksperimentuokite su jais, kad suprasti jų veikimą;
    6. Per skaitmeninį fotoaparatą ar mobilaus telefono fotokamerą pažiūrėkite į infraraudonųjų spindulių diodus. Jei schema užmaitinta, jūs matysite nelabai ryškų mirksėjimą. Geriausiai tai matoma prieblandoje. Jei IR diodai visai nemirksi, patikrinkite, ar jie nėra apversti antraip (sumaišyti katodai su anodais), ar prijungti prie teisingų valdiklio kojelių. Pasukite derinimo potenciometrus į vieną kraštinę padėtį, paskui į kitą. Vienoje iš padėčių spinduliavimas bus ryškesnis ir geriau matomas.

Sveikinu – šiame etape jūs jau turite veikiančią „99 litų boto“ schemą su valdiklyje įrašyta FIRST-TEST valdymo programa.

Varikliai ir ratai

„99 litų botas“ naudoja pačią paprasčiausią diferencinę pavarą. Tai reiškia, kad kiekvienas iš dviejų varomųjų ratų turi atskirą variklį. Kad robotas pajudėtų, kiekvienas variklis turi gauti valdymo signalą iš mikrovaldiklio. Servo varikliai buvo parinkti dėl jų paprasto valdymo ir platus jų asortimento RC modeliavimo parduotuvėse. Už 24 litus gauname variklį su reduktoriumi ir valdymo schema (viskas viename kompaktiškame korpuse). Atskira išorine variklių valdymo mikroschema tampa nebereikalinga, servo variklio valdymo laidas gali būti jungiamas tiesiai prie mikrovaldiklio kojeles. Tai yra didelis privalumas, nes atskiras variklių kontroleris (pavyzdžiui L293D) gali atnešti naujokui daug galvos skausmo.

Servo varikliai nelabai tinka robotams dėl lėtų apsukų ir sąlyginai didelio triukšmo lygio, bet gauti gerą nuolatines sroves mikrovariklį su reduktoriumi yra praktiškai neįmanoma, todėl geriau lėčiau, negu nieko. Aš nesigilinsiu į teoriją, tik trumpai paminėsiu atskirus aspektus.

Servo varikliai yra valdomi impulsais. Impulso plotis nusako servo varikliui, į kurią pusę ir kokiu kampu pasisukti. Reikiamo dažnio valdymo impulsus generuoja roboto mikrovaldiklis. Programoje, keičiant vienintelio registro reikšmę, mes keičiame generuojamų impulsų plotį (angl. duty cycle) ir tokiu būdu nurodome kiekvienam varikliui sukimosi kryptį, priklausomai nuo norimo veiksmo konkrečioje situacijoje. Kadangi standartiniai servo varikliai gali suktis tik 180 laipsniu kampu, juos reikia perdaryti, kad jie galėtų suktis 360 laipsniu kampu. Perdarymo procedūra yra labai nesudėtinga. Ji gali truputį skirtis skirtingiems servo modeliams, jos tikslas – nutraukti mechaninį ryšį tarp potenciometro ašies ir pagrindinio dantračio, taip pat panaikinti mechaninį posūkio kampo ribotuvą. Faktiškai, panaikinus grįžtamąjį ryšį, servo variklis tampa paprastu nuolatines sroves varikliu. Perdarymo proceso vaizdo įrašas – servo_variklio_perdarymas.wmv [7,41 MB].

„TowerPro SG5010“ servo variklių perdarymas:

  1. Atsukti korpuso varžtus ir atsargiai nuimti dangtelį. Tam reikės šiek tiek jėgos, tik pasistenkite neišbarstyti dantračių.
  2. Iš didžiausio dantračio išimti plastmasinę mažytę detalę, kuri sujungia potenciometro ašį su dantračiu.
  3. Su pjūklu padaryti išpjovą ant potenciometro ašies.
  4. Plonu grąžtu (2 mm) kiaurai pragręžti pagrindini dantratį, kad vėliau galima butu su plonu atsuktuvėliu sukinėti potenciometrą neardant korpuso.
  5. Su kanceliariniu peiliu nupjauti plastmasinį posūkio kampo ribotuvą nuo pagrindinio dantračio.
  6. Surinkti viską atgal ir užsukti korpuso varžtus.

Pav. 10. Servo varikliu perdarymas 1 (padidinti)

Pav. 11. Servo varikliu perdarymas 2 (padidinti)

Visa tai užima nuo dešimties minučių iki valandos. Po perdarymo servo varikliai yra paruošti jungimui prie mikrovaldiklio. Servo pajungimo laidas yra trijų gyslų. Spalvos nusako jų paskirtį ir gali skirtis priklausomai nuo gamintojo. „TowerPro SG5010“ markiruotė: Rudas – Maitinimas(-), Raudonas – Maitinimas(+), Oranžinis – Valdymas (tiesiai prie mikrovaldiklio kojelės). Servo variklių specifikacijose nurodoma 4–7 V darbinė įtampa. Jums gali kilti idėja užmaitinti servo variklius tiesiai nuo akumuliatoriaus, kad „paturbinti“ robotą, bet būkite atsargūs – nemėginkite paduoti servo varikliams pilnos akumuliatoriaus įtampos. Tikimybe sudeginti variklius yra beveik 100%.

„99 litų boto“ ratams puikiai tinka nereikalingi ar sugadinti „miniCD“ diskai. Kiekvieno „TowerPro SG5010“ servo variklio komplekte yra keli skirtingų formų montažiniai flanšai. Vienas iš jų, apvalus, idealiai įsistato į CD disko griovelį (tiesa, ne į kiekvieno, iš mano turimu penkių „miniCD“ tiko tik trys). Tokiu būdu gaunasi praktiškai idealus rato centravimas. Patariu flanšo pirminiam fiksavimui naudoti dvipusę lipnią juostą. Kai centravimas atliktas, belieka tvirtai užfiksuoti mūsų konstrukciją su karštais klijais.


Pav. 12. CD ratai (padidinti)

Improvizuotoms padangoms galima naudoti seną pelės kilimėlį. Pjaunant jį įstrižai, gaunamų juostelių ilgio kaip tik užtenka apgaubti „miniCD“ diską. Prapjaukite juostelę išilgai per vidurį iki puses gylio. Užmaukite ja ant CD disko briaunos ir užfiksuokite su klijų lašiuku ties sudūrimu. Jei rezultatas jūsų netenkina, galite pamėginti priklijuoti antrą diską prie flanšo išorines puses. Gausis platus „dvigubas“ ratas, ant kurio bus lengviau pritvirtinti padangą. Jei peles kilimėlis netinka – panaudokite savo vaizduotę, gal būt sau po kojomis rasite geresnę medžiagą ratų padangoms. RC modelių parduotuvėse yra nebrangių, lengvų, įvairiu dydžių ratų lėktuvėliams. Jie puikiai tiks „99 litų botui“, jei nenorite patys daryti ratų.

Sveikinu – jūs sėkmingai atlikote servo variklių perdarymo procedūrą. Dabar varikliai su ratais yra paruošti jungimui į „99 litų boto“ schemą.

Darome platformą

„99 litų boto“ bazei surandame plastiko ar panašios medžiagos plokštę. Tai platforma, prie kurios mes tvirtinsime servo variklius ir schemą. Jos matmenys gali būti apytiksliai 100 x 100 mm, bet galimi variantai. Plotis turi būti pakankamas, kad tilptų du servo varikliai ir schema. Servo variklių pirminiam tvirtinimui naudosime dvipusę lipnią juostą. Kai varikliai bus gerai išlyginti ir sureguliuoti, galima bus su keliais lašiukais karštų klijų užfiksuoti jų padėtį. Karšti klijai yra nepakeičiamas dalykas konstruojant robotus. Su jais galima greitai ir tvirtai sujungti įvairias detales. Jei dar neturite karštų klijų pistoleto, patariu nusipirkti – jis kainuoja nuo 10 iki 25 litų ir tikrai jums pravers ateityje.

Roboto stabilumui reikalingas trečias atramos taškas (du atramos taškai – ratai). Jo parinkimas priklauso nuo jūsų fantazijos ir išradingumo. Tai gali būti tiesiog tinkamo ilgio atrama su stalo teniso kamuoliuku ant galo. Kamuoliukas gali būti standžiai pritvirtintas prie atramos. „99 litų botas“ geriausiai jausis ant stalo paviršiaus, laminuotu grindų ar nelabai minkšto kilimo, todėl kamuoliukas pakankamai gerai slys tokiu paviršiumi. Aš panaudojau priekinę dalį nuo žaislinės mašinėles.

Prie platformos (sensoriais į priekį) pritvirtiname schemą. NENAUDOKITE karštų klijų, nes schema turi būti nesunkiai nuimama nuo roboto. Geriausiai pradžiai naudoti lipnią juostą. Vėliau galėsite sugalvoti gražiai atrodančius tvirtinimus.

Atidžiai (atsižvelgiant i poliarumą) prijunkite servo variklius prie schemos. Pajungus schemai maitinimą, servo varikliai pradės suktis. Nekreipkite dėmesio į jų sukimosi kryptį. Dabar reikia atlikti servo variklių centrinių taškų nustatymą. Šio proceso vaizdo įrašas – centrinio_tasko_nustatymas.wmv [2,6 MB].

Servo variklių centrinių taškų nustatymas:

  1. Įjungiame schemą ir nukreipiame „99 litų botą“ taip, kad abudu jo sensoriai „nematytu“ kliūties, t. y., abiejų pusių imtuvu būsenų vizualines indikacijos šviesos diodai užgęsta. Plonu atsuktuvėliu atsargiai pareguliuojame kiekvieno servo variklio potenciometrą, kad ratai nesisuktų.
  2. Uždengiame TIK kairės pusės sensorių (kairės pusės šviesos diodas užsidegs). Kairės pusės variklis turi suktis atgal, dešinės puses variklis – į priekį.
  3. Uždengiame TIK dešinės pusės sensorių (dešinės pusės šviesos diodas užsidegs). Dešinės pusės variklis turi suktis atgal, kairės pusės variklis – į priekį.
  4. Uždengiame abiejų pusių sensorius (kairės ir dešinės pusės šviesos diodai užsidegs). Dabar abiejų pusių varikliai turi suktis į priekį.
  5. Pastatykite „99 litų botą“ ant lygaus paviršiaus ir parodykite jam delną. Jis mėgins atakuoti jūsų ranką ir sekti ją, kai jūs patrauksite ranką į kaire ar į dešinę puse.

Galimos problemos ir jų sprendimai:

  1. Varikliai išvis nesisuka ir neskleidžia jokių garsų, nepriklausomai nuo sensorių būsenų.
    1. Patikrinkite, ar oranžiniai servo variklių valdymo laidai prijungti prie teisingų mikrovaldiklio kojelių;
    2. Patikrinkite, ar prie servo variklių raudono ir juodo laidų ateina 5V.
  2. Varikliai nesisuka arba sukasi su strigimais, girdisi tarškėjimai.
    1. Patikrinkite, ar teisingai surinkote servo variklius po perdarymo;
    2. Patikrinkite, ar nesugadinti dantračių dantukai, ar nupjauto fiksatoriaus liekanos neužsikabina už gretimo dantračio, ar tarp dantračiu nėra šiukšlių;
    3. Patikrinkite, ar prie servo variklių raudono ir juodo laidų ateina 5 V.
  3. Varikliai sukasi gerai, bet ne į reikiamą pusę.
    1. Pamėginkite apversti servo variklius, kol rasite reikiama jų padėtį;
    2. Pajunkite variklius teisingai: kairės pusės variklį prie „99 litų boto“ schemos kairiosios jungties, o dešinės puses variklį – prie dešiniosios puses jungties.
  4. Variklių 5 V reguliatorius įkaista.
    1. Pritvirtinkite prie jo aušinimo radiatorių. TO-220 korpusui yra didelis radiatorių pasirinkimas, kaina nuo 80 centų. Radiatorių galite pasidaryti ir patys iš aliuminio arba varinio lakšto gabaliuko.

Sveikinu – jūs sėkmingai surinkote ir užprogramavote „99 litų botą“. Visi roboto mazgai veikia ir pagaliau...

Prasideda veiksmas

„99 litų botas“ atrodo nelabai įspūdingai, bet tai – TIKRAS ROBOTAS. Jo elgesys priklauso nuo mikrovaldiklyje vykdomos programos. Jūs jau mokate įkelti programą į valdiklio atmintį. Failų archyve jūs rasite keletą labai paprastų jau paruoštų programų su skirtingais „99 litų boto“ elgesio algoritmais. Prisiminkite, tai ne programavimo šedevrai. Tai – pagrindas, su kurio galėsite sukurti daug sudėtingesnes programas, įgyvendinti žymiai įdomesnius valdymo algoritmus. Failus su išplėtimu HEX jūs galite iš karto kelti į valdiklio atmintį, o atitinkamus failus su išplėtimu BAS galite užkrauti į „BascomAVR“ ir pamatyti programos kodą „iš vidaus“.

Programų šablonų sąrašas:

  1. FIRST_TEST.HEX – roboto sensorių veikimo patikrinimas bei servo variklių centrinių taškų nustatymas.
  2. AGRESYVUS.HEX – atakuojame auką. Nematant objekto, „99 litų botas“ stovi vietoje. Pamačius objektą, robotas važiuoja link jo ir stengiasi nepamesti jį iš akių. Programa labai panaši i FIRS_TEST, tik posūkiai atliekami ne reversuojant ratus, o sustabdant – manevrai gaunasi sklandesni.
  3. BAILYS.HEX – slepiamės nuo priešo. Nematant objekto, „99 litų botas“ stovi vietoje. Pamačius objektą, robotas bėga nuo jo, kol nebus įvarytas į kampą ar priremtas prie sienos. Paeksperimentuokite su įvairaus dydžio, įvairių spalvų objektais. Pastebėkite, kad šviesesnes spalvos objektą robotas pamatys ankščiau, negu tamsesnes spalvos. Taip yra dėl to, kad tamsesni objektai sugeria daugiau infraraudonųjų spindulių.
  4. SMALSUS.HEX – kliūčių išvengimas. „99 litų botas“ elgsis kaip mažas šuniukas nepažįstamoje vietoje, mėgins ištyrinėti visus kambario užkampius ir neužstrigti tarp baldų ar kitokių kliūčių. Jam tai ne visada gali pavykti, bet juk jis dar jaunas ir nepatyręs robotas :-). Būkite geru mokytoju, ir „99 litų botas“ dar ne kartą nustebins jus savo (ar jūsų??) sugebėjimais. Pamėginkite nustatyti skirtingus jautrumus sensoriams, paįvairinkite labirinto geometriją, pakeiskite „Waitms“ uždelsimus programoje – ir stebėkite roboto reakciją į aplinką. Trumpas vaizdo įrašas – smalsus_suniukas.wmv [3,12 MB].
  5. ATSARGUS.HEX – stalo krašto atpažinimas. Reikia pakreipti visą schemą ~45 laipsnių kampu žemyn į priekį (galima palenkti tik pačius sensorius, bet nuo dažno lankstymo gali nulūžti imtuvų ir siųstuvų kojeles). Sensoriai sureguliuojami taip, kad „99 litų botas“ patikimai matytų stalo paviršių. Privažiavus prie stalo krašto, robotas stengsis nenukristi nuo jo. Būkite pasiruošę pagauti robotą, jei jis vis dėlto nukris. Paeksperimentuokite su schemos palenkimo kampų ir sensorių jautrumu, kad gauti patikimesnį stalo krašto atpažinimą. Pamėginkite uždengti vidurinius IR diodus su juodos izoliacines juostos gabaliukais – tai turėtu pagerinti stalo krašto atpažinimą. Trumpas vaizdo įrašas – stalo_krasto_atpazinimas.wmv [1,56 MB].
  6. ZOMBI.HEX – valdome robotą su nuotolinio valdymo pulteliu. Tinka bet kokios buitines technikos pultelis, tik svarbu, kad duomenų perdavimui jis naudotų labai paplitusį RC5 protokolą. Nukreipkite pultą į „99 litų botą“ ir valdykite jį, spaudžiant skaičių mygtukus pulte. Spaudžiant skaičius „4“ ir „6“, trumpam užsidega TSOP imtuvų būsenų vizualinės indikacijos šviesos diodai. Jei diodai nemirksi ir robotas nereaguoja į mygtukų paspaudimus, tai reiškia, kad jūsų pultelis naudoja kitą protokolą (ne RC5). Paieškokite tinkamo pultelio. Aš neturėjau galimybės įgyvendinti visus įmanomus protokolus, kadangi jų yra pakankamai daug. Vaizdo įrašas – nuotolinis_valdymas.wmv [1,56 MB].

Papildomi moduliai

Čia jūs rasite kelių patobulinimų sąrašą „99 litų botui“. Straipsnio rašymo metu, kai kurių žemiau pateiktų modulių veikimas nebuvo gerai patikrintas, o kai kurie moduliai išvis nebuvo padaryti, todėl jie nebuvo įtraukti į standartinę roboto įrangą. Be to, straipsnio apimtis ir taip yra pakankamai didelė. Internete jūs rasite daug įvairių sensorių schemų. Pasirinkite jums tinkamesnę, pasidarykite ir paeksperimentuokite.

  1. Šviesos intensyvumo sensorius. Priklausomai nuo šviesos kiekio, patenkančio i fotoelementą (ang. photocell) arba fototranzistorių , jūsų robotas gali slėptis kampuose nuo šviesos arba ieškoti šviesesnių vietų kambaryje. Mano „Mauzeris“, padarytas pagal Garreth Brawnyn „Mousey the JunkBot“ straipsnį, naudoja tokio tipo sensorius. Jis įdomus tuo, kad jo smegenys – analoginė mikroschema, o ne mikrovaldiklis. „Mauzerio“ elgesys nėra griežtai apibrėžtas ir priklauso nuo besikeičiančių aplinkos apšvietimo sąlygų. „Mauzerio“ blaškymosi po kambarį vaizdo įrašas – peles.wmv [1,32 MB].
  2. Linijos sekimo sensorius. Jis susideda iš kelių šviesos diodų (siųstuvų) ir fototranzistorių (imtuvų). Su tokiu jutikliu robotas gali sekti baltą liniją juodame fone arba juodą liniją baltame fone. Paprastesni linijos sensoriai yra derinami rankiniu būdu (potenciometrais), sudėtingesni – reguliuojasi automatiškai (naudoja analogini-skaitmenini keitikli). Patikimam linijos atpažinimui kai kurie sensoriai naudoja fiksuotą logiką, kai kurie – negriežtą logiką (angl. fuzzy logic). Yra įvairių ir pakankamai sudėtingų valdymo algoritmų, skirtų apdoroti linijos sensorių duomenis ir sekti liniją maksimaliai įmanomu greičiu.
  3. Ultragarsinis sensorius. Siųstuvas skleidžia ultragarsinio diapazono dažnį, o imtuvas priima ultragarso atspindžius nuo objektų. Atstumas iki kliūties yra proporcingas laiko tarpui tarp impulso išsiuntimo ir jo atspindžio priėmimo. Naujesnių automobilių parkavimo sistemose naudojami būtent šio tipo sensoriai. Paprasto ultragarsinio sensoriaus prototipas šiuo metu yra testuojamas mano minisumo robote „BADe“.
  4. Enkoderiai. Robotuose naudojami enkoderiai skaičiuoja ratų apsisukimus ir padeda tiksliau pozicionuoti robotą. Pavyzdžiui, jūs galite liepti savo robotui pavažiuoti vieną metrą įi priekį, pasisukti 90 laipsnių kampu ir pavažiuoti dar pusę metro. Dažniausiai enkoderiai veikia optiniu principu arba naudoja holo efekto daviklius. Geras ir visiems žinomas pavyzdys – kompiuterinė pelė (ne optinė), iš kurios galima pasidaryti paprastus enkoderius.
  5. Plataus panaudojimo sensorius. Labai įdomų projektą jūs rasite čia: http://imakeprojects.com/projects/seeing-eye-mouse/.
  6. Markovo grandinių algoritmas. Roboto veiksmai kiekvienu konkrečiu momentu priklauso ne tik nuo daviklių parodymų, bet ir nuo ankstesnių įvykių. Toks algoritmas labai pagyvina roboto elgesį, jis tampa labai panašus į gyvą sutverimą. (plačiau apie Markovo grandinių algoritmą).

Vietoj epilogo

Tikiuosi, šis straipsnis bus jums naudingas. Jo esmė keliais žodžiais:

  1. Netiesa, kad robotų konstravimas – tai labai brangiai kainuojantis užsiėmimas.
  2. Netiesa, kad mikrovaldiklių programavimas – tai nežmoniškai sudėtingas ir paslaptingas procesas.
  3. Netiesa, kad jums niekada nepavyks to padaryti.

Manau, dabar jūs kitaip pažvelgsite i robotų kūrimo procesą ir įsitikinsite, kad elektronika – ne toks jau nuobodus dalykas. Nepulkite į neviltį, jei kažkas nesigaus iš karto. Bet kokiu atveju jūs įgausite patirties ir pažinsite daug įdomių dalykų. Prisiminkite vieno žymaus mokslininko žodžius: „Aš padariau ne dešimt tūkstančių klaidų. Tiesiog aš suradau dešimt tūkstančiu būdu, kurie neveikia“. Būkite optimistais ir pasitikėkite savo jėgomis. Sėkmes Jums ir Jūsų Robotams!

Detalių sąrašas

  1. Servo mechanizmai „TowerPro SG5010“ arba kitokie – 2 vnt., nuo 24 Lt.
  2. Ličio-polimero akumuliatorius „Li-Po“ 820 mAh / 7,4 V arba bet koks kitoks > 7 V – 1 vnt., nuo 42 Lt.
  3. Mikrovaldiklis „Attiny2313“ – 1 vnt., nuo 6 Lt.
  4. Kvarcinis rezonatorius 10 MHz – 1 vnt., nuo 1 Lt.
  5. TV imtuvai TSOP1738 – 2 vnt., nuo 4 Lt.
  6. Infraraudonųjų spindulių diodai – 4 vnt., nuo 1 Lt.
  7. Universali maketinė plokštė 50 x 100 mm – 1 vnt., nuo 3 Lt.
  8. Smulkmenos pagal schemą (varžos, kondensatoriai, t. t.)
  9. Nereikalingi ar sugadinti mini CD diskai – 2 vnt., nemokamai.
  10. Plastiko ar kt. plokštė 100 x 100 mm roboto bazei – 1 vnt., nemokamai.

Pilną detalių sąrašą jūs rasite failų archyve.

Vaizdo medžiaga




Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama