Sadržaj:
- Korak 1: Komponente
- Korak 2: Komponente 3D ispisa
- Korak 3: Sastavljanje zmija
- Korak 4: Krug
- Korak 5: Napajanje zmije
- Korak 6: Testirajte da li sve radi
- Korak 7: Kodirajte
- Korak 8: Vaga protiv kotača
- Korak 9: Klizanje (zmija s jednom osovinom)
Video: Bioinspirirana robotska zmija: 16 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Bio sam nadahnut da započnem ovaj projekt nakon što sam vidio istraživačke videozapise robotskih zmija koje se penju na stabla i robotskih jegulja. Ovo je moj prvi pokušaj i izgradnja robota pomoću zmijolikog kretanja, ali neće mi biti zadnji! Pretplatite se na YouTube ako želite vidjeti budući razvoj.
U nastavku opisujem konstrukciju 2 različite zmije zajedno s datotekama za 3D ispis i raspravu o kodu i algoritmima za postizanje zmijolikog kretanja. Ako želite nastaviti učiti više, nakon čitanja ovog uputstva predlažem da pročitate veze u odjeljku s referencama pri dnu stranice.
Ova instrukcija je tehnički 2-u-1, u kojoj objašnjavam kako napraviti 2 različite verzije robotske zmije. Ako ste samo zainteresirani za izgradnju jedne od zmija, zanemarite upute za drugu zmiju. Od sada će se na ove dvije različite zmije govoriti sljedećim izrazima:
- Jednosmjerna zmija, 1D zmija ili žuta i crna zmija
- Dvoosna zmija, 2D zmija ili bijela zmija
Naravno da možete ispisati zmije u bilo kojoj boji boje koju želite. Jedina razlika između dvije zmije je ta što se u 2D zmiji svaki motor rotira 90 stupnjeva u odnosu na prethodni, dok su u 1D zmiji svi motori poravnati u jednoj osi.
Posljednji predgovor je da iako svaka od mojih zmija ima samo 10 servo pogona, moguće je napraviti zmije s više ili manje servo pogona. Jedna stvar koju treba uzeti u obzir je da ćete s manje servomotora postići manje uspješno kretanje, a s više servomotora vjerojatno ćete biti uspješniji sa serpentinskim kretanjem, ali ćete morati uzeti u obzir cijenu, trenutnu potrošnju (pogledajte kasnije napomene) i broj pinova dostupno na Arduinu. Slobodno promijenite duljinu zmije, no imajte na umu da ćete također morati promijeniti kôd kako biste uzeli u obzir ovu promjenu.
Korak 1: Komponente
Ovo je popis dijelova za jednu zmiju. Ako želite napraviti obje zmije, morat ćete udvostručiti volumen komponenti.
- 10 servo servera MG996R*
- 1,75 mm filament za 3D ispis
- 10 kugličnih ležajeva, dio broj 608 (ja sam svoj spasio sa vanjskog ruba Jitterspin fidget spinnera)
- 20 malih kugličnih ležajeva, broj dijela r188, za kotače ** (ja sam svoj spasio iz unutarnjeg dijela Jitterspin fidget spinnera)
- 40 vijaka s philips glavom 6-32 x 1/2 "(ili slično)
- 8 dužih vijaka (nemam broj dijela, ali su istog promjera kao gornji vijci)
- Najmanje 20 komada patentnih zatvarača od 4 inča (na vama je koliko želite koristiti)
- Po 5 m crvene i crne žice promjera 20 ili deblje ***
- Standardna žica promjera 22
- 30 muških zaglavlja zaglavlja (podijeljeno u 10 serija od 3)
- Arduino Nano
- 3D ispisani dijelovi (pogledajte sljedeći odjeljak)
- Neki oblik napajanja (za više informacija pogledajte odjeljak: "Snaga zmije"), osobno sam koristio modificirano ATX napajanje
- 1000uF 25V elektrolitički kondenzator
- Termoskupljajuće cijevi različitih veličina, lemljenje, ljepilo i drugi razni alati
*možete koristiti druge vrste, ali ćete morati redizajnirati 3D datoteke kako bi odgovarale vašim servo pogonima. Također, ako pokušate koristiti manje servomotore poput sg90, možda ćete otkriti da nisu dovoljno jaki (ovo nisam testirao, a na vama je da eksperimentirate).
** ne morate koristiti male kuglične ležajeve za kotače, samo sam puno ležao. Alternativno, možete koristiti LEGO kotače ili druge kotače za igračke.
*** Ova žica može imati do 10 ampera koja prolazi kroz nju, previše je tanka i struja će je otopiti. Za više informacija pogledajte ovu stranicu.
Korak 2: Komponente 3D ispisa
Ako izrađujete 1D zmiju, ispišite ove komade.
Ako izrađujete 2D zmiju, ispišite ove komade.
Važna napomena: Ljestvica je možda pogrešna! Dizajniram svoje komponente u Fusion 360 (u mm jedinicama), izvozim dizajn kao.stl datoteku u softver MakerBot, a zatim ga ispisujem na pisaču Qidi Tech (klonirana verzija MakerBot Replicator 2X). Negdje duž ovog tijeka rada postoji greška i svi moji ispisi izlaze premali. Nisam uspio identificirati lokaciju greške, ali privremeno sam popravio povećanje svakog ispisa na veličinu 106% u softveru MakerBot, ovo rješava problem.
S obzirom na to, imajte na umu da ako ispišete gore navedene datoteke, one se mogu pogrešno skalirati. Predlažem ispis samo jednog komada i provjeru odgovara li vašem servo MG996R prije nego što ih sve ispišete.
Ako ipak ispisujete bilo koju datoteku, javite mi koji je ishod: ako je ispis premalen, taman koliko je velik, i za koliko posto. Surađujući kao zajednica možemo riješiti probleme greške pomoću različitih 3D pisača i.stl rezača. Kad se problem riješi, ažurirat ću ovaj odjeljak i gornje veze.
Korak 3: Sastavljanje zmija
Postupak montaže uglavnom je isti za obje verzije zmije. Jedina razlika je u tome što se u 2D zmiji svaki motor rotira 90 stupnjeva u odnosu na prethodni, dok su u 1D zmiji svi motori poravnati u jednoj osi.
Za početak odvrnite servo, sačuvajte vijke i uklonite gornje i donje dijelove crnog plastičnog okvira i pazite da ne izgubite zupčanike! Gurnite servo u 3D ispisani okvir, orijentiran kao na gornjim slikama. Zamijenite gornji dio servo kućišta i pričvrstite ga s četiri vijka 6-32 1/2 . Spremite dno servo okvira (u slučaju da ga želite ponovno koristiti u kasnijim projektima) i zamijenite ga 3D tiskana kutija, jedina razlika je dodatni gumb za proklizavanje kugličnog ležaja. Zavijte servo natrag, ponovite 10 puta.
VAŽNO: Prije nastavka morate učitati kôd na Arduino i pomaknuti svaki servo na 90 stupnjeva. Ako to ne učinite, moglo bi se dogoditi da slomite jedan ili više servo i/ili 3D ispisanih okvira. Ako niste sigurni kako pomaknuti servo na 90 stupnjeva, pogledajte ovu stranicu. U osnovi povežite crvenu žicu serva na 5V na Arduinu, smeđu žicu na GND i žutu žicu na digitalni pin 9, a zatim učitajte kôd na vezu.
Sada kada je svaki servo pod 90 stupnjeva, nastavite:
Spojite 10 segmenata umetanjem 3D ispisanog gumba iz jednog kućišta servo -a u rupu drugog dijela segmenta, a zatim s malo sile gurnite osovinu servo -a u njegovu rupu (za jasnost pogledajte gornje slike i video zapis). Ako izrađujete 1D zmiju, svi segmenti trebaju biti poravnati, ako izrađujete 2D zmiju, svaki segment treba rotirati 90 stupnjeva u odnosu na prethodni segment. Imajte na umu da su okvir repa i glave samo polovica duljine ostalih segmenata, povežite ih, ali ne komentirajte dijelove u obliku piramide sve dok ne završimo ožičenje.
Pričvrstite servo krak u obliku slova X i pričvrstite ga na mjesto. Gurnite kuglični ležaj preko 3D ispisane tipke, to će zahtijevati lagano stiskanje 2 polukružna stupa zajedno. Ovisno o marki filamenta koju koristite i gustoći ispune, stupovi mogu biti previše krhki i puknuti, mislim da to neće biti slučaj, ali unatoč tome nemojte koristiti pretjeranu silu. Osobno sam koristio PLA filament s ispunom od 10%. Nakon što je kuglični ležaj uključen, trebao bi ostati zaključan prevjesima na gumbu.
Korak 4: Krug
Krug je isti za obje robotske zmije. Tijekom procesa ožičenja pobrinite se da ima dovoljno prostora za ožičenje kako bi se svaki segment mogao potpuno okrenuti, osobito u 2D zmiji.
Iznad je dijagram sklopa za ožičenje sa samo 2 servo motora. Pokušao sam nacrtati sklop sa 10 servo pogona, ali je postao previše pretrpan. Jedina razlika između ove slike i stvarnog života je ta što morate paralelno spojiti još 8 servo -a i spojiti PWM signalne žice na pinove na Arduino Nano.
Prilikom ožičenja dalekovoda koristio sam jedan komad žice kalibra 18 (dovoljno debeo da izdrži 10 ampera) kao glavni 5V vod koji se proteže duž zmije. Korištenjem skidača žica uklonio sam mali dio izolatora u 10 pravilnih razmaka i lemio kratki komad žice sa svakog od ovih intervala skupinu od 3 muška zatiča. Ponovite ovo drugi put za crnu žicu GND od 18 kalibra i drugu mušku iglu zaglavlja. Konačno lemite dužu žicu na 3. muški pin zaglavlja, ovaj pin će prenositi PWM signal na servo iz Arduino Nano -a u glavi zmije (žica mora biti dovoljno duga da može doseći, čak i kad se segmenti savijaju). Po potrebi pričvrstite termoskupljajuću cijev. Spojite 3 muška zatika zaglavlja i 3 ženska zatika zaglavlja servo žica. Ponovite 10 puta za svaki od 10 servomotora. Na kraju se time postiže paralelno ožičenje servo upravljača i provođenje PWM signalnih žica na Nano. Razlog za muške/ženske zaglavlje zaglavlja bio je taj što možete jednostavno odvojiti segmente i zamijeniti servo pogone ako se pokvare, a da sve ne raspajkate.
Lemiti žice GND i 5V na ploču sa rupom 3x7 rupa u repu s kondenzatorom i vijčanim stezaljkama. Svrha kondenzatora je uklanjanje bilo kakvih skokova struje uzrokovanih pri pokretanju servomotora, koji mogu resetirati Arduino Nano (ako nemate kondenzator, vjerojatno možete pobjeći bez njega, ali bolje je biti siguran). Upamtite da dugi zupci elektrolitskih kondenzatora moraju biti spojeni na 5V vod, a kraći na GND vod. Lemiti GND žicu na GND pin Nano -a i 5V žicu na 5V pin. Napomena ako koristite drugačiji napon (vidi sljedeći odjeljak), recimo Lipo bateriju sa 7,4 V, zatim povežite crvenu žicu s Vin pinom, a NE s 5 V pinom, čime ćete uništiti pin.
Lemite 10 PWM signalnih žica na pinove na Arduino Nano. Ja sam svoje ožičio sljedećim redoslijedom, možete odabrati da svoje povežete drugačije, ali samo zapamtite da ćete tada morati promijeniti redove servo.attach () u kodu. Ako niste sigurni o čemu govorim, povežite to na isti način kao i ja i nećete imati problema. Kako bih od servoa na repu zmije do glave zmije, obje svoje zmije povezao sam sljedećim redoslijedom. Spajanje signalnih pinova na: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.
Očistite ožičenje pomoću patentnih zatvarača. Prije nego nastavite, provjerite mogu li se svi segmenti pomicati s dovoljno prostora za pomicanje žica bez razdvajanja. Sad kad je ožičenje gotovo, možemo pričvrstiti kape i piramidalne kape glave i repa. Imajte na umu da rep ima rupu za izvlačenje priveza, a glava ima rupu za kabel za programiranje Arduino.
Korak 5: Napajanje zmije
Budući da su servovodi paralelno ožičeni, svi dobivaju isti napon, ali se struja mora zbrajati. Gledajući podatkovni list za servo pogone MG996r, oni mogu pokrenuti do 900 mA svaki tijekom rada (pod pretpostavkom da nema zastoja). Prema tome, ukupna potrošnja struje ako se svih 10 servomotora pomiče u isto vrijeme iznosi 0,9A*10 = 9A. Kao takav normalni 5v, 2A adapter za zidnu utičnicu neće raditi. Odlučio sam promijeniti ATX napajanje, sposobno za 5v na 20A. Neću vam objašnjavati kako to učiniti, jer se o Instructables -u i YouTubeu već dosta raspravljalo. Brzo pretraživanje na mreži pokazat će vam kako izmijeniti jedno od ovih izvora napajanja.
Pod pretpostavkom da ste izmijenili izvor napajanja, to je jednostavno slučaj spajanja duge trake između izvora napajanja i vijčanih stezaljki na zmiji.
Druga mogućnost je korištenje ugrađene lipo baterije. Ovo nisam isprobao, pa će na vama biti da dizajnirate nosač za baterije i spojite ih. Imajte na umu radni napon, strujni napon servomotora i Arduina (nemojte lemiti ništa osim 5V na 5v pin na Arduinu, idite na Vin pin ako imate veći napon).
Korak 6: Testirajte da li sve radi
Prije nego nastavimo, samo provjerimo radi li sve. Prenesite ovaj kôd. Vaša bi zmija trebala pomaknuti svaki servo pogon pojedinačno između 0-180, a zatim završiti polaganjem u ravnu liniju. Ako to ne znači da nešto nije u redu, najvjerojatnije je ožičenje pogrešno ili servo motori u početku nisu bili centrirani pod 90 stupnjeva kako je spomenuto u odjeljku "Sastavljanje zmija".
Korak 7: Kodirajte
Trenutačno ne postoji daljinski upravljač za zmiju, sve je kretanje unaprijed programirano i možete odabrati što želite. Razvit ću daljinski upravljač u verziji 2, ali ako ga želite kontrolirati daljinski, predlažem da pogledate druge vodiče o Instructables i prilagodite zmiju da bude kompatibilna s bluetoothom.
Ako stvarate 1D zmiju, prenesite ovaj kôd.
Ako stvarate 2D zmiju, prenesite ovaj kôd.
Potičem vas da se poigrate s kodom, unesete vlastite izmjene i stvorite nove algoritme. Pročitajte sljedećih nekoliko odjeljaka za detaljno objašnjenje svake vrste kretanja i kako kod za nju funkcionira.
Korak 8: Vaga protiv kotača
Jedan od glavnih načina na koji se zmije mogu kretati naprijed je oblik njihove ljuske. Vaga omogućuje lakše kretanje prema naprijed. Za daljnja objašnjenja pogledajte ovaj video od 3:04 pa nadalje kako biste vidjeli kako vaga pomaže zmiji da krene naprijed. Gledajući 3:14 u istom videu pokazuje se učinak kada su zmije u rukavu, uklanjajući trenje vage. Kao što je prikazano u mom video zapisu na YouTubeu kada robotska 1D zmija pokušava kliziti po travi bez ljuskica, ne pomiče se naprijed niti nazad jer se sile zbrajaju na neto nulu. Kao takvi, moramo dodati neke umjetne ljestvice ispod stomaka robota.
Istraživanje o ponovnom kretanju kretanja putem vage provedeno je na Sveučilištu Harvard i pokazano u ovom videu. Nisam bio u stanju smisliti sličnu metodu za pomicanje ljestvica gore -dolje na svom robotu, već sam umjesto toga pristao pričvrstiti pasivne 3D tiskane vage na ispod trbuha.
Nažalost, to se pokazalo neučinkovitim (vidi u mom videu na YouTubeu u 3:38) jer je vaga i dalje prelazila preko površine tepiha umjesto da se uhvati za vlakna i poveća trenje.
Ako želite eksperimentirati s ljestvicama koje sam napravio, možete 3D ispisati datoteke s mog GitHub -a. Ako uspješno napravite svoj, javite mi u komentarima ispod!
Koristeći drugačiji pristup, pokušao sam koristiti kotače izrađene od kugličnih ležajeva r188 s termoskupljajućom cijevi izvana kao 'gume'. Možete 3D ispisati plastične osovine kotača iz.stl datoteka na mom GitHubu. Iako kotači nisu biološki točni, analogni su ljestvicama po tome što je rotacija prema naprijed laka, ali je bočno kretanje znatno teže. Uspješan rezultat kotača možete vidjeti u mom videu na YouTubeu.
Korak 9: Klizanje (zmija s jednom osovinom)
Prva nagrada u natječaju Make it Move
Preporučeni:
NeoPixels Matrix : Igra zmija: 4 koraka
Matrica NeoPixels: Zmijska igra: Sjećate li se još zmijske igre koju smo igrali na našoj kutiji za igru ili mobilnom tijekom našeg djetinjstva? Danas ćemo naučiti kako napraviti igru zmija s 8*8 NeoPixels Matrix. Odabiremo Arduino uno kao kontrolni centar i modul za probijanje Joystick -a za suradnju
Zmija: beskorisni stroj: 5 koraka
Zmija: beskorisni stroj: Znate li kada ste bili dijete i igrali ste zmiju na svojoj Nokiji? U određenom trenutku zmija bi počela loviti svoj rep, i tada ste znali da će igra biti gotova. Odlučili smo od toga napraviti robota, samo, igra nikad
Zmija na pločici: 3 koraka (sa slikama)
Zmija na pločici: " Imate li igre na telefonu? &Quot; " Ne baš. " Uvod: Jednostavna za upravljanje, laka za programiranje i ovjekovječena Nokijom 6110, Snake je postala omiljeni projekt među inženjerima. Implementirano je u bilo što od LED matrica, L
Igra zmija: 4 koraka
Zmijska igra: Zdravo dečki, danas ću vam pokazati kako napraviti osnovnu igru zmija u Pythonu i zadiviti prijatelje na ovom odmoru. Ovo je vrlo jednostavno, samo trebate instalirati python 3 i pygame. U ovom uputstvu dodao sam video o tome kako instalirati pygame. Nakon
Igračke sa prilagodbom: Zmija s jajima daljinski upravljana, dostupno!: 7 koraka (sa slikama)
Switch-Adapt igračke: Zmija s daljinskim upravljanjem, zmija dostupna !: Adaptacija igračaka otvara nove načine i prilagođena rješenja koja omogućuju djeci s ograničenim motoričkim sposobnostima ili s teškoćama u razvoju neovisnu interakciju s igračkama. U mnogim slučajevima djeca kojima su potrebne prilagođene igračke nisu u mogućnosti