Sadržaj:

HeadBot-samobalansirajući robot za STEM učenje i Outreach: 7 koraka (sa slikama)
HeadBot-samobalansirajući robot za STEM učenje i Outreach: 7 koraka (sa slikama)

Video: HeadBot-samobalansirajući robot za STEM učenje i Outreach: 7 koraka (sa slikama)

Video: HeadBot-samobalansirajući robot za STEM učenje i Outreach: 7 koraka (sa slikama)
Video: Samobalansirajući mobilni robot - poziv na prezentaciju 2024, Studeni
Anonim
Image
Image
3D ispis kućišta, poklopca i elektroničke ploče
3D ispis kućišta, poklopca i elektroničke ploče

Headbot-samo-balansirajući robot visok dva metra, zamisao je tima South Eugene Robotics Team (SERT, FRC 2521), konkurentnog srednjoškolskog tima za robotiku na PRVOM natjecanju iz robotike iz Eugena, Oregon. Ovaj popularni terenski robot redovito se pojavljuje u školama i na događajima u zajednici gdje privlači mnoštvo odraslih i djece. Budući da je robot izdržljiv i jednostavan za upravljanje pomoću Android telefona ili tableta, djeca od tri godine mogu ga uspješno voziti. A budući da bot može nositi razne kape, maske i druge kostime, zabavan je dodatak gotovo svakom okupljanju. Članovi SERT -a koriste robota za zapošljavanje novih članova tima i za poticanje općeg interesa za STEM u zajednici.

Ukupni troškovi projekta su približno 200 USD (pod pretpostavkom da imate 3D pisač i Android uređaj), iako se to može obrijati na manje od 100 USD ako imate dobro opskrbljenu trgovinu elektronike s lakim pristupom lemljenju, termoskupljajućim cijevima, kratkospojne žice, otpornici, kondenzatori, baterije i mikro USB kabel. Izgradnja je naprijed ako već imate iskustva s elektronikom, a pruža veliku priliku onima koji žele učiti. Za one koji se posebno zanimaju za robotiku, Headbot također nudi dobru platformu za razvoj vještina u Proportional-Integral-Derivative tuning-u za kontrolu povratnih informacija.

Pribor

Imajte na umu da donji popis dijelova prikazuje broj potrebnih dijelova svake vrste, a ne broj paketa. Neki se linkovi odnose na stranice na kojima se više dijelova može kupiti kao paket (što omogućuje određenu uštedu) - pobrinite se da kupite potreban broj paketa za dobivanje odgovarajućeg broja dijelova.

Elektroničke komponente

  • 1x ESP32 mikrokontroler
  • 2x koračni motori
  • 2x A4988 upravljački program koračnih motora
  • 1x žiroskop/akcelerometar MPU-6050
  • 1x 100uF kondenzator
  • 1x UBEC (univerzalni krug za uklanjanje baterija)
  • 1x razdjelnik napona (1x 10kohm i 1x 26.7kohm otpornik)
  • 2x 5 mm zajednička anodna RGB LED svjetla
  • 6x 220 ohmski otpornici
  • Žice za kratkospojnike (muško-muško i žensko-žensko)
  • Električna žica
  • 3x JST SM utični utikači
  • 2x kućište sa 4 baterije
  • Termoskupljanje
  • Lem

Hardver

  • 1x 3D ispisano kućište, kapa i električna ploča (pogledajte upute u nastavku)
  • 2x 5 "precizni diskovi
  • 2x 0,770 "glavčine kotača s otvorom od 5 mm
  • 8x punjive AA baterije i punjač
  • 1x glava od stiropora
  • 1x 2,5 "komad 3/4" PVC cijevi (za pričvršćivanje glave)
  • 8x podloške za zaključavanje M3 (za montažu motora)
  • 8x vijci M3 x 8 mm (za montiranje motora)
  • 8x 6-32 x 3/8 "vijci (za postavljanje kotača na glavčine)
  • 2x Zipties
  • Kanal ili gaf traka
  • 2x krute metalne šipke ili čvrste žice (npr. Izrezane s žičanih vješalica) pribl. Dugačak 12”

Preporučeni alati

  • Skidač žice
  • Rezač žice
  • Lemilica
  • Toplinska pištolj
  • Električna bušilica
  • 1 "x 16" lopatica
  • Ključ imbus ključ
  • Pištolj za vruće ljepilo
  • Mikro USB kabel s kutnim utikačem

Korak 1: 3D ispis kućišta, poklopca i elektroničke ploče

3D ispis kućišta, poklopca i elektroničke ploče
3D ispis kućišta, poklopca i elektroničke ploče
3D ispis kućišta, poklopca i elektroničke ploče
3D ispis kućišta, poklopca i elektroničke ploče

3D ispis kućišta, poklopca i elektroničke ploče. Ovdje preuzmite stl datoteke. Dijelove treba ispisati s PLA rezolucijom 0,25 mm i ispunom od 20%, bez splavova ili podupirača.

Korak 2: Dodajte motore, kotače i traku u kućište

Image
Image
Pripremite elektroničku ploču
Pripremite elektroničku ploču

Motori: Postavite koračne motore u dno kućišta (sa žicama koje izlaze s vrha motora) i učvrstite ih vijcima M3x8 mm i podloškama s maticama M3, koristeći odgovarajući šesterokutni ključ ili odvijač. Postavite glavčine kotača na osovine i pričvrstite ih zatezanjem vijaka na ravni dio osovine.

Kotači: Rastegnite gumene prstenove oko vanjske strane diska kotača. Pričvrstite kotače na glavčine kotača vijcima 6-32x3/8”. (Kotači mogu čvrsto prianjati oko glavčine. Ako je tako, postavite ih što je bolje moguće, zatim polako pritegnite vijke malo po malo, krećući se od vijka do vijka i ponavljajući, kako bi vijci mogli povući kotač na svoje mjesto.)

Pripremite čep i PVC cijev: Dodajte ljepljivu traku ili traku na vrh kućišta tako da poklopac klizne i čvrsto prianja. Dodajte traku na jedan kraj 2,5 -inčnog komada PVC cijevi od ¾”tako da čvrsto, sigurno pričvršćuje u otvor u poklopcu. Ako je potrebno, na drugi kraj PVC -a može se dodati i traka kako bi se osiguralo dobro prianjanje u rupu na dnu glave.

Korak 3: Pripremite elektroničku ploču

Image
Image

Nanesite traku na elektroničku ploču: Dodajte ljepljivu traku ili traku na bočne strane elektroničke ploče tako da će kliziti u tračnice s unutarnje strane kućišta.

Žiroskop/akcelerometar MPU-6050: Lemite igle na žiroskop/akcelerometar MPU-6050, s dugom stranom pinova na istoj strani ploče kao i čipovi. Upotrijebite dovoljnu količinu vrućeg ljepila kako biste MPU pričvrstili za malu policu koja viri iz baze elektronske ploče, orijentiranu tako da su igle lijevo od ploče dok ste okrenuti prema polici.

A4988 Upravljački program koračnog motora: Malim odvijačem okrenite mali potenciometar za ograničavanje struje na svakom pogonskom sklopu koračnog motora A4988 u smjeru kazaljke na satu do kraja. Odvojite papir s trake na hladnjacima za upravljačke programe motora i nanesite ih tako da prekriju čipove na sredini ploče. Upotrijebite dovoljno vrućeg ljepila kako biste učvrstili upravljačke programe motora (s potenciometrima prema vrhu) na stranu elektroničke ploče nasuprot police s MPU -om, pri čemu igle strše kroz dva para okomitih proreza na vrhu elektroničke ploče (pazite da na igle ne dođe ljepilo koje bi trebalo stršiti s iste strane kao i MPU). Provucite patentni zatvarač kroz male rupe iznad svakog vozača motora kako biste ga dodatno učvrstili.

Mikrokontroler ESP32: Stavite mikro USB kabel u utikač na mikrokontroleru ESP32 (to će se koristiti za držanje kraja ploče na maloj udaljenosti od elektroničke ploče, tako da se pristup utikaču može osigurati nakon što je ESP32 zalijepljen na mjestu). Postavite ESP32 s utikačem na desnoj strani okrenutom prema strani čipa i upotrijebite dovoljno ljepila za pričvršćivanje na ploču, pri čemu igle strše kroz vodoravne proreze na sredini ploče sa strane s MPU -om (uzmite pazite da ne zalijepite igle ili USB kabel). Nakon što se ljepilo stvrdne, uklonite USB kabel.

Korak 4: Elektroničko kolo

Image
Image
Elektroničko kolo
Elektroničko kolo
Elektroničko kolo
Elektroničko kolo

Opće upute: Slijedite dijagram kruga (preuzmite pdf u nastavku za verziju visoke razlučivosti) kako biste stvorili žičane kablove potrebne za povezivanje elektroničkih komponenti. Spojevi između dva pina mogu se izravno izvesti pomoću pojedinačnih žica kratkospojnika ženski-ženski. Spajanje između 3 ili više pinova može se izvršiti pomoću niže opisanih složenijih žičanih pojaseva. Oprez se može stvoriti prerezivanjem ženskih i ženskih skakača na pola, a zatim ih lemiti zajedno s drugim komponentama (otpornici, kondenzator, utikači, kratke žice) prema potrebi. U svim slučajevima upotrijebite termoskupljajuće cijevi za izolaciju lemnog spoja.

Baterije: Uvjerite se da baterije mogu ući u utore na dnu 3D ispisanog kućišta. Ako se ne uklapaju, upotrijebite ih turpijom dok ih ne uklope. Iskopčajte žice s dva ženska priključka JST SM konektora (ostavljajući otprilike jedan inč) i lemite jedan na žice iz svake baterije.

Glavni kabelski svežanj: Glavni kabelski svežanj prima ulaz iz dva muška utikača JST SM konektora, pri čemu se + kabel s jednog utikača spaja na - kabel s drugog kako bi se serijski spojile dvije baterije (što rezultira kombiniranim ulazom od 12 V). Ostali vodiči spojeni su putem kondenzatora od 100uF (radi sprečavanja skokova napona; kraći krak tog kondenzatora pričvršćen je na - elektrodu, dok se duži krak pričvršćuje na +12v kabel) i s razdjelnikom napona koji se sastoji od otpornika od 10 kohma (spojen na - odvod) i otpornik od 26,7 kohma (spojen na odvod +12V), s ženskim kratkospojnikom između otpornika koji će utaknuti SVP na ESP32 (ovo daje skalirani ulaz s maks. 3,3 V koji se koristi za osigurati očitanje preostalog napona u baterijama). Dodatni ženski skakači osiguravaju +12v (2 kratkospojnika) i - ulaze (2 kratkospojnika) na VMOT i susjedne GND pinove, na upravljačima koraka. Dodatno, univerzalno uklanjanje baterija (UBEC) lemljeno je na +12v i-vodiče glavnog pojasa (ulaz na UBEC je strana s kondenzatorom u obliku cijevi), s +5v i-izlaze UBEC lemljeni na ženski utikač JST SM.

5v ulaz na ESP32: Lemite muški utikač JST SM konektora na dva ženska kratkospojnika, kako biste osigurali ulaze za 5v i GND ulaze na ESP32 iz UBEC -a (ovaj utikač omogućuje jednostavno isključivanje kada se ESP32 napaja iz mikro USB ulaz, za vrijeme učitavanja koda na mikrokontroler).

Kabelski snop od 3,3 V: Lemite 7 ženskih kratkospojnika za spajanje pina od 3,3 V na ESP32 s VCC pinom na MPU -u, pinovima VDD i MS1 na svakom od upravljačkih programa koračnog motora i na muški kratkospojnik koji daje napajanje LED očima (omogućujući jednostavno isključivanje napajanja očiju, kada se ESP32 napaja s mikro USB -a dok se kôd učitava).

Kabelski svežanj: Lemite 3 ženska kratkospojnika za spajanje GND pina na ESP32 s GND pinovima (pored VDD pina) na svakom od pokretača koračnih motora.

Oprez za omogućavanje koraka: Lemite 3 ženska kratkospojnika za spajanje pina P23 na ESP32 s pinovima ENABLE na svakom od pokretača koračnih motora.

Konektori s jednim kratkospojnikom: Jednostruki kratkospojnici koriste se za sljedeće veze:

  • GND na ESP32 do GND na MPU
  • P21 na ESP32 do SCL na MPU
  • P22 na ESP32 u SDA na MPU
  • P26 na ESP32 do DIR na lijevom upravljačkom programu koraka
  • P25 na ESP32 do STEP na lijevom upravljačkom programu koraka
  • Kratko spavanje i resetiranje na lijevom upravljaču koraka
  • P33 na ESP32 do DIR na desnom upravljačkom programu koraka
  • P32 na ESP32 do STEP na desnom upravljačkom programu koraka
  • Kratko spavanje i resetiranje na desnom upravljaču koraka

Priključite UBEC: ženski JST SM utikač na izlazu UBEC -a može se priključiti u odgovarajući muški utikač koji napaja i uzemljuje 5v i GND ulaze na ESP32. Međutim, ovaj utikač treba odvojiti kada se ESP32 napaja putem mikro USB-a (na primjer, prilikom učitavanja koda), inače će obrnuta struja s ESP32 na glavni kabelski svežanj poremetiti pravilno funkcioniranje ESP32.

Ugradite elektroničku ploču: Gurnite elektroničku ploču u šine s unutarnje strane kućišta.

Priključite kabele motora: Spojite kabele s lijevog motora na lijevi pokretač koraka, plavom, crvenom, zelenom i crnom žicom spojenom na pinove 1B, 1A, 2A i 2B. Spojite vodiče s desnog motora na desni upravljač koraka, s plavom, crvenom, zelenom i crnom žicom spojenom na pinove 2B, 2A, 1A i 1B (imajte na umu da su motori ožičeni, jer imaju suprotnih usmjerenja). Ugurajte višak ožičenja motora u donji dio kućišta.

Priključite baterije: Gurnite baterije u džepove na kućištu i spojite njihove ženske JST SM konektore na odgovarajuće muške utičnice na ulazu u glavni kabelski svežanj (vodiči iz prednje baterije mogu se voditi kroz otvor u sredini elektroničke ploče za pristup utikaču sa stražnje strane). Baterije se mogu odvojiti kako bi se omogućilo jednostavno umetanje svježih baterija. Uključivanjem prekidača za napajanje bilo koje od baterija u isključeno stanje isključit ćete napajanje kruga (budući da su paketi u nizu) - prekidači na stražnjim botovima moraju biti uključeni kako bi se krug napajao.

Korak 5: Pripremite glavu i oči

Image
Image
Pripremite glavu i oči
Pripremite glavu i oči
Pripremite glavu i oči
Pripremite glavu i oči

Produžite rupu u podnožju glave: Bušilicom od 1”povećajte dubinu rupe na dnu glave, tako da završava iznad visine očiju (korisno je staviti mali komad trake na odgovarajućem mjestu na vratilu bita kako bi se pokazalo kada je postignuta odgovarajuća dubina). Gurnite bit 2-3”u rupu prije bušenja kako ne biste oštetili otvor rupe (htjet ćete čvrsto prianjanje na PVC cijev koja će je pričvrstiti za čep kućišta). Sačuvajte neke veće komade stiropora kako biste kasnije napunili oči.

Napravite kuke za guranje/izvlačenje žica: Na jednom kraju krute metalne šipke savijte mali oblik N (ovo će se koristiti za guranje žica za napajanje LED očiju kroz glavu stiropora). Savijte malu udicu na kraju druge krute metalne šipke (to će se koristiti za vađenje žice iz rupe na dnu glave).

Provucite žice: Vežite velike petlje na krajevima crvene, žute, zelene i plave žice, koristeći čvrste čvorove. Radeći jednu po jednu žicu, zakačite petlju na kraj kuke u obliku slova N i gurnite je kroz oko glave, držeći put vodoravno i ciljajući prema rupi u središtu glave. Kad se žica gurne u rupu, pomoću zakačene šipke uhvatite petlju s dna glave i izvucite je iz rupe, izvlačeći i drugu šipku iz oka (ostavljajući žicu od 2-3 inča na donji dio glave i visi iz oka). Ponovite postupak s ostale tri žice u boji, slijedeći isti put od oka do središnje rupe (upotrijebite označenu kravatu s patentnim zatvaračem kako biste pričvrstili te žice zajedno i naznačile koje oko kontroliraju). Ponovite s još 4 žice u drugom oku.

Priključite RGB LED diode: Skratite vodiče na RGB LED diodama, pazeći da označite zajedničku anodu (duži provodnik i zabilježite mjesto R (pojedinačni vodič na jednoj strani anode, kao što je prikazano na dijagramu kruga) i G i B vodiči (dva kabela s druge strane anode). Lemite odgovarajuće žice koje vise s jednog oka na LED (crveno na anodu, žuto na R, zeleno na G i plavo na B), izoliranje spojeva termoskupljajućom cijevi. Gurnite vodiče LED diode u glavu, ali ostavite da malo strše dok se ne može testirati. Ponovite postupak s drugom LED i žicama s drugog oka.

Pričvrstite kratkospojnike: Lemite otpornik od 220 ohma i kratkospojnik s ženskim priključkom na svaku od žutih, zelenih i plavih žica koje strše s donje strane glave. Spojite dvije crvene žice i lemite na kratkospojnik s muškim priključkom (napomena: ovo je jedini muški kratkospojnik potreban u krugu).

Spojite kratkospojnike i pričvrstite glavu: Provucite kratkospojnike kroz PVC cijev u poklopcu i gurnite PVC u otvor na glavi pričvršćujući ga za čep. Spojite muški prekidač za napajanje na ženski kratkospojnik na kabelskom svežnju od 3,3 V, a ženski RGB kratkospojnik na ESP32 (žute, zelene i plave žice lijevog oka na P4, P0 i P2, odnosno žute, zelene i plave boje) žice desnog oka prema P12, P14 i P27). Na kraju, pričvrstite glavu/kapu na glavno kućište.

Korak 6: Prenesite kôd i instalirajte upravljačku stanicu

Učitajte kôd i instalirajte upravljačku stanicu
Učitajte kôd i instalirajte upravljačku stanicu
Učitajte kôd i instalirajte upravljačku stanicu
Učitajte kôd i instalirajte upravljačku stanicu
Učitajte kôd i instalirajte upravljačku stanicu
Učitajte kôd i instalirajte upravljačku stanicu

Instaliranje HeadBot koda na ESP32: Preuzmite i instalirajte Arduino IDE na svoje računalo. Posjetite https://github.com/SouthEugeneRoboticsTeam/ursa i kliknite "Preuzmi Zip" ispod zelenog gumba "Kloniraj ili preuzmi". Premjestite mapu sa zip datotekom bilo gdje na računalu i preimenujte je u "ursa"

Otvorite ursa.ino pomoću Arduino IDE -a. U izborniku postavki pod "Datoteka" dodajte https://dl.espressif.com/dl/package_esp32_index.json u "Dodatne URL -ove upravitelja ploča". Instalirajte esp32 ploče tvrtke Espressif Systems pod Alati> Upravitelj ploče. Odaberite "esp32 dev module" pod Tools> Board. Instalirajte PID by Brett Beauregard knjižnicu klikom na “Manage Libraries” u izborniku “Sketch”.

Povežite se s ESP32 pomoću USB-MicroUSB kabela. Odaberite ploču pod Alati. Pritisnite i držite mali gumb s oznakom "I00" pored mikro USB priključka na ESP32, zatim pritisnite gumb za prijenos na Arduino IDE -u i otpustite "I00" kada Arduino IDE kaže da je "Povezivanje …". Nakon što je prijenos dovršen, MicroUSB kabel se može odspojiti.

Instaliranje HeadBot upravljačke stanice: Preuzmite i instalirajte Processing na svoje računalo. Posjetite https://github.com/SouthEugeneRoboticsTeam/ursa-ds-prototype i preuzmite kôd. Otvorite "ursaDSproto.pde" pomoću IDE -a za obradu. Instalirajte Ketai, Game Control Plus i UDP knjižnice putem Upravitelja knjižnica Processinga (Sketch> Import Library). Ako pokrećete pogonsku stanicu na svom računalu, odaberite Java način u padajućem izborniku u gornjem desnom kutu prozora Obrada; da biste ga pokrenuli na Androidu, instalirajte Android Mode for Processing klikom na padajući izbornik "Java" u gornjem desnom kutu. Zatim povežite uređaj, omogućite ispravljanje pogrešaka putem USB -a, odaberite Android način. Da biste pokrenuli pogonsku stanicu, kliknite "Pokreni skicu". Ako je vaše računalo spojeno na Android uređaj, na njega će se instalirati upravljačka stanica.

Korak 7: Pokrenite HeadBot i podesite PID vrijednosti

Image
Image
Natjecanje iz robotike
Natjecanje iz robotike

Pokretanje: Provjerite jesu li baterije spojene i je li izlaz UBEC spojen na ulazni konektor ESP32. Dok Headbot leži na boku u stabilnom položaju, uključite ga tako što ćete preklopku za napajanje na obje baterije staviti u položaj ON, ostavljajući Headbot mirovanja nekoliko sekundi dok se žiroskop inicijalizira. Nakon kratkog odgode, trebali biste moći vidjeti WiFi signal Headbota (SERT_URSA_00) na uređaju kojim ćete upravljati botom - odaberite ga i unesite lozinku "Headbot". Nakon uspostavljanja veze pokrenite aplikaciju pogonske stanice na telefonu/tabletu ili pokrenite skriptu pogonske stanice u odjeljku Obrada na računalu. Nakon što se program pokrene i uspostavi veza, trebali biste vidjeti kako vrijednost "pitch" počinje reagirati, pokazujući nagib Headbota.

Postavljanje PID vrijednosti: Da biste mogli kontrolirati Headbot, morate podesiti PID vrijednosti. Za ovdje opisanu verziju Headbota. Klikom na kvadrat u gornjem lijevom kutu pogonske postaje pojavit će se klizači za podešavanje vrijednosti. Tri gornja klizača služe za podešavanje P, I i D za kut (PA, IA i DA) - ove su vrijednosti od primarne važnosti za omogućavanje Headbotu da održi ravnotežu. Tri donja klizača služe za podešavanje P, I i D za brzinu (PS, IS i DS) - ove su vrijednosti važne za omogućavanje Headbotu da pravilno prilagodi svoju brzinu vožnje prema ulazu na joystick. Dobre početne vrijednosti s ovom verzijom Headbota su PA = 0,08, IA = 0,00, DA = 0,035, PS = 0,02, IS = 0,00 i DS = 0,006. Nakon postavljanja ovih vrijednosti, kliknite okvir "Spremi postavku" u gornjem lijevom kutu pogonske stanice (ovo sprema postavke u izdržljiviji oblik koji će preživjeti ponovno pokretanje bota).

Isprobavanje stvari: Kliknite na traku Green Joystick u gornjem desnom kutu pogonske stanice kako biste prikazali joystick za upravljanje robotom. Podignite Headbot u gotovo uravnoteženoj orijentaciji i pritisnite tamnozeleni kvadrat Omogući u gornjem desnom kutu (pritiskom na susjedni crveni okvir onemogućit ćete robota). Ako sve bude u redu, imat ćete samo uravnotežujući Headbot, no više je vjerojatno da ćete morati fino prilagoditi PID vrijednosti. Obično je malo I ili D u usporedbi s P, pa počnite od tamo. Premalo, i neće reagirati. Previše i oscilirat će naprijed -natrag. Počnite Počnite s Angle PID vrijednostima, unoseći male izmjene kako biste vidjeli kako se to utječe. Neki D izraz za kutnu petlju može pomoći u smanjenju oscilacija, ali mala količina može brzo unijeti dosta podrhtavanja, pa je koristite umjereno. Ako su vrijednosti kuta točne, Headbot bi se trebao oduprijeti blagim udarcima bez pada. Očekuju se mali trzaji dok je Headbot uravnotežen jer se koračni motori kreću u pola koraka od 0,9 stupnjeva pri svakom podešavanju.

Kad se postigne ravnoteža, pokušajte voziti malim pokretima upravljačke tipke, malim prilagodbama vrijednosti Speed PID -a tako da bot reagira glatko, graciozno. Povećanje termina I može biti od pomoći u sprječavanju robota da se ne pridržava zadane brzine. Ipak, upozorite-promjene vrijednosti PID-a brzine zahtijevat će daljnje prilagodbe vrijednosti PID-a kuta (i obrnuto), budući da PID petlje međusobno djeluju.

Promjene ukupne težine i raspodjele težine Headbota (poput nošenja naočala, maski, perika ili šešira) zahtijevat će dodatno podešavanje PID vrijednosti. Nadalje, ako kostimi previše izbacuju ravnotežu, možda ćete morati prilagoditi početnu vrijednost pitchOffset u kodu ursa.ino i ponovno učitati kôd na ESP32.

Natjecanje iz robotike
Natjecanje iz robotike

Drugoplasirani na natjecanju iz robotike

Preporučeni: