Cuprins:

1KG Sumobot Build: 6 pași
1KG Sumobot Build: 6 pași

Video: 1KG Sumobot Build: 6 pași

Video: 1KG Sumobot Build: 6 pași
Video: How to make Robot Sumo 2024, Noiembrie
Anonim
1KG Sumobot Build
1KG Sumobot Build

Acest instructable vă va ghida prin procesul de proiectare și construire a unui sumobot de 1 kilogram.

Dar mai întâi, un pic de fundal cu privire la motivul pentru care am decis să scriu acest lucru. Eram pe punctul de a-mi repara vechiul sumobot pentru o competiție când mi-am dat seama că nu făcusem niciodată un Instructable despre cum să fac un sumobot. Am fost liniștit în Instructables în ultimul an, așa că am decis să revin cu acest Instructable despre cum să construiesc un sumobot de 1 KG.

În primul rând, mulți dintre voi v-ați întreba: ce este un sumobot?

Practic, un sumobot este un fel de robot utilizat în competiții sumobot sau robot-sumo. După cum sugerează și numele, scopul este să ne împingem unul pe altul dintr-un inel, similar cu lupta sumo. Sumobotul în sine este proiectat cu singurul scop de a împinge un alt sumobot din inel. Sumobotul din acest instructabil este de 1 kilogram. Există, totuși, alte clase de greutate, cum ar fi 500 de grame și 3 kilograme.

Aptitudinile necesare:

  • Familiarizarea cu CAD (Proiectare asistată de computer)
  • Lipire
  • Programare în Arduino

Nu sunt necesare prea multe abilități pentru acest proiect. Simplul confort al programului CAD, lipirea și programarea merg mult. Nu vă lăsați descurajați de cât de complicat sună designul asistat de computer. Autodesk oferă tutoriale cuprinzătoare gratuite pe propriul software (eu folosesc Fusion 360) și este extrem de util pentru un începător care învață corzile. Pentru mine, ceea ce este mai important este disponibilitatea și disponibilitatea de a învăța și, bineînțeles, de a se distra pe parcurs.

Cu aceasta, să începem.

P. S. Înscriu și acest Instructable în concursul Make it Move. Dacă vi se pare minunat acest instructabil, vă rugăm să votați și pentru mine. (Vreau tricoul; arată foarte tare:))

Pasul 1: Lista pieselor

Lista de componente:

Foaie de aluminiu de 0,090 "6061 - 12" x 12 "(sau orice foaie de aluminiu de 0,090" / 2,2 mm care poate fi CNC. Am ales 6061, deoarece aceasta ar fi folosită pentru corpul principal, iar 6061 are o rezistență rezonabilă)

Foaie de aluminiu de 0,5 mm - 12 "x 12" (Orice aliaj ar funcționa; acest lucru este doar pentru capacul superior și lama. Am folosit resturi de aluminiu de rezervă)

Foaie de aluminiu de 5 mm (Din nou, orice aliaj ar funcționa. Alea erau 7075 resturi de aluminiu.)

2 x 12V DC cu cuplu mare motor (Orice motor cu cuplu mare va funcționa, cum ar fi acesta de la Amazon.)

2 x jantă (din nou, orice jantă ar funcționa, în funcție de motorul dvs. Dacă aveți un arbore de motor de 5 mm, aceste roți vor funcționa frumos. A mea sunt de fapt niște roți vechi din silicon pe care le-am avut)

4 senzori de distanță IR (folosesc senzori de distanță IR Sharp, care pot fi achiziționați de la mai multe magazine, cum ar fi acesta de la Pololu și cel de la Sparkfun.)

2 senzori IR (am primit din nou aici de la Sparkfun.)

1 placă de microcontroler (folosesc un ATX2 doar pentru că este necesar. Un Arduino Uno obișnuit ar fi de fapt mai bun pentru ușurința sa de utilizare).

1 baterie litiu polimer 3S (LiPo. LiPos 3S are 12 volți. Ar funcționa o capacitate de la 800 la 1400 mah.)

1 Driver motor (Din nou, acest lucru depinde de cât de multă putere poate consuma motorul dvs. Aceasta merge direct deasupra unui Arduino Uno și poate furniza până la 5A de curent.)

Sârme, cabluri și conectori (Pentru a conecta senzorii la placă și pentru a interfața cu un laptop.)

Șuruburi și piulițe M3

Epoxidic

Carton

Laptop (pentru a programa placa)

Unelte cum ar fi foarfece, decapante de sârmă și fier de lipit.

Pasul 2: Asamblarea șasiului

Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului
Asamblarea șasiului

Am folosit Fusion 360, un software CAD / CAM 3D care funcționează într-un singur cloud, pentru a proiecta șasiul. Autodesk oferă aici tutoriale frumoase. Am învățat de la cea mai mare parte a vizionării videoclipurilor și a încercării de a le face chiar eu. Nu voi încerca să te învăț cum să folosești Fusion 360; Îi voi lăsa pe profesioniști să-și facă treaba.

Designul în sine este alcătuit dintr-o bază principală, o lamă, un capac superior, două console de motor și două (sau patru) acolade imprimate 3D. Baza principală este din aluminiu de 2,2 mm, suporturile motorului sunt din aluminiu de 5 mm, lama este din aluminiu de 0,5 mm, în timp ce capacul superior poate fi din aluminiu de 0,5 mm sau din carton obișnuit. Am folosit carton, deoarece aluminiul cântărește încă câteva grame și depășeam limita de 1 kilogram cu 10 grame. Parantezele imprimate 3D pe de altă parte sunt imprimate cu ABS, pe umplutură de 50%.

Proiectele care solicitau aluminiu au fost exportate în fișiere.dxf și trimise la o companie locală de tăiere cu laser aici, în Filipine. Între timp, piesele tipărite 3D au fost exportate în STL și trimise din nou către o companie locală de tipărire 3D.

Declinare de responsabilitate: Am refolosit un sumobot vechi al meu care nu mai funcționează, dar folosește acest design, astfel încât unele dintre piese sunt deja asamblate în fotografii. Cu toate acestea, vă voi ghida prin procesul de asamblare a tuturor pieselor împreună.

Odată ce piesele au fost tăiate, puteți începe fie cu capacul superior, bretele și lama, fie cu suportul motorului.

Capacul superior din design este fabricat din aluminiu, dar din cauza restricțiilor de greutate am folosit carton. Am tăiat cartonul în aceleași specificații ca și în proiectare.

Suportul tipărit 3D este fixat în față cu ajutorul șuruburilor și este folosit pentru a întări literalmente lama. Lama este lipită de bază folosind materiale epoxidice. Înșurubați găurile în lamă și baza principală este utilizată pentru a ghida poziționarea și pentru a vă asigura că este unită cu precizie. Există găuri circulare pe baza principală pe care le puteți umple cu epoxidice pentru a lipi lama de baza principală. Suprafața mare a găurilor permite epoxidului să prindă mai bine lama și să prevină ruperea de la bază. Senzorul IR poate fi, de asemenea, lipit de partea inferioară a lamei folosind materiale epoxidice, la fel ca în fotografii. Asigurați-vă că partea inferioară a senzorului este perpendiculară pe podea.

Pentru a monta motorul la bază, înșurubați mai întâi motorul în suportul motorului. Cu toate acestea, trebuie mai întâi să lipiți firele la motor, deoarece cablurile sunt în partea din spate a motorului și ar fi greu să le atingeți odată ce sunt atașate la bază. Motorul se aliniază cu suportul motorului și este susținut de șuruburi. Adică, dacă ai motorul pe care l-am inclus în lista pieselor. Dacă nu, puteți modifica designul pentru a se potrivi cu motorul dvs. În acest moment, puteți atașa janta roții la motor. Suportul motorului se înșurubează apoi pe orificiile din spate ale bazei principale.

Dacă utilizați un driver de motor care nu poate merge deasupra Arduino sau, din orice motiv, driverul motorului trebuie să aibă propria zonă, există spațiu între motoare și lamă pentru acesta. Acest spațiu este alocat bateriei lipo și un driver de motor, în cazul în care aveți nevoie de spațiu suplimentar. Întrucât lucrăm deja la partea de jos a robotului și ar fi greu să îl accesăm ulterior odată ce capacul superior este atașat, puteți plasa driverul motorului între lamă și motoare, la fel ca în fotografii. Banda dublă poate ajuta la atașarea acesteia la bază.

Pasul 3: Electronică

Electronică
Electronică
Electronică
Electronică
Electronică
Electronică

Urmează componentele electronice, cum ar fi senzorii, driverul motorului și placa.

Dacă, din nou, utilizați un driver de motor care nu merge deasupra unui Arduino, începeți să atașați firele necesare pentru a-l interfața cu microcontrolerul. Pentru șoferul meu, tot ce am nevoie este un fir de semnal (albastru) și de masă (negru). Depinde de șofer în sine. Ceea ce au nevoie toți șoferii sunt firele pentru conectarea la baterie sau la sursa de alimentare. Conductoarele atașate la XT-60 (aceeași mufă a majorității bateriilor lipo) erau prea groase, așa că a trebuit să-l tăiem pentru a se potrivi cu blocurile înguste ale conectorilor.

Microcontrolerul meu are, de asemenea, aceeași sursă de alimentare ca și driverele motorului, așa că a trebuit să lipesc firele direct la cablurile conectorului XT-60 de pe driverele motorului.

Senzorii de distanță IR pot fi necesari să aibă lipiți pini de antet, în funcție de senzorul pe care îl obțineți. De obicei, acestea includ unele în pachet dacă le achiziționați, așa că lipiți-le doar după cum este necesar.

S-ar putea să fie nevoie să lipiți firele împreună pentru a conecta microcontrolerul la senzori, la fel ca mine. Senzorul are propriul conector; unii folosesc JST, în timp ce unii folosesc servo headers. Cu un Arduino obișnuit, puteți lipi cabluri jumper pe Arduino și apoi lipiți celălalt capăt al cablului pe cablul care iese din senzor. Procesul funcționează la fel cu alte microcontrolere. Sârmele provenite de la microcontroler sunt lipite cu firele provenite de la senzor.

