Sadržaj:

1KG Sumobot Build: 6 koraka
1KG Sumobot Build: 6 koraka

Video: 1KG Sumobot Build: 6 koraka

Video: 1KG Sumobot Build: 6 koraka
Video: Sumo Robot 1kg Petrosains RBTX Final 2022 | Ultimate Battle of Robot Titans 2024, Lipanj
Anonim
1KG Sumobot Build
1KG Sumobot Build

Ovaj Instructable vodit će vas kroz proces projektiranja i izgradnje sumobota od 1 kilograma.

Ali prvo, malo pozadine zašto sam odlučio ovo napisati. Htio sam popraviti svog starog sumobota za natjecanje kad sam shvatio da nikada nisam napravio Instructable o tome kako napraviti sumobota. Šutio sam u Instructables -u posljednjih godinu dana, pa sam odlučio da ću se vratiti s ovim Instructable -om o tome kako izgraditi 1KG sumobot.

Prije svega, mnogi od vas bi se pitali: što je sumobot?

U osnovi, sumobot je vrsta robota koji se koristi u sumobot ili robot-sumo natjecanjima. Kao što naziv govori, cilj je međusobno istisnuti iz ringa, slično sumo hrvanju. Sam sumobot dizajniran je s jedinom svrhom da izgura drugog sumobota iz prstena. Sumobot u ovom Instructable ima 1 kilogram. Postoje, međutim, i druge kategorije težine poput 500 grama i 3 kilograma.

Potrebne vještine:

  • Poznavanje CAD -a (računalno potpomognuti dizajn)
  • Lemljenje
  • Programiranje u Arduinu

Za ovaj projekt nije potrebno mnogo vještina. Udobnost u radu s CAD -om, lemljenje i programiranje idu daleko. Neka vas ne zastraši koliko zvuči kompliciran dizajn s računalnom podrškom. Autodesk nudi besplatne sveobuhvatne vodiče o vlastitom softveru (i sam koristim Fusion 360) i početniku je od iznimne pomoći pri učenju užadi. Za mene je važnija volja i spremnost za učenje, i naravno da se usput zabavljam.

S ovim, počnimo.

p.s. Također se prijavljujem na ovaj Instructable u natječaju Make it Move. Ako vam je ovaj Instructable strašan, glasajte i za mene. (Želim majicu; izgleda jako super:))

Korak 1: Popis dijelova

Popis dijelova:

Aluminijski lim 0,090”6061 - 12” x 12”(ili bilo koji aluminijski lim 0,090” /2,2 mm koji se može CNC -om. Odabrao sam 6061 jer bi se to koristilo za glavno tijelo, a 6061 ima priličnu čvrstoću)

Aluminijski lim od 0,5 mm - 12”x 12” (Bilo koja legura bi radila; ovo je samo za gornji poklopac i oštricu. Koristio sam rezervne aluminijske otpatke)

Aluminijski lim od 5 mm (Opet, svaka legura bi uspjela. Moji su bili 7075 aluminijskih ostataka.)

2 x 12V DC motor velikog zakretnog momenta (Svaki motor velikog okretnog momenta će raditi, poput ovog iz Amazona.)

2 x naplatak kotača (Opet, bilo koji naplatak kotača bi radio, ovisno o vašem motoru. Ako imate osovinu motora od 5 mm, ovi kotači će dobro raditi. Moji su zapravo neki stari silikonski kotači koje sam imao)

4 infracrvena senzora udaljenosti (koristim Sharp infracrvene senzore udaljenosti, koji se mogu kupiti u više trgovina, poput ovog iz Pololua i ovog iz Sparkfuna.)

2 IC senzora (opet sam ih dobio od Sparkfuna.)

1 ploča mikrokontrolera (koristim ATX2 samo zato što je to potrebno. Običan Arduino Uno bi zapravo bio bolji zbog jednostavnosti korištenja).

1 3S litij -polimerna baterija (LiPo. 3S LiPos su 12 volti. Kapacitet bi bio od 800 do 1400 mah.)

1 Pogonitelj motora (Opet, to ovisi o količini snage koju vaš motor može izvući. Ovo ide izravno na Arduino Uno i može osigurati do 5A struje.)

Žice, kabeli i priključci (Za povezivanje senzora s pločom i za povezivanje s prijenosnim računalom.)

M3 vijci i matice

Epoksid

Karton

Laptop (za programiranje ploče)

Alati poput škara, skidača žice i lemilice.

Korak 2: Sastavljanje šasije

Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije
Sastavljanje šasije

Za dizajn kućišta koristio sam Fusion 360, sve u jednom 3D CAD/CAM softver u oblaku. Autodesk ovdje nudi prekrasne vodiče. Učio sam uglavnom gledajući videozapise i pokušavajući ih sam napraviti. Neću vas pokušavati naučiti koristiti Fusion 360; Pustit ću profesionalce da učine svoje.

Sam dizajn sastoji se od jedne glavne baze, jedne oštrice, jednog gornjeg poklopca, dva držača motora i dva (ili četiri) 3D ispisana držača. Glavna baza je aluminij 2,2 mm, nosači motora su aluminij 5 mm, oštrica je aluminij 0,5 mm, dok gornji poklopac može biti ili aluminij 0,5 mm ili obični karton. Koristio sam karton jer aluminij teži par grama više, a ja sam prešao granicu od 1 kilograma za 10 grama. S druge strane, 3D ispisani aparatići ispisani su ABS -om, na 50% ispuni.

Dizajn koji je zahtijevao aluminij izvezen je u.dxf datoteke i poslan lokalnoj tvrtki za lasersko rezanje ovdje na Filipinima. U međuvremenu su 3D ispisani dijelovi izvezeni u STL i ponovno poslani lokalnoj tvrtki za 3D tisak.

Odricanje od odgovornosti: Ponovno sam upotrijebio svoj stari sumobot koji više ne radi, ali koristi ovaj dizajn, pa su neki dijelovi već sastavljeni na fotografijama. Ja ću vas, međutim, provesti kroz postupak sastavljanja svih komada zajedno.

Nakon što su dijelovi izrezani, možete početi s gornjim poklopcem, podupiračem i oštricom ili nosačem motora.

Gornji poklopac u dizajnu izrađen je od aluminija, ali zbog ograničenja težine koristio sam karton. Rezao sam karton po istim specifikacijama kao u dizajnu.

3D ispisani podupirač pričvršćen je sprijeda vijcima i koristi se za doslovno pričvršćivanje oštrice. Oštrica je zalijepljena za podlogu pomoću epoksida. Rupe za vijke na oštrici, a glavna baza služi za usmjeravanje pozicioniranja i provjerite je li točno spojena. Na glavnoj podlozi postoje kružne rupe koje možete popuniti epoksidom kako biste oštricu zalijepili za glavnu podlogu. Velika površina rupa omogućuje epoksidu bolje prianjanje oštrice i sprječavanje njezinog odcijepljenja od podloge. IC senzor se također može zalijepiti za dno oštrice epoksidom, baš kao na fotografijama. Provjerite je li dno senzora okomito na pod.

Da biste motor montirali na bazu, prvo ga uvrnite u nosač motora. No, prvo morate lemiti žice na motor, budući da su vodiči na stražnjoj strani motora i da će ih biti teško doći do njih nakon što su pričvršćeni na bazu. Motor se slaže s nosačem motora i drži ga vijcima. To jest, ako imate motor, uključio sam ga u popis dijelova. U protivnom možete promijeniti dizajn koji odgovara vašem motoru. U ovom trenutku možete pričvrstiti i naplatak kotača na motor. Nosač motora tada se pričvršćuje na stražnje rupe glavnog postolja.

Ako koristite upravljački program motora koji ne može ići preko Arduina, ili iz bilo kojeg razloga što vozač mora imati svoje područje, ima prostora između motora i oštrice za to. Ovaj prostor je dodijeljen za lipo bateriju i upravljački program motora, u slučaju da vam je potreban dodatni prostor. Budući da također već radimo na donjem dijelu robota, a kasnije bi mu bilo teško pristupiti nakon što je gornji poklopac pričvršćen, možete postaviti vozač motora između oštrice i motora, baš kao na fotografijama. Dvostrana traka može vam pomoći pri pričvršćivanju na bazu.

Korak 3: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Sljedeća je elektronika, poput senzora, upravljačkog programa motora i ploče.

Ako opet koristite upravljački program motora koji ne ide preko Arduina, počnite spajati žice koje su potrebne za povezivanje s mikrokontrolerom. Za vozača motora sve što mi treba je signalna (plava) i uzemljena (crna) žica. Ovisi o samom vozaču. Svi vozači trebaju žice za spajanje na bateriju ili izvor napajanja. Kablovi pričvršćeni na moj XT-60 (isti utikač na većini lipo baterija) bili su predebeli pa sam ih morao skratiti kako bi odgovarao uskim konektorima.

Moj mikrokontroler također ima isti izvor napajanja kao i upravljački programi motora, pa sam morao lemiti žice izravno na vodiče priključka XT-60 na upravljačkim programima motora.

Sami IC osjetnici udaljenosti možda će morati imati zalemljene igle zaglavlja, ovisno o tome koji senzor nabavite. Obično uključuju neke u paket ako ih kupite, pa ih lemite po potrebi.

Možda ćete također morati lemiti žice kako biste povezali mikrokontroler sa senzorima, baš kao i ja. Senzor ima vlastiti konektor; neki koriste JST, dok neki koriste servo zaglavlja. S običnim Arduinom, možete spojiti kratkospojne kabele na Arduino, a zatim drugi kraj kabela zalemiti za kabel koji izlazi iz senzora. Postupak radi na isti način s drugim mikrokontrolerima. Žice koje dolaze iz mikrokontrolera lemljene su na žice koje dolaze od senzora.

Korak 4: Spajanje svih dijelova

Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno
Spajanje svih dijelova zajedno

Senzori i mikrokontroler idu na gornju ploču. Montirao sam IC senzore udaljenosti na hrpu kartona kako bih ga podigao iznad mikrokontrolera, budući da se žice iza senzora sudaraju s mikrokontrolerom. Primijetite kako na fotografiji postoje samo tri senzora. Tek sam u zadnji trenutak odlučio dodati četvrti senzor udaljenosti na stražnjoj strani robota. Nažalost, više nije bilo mjesta pa sam ga morao montirati na samu glavnu bazu, odmah iza motora.

Mikrokontroler je zatim pričvršćen na gornju ploču. Ništa pretjerano teško; Upravo sam probušio neke rupe u kartonu i zašrafio cijelu ploču na gornju ploču. Ako koristite aluminij, ručna bušilica bila bi obavezna.

Nakon što je sve pričvršćeno na gornju ploču, zalijepite je dvostranom trakom na gornji dio motora.

U ovom trenutku možete početi povezivati svu elektroniku zajedno, poput spajanja senzora i upravljačkog programa motora na mikrokontroler. Ako koristite upravljački program motora koji se samo drži na vrhu Arduina, onda vam to neće predstavljati nikakav problem. Ako ne, morat ćete ga spojiti prema ploči prema specifikacijama vozača, baš kao što sam ja učinio.

Nakon što je sve ožičeno, postavite lipo u donji prostor između motora i noža, a zatim uključite mikrokontroler i upravljačke programe kako bi prvi put zasvijetlili.

Korak 5: Programiranje

Nakon što je sve sastavljeno, preostaje vam još jedna posljednja stvar: programirajte svog robota.

Programiranje vašeg robota ovisi o strategiji koju želite. Ovdje pretpostavljam da ste kompetentni u programiranju, jer moj vozač motora koristi serijsku (UART) komunikaciju, pa moj program neće raditi za ostale vozače motora. Uostalom, u programiranju ne postoji jedna veličina koja odgovara svima.

Kako bih vam pomogao, evo osnovnog dijagrama toka mog programa.

ako je netko jako blizu sprijeda, idite punim naponom, ako lijevi ili desni osjetnik boje otkrije bijelu liniju, vratite se, zatim se okrenite, ako senzor udaljenosti lijevo ili desno nešto otkrije, okrenite se u tom smjeru da stražnji osjetnik nešto otkrije, okrenite se u tom smjeru ako je netko daleko naprijed, idite naprijed, nastavite dalje

Evo cijelog programa ako vas zanima:

#uključi

// A5 - lijevi osjetnik boje // A4 - desni osjetnik boje // A6 - stražnji osjetnik udaljenosti // A2 - lijevi osjetnik udaljenosti // A3 - desni osjetnik udaljenosti // A1 - prednji osjetnik udaljenosti // motor 1 - desno // motor 2 - postavljanje lijeve praznine () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); U REDU(); zvučni signal (2); setTextColor (GLCD_BLUE); glcd (1, 0, "Pokrenuto"); kašnjenje (4900); }

void loop () {{100} {101}

int frontDistanceValue = analogRead (A1); int leftDistanceValue = analogRead (A2); int rightDistanceValue = analogno čitanje (A3); int rearDistanceValue = analogRead (A6); int leftColorValue = digitalno čitanje (A5); int rightColorValue = digitalno čitanje (A4); if (frontDistanceValue> 250) {// netko ispred, maksimalna snaga Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// dodirnuo rub // obrnuo Serial1.write (1); Serial1.write (255); kašnjenje (400); Serial1.write (1); Serial1.write (128); kašnjenje (300); } else if (rightColorValue == 0) {// dodirnuo rub // obrnuo Serial1.write (1); Serial1.write (255); kašnjenje (400); Serial1.write (127); Serial1.write (255); kašnjenje (300); } else if (frontDistanceValue> 230) {// nekako daleko ispred Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// skrenite lijevo Serial1.write (127); Serial1.write (255); kašnjenje (450); } else if (rightDistanceValue> 250) {// skrenite desno Serial1.write (1); Serial1.write (128); kašnjenje (450); } else if (rearDistanceValue> 150) {// blizu leđa Serial1.write (1); Serial1.write (128); kašnjenje (1050); } else if (frontDistanceValue> 180) {// daleko ispred Serial1.write (127); Serial1.write (128); } else {Serial1.write (100); Serial1.write (155); }}

Korak 6: Fotografije

Fotografije
Fotografije
Fotografije
Fotografije
Fotografije
Fotografije
Fotografije
Fotografije

Prikazane su neke fotografije gotovog sumobota.

Nadamo se da ste nešto naučili iz ovog uputstva. Ako vam se sviđa ovaj vodič, glasajte za mene na natječaju Make it Move. Ako ne, rado ću ispraviti sve što ovaj vodič može učiniti boljim.

Sretno učenje!

Preporučeni: