Kako sami napraviti robota kod kuće. Šta nam treba

Sada se malo ljudi sjeća, nažalost, da su 2005. godine postojali Chemical Brothers i imali su divan video - Believe, gdje robotska ruka jurili junaka spota po gradu.

Onda sam sanjao. Neostvarivo u to vrijeme, jer ni jedno ni drugo najmanji trag o elektronici nisam imao. Ali ja sam htela da verujem - da verujem. Prošlo je 10 godina, a baš sam jučer po prvi put mogao da sastavim svoju robotsku ruku, da je pustim u rad, zatim da je razbijem, popravim i ponovo pokrenem, a usput pronađem prijatelje i steknem samo- samopouzdanje.

Pažnja, spojleri ispod reza!

Sve je počelo sa (zdravo, Master Kit, i hvala što ste mi dozvolili da pišem na vašem blogu!), koji je skoro odmah pronađen i odabran nakon ovog članka na Habréu. Sajt kaže da čak i osmogodišnje dete može da napravi robota - zašto sam ja gori? Probao sam se na isti način.

U početku je vladala paranoja

Kao pravi paranoik, odmah ću izraziti strahove koje sam u početku imao u vezi sa konstruktorom. U mom djetinjstvu, isprva su bili kvalitetni sovjetski dizajneri, zatim su mi se kineske igračke raspadale u rukama ... a onda je moje djetinjstvo završilo :(

Dakle, od onoga što je igračkama ostalo u sjećanju bilo je:

  • Hoće li se plastika slomiti i raspasti u vašim rukama?
  • Hoće li se dijelovi labavo spajati?
  • Nisu svi dijelovi uključeni u komplet?
  • Hoće li sklopljena konstrukcija biti krhka i kratkotrajna?
I na kraju, lekcija naučena od sovjetskih dizajnera:
  • Neki dijelovi će se morati završiti pomoću datoteke
  • A dijelovi dijelova jednostavno neće biti u setu.
  • I drugi dio neće raditi u početku, morat će se promijeniti
Šta sad reći: ne uzalud u mom omiljenom videu Vjerujte glavni lik vidi strahove tamo gde ih nema. Nijedan od strahova se nije ostvario: delova je bilo tačno koliko je trebalo, svi su se složili, po meni - idealno, što je veoma podiglo raspoloženje na putu.

Detalji konstruktora ne samo da se savršeno slažu jedni s drugima, već je i trenutak tako promišljen detalje je gotovo nemoguće zbuniti... Istina, s njemačkom pedantnošću kreatora odložite vijke tačno onoliko koliko je potrebno, stoga je nepoželjno gubiti šrafove na podu ili zbuniti "što gdje" prilikom sastavljanja robota.

specifikacije:

dužina: 228 mm
visina: 380 mm
širina: 160 mm
Težina sklopa: 658 gr.

ishrana: 4 baterije tipa D
Težina podignutih predmeta: do 100 g
Pozadinsko osvjetljenje: 1 LED
Vrsta kontrole:žičani daljinski upravljač
Predviđeno vrijeme izrade: 6 sati
Saobraćaj: 5 brušenih motora
Zaštita konstrukcije tokom kretanja: ratchet

mobilnost:
Mehanizam hvatanja: 0-1,77""
Pokret zgloba: unutar 120 stepeni
Pokret lakta: unutar 300 stepeni
Pokret ramena: unutar 180 stepeni
Rotacija na platformi: unutar 270 stepeni

trebat će vam:

  • izdužena kliješta (ne možete bez njih)
  • bočni rezači (mogu se zamijeniti nožem za papir, makazama)
  • križni odvijač
  • 4 baterije tipa D

Bitan! O malim detaljima

Usput, o "zupčanicima". Ako ste se suočili sa sličnim problemom, a znate kako da sklop učinite još praktičnijim - dobrodošli u komentare. Do sada ću podijeliti svoje iskustvo.

Vijci i vijci iste funkcije, ali različite dužine, prilično su jasno navedeni u uputama, na primjer na srednja fotografija na dnu vidimo vijke P11 i P13. Ili možda P14 - pa, to je, opet, opet ih zbunjujem. =)

Možete ih razlikovati: upute kažu koji od njih ima koliko milimetara. Ali, kao prvo, nećete sjediti s čeljustom (pogotovo ako imate 8 godina i/ili je jednostavno nemate), a drugo, možete ih razlikovati na kraju samo ako ih stavite pored njih, što možda neće odmah pasti na pamet (nije mi palo, hehe).

Stoga ću vas unaprijed upozoriti ako odlučite sami sastaviti ovog ili sličnog robota, evo savjeta za vas:

  • ili unaprijed bolje pogledajte pričvršćivače;
  • ili si kupite puno malih šrafova, samoreznih vijaka i vijaka kako ne bi zaparili.

Takođe, ni u kom slučaju ništa ne bacajte dok ne završite sa sastavljanjem. Na donjoj fotografiji, u sredini, između dva dijela od tijela "glave" robota, nalazi se mali prsten koji je umalo odletio u smeće zajedno sa ostalim "otpadima". A ovo je, inače, držač za LED lampu u "glavi" mehanizma za hvatanje.

Proces izgradnje

Robot se isporučuje s uputama bez daljnjeg - samo slike i jasno katalogizirani i označeni dijelovi.

Detalji se prilično zgodno odgrizu i ne zahtijevaju skidanje, ali mi se svidjela ideja da svaki detalj obradim nožem za karton i makazama, iako to nije potrebno.

Montaža počinje sa četiri od pet motora uključenih u dizajn, koje je pravo zadovoljstvo sastaviti: jednostavno volim mehanizme zupčanika.

Pronašli smo motore uredno spakovane i "zalepljene" jedni za druge - pripremite se da odgovorite na detetovo pitanje zašto su kolektorski motori magnetizovani (možete odmah u komentarima! :)

Bitan: u 3 od 5 potrebnih kućišta motora potopite matice sa strane- ubuduće ćemo na njih stavljati tijela prilikom sklapanja ruke. Bočne matice nisu potrebne samo u motoru, koji će ići do podnožja platforme, ali kako se kasnije ne bi sjećali koje je tijelo gdje, bolje je utopiti matice u svako od četiri žuta tijela odjednom. Samo za ovu operaciju trebat će vam kliješta, koja u budućnosti neće biti potrebna.

Nakon otprilike 30-40 minuta, svaki od 4 motora je opremljen vlastitim zupčastim mehanizmom i kućištem. Sve će biti ništa komplikovanije nego što je „Kinder iznenađenje“ bilo u detinjstvu, samo mnogo zanimljivije. Pitanje za pažnju sa gornje fotografije: Tri od četiri izlazne brzine su crne, a gdje je bijela? Iz njegovog tijela bi trebala izaći plava i crna žica. Uputstva su sva tu, ali mislim da vrijedi ponovo obratiti pažnju na njih.

Nakon što imate sve motore u rukama, osim onog „glavnog“, pristupite sastavljanju platforme na kojoj će stajati naš robot. U ovoj fazi sam shvatio da je potrebno promišljenije postupiti sa vijcima i vijcima: kao što možete vidjeti na gornjoj fotografiji, nisam imao dovoljno dva vijka da spojim motore zajedno zbog bočnih strana. matice - već su bile zašrafljene u dubinu već sastavljene platforme. Morao sam da improvizujem.

Kada su platforma i glavni dio ruke sastavljeni, upute će vas potaknuti da nastavite sa prikupljanjem mehanizma za hvatanje, gdje sitni dijelovi i pokretni dijelovi - zabavni dio!

Ali, moram da kažem da će se ovim završiti spojleri i video će početi, pošto sam morao da idem na sastanak sa svojim prijateljem i robotom, koji nisam uspeo da završim na vreme, morao sam da ponesem sa sobom.

Kako uz pomoć robota postati duša kompanije

Lako! Kada smo nastavili sa sastavljanjem, postalo je jasno: da sami sastavite robota - vrlo lijepo. Zajednički rad na dizajnu je dvostruko užitak. Stoga sa sigurnošću mogu preporučiti ovaj set onima koji ne žele da sede u kafiću za dosadne razgovore, već žele da se viđaju sa prijateljima i da se dobro provedu. Štoviše, čini mi se da je team building s takvim setom - na primjer, sklapanje sa dva tima, za brzinu - gotovo win-win opcija.

Robot je oživio u našim rukama čim smo završili sa sastavljanjem. Nažalost, ne mogu vam riječima opisati naše oduševljenje, ali mislim da će me mnogi ovdje razumjeti. Kada struktura koju ste sami sastavili odjednom počne da živi punim životom - to je uzbuđenje!

Shvatili smo da smo strašno gladni i otišli da jedemo. Nije bilo daleko, pa smo robota nosili u rukama. A onda nas je čekao još jedan prijatno iznenađenje: Robotika nije samo zabava. Takođe zbližava ljude. Čim smo sjeli za sto, okružili su nas ljudi koji su željeli da se upoznaju sa robotom i sami sastave istog. Momci su najviše od svega voleli da pozdravljaju robota „po pipcima“, jer se zaista ponaša kao živ čovek, a pre svega je ruka! Jednom riječju, osnovnim principima animatronike korisnici su savladali intuitivno... Ovako je to izgledalo:

Nevolja

Po povratku kući sačekalo me je neprijatno iznenađenje, i dobro je da se to dogodilo pre objavljivanja ove recenzije, jer ćemo sada odmah razgovarati o rešavanju problema.

Odlukom da pokušamo da pomjerimo ruku maksimalnom amplitudom, uspjeli smo postići karakteristično pucketanje i nefunkcionalnost motornog mehanizma u laktu. U početku me je uznemirilo: pa, nova igračka, tek sastavljena - i više ne radi.

Ali onda mi je sinulo: ako ste ga sami sakupili, šta je bilo? =) Savršeno dobro poznajem set zupčanika unutar kućišta, a da biste shvatili da li se sam motor pokvario, ili kućište jednostavno nije dovoljno dobro učvršćeno, možete ga opteretiti bez skidanja motora sa ukrcajte se i vidite da li se klikovi nastavljaju.

Tada sam uspio osjetiti pravi robo-majstor!

Pažljivo rastavljajući "lakatni zglob", bilo je moguće utvrditi da motor radi glatko bez opterećenja. Karoserija se raspala, jedan od šrafova je pao unutra (jer ga je motor magnetizirao), a ako bismo nastavili koristiti zupčanike, zupčanici bi se oštetili - u rastavljenom obliku nađen je karakterističan "prah" istrošene plastike na njima.

Vrlo je zgodno što robot nije morao biti u potpunosti rastavljen. I stvarno je super što je do kvara došlo zbog ne baš uredne montaže na ovom mjestu, a ne zbog nekih fabričkih poteškoća: uopće ih nisu pronađeni u mom kompletu.

savjet: prvi put nakon montaže, držite pri ruci odvijač i kliješta - mogu vam dobro doći.

Šta možete educirati sa ovim kompletom?

Samopouzdanje!

Ne samo da sam pronašao zajedničke teme apsolutno komunicirati stranci, ali sam uspjela ne samo da sastavim već i sama popravim igračku! To znači da mogu biti siguran da će s mojim robotom uvijek sve biti u redu. I ovo je veoma prijatan osećaj kada su u pitanju omiljene stvari.

Živimo u svijetu u kojem užasno ovisimo o prodavačima, dobavljačima, zaposlenima u servisima i dostupnosti slobodnog vremena i novca. Ako znate kako ne raditi gotovo ništa, morat ćete platiti za sve, a najvjerovatnije - preplatiti. Mogućnost da sami popravite igračku, jer znate kako je svaka jedinica u njoj raspoređena, neprocjenjiva je. Neka dijete ima takvo samopouzdanje.

Ishodi

Šta nam se dopalo:
  • Robot sastavljen prema uputama nije zahtijevao otklanjanje grešaka, odmah je krenuo
  • Detalje je gotovo nemoguće zbuniti
  • Stroga katalogizacija i dostupnost detalja
  • Ne čitajte uputstva (samo slike)
  • Odsustvo značajnog zazora i praznina u strukturama
  • Lakoća montaže
  • Lakoća prevencije i popravke
  • Na kraju, ali ne i najmanje važno: sami sastavljate svoju igračku, filipinska djeca ne rade za vas
Šta je još potrebno:
  • Više pričvršćivača, zaliha
  • Dijelovi i rezervni dijelovi za njega, tako da ga po potrebi možete zamijeniti
  • Više robota, drugačijih i složenih
  • Ideje koje se mogu poboljšati / dodati / ukloniti - jednom riječju, igra se ne završava sklapanjem! Zaista želim da se nastavi!
presuda:

Sastavljanje robota iz ovog konstrukcionog seta nije ništa teže od slagalice ili "Kinder iznenađenja", samo što je rezultat mnogo veći i izazvao je buru emocija u nama i onima oko nas. Odličan set, hvala,

Sada postoji puno mogućnosti koje vam omogućavaju da počnete stvarati robote bez ikakvog super-duper posebnog takvog znanja. A ovo je super! Zato što pokreće lavinu znanja.

I ne morate početi od znanja. Znanje ne bi trebalo da bude lokomotiva. Znanje je prtljag koji putuje ovim vozom. Šta je onda parna lokomotiva? A parna lokomotiva je samo neznanje kako se to radi da se nešto desi samo od sebe. Pravljenje robota je upravo takva vrsta znanja.

Kako ne bismo zaglibili u primjerima, uzmimo samo jedan primjer. Najtrivijalniji primjer. Pustite robota da se kreće po prostoriji bez udaranja o zidove. Šta treba da znate:

1. Kakva će biti mehanika kretanja. (Većina robota ima mehaniku, ali postoje i bestjelesni roboti, na primjer, standardni roboti.) Ako nemate znanja u ovoj oblasti, odmah počnite da ih stječete. Koji mehanizmi postoje za kretanje, po ravnoj površini, po neravnoj, hodanje, na točkovima... Ako ne možete napraviti takav mehanizam, nađite gotov. Rastavite ga i ponovo sastavite ako je moguće.

2. Kako će robot komunicirati sa vanjski svijet... Bilo bi dobro imati znanja iz radio elektronike i/ili informacione tehnologije kako bi se razumjeli kako čitati zvučne, optičke, mehaničke signale, kako primati informacije iz mreže (ovo je posebno važno za bestjelesne robote). Minimalno znanje će već biti prikladno, ono što nedostaje mora se odmah početi popunjavati. Na sreću, možete koristiti ogroman broj modularnih elemenata i senzora, povezanih sa gotovim kontrolerima, koji pretvaraju signale ovih senzora u brojeve. (ako ste zainteresovani, možete diskutovati/razmijeniti linkove/adrese u komentarima gdje se sve ovo kupuje)

3. (najvažnije) Kako će robot razmišljati. Potrebno je utvrditi koja je njegova "misleća" aktivnost. Za odabrani primjer, ovo je samo mogućnost uključivanja i isključivanja N elektromotora u pravo vrijeme, ovisno o izmjerenoj udaljenosti do zida ispred (barem). Za mentalnu aktivnost, robotu je potrebna programabilna jedinica s mikroprocesorom. Postoji mnogo gotovih platformi za konstruisanje robota (Arduino, Matryoshka, Strawberry Pi, Iskra, Troyka itd. Opet vas pozivam da komentarišete: podijelite linkove, pitajte)

Odmah se postavlja pitanje: da li to znači da morate znati programiranje? Strogo govoreći, da. Ali među navedenim platformama postoje i one u kojima se programiranje izvodi u vizualnom okruženju bez korištenja specifičan jezik programiranje. (tj. pažnja! Nije potrebno znati programiranje za početak. Ali naravno da je potrebno znati da bi se nastavilo)

Evo tri glavne kosti na kojima morate imati tetive osnovnih znanja i vještina koje su dostupne čak i djetetu, a na kojima onda možete izgraditi meso višeg inženjerskog znanja:

  • izgraditi mehanizme od konstruktora - dugoročno gledano, to je čitav spektar "mehaničkih nauka": fizika (mehanika), dijelovi mašina i mehanizama, materijali čvrstoće, hidraulika itd.
  • znati kako je osigurana interakcija s vanjskim svijetom (čak su i dječji dizajneri danas opremljeni senzorskim modulima) - u budućnosti je to programiranje, mrežni protokoli, fizika (elektrika, optika, akustika, radar itd.)
  • imati početna prezentacija o programiranju: varijable, algoritmi - programiranje u perspektivi ( različitim jezicima i programske paradigme), algoritme i strukture podataka, baze podataka. Izbor programskog jezika nije fundamentalan, izbor je veoma širok, od vizuelnih okruženja za decu, već asemblera određenog mikroprocesora. Vi sami možete birati ovisno o raspoloživom znanju

Pa, i za kraj, za inspiraciju, pogledajte (a ovo nije reklama, nemam veze sa ovim proizvođačem (podijelite druge primjere)) koji su to dječji alati za izradu robota

Čak i oni koji su tek uzeli lemilicu mogu napraviti najjednostavniji robot.

Uglavnom će naš robot (ovisno o dizajnu) naletjeti na svjetlo ili, naprotiv, pobjeći od njega, trčati naprijed u potrazi za snopom svjetlosti ili se pomjeriti natrag kao krtica.

Za našu buduću "vještačku inteligenciju" potrebno nam je:

  1. Mikrokrug L293D
  2. Mali elektromotor M1 (može se izvući iz autića)
  3. Fototranzistor i otpornik od 200 oma.
  4. Žice, baterija i, naravno, sama platforma, gdje će se sve to nalaziti.

Ako dizajnu dodate još nekoliko svijetlih LED dioda, onda možete lako postići da robot jednostavno trči za rukom ili čak slijedi svijetlu ili tamnu liniju. Naša kreacija će biti tipičan predstavnik robota klase BEAM. Princip ponašanja takvih robota zasniva se na "fotorecepciji", odnosno svjetlost će u ovom slučaju djelovati kao izvor informacija.

Naš robot će krenuti naprijed kada ga udari zrak svjetlosti. Ovakvo ponašanje uređaja naziva se "fotokineza" - neusmjereno povećanje ili smanjenje pokretljivosti kao odgovor na promjene nivoa svjetlosti.

Naš uređaj, kao što je gore spomenuto, koristio je fototranzistor n-p-n strukture- PTR-1 kao fotosenzor. Ovdje možete koristiti ne samo fototranzistor, već i fotootpornik ili fotodiodu, jer je princip rada za sve elemente isti.

Na slici je odmah prikazan dijagram ožičenja robota. Ako još niste dovoljno upoznati sa tehničkim konvencije, onda će ovdje, na osnovu ovog dijagrama, biti lako razumjeti principe označavanja i međusobnog povezivanja elemenata.

GND. Povezivanje žica razni elementi kola sa "uzemljenjem" (negativni pol napajanja) obično nisu u potpunosti prikazani na dijagramima. Umjesto toga, nacrtana je mala crtica koja označava uzemljenje. Ponekad pored crtice pišu "GND" - sa engleskog. riječi "zemlja" - zemlja.

Vcc. Ova oznaka označava da je kroz ovaj dio krug spojen na napajanje - Pozitivni pol! Ponekad se na dijagramima umjesto ovih slova često ispisuje trenutna ocjena. U ovom slučaju, +5V.

Princip robota.

Kada svjetlosni snop udari u fototranzistor (na dijagramu je označen kao PRT1), na izlazu mikrokola INPUT1 pojavljuje se pozitivan signal, zbog čega motor M1 radi. Suprotno tome, kada svjetlosni snop prestane osvjetljavati fototranzistor, signal na izlazu mikrokola INPUT1 nestaje, pa se motor zaustavlja.

Otpornik R1 u ovom krugu je dizajniran da kompenzira struju koja prolazi kroz fototranzistor. Nominalna vrijednost otpornika je 200 Ohm - naravno, ovdje možete lemiti otpornike s drugim nazivima, ali treba imati na umu da će osjetljivost fototranzistora, a time i performanse samog robota, ovisiti o nominalnoj vrijednosti.

Ako je vrijednost otpornika velika, tada će robot reagirati samo na vrlo jak snop svjetlosti, a ako je mali, tada će osjetljivost biti mnogo veća.

Ukratko, u ovom krugu ne biste trebali koristiti otpornike s otporom manjim od 100 Ohm, inače se fototranzistor može jednostavno pregrijati i otkazati.

Digitalni i analogni multimetri za mjerenje Krugovi za očitavanje: oklop, uzemljenje Krugovi za čitanje: lampe i fotoćelije Repair kuhalo za vodu Sat uradi sam sa projekcijom slike

Možete napraviti robota koristeći samo jedan čip pokretača motora i nekoliko fotoćelija. Ovisno o načinu na koji su povezani motori, mikrokola i fotoćelije, robot će se kretati prema svjetlu ili, obrnuto, sakriti se u mraku, trčati naprijed u potrazi za svjetlom ili se kretati natrag kao krtica. Ako dodate nekoliko svijetlih LED dioda u krug robota, možete ga natjerati da trči za vašom rukom, pa čak i da prati tamnu ili svijetlu liniju.

Princip ponašanja robota zasnovan je na "fotorecepciji" i tipičan je za čitav razred. BEAM roboti... U živoj prirodi, koju će naš robot oponašati, fotorecepcija je jedan od glavnih fotobioloških fenomena, u kojem svjetlost djeluje kao izvor informacija.

Kao prvo iskustvo, okrenimo se uređaju BEAM Robot kreće se naprijed kada ga udari zrak svjetlosti i zaustavlja se kada ga svjetlo prestane obasjati. Ponašanje takvog robota naziva se fotokineza - neusmjereno povećanje ili smanjenje pokretljivosti kao odgovor na promjene u nivou svjetlosti.

U uređaju robota, osim mikrokola pokretača motora, koristit će se samo jedna fotoćelija i jedan elektromotor. Kao fotoćelija, možete koristiti ne samo fototranzistor, već i fotodiodu ili fotootpornik.
U dizajnu robota koristimo n-p-n fototranzistor kao fotosenzor. Fototranzistori su danas, možda, jedna od najčešćih vrsta optoelektronskih uređaja i odlikuju se dobrom osjetljivošću i prilično razumnom cijenom.


Robotsko kolo sa jednim fototranzistorom

Iz razgovora Babota i Bobota

Poštovani Bobote, da li je moguće koristiti u smanjenom jednostavan dijagram robota bilo koji drugi mikro krug poput L293DNE?

Naravno da možeš, ali vidiš šta je, prijatelju Bibo. Ovo izdaje samo grupa kompanija ST Microelectronics. Svi ostali slični mikro krugovi su samo zamjene ili analozi L293D... Takvi analozi uključuju američku kompaniju Texas Instruments, iz Sensitron Semiconductor... Naravno, kao i mnogi analozi, ovi mikro krugovi imaju svoje razlike, koje ćete morati uzeti u obzir kada pravite svog robota.

Možete li mi reći o razlikama koje ću morati uzeti u obzir kada koristim L293DNE.

Zadovoljstvo mi je, stari Babote. Sva mikro kola linije L293D imaju ulaze kompatibilne sa TTL nivoima *, ali samo neki od njih nisu ograničeni kompatibilnošću nivoa. dakle, L293DNE ima ne samo kompatibilnost sa TTL nivoima napona, već ima i ulaze sa klasičnom TT-logikom. To jest, logička "1" je prisutna na nepovezanom ulazu.

Izvini, Bobote, ali ne razumem baš: kako da uzmem ovo u obzir?

Ako nepovezani ulaz ima L293DNE postoji visok nivo (logička "1"), tada ćemo na odgovarajućem izlazu imati signal visoki nivo... Ako sada primijenimo signal visokog nivoa na dotični ulaz, govoreći na drugi način - logičku "1" (spojimo ga na "plus" napajanja), onda se ništa neće promijeniti na odgovarajućem izlazu, jer ranije smo imali "1" na ulazu. Ako na naš ulaz damo signal niske razine (spojimo ga na "minus" napajanja), tada će se stanje izlaza promijeniti i na njemu će biti niskog napona.

Odnosno, ispada suprotno: L293D smo kontrolirali koristeći pozitivne signale, a L293DNE treba kontrolirati pomoću negativnih signala.

L293D i L293DNE može se kontrolisati kako u okviru negativne logike tako iu okviru pozitivne *. Za upravljanje ulazima L293DNE koristeći pozitivne signale, morat ćemo povući ove ulaze na masu pomoću pull-up otpornika.


Tada će, u nedostatku pozitivnog signala, na ulazu biti prisutna logička "0", koju osigurava pull-up otpornik. Pametni Jenkiji takve otpornike nazivaju pull-down, a kada se povuku na viši nivo, oni to zovu pull-up.

Koliko sam shvatio, sve što treba da dodamo dijagram najjednostavnijeg robota, - dakle ovo su otpornici za povlačenje na ulazima mikrokola pokretača motora.

Sasvim dobro razumeš, dragi Bibo. Vrijednost ovih otpornika može se odabrati u rasponu od 4,7 kOhm do 33 kOhm. Tada će dijagram najjednostavnijeg robota izgledati ovako.

Štoviše, osjetljivost našeg robota ovisit će o vrijednosti otpornika R1. Što je manji otpor R1, to će biti niža osjetljivost robota, a što je veća, to će biti veća osjetljivost.

A kako u ovom slučaju ne trebamo kontrolirati motor u dva smjera, možemo spojiti drugi izlaz motora direktno na "uzemljenje". To će čak donekle pojednostaviti šemu.

I poslednje pitanje. I u tim robotska kola, koji ste doneli u okviru našeg razgovora, da li se može koristiti klasično mikrokolo L293D?


Slika prikazuje instalaciju i shematski dijagram robota, a ako još niste dobro upoznati sa simbolima, onda je na osnovu dva dijagrama lako razumjeti princip označavanja i povezivanja elemenata. Žica koja povezuje različite dijelove kola sa "masom" (negativni pol napajanja) obično nije u potpunosti prikazana, ali je na dijagramu nacrtana mala crtica, koja pokazuje da je ovo mjesto spojeno na "uzemljenje". Ponekad se pored takve linije ispisuju tri slova "GND", što znači "zemlja" (zemlja). Vcc označava pozitivnu vezu napajanja $ L293D = ($ _ GET ["l293d"]); if ($ L293D) uključuje ($ L293D);?> Umjesto slova Vcc, oni često pišu + 5V, čime se označava napon napajanja.


Fototranzistor ima emiter
(na dijagramu sa strelicom)
duži od razdjelnika.

Princip rada robotskog kola je vrlo jednostavan. Kada svjetlosni snop udari u fototranzistor PTR1, pojavit će se pozitivan signal na INPUT1 ulazu mikrokola pokretača motora i motor M1 će početi da se okreće. Kada fototranzistor prestane da svijetli, signal na ulazu INPUT1 nestaje, motor prestaje da se okreće i robot se zaustavlja. Više detalja o radu sa vozačem motora možete pronaći u prethodnom članku.


Vozač motora
proizvođača SGS-THOMSON Microelectronics
(ST Microelectronics).

Da bi se kompenzirala struja koja prolazi kroz fototranzistor, u krug se uvodi otpornik R1, čija se nominalna vrijednost može odabrati na oko 200 Ohma. Vrijednost otpornika R1 će utjecati ne samo na normalan rad fototranzistora, već i na osjetljivost robota. Ako je otpor otpornika velik, tada će robot reagirati samo na vrlo jako svjetlo, ako je mali, tada će osjetljivost biti veća. U svakom slučaju, otpornik manji od 100 oma ne treba koristiti za zaštitu fototranzistora od pregrijavanja i oštećenja.

Napravite robota, realizacija reakcije fototaksije (usmjereno kretanje prema ili udaljenoj od svjetlosti), može se izvršiti pomoću dva fotosenzora.

Kada svjetlost udari u jedan od fotosenzora takvog robota, uključuje se elektromotor koji odgovara senzoru i robot se okreće prema svjetlu sve dok svjetlo ne osvijetli oba fotosenzora i drugi motor se uključi. Kada su oba senzora osvijetljena, robot se kreće prema izvoru svjetlosti. Ako jedan od senzora prestane da svijetli, tada se robot ponovo okreće prema izvoru svjetlosti i, došavši do položaja u kojem svjetlost pada na oba senzora, nastavlja kretanje prema svjetlu. Ako svjetlo prestane padati na fotosenzore, robot se zaustavlja.


Šematski dijagram robota sa dva fototranzistora


Robotsko kolo je simetrično i sastoji se od dva dijela, od kojih svaki upravlja odgovarajućim elektromotorom. U stvari, to je kao udvostručena šema prethodnog robota. Fotosenzori bi trebali biti postavljeni poprečno u odnosu na elektromotore kao što je prikazano na slici robota iznad. Također možete rasporediti motore poprečno u odnosu na fotosenzore kao što je prikazano dijagram ožičenja ispod.

Šema ožičenja najjednostavnijeg robota sa dva fototranzistora

Ako senzore postavimo u skladu sa lijevom slikom, tada će robot izbjegavati izvore svjetlosti i njegove reakcije će biti slične ponašanju krtice koja se skriva od svjetlosti.

Napravite ponašanje robota Možete ga učiniti živahnijim slanjem pozitivnog signala na ulaze INPUT2 i INPUT3 (priključite ih na plus izvora napajanja): robot će se kretati u nedostatku svjetlosti koja pada na fotosenzore, a nakon što "vidi" svjetlo , okrenuće se prema svom izvoru.

To napravi robota, "trčeći" iza ruke, potrebne su nam dvije svijetle LED diode (na dijagramu LED1 i LED2). Povezujemo ih preko otpornika R1 i R4 kako bismo kompenzirali struju koja teče kroz njih i zaštitili ih od kvara. Postavite LED diode pored fotosenzora, usmjeravajući njihovu svjetlost u istom smjeru kao i fotosenzori, i uklonite signal sa ulaza INPUT2 i INPUT3.


Dijagram robota koji se kreće prema reflektiranoj svjetlosti

Zadatak rezultirajućeg robota je da reaguje na reflektovanu svetlost koju emituju LED diode. Uključite robota i stavite dlan ispred jednog od fotosenzora. Robot će se okrenuti prema dlanu. Pomaknite dlan malo u stranu tako da nestane iz vidnog polja jednog od fotosenzora; kao odgovor, robot se poslušno, poput psa, okreće iza dlana.
LED diode treba odabrati dovoljno svijetle tako da reflektovanu svjetlost stalno hvataju fototranzistori. Dobri rezultati se mogu postići crvenim ili narandžastim LED diodama sa svjetlinom od preko 1000 mCd.

Ako robot reaguje na vašu ruku samo kada gotovo dodirne senzor, onda možete pokušati eksperimentirati s komadom bijelog papira: refleksivnost bijeli list mnogo veća od one ljudske ruke, a robotova reakcija na bijelu plahtu bit će mnogo bolja i stabilnija.

Bijela ima najveća reflektirajuća svojstva, a crna najmanje. Na osnovu toga možete napraviti robota koji prati liniju. Senzori bi trebali biti postavljeni tako da budu usmjereni prema dolje. Udaljenost između senzora treba biti nešto veća od širine linije.

Dijagram robota koji prati crnu liniju identičan je prethodnom. Kako robot ne bi izgubio crnu liniju nacrtanu na bijelom polju, njegova širina treba biti oko 30 mm ili veća. Algoritam ponašanja robota je prilično jednostavan. Kada oba fotosenzora pokupe reflektovanu svjetlost iz bijelog polja, robot se kreće naprijed. Kada jedan od senzora uđe u crnu liniju, odgovarajući elektromotor se zaustavlja i robot se počinje okretati, izravnavajući svoju poziciju. Nakon što su oba senzora ponovo iznad bijelog polja, robot nastavlja da se kreće naprijed.

Bilješka:
Na svim crtežima robota, mikrokolo pokretača motora L293D je prikazano uslovno (samo kontrolni ulazi i izlazi).

Napravite robota veoma jednostavno Da vidimo šta je potrebno kreirati robota kod kuće kako bi razumjeli osnove robotike.

Sigurno ste nakon gledanja filmova o robotima više puta željeli izgraditi svog saborca, ali niste znali odakle početi. Naravno, nećete moći da napravite dvonogog terminatora, ali ni mi ne težimo tome. Skupiti jednostavan robot Svako ko zna kako pravilno držati lemilicu u rukama može to učiniti, a to ne zahtijeva duboko znanje, iako se neće miješati. Amaterska robotika se ne razlikuje mnogo od strujnih kola, samo je mnogo interesantnija, jer su ovdje također pogođena područja poput mehanike i programiranja. Sve komponente su lako dostupne i nisu tako skupe. Dakle, napredak ne miruje, a mi ćemo ga iskoristiti u svoju korist.

Uvod

Dakle. Šta je robot? U većini slučajeva jeste automatski uređaj koji reaguje na bilo koju akciju okruženje... Roboti mogu kontrolirati ljudi ili obavljati unaprijed programirane radnje. Obično je robot opremljen raznim senzorima (udaljenost, ugao rotacije, ubrzanje), video kamerama, manipulatorima. Elektronski dio robota sastoji se od mikrokontrolera (MC) - mikrokola koji sadrži procesor, generator takta, razne periferije, slučajni pristup i trajnu memoriju. U svijetu postoji veliki izbor mikrokontrolera za različite oblasti primjene i na njihovoj osnovi se mogu sastaviti moćni roboti. Za amaterske zgrade široka primena pronađeni AVR mikrokontroleri. Oni su, danas, najpristupačniji i na internetu možete pronaći mnogo primjera zasnovanih na ovim MK. Da biste radili sa mikrokontrolerima, potrebno je da znate programiranje u asembleru ili C-u i da imate osnovno znanje o digitalnoj i analognoj elektronici. Mi ćemo koristiti C u našem projektu. Programiranje za MK se ne razlikuje mnogo od programiranja na kompjuteru, sintaksa jezika je ista, većina funkcija je praktički ista, a nove su prilično jednostavne za učenje i zgodne za korištenje.

Šta nam treba

Za početak, naš robot će moći jednostavno zaobići prepreke, odnosno ponoviti normalno ponašanje većine životinja u prirodi. Sve što nam je potrebno da napravimo takvog robota može se naći u radio prodavnicama. Mi ćemo odlučiti kako će se naš robot kretati. Mislim da su najuspješnije gusjenice koje se koriste u tenkovima, ovo je najviše pogodno rešenje, jer gusjenice imaju veću sposobnost kretanja od kotača mašine i pogodnije su za upravljanje (za okretanje dovoljno je rotirati gusjenice u različite strane). Stoga će vam trebati bilo koji spremnik za igračke sa gusjenicama koje se rotiraju neovisno jedna o drugoj, možete je kupiti u bilo kojoj trgovini igračaka po razumnoj cijeni. Od ovog rezervoara vam je potrebna samo platforma sa gusjenicama i motori sa mjenjačima, ostalo možete sigurno odvrnuti i baciti. Potreban nam je i mikrokontroler, moj izbor je pao na ATmega16 - ima dovoljno portova za povezivanje senzora i perifernih uređaja, i općenito je prilično zgodan. Također morate kupiti neke radio komponente, lemilicu, multimetar.

Izrada ploče sa MK

U našem slučaju, mikrokontroler će obavljati funkcije mozga, ali nećemo početi s njim, već s napajanjem mozga robota. Pravilna ishrana- garancija zdravlja, pa ćemo početi s tim kako pravilno hraniti našeg robota, jer to je obično greška početnika u izradi robota. A da bi naš robot normalno radio, trebate koristiti stabilizator napona. Preferiram mikrokolo L7805 - dizajnirano je da obezbijedi stabilan napon od 5V na izlazu, što je potrebno našem mikrokontroleru. Ali zbog činjenice da je pad napona na ovom mikrokrugu oko 2,5V, na njega se mora napajati najmanje 7,5V. Zajedno sa ovim stabilizatorom, elektrolitički kondenzatori se koriste za izglađivanje talasa napona, a dioda mora biti uključena u krug kako bi se zaštitila od promjene polariteta.

Sada se možemo pozabaviti našim mikrokontrolerom. Kućište za MK je DIP (prikladnije je lemiti na ovaj način) i ima četrdeset pinova. Na brodu se nalazi ADC, PWM, USART i još mnogo toga što za sada nećemo koristiti. Razmotrimo nekoliko važnih čvorova. RESET pin (9. krak MK) povlači otpornik R1 na "plus" napajanja - to se mora učiniti! U suprotnom, vaš MK može biti nenamjerno resetovan ili, drugim riječima, greši. Također je poželjna mjera, ali nije obavezna, da se RESET poveže preko keramičkog kondenzatora C1 na masu. Na dijagramu možete vidjeti i elektrolit od 1000 uF, on štedi od padova napona kada motori rade, što će također imati blagotvoran učinak na rad mikrokontrolera. Kvarcni kristal X1 i kondenzatore C2, C3 treba postaviti što bliže XTAL1 i XTAL2 pinovima.

Neću govoriti o tome kako bljesnuti MK, jer o tome možete pročitati na Internetu. Program ćemo napisati na C; ja sam izabrao CodeVisionAVR kao programsko okruženje. Ovo je prilično zgodno okruženje i korisno za početnike, jer ima ugrađenog čarobnjaka za kreiranje koda.

Kontrola motora

Jednako važna komponenta u našem robotu je i pokretač motora, koji nam olakšava upravljanje njime. Nikada i ni pod kojim okolnostima ne smijete spajati motore direktno na MK! Općenito, moćna opterećenja se ne mogu kontrolisati direktno iz mikrokontrolera, inače će izgorjeti. Koristite ključne tranzistore. Za naš slučaj postoji poseban mikro krug - L293D. U takvim jednostavnim projektima, uvijek pokušajte koristiti ovaj mikro krug s "D" indeksom, jer ima ugrađene diode za zaštitu od preopterećenja. Ovo mikrokolo je vrlo jednostavno za rukovanje i lako se može nabaviti u radio prodavnicama. Dostupan je u dva DIP i SOIC paketa. Koristićemo u DIP paket zbog lakoće montiranja na ploču. L293D ima odvojeno napajanje za motore i logiku. Stoga ćemo sam mikrokolo napajati iz stabilizatora (VSS ulaz), a motore direktno iz baterija (VS ulaz). L293D može izdržati opterećenje od 600 mA po kanalu, a ima dva ova kanala, odnosno dva motora mogu biti povezana na jedno mikrokolo. Ali, da budemo sigurni, spojit ćemo kanale, a onda nam je potreban jedan mikron za svaki motor. Iz toga slijedi da će L293D moći izdržati 1,2 A. Da biste to postigli, trebate kombinirati noge mikre, kao što je prikazano na dijagramu. Mikrokolo radi na sljedeći način: kada se logička "0" primjenjuje na IN1 i IN2, a logička jedinica na IN3 i IN4, motor se rotira u jednom smjeru, a ako su signali obrnuti, primjenjuje se logička nula, tada se motor će početi da se okreće u drugom smeru. Pinovi EN1 i EN2 su odgovorni za uključivanje svakog kanala. Povezujemo ih i spajamo na "plus" napajanja iz stabilizatora. Budući da se mikrokrug zagrijava tijekom rada, a ugradnja radijatora je problematična za ovu vrstu kućišta, rasipanje topline osiguravaju GND noge - bolje ih je lemiti na širokom kontaktnom području. To je sve što trebate znati o vozačima motora po prvi put.

Senzori prepreka

Kako bi naš robot mogao da se kreće i da se ne zaleti u sve, na njega ćemo ugraditi dva infracrvena senzora. Najjednostavniji senzor sastoji se od IR diode, koja emituje u infracrvenom spektru, i fototranzistora, koji prima signal od IR diode. Princip je sljedeći: kada nema prepreka ispred senzora, IR zraci ne udaraju u fototranzistor i on se ne otvara. Ako se ispred senzora nalazi prepreka, tada se zrake iz njega reflektiraju i padaju na tranzistor - otvara se i struja počinje teći. Nedostatak takvih senzora je što mogu različito reagirati razne površine i nisu zaštićeni od smetnji - od stranih signala s drugih uređaja, senzor, slučajno, može raditi. Modulacija signala može zaštititi od smetnji, ali za sada se nećemo zamarati time. Za početak, to je dovoljno.


Firmware robota

Da biste oživjeli robota, morate napisati firmware za njega, odnosno program koji bi uzimao očitanja sa senzora i kontrolirao motore. Moj program je najjednostavniji, ne sadrži složene strukture i svi će razumeti. Sljedeća dva reda uključuju datoteke zaglavlja za naš mikrokontroler i komande za formiranje kašnjenja:

#include
#include

Sljedeći redovi su uvjetni jer PORTC vrijednosti zavise od toga kako ste povezali drajver motora na vaš mikrokontroler:

PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; Vrijednost 0xFF znači da će izlaz biti log. "1", i 0x00 - dnevnik. "0". Sljedećom konstrukcijom provjeravamo da li postoji prepreka ispred robota i na kojoj se strani nalazi: ako (! (PINB & (1<

Ako svjetlost iz IR diode udari u fototranzistor, tada se na nogu mikrokontrolera postavlja log. "0" i robot počinje da se kreće unazad da bi se udaljio od prepreke, zatim se okreće da se ne bi ponovo sudario sa preprekom i onda ponovo ide napred. S obzirom da imamo dva senzora, dva puta provjeravamo prisutnost prepreke - s desne i lijeve strane, te stoga možemo saznati s koje strane je prepreka. Komanda "delay_ms (1000)" označava da će proći jedna sekunda prije nego što se izvrši sljedeća naredba.

Zaključak

Pokrio sam većinu aspekata koji će vam pomoći da napravite svog prvog robota. Ali robotika se tu ne završava. Ako napravite ovog robota, tada ćete imati puno mogućnosti za njegovo proširenje. Možete poboljšati algoritam robota, na primjer šta učiniti ako prepreka nije s neke strane, već direktno ispred robota. Također ne škodi instaliranje enkodera - jednostavnog uređaja koji će vam pomoći da precizno pozicionirate i znate lokaciju vašeg robota u svemiru. Radi jasnoće, moguće je instalirati kolor ili monohromatski displej koji može prikazati korisne informacije - nivo napunjenosti baterije, udaljenost do prepreke, razne informacije o otklanjanju grešaka. Neće škoditi ni poboljšanje senzora - ugradnja TSOP-a (ovo su IR prijemnici koji percipiraju signal samo određene frekvencije) umjesto konvencionalnih fototranzistora. Osim infracrvenih senzora, postoje i ultrazvučni, oni su skuplji, a također nisu bez nedostataka, ali u posljednje vrijeme postaju sve popularniji među inženjerima robotike. Da bi robot mogao da reaguje na zvuk, bilo bi lepo da se ugrade mikrofoni sa pojačanjem. Ali stvarno zanimljiva stvar, mislim, je instalacija kamere i programiranje na osnovu mašinskog vida. Postoji skup specijalnih OpenCV biblioteka sa kojima možete programirati prepoznavanje lica, kretanje po farbama u boji i puno drugih zanimljivih stvari. Sve ovisi samo o vašoj mašti i vještinama.

Spisak komponenti:

    ATmega16 u DIP-40 pakovanju>

    L7805 u paketu TO-220

    L293D u DIP-16 pakovanju h2 kom.

    Otpornici 0,25 W nominalnih vrijednosti: 10 kOhm x1 kom., 220 Ohm x4 kom.

    keramički kondenzatori: 0,1 μF, 1 μF, 22 pF

    elektrolitski kondenzatori: 1000 uF x 16 V, 220 uF x 16 V x 2 kom.

    dioda 1N4001 ili 1N4004

    kristalni rezonator na 16 MHz

    IR diode: bilo koje dvije su dovoljne.

    fototranzistori, također bilo koji, ali reagiraju samo na valnu dužinu infracrvenih zraka

Firmware kod:

/ ************************************************** ** ** Firmware za robota MK tip: ATmega16 Frekvencija takta: 16.000000 MHz Ako imate drugačiju kvarc frekvenciju, potrebno je da navedete ovo u postavkama okruženja: Projekt -> Konfiguriraj -> Tab "C kompajler" ****** ********************************************** / #include #include void main (void) (// Postavite portove za ulaz // Preko ovih portova primamo signale od senzora DDRB = 0x00; // Uključite pull-up otpornike PORTB = 0xFF; // Postavite portove za izlaz // Preko ovih portovi kojima upravljamo DDRC motori = 0xFF; // Glavna petlja programa. Ovdje čitamo vrijednosti sa senzora // i kontroliramo motore dok (1) (// Idemo naprijed PORTC.0 = 1; PORTC. 1 = 0; PORTC.2 = 1; PORTC.3 = 0; ako (! (PINB & (1<O mom robotu

Trenutno je moj robot skoro gotov.


Poseduje bežičnu kameru, senzor udaljenosti (i kamera i ovaj senzor su instalirani na rotirajućem tornju), senzor prepreka, enkoder, prijemnik za signale sa daljinskog upravljača i RS-232 interfejs za povezivanje sa računarom . Radi u dva načina rada: autonomno i ručno (primi kontrolne signale s daljinskog upravljača), kamera se također može uključiti/isključiti daljinski ili sam robot radi uštede energije baterije. Pišem firmware za sigurnost stana (prenos slike na kompjuter, detekcija pokreta, obilazak sobe).