Pasul 4: Asamblarea tuturor pieselor împreună

Punerea împreună a tuturor părților
Punerea împreună a tuturor părților
Punerea împreună a tuturor părților
Punerea împreună a tuturor părților
Punerea împreună a tuturor părților
Punerea împreună a tuturor părților
Punerea împreună a tuturor părților
Punerea împreună a tuturor părților

Senzorii și microcontrolerul merg pe placa superioară. Am montat senzorii de distanță IR pe o grămadă de carton pentru a-l ridica deasupra microcontrolerului, deoarece firele din spatele senzorului se ciocnesc cu microcontrolerul. Observați cum există doar trei senzori în fotografie. Abia în ultimul moment am decis să adaug un al patrulea senzor de distanță pe partea din spate a robotului. Din păcate, nu mai exista spațiu, așa că a trebuit să-l montez chiar pe baza principală, chiar în spatele motoarelor.

Microcontrolerul este apoi atașat la placa superioară. Nimic prea greu; Tocmai am băgat câteva găuri în carton și am înșurubat toată placa pe placa superioară. Dacă utilizați aluminiu, un burghiu manual ar fi o necesitate.

După ce totul este fixat pe placa superioară, utilizați bandă dublă pentru a o lipi de partea superioară a motoarelor.

În acest moment, puteți începe să conectați toate componentele electronice împreună, cum ar fi conectarea senzorilor și a driverului motorului la microcontroler. Dacă utilizați driverul motorului care se lipeste doar pe partea superioară a Arduino, atunci nu există nicio problemă pentru dvs. Dacă nu, atunci va trebui să îl conectați la placa conform specificațiilor șoferului, la fel ca ceea ce am făcut.

Odată ce totul este conectat, așezați lipo în spațiul inferior dintre motoare și lamă, apoi porniți microcontrolerul și driverele pentru a vedea cum se aprinde pentru prima dată.

Pasul 5: Programare

Odată ce totul este asamblat, există un ultim lucru de făcut: programați robotul.

Programarea robotului dvs. depinde de ce strategie doriți. Presupun aici că sunteți competent în programare, deoarece driverul meu de motor folosește comunicații seriale (UART) și, prin urmare, programul meu nu va funcționa pentru alți driveri de motor. La urma urmei, nu există o singură mărime care să se potrivească tuturor în programare.

Pentru a vă ajuta, iată o schemă de bază a programului meu.

dacă este cineva foarte aproape în față, mergeți la putere maximă dacă senzorul de culoare stânga sau dreapta detectează o linie albă, întoarceți-vă apoi întoarceți-vă dacă senzorul de distanță la stânga sau la dreapta detectează ceva, întoarceți-vă în acea direcție dacă senzorul din spate detectează ceva, întoarceți-vă la acea direcție dacă cineva este departe în față, mergi înainte, continuă să avansezi

Iată întregul program dacă sunteți curios:

#include

// A5 - senzor de culoare stânga // A4 - senzor de culoare dreapta // A6 - senzor de distanță spate // A2 - senzor de distanță stânga // A3 - senzor de distanță dreaptă // A1 - senzor de distanță față // motor 1 - dreapta // motorul 2 - configurare stânga gol () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); BINE(); bip (2); setTextColor (GLCD_BLUE); glcd (1, 0, "Inițializat"); întârziere (4900); }

bucla nulă () {

int FrontDistanceValue = analogRead (A1); int LeftDistanceValue = analogRead (A2); int RightDistanceValue = analogRead (A3); int rearDistanceValue = analogRead (A6); int leftColorValue = digitalRead (A5); int rightColorValue = DigitalRead (A4); if (frontDistanceValue> 250) {// cineva chiar în față, putere maximă Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// margine atinsă // inversă Serial1.write (1); Serial1.write (255); întârziere (400); Serial1.write (1); Serial1.write (128); întârziere (300); } else if (rightColorValue == 0) {// margine atinsă // inversă Serial1.write (1); Serial1.write (255); întârziere (400); Serial1.write (127); Serial1.write (255); întârziere (300); } else if (frontDistanceValue> 230) {// cam departe Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// virează la stânga Serial1.write (127); Serial1.write (255); întârziere (450); } else if (RightDistanceValue> 250) {// virează la dreapta Serial1.write (1); Serial1.write (128); întârziere (450); } else if (rearDistanceValue> 150) {// aproape înapoi Serial1.write (1); Serial1.write (128); întârziere (1050); } else if (frontDistanceValue> 180) {// departe în față Serial1.write (127); Serial1.write (128); } else {Serial1.write (100); Serial1.write (155); }}

Pasul 6: Fotografii

Fotografii
Fotografii
Fotografii
Fotografii
Fotografii
Fotografii
Fotografii
Fotografii

Sunt prezentate câteva fotografii ale sumobotului finalizat.

Sperăm că ai învățat ceva din acest instructabil. Dacă îți place acest ghid, te rog să mă votezi în concursul Make it Move. Dacă nu, voi fi bucuros să corectez orice poate îmbunătăți acest ghid.

Învățare fericită!

Recomandat: