Transformators.lv


 
 
 
 
 
 
 
Sākums » DIY Raksti, Roboti, Sumo

Mini sumo robots ar AVR Atmega8 mikrokontrolieri

11.06.2010 | Ievietoja: neverknowsbest | Kategorija: DIY Raksti, Roboti, Sumo | 18 komentāri

Piedalīties diskusijā par šo rakstu



Mini sumo robots ar AVR Atmega8 mikrokontrolieri

Bildes redzamais mini sumo robots sastāv no alumīnija cietkausējuma izgatavotas šasijas, uz kuras novietota plastmasas plāksne ar elektroniku. Sekojošais robots ir programmējams (autonoms), un kā loģiskais kontrolieris tika izvēlēts AVR Atmega8, kurš ar pietiekami lielu atmiņu(komandām) un maziem gabarītiem, lai iekļautos dotajā konstrukcijā. Robota barošana četri AAA tipa 1,5V 750mAh akumulatori,kas novietoti zem vadības platēm. Piedziņu nodrošina divi 6v  līdzstrāvas dzinēji ar iebūvētu reduktoru, kas apvienojumā ar silikona siksnas „kāpurķēdi”, nodrošina pietiekami lielu griezes momentu un labu saķeri, lai izstumtu pretinieku no ringa.

Robotā tiek  lietoti infrasarkanie sensori, kuri nodrošina pretinieka atrašanu, un neļauj izbraukt ārpus ringa. Pretinieka meklēšanu nodrošina SHARP firmas infrasarkanais sensors(attēlā redzams pašā priekšā, aiz bampera).

Šasija

Robota mehāniskai daļai ir nozīmīga loma, taču sumo sacensībās bieži vien piedalās roboti ar vāji izveidotu šasiju. Tas ir ļoti nepareizi, jo pēc vairākiem turnīriem, kad roboti regulāri krīt no ringa, tie tiek lauzti, tāpēc jāizvēlas atbilstoši materiāli. Viens no labākajiem risinājumiem ir vieglais un izturīgais alumīnija cietkausējums, kas ir lēts un izturīgs materiāls, jo nedrīkst aizmirst par svara ierobežojumiem. Darbā apskatītajam robotam šasija ir veidota no alumīnija cietkausējuma, plastmasas elementiem un 3mm tērauda skrūvēm. Šasija tika veidota, lai tā saturētu pēc iespējas mazāk detaļu un lai būtu viegli saliekama/izjaucama. Robotam ir ļoti zems bamperis ,kas neļauj citiem robotiem ar ķīlveidīgu profilu apgāzt šo robotu. Svarīga prasība arī bija padarīt barošanas bloku pieejamu, tāpēc tika pielietotas enģes,lai varētu virināt augšējo pārsegu.

Rasējumā var iepazīties ar konstrukciju.

Elektronika un sensori

Elektronika mini sumo robotā tika veidota „moduļveidīgi”- uz vairākām, atsevišķām platēm izvietota, nevis uz vienas, kā tas ierasts darīt līdzīgos robotos. Tas tika darīts,lai vajadzības gadījumā robotu varētu ērti pārveidot un modificēt elektroniku, ar laiku iekļaujot labākus elementus, nomainīt bojātos utt. Visas elektronikas izveidē tika lietotas standarta maketplates ar vara vadiem, un tirdzniecībā pieejamas detaļas.

Robota visa elektronika sastāv no 3 platēm:

  1. Līnijas sensoru plates
  2. H tilta plates
  3. Mikrokontroliera vadības plates

Līnijas sensoru plate

Ko tā dara: Ringa līnijas sensoru plate palīdz nodrošināt, to, lai robots neizkristu no ringa, jo tā analogo signālu no infrasarkanā līnijas sensora padara par diskrētu,ko vēlāk pievada loģiskajam kontrolierim.

Darbības princips: Lietojot standarta infrasarkano staru sensoru, kas sastāv no infrasarkano gaismu emitējošas diodes un fotorezistora (fotorezistoram virsū ir polarizējošs pārklājums, kas laiž cauri infrasarkano gaismu) signāls rodas, kad gaisma no diodes, atstarojoties pret kādu virsmu iekļūst fotorezistorā. Fiziku atceroties, jāpiemin, ka baltā krāsa atstaro ļoti lietu daudzumu no krītošās gaismas,bet melnā ļoti maz (tāpēc krāso ringu melnu ar baltu maliņu,lai analogiem sensoriem būtu lielāka jūtība). Taču analogā signāla vietā diskrētajam ir priekšroka, kad runa ir par programmēšanu, plus šī sensorplate ļauj sensoriem būt novietotiem dažādos augstumos virs virsmas un vienalga dot pareizus rādījumus.

Plates shēma: Par pamatu kalpo LM324N zemā sprieguma operāciju pastiprinātāju elements, kas darbojas komparatora režīmā (salīdzina sensora izdoto spriegumu uz neinvertējošās ieejas ar potenciometra iestādīto spriegumu uz invertējošās) un ja abi signāli sakrīt tad izdod signālu izejā. Pašā sākumā shēmā drošības pēc ir ieslēgts kondensators, kas stabilizē spriegumu, gadījumā, ja ir kaut kāds ne pārāk stabils barošanas spriegums un gaismas diode,ar rezistoru, kas rāda, kad plūst strāva shēmā. LM324N elementā ir 4 OP (operacionālie pastiprin.),kam INPUT + pieslēgts sensora signālvads un INPUT-,kurs pieslēgts potenciometrs. No OUTPUT izejas iziet jau diskrēts signāls, kas aiziet līdz 2×4 ligzdai, no kuras vēlāk tas tiks padots uz vadības plati.Par signāla esamību ziņo 4 LED diodes ar attiecīgajiem 470 omu reiztoriem.Vēl LM324N elementa barošanas + ieejā ir ielikts kondensators ,kādus parasti ieliek pret trokšņiem (tantāla lāsīte 100nF)un stabilākai barošanai. LM324N elementā. Visa plate tiek barota ar 5-6 V līdzsprieguma no akumulatora.

H tilta plate

Ko tā dara: Ar H tilta palīdzību var regulēt parasta līdzstrāvas motora griešanās virzienu.

Darbības princips: H tilts darbojas ar 4 slēdžu (tranzistoru) palīdzību, kas tiek slēgti dioganāli pretēji, lai liktu motoram griezties uz vienu ,vai otru pusi ar mazas mikrokontroliera vadības strāvas palīdzību.

Plates shēma: Plates sākumā ir zeme, zema sprieguma H tilta L293D barošanas spaile, un  motora barošanas sprieguma spaile. Shēma paredz iespēju barot elementu L293D un motoru ar atšķirīgiem spriegumiem, piemēram 5-6V H tiltam un 9V motoram. Taču, barošanas spriegums motoram un H tiltam ir viens un tas pats, tad lieto džamperi starp +VL un +VM. Barošanas spailes ar zemi savieno augstas kapacitātes kondensatori un zemākas kapacitātes kondensatori, lai barošanas spriegums būtu stabils, un motora radītie elektriskie trokšņi tiktu filtrēti. Protams ir iekļautas arī 2 LED diodes un attiecīgi rezistori ,kas rāda abus motora un H tilta barošanas spriegumus. Shēmā katram L293D elementam ir tilta barošanas sprieguma(+VL) un motora barošanas sprieguma (+VM) spailes.

H tilta vadību nodrošina 3 izvadi: MA, MB un Enable. Enable spailē plūstošā vadības līdzstrāva ieslēdz tiltu un atkarībā no MA un MB spailē pienākošās vadības strāvas, tilts padod attiecīgā virziena strāvu caur izvadiem MOTA un MOTB un līdzsprieguma motoriem.

Vadības plate ar mikrokontrolieri AVR Atmega8


Darbības princips: Plates „sirds” ir AVR Atmega8 mikrokontrolieris, kurš tiek programmēts caur ISP ligzdu,kas atrodas uz plates. No kontroliera atiet izvadi līdz spraudņiem, kas tālāk tiek savienoti ar līnijas sensoru plati , priekšējo sensoru, H tilta plati. Plate paredz iespēju pārslēgties uz vairākām programmām, restartēt kontrolieri, indicēt kaut kādas programmas izpildi caur LED diodēm, pieslēgt servo dzinējus.

Plates shēma: Plates sākumā ir spailes 5-6 voltu barošanai, kur tiek pieslēgti 2 kondensatori sprieguma stabilizēšanai un trokšņu filtrēšanai. Vēl tiek pieslēgta LED diode ar attiecīgu rezistoru. 1 kāja Atmega 8 ir restarts. Ja uz šīs kājas spriegums ir 0,tad kontrolieris restartējas.0V spriegumu iegūst ar slēdža palīdzību, kas saslēdz „uz īso” 1 kāju.2 un 3 kājiņa ir kaut kādai indikācijai. Tās ir jāprogrammē, jo ,kad notiek programmēšana Atmega 8 var definēt kas būs katra kājiņa – izeja,vai ieeja.

Pie 9 un 10 kājiņas tiek pieslēgts 16 MHz oscilators,kas palīdz „skaitīt” laiku, ciklus. Par cik Atmegai var definēt, kura kājiņa kalpos par ieeju, izeju,tad šim robotam kājiņas 4,5,11,12,13,14 tiek izmantotas H tilta vadībai.Kājiņas no 23-28 tiek lietotas sensorplates signālu uztveršanai, un priekšējā sensora signāla uztveršanai.16-17 kājiņas ir domātas servomotoriņu slēgšanai, gadījumā,ja kādreiz ir vēlme pārveidot robotu. Un slēdži ,kas pieslēgti pie 17-19 kājiņām ir domāti pārslēgties starp programmām, gadījumā, ja tādas ir vairākas. Kontrolieris tiek pieslēgts pie programmatora caur ISP ligzdu (2×5 kājiņas)un šī ligzda var barot kontrolieri , gadījumā, ja nav barošanas strāvas no akumulatora.

Sensori

Kā jau iepriekš tika minēts, robotā tika lietoti infrasarkanie sensori ,kas sastāv no IR diodes,kas rada infrasarkano gaismu un fotorezistora ar polarizējošo apvalku, kas uztver infrasarkano gaismu. Papētot pie sensorplates shēmas pielikto augšējo zīmējumu ir redzams kā darbojas sensors: caur rezistoru uz IR diodi plūst strāva,kas liek IR diodei emitēt gaismu,blakus stāv aizvērts fotorezistors.Kad infrasarkanā gaisma atstarojas pret kādu virsmu un tiek fotorezistorā,tā attaisa to vaļā proporcionāli iekļuvušai gaismai.(tāpēc arī signāls ir analogs, nevis diskrēts)un tad starp rezistoru pirms fotorezistora un pašu fotorezistoru parādās strāva- signāls. Uz šāda principa darbojas arī priekšējais SHARP firmas rezistors.

Linijas sensora shema ir blakus linijas sensoru plates shemai!

Robota programmēšana

AVR Atmega 8 tika programmēts C valodā, un to dara ar programmatora palīdzību (ir nopērkami vairāku varianti),kurš savukārt tiek pieslēgts pie datora caur USB portu.Attēlā redzamais programmators ir veidots uz Latmatic  veidotās PCB plates.

Programmas rakstīšanu veic ar AVR Studio programmas palīdzību un tās ierakstīšanu mikrokontrolierī  ar Khazama AVR Programmer programmu.Pogrammējot Atmega8 programmas sākumā tiek definētas katra porta kājiņa(Parasti katram portam ir 8 kājiņas, bet Atmega8 gadījumā:B portam-PB0,PB1,PB2,…,PB7 (8.kājas),C portam – PC0,…,PC6 (7. kājas),D portam -PD0,…,PD7 (8. kājas)) un tad tiek sastādīta programma.

P.S. Visi apraksta sakritibas ar vitalyd darbu ir izskaidrojamas,ka mēs mācāmies kopā un šie darbi un apraksti ļāva saņemt automātisko ieskaiti kādā mācību priekšmetā, tāpēc lūdzu tikai konstruktivus komentārus. Ja shemā ir kādā kļūda , ziņojiet, centisimies labot. Sveicieni vitalyd :)

17 rating, 17 votes17 rating, 17 votes (+17 punkti, 17 vērtējumi)
Loading ... Loading ...

18 komentāri »

  • monstrs said:

    Ļoti labs apraksts. + no manis par bildēm un shēmām.

  • Edgars said:

    Skaisti! :)

    Bet jums abiem ar Vitāliju nav izdomāti botu vārdi, vismaz neesat tos minējuši.

  • monstrs said:

    Patiesi, kāds ir robota vārds?

  • neverknowsbest (author) said:

    robotu saukšu “monstrs” :)

  • Guntis said:

    Malacis! Viennozīmīgi +1 no manis ;)

    P.S. Derētu arī kāds video. :)

  • neverknowsbest (author) said:

    lūdzu piedošanu par kļūdu shēmā. atmegas plates shemā kluda ir, kur pie servo izejām( 2 izejas ar 3 adatam) kondensatoram ar 100nF ,apakšējais vads iet uz -,bet augšējais uz +Vlc un tiem jabut atdalitiem nevis kopā,ka es nejauši uzzimeju. un vēl no 17 kajas atejošais vads nedrikst but kopā ar +Vlc

  • Edgars said:

    Ja ir vajadzība izlabot rakstu, tad var vienkārši man uzsist meilu/PM, un es pārlikšu statusu atpakaļ uz melnraksts lai var labot.

  • Marcis said:

    AVR Atmega8 ir daudz veidi, kuru tu izmantoji?

  • neverknowsbest (author) said:

    http://www.argus.lv/product_in…..11f157d976

  • sahatiy said:

    +1

  • strezs said:

    atmega8 dārgāks kā atmega328, kas noticis ar argusu?

  • Edgars said:

    Tā diemžēl nav tikai Argusa problēma.

     

    Atmelis ir slēdzis vienu rūpnīcu + vēl pāris “šaizes” sanākušas viņiem, tapēc nespēj saražot pietiekamo daudzumu un jau vairākus mēnešus nebija iespējams papildināt krājumus, ne argusam, ne elfai, nevienam tuvākajā apkaimē. viss kas bija bija palicis no krājumiem. Tagad piegādātājiem parādijās jauns pievedums, un tā kā tā visu laiku bija deficīta prece, viņi uzskūvēja cenu debesīs vairākkārtīgi, nezinu vai piegādātāji vai jau no atmel puses..

     

    Kad pēdējoreiz skatijos, tad pārējiem tirgoņiem Latvijā ar viss bija vairāk vai mazāk pa nullēm (krājumi izpārdoti).

     

    Es ceru ka šīs deficīta sekas ātri pāries, ja ne, būs jāpāriet uz PIC.

     

    Cena, visticamāk, tiks drīzumā samazināta, ja izdosies atrast lētāku piegādātāju.

  • Medical Jobs said:

    What a great resource!

  • neverknowsbest (author) said:

    Medical Jobs be careful, because there’s small mistake in last circuit( with atmega8). wire below 100nF capacitor (near 2X3 PWM pins) must be connected to -, but wire above to +
    also wire from pin 17 can’t cross +
    my apologies for mistakes

  • Krustaps said:

    Gribēju pajautāt kur jūs macaties ka kko tādu veidojat :)

  • Edgars said:

    Pārsvarā jau pašmācība, taču novembrī būs lieliska iespēja iesācējiem pamācīties būvēt līnijsekotājus, vairāk info -  http://www.tjd.lv

  • andrew said:

    Viens no retajiem izciliem rakstiem, kuru kadreiz esmu sastapis =)

  • emils96s said:

    kādus servo motorus tu izmantoji?

Leave your response!

You must be logged in to post a comment.


Sākums | Visi Raksti | DIY Raksti | Pasākumi | Noteikumi | Forums
© 2010 Argus Radiodetaļu Tirdzniecība SIA | Web izstrāde Kārlis Baumanis