Kazalo:

HeadBot-samoizravnalni robot za učenje in doseganje STEM: 7 korakov (s slikami)
HeadBot-samoizravnalni robot za učenje in doseganje STEM: 7 korakov (s slikami)

Video: HeadBot-samoizravnalni robot za učenje in doseganje STEM: 7 korakov (s slikami)

Video: HeadBot-samoizravnalni robot za učenje in doseganje STEM: 7 korakov (s slikami)
Video: Binary Bot Over Under Zigzag Enanched (XML FREE) 2024, November
Anonim
Image
Image
3D natisnite ohišje, pokrovček in elektronsko ploščo
3D natisnite ohišje, pokrovček in elektronsko ploščo

Headbot-dva metra visok samo uravnotežujoč se robot-je zamisel ekipe South Eugene Robotics Team (SERT, FRC 2521), konkurenčne srednješolske ekipe za robotiko na FIRST Robotics Competition, iz Eugena, Oregon. Ta priljubljeni robot za ozaveščanje se redno pojavlja v šolah in na dogodkih v skupnosti, kjer privablja množice odraslih in otrok. Ker je robot trpežen in enostaven za uporabo s telefonom ali tabličnim računalnikom Android, ga lahko uspešno vozijo že triletni otroci. In ker lahko bot nosi najrazličnejše klobuke, maske in druge kostume, je zabaven dodatek za skoraj vsako srečanje. Člani SERT uporabljajo bota za zaposlovanje novih članov ekipe in za spodbujanje splošnega zanimanja za STEM v skupnosti.

Skupni stroški projekta znašajo približno 200 USD (ob predpostavki, da imate 3D tiskalnik in napravo Android), čeprav je to mogoče obriti na manj kot 100 USD, če imate dobro založeno trgovino z elektroniko z enostavnim dostopom do spajkalnih, toplotno skrčljivih cevi, mostične žice, upori, kondenzatorji, baterije in kabel mikro USB. Gradnja je preprosta, če že imate nekaj izkušenj z elektroniko, in ponuja odlično priložnost za tiste, ki so se pripravljeni učiti. Za tiste, ki se posebej zanimajo za robotiko, Headbot ponuja tudi dobro platformo za razvoj spretnosti pri prilagajanju proporcionalno-integralno-izpeljanih (PID) za nadzor povratnih informacij.

Zaloge

Upoštevajte, da spodnji seznam delov prikazuje število potrebnih delov za vsako vrsto, ne število paketov. Nekatere povezave se nanašajo na strani, na katerih je mogoče kupiti več delov kot paket (kar zagotavlja nekaj prihranka pri stroških) - poskrbite, da boste kupili potrebno število paketov, da dobite ustrezno število delov.

Elektronske komponente

  • 1x mikrokrmilnik ESP32
  • 2x koračni motorji
  • 2x gonilniki koračnih motorjev A4988
  • 1x žiroskop/merilnik pospeška MPU-6050
  • 1x 100uF kondenzator
  • 1x UBEC (univerzalno vezje za odstranjevanje baterij)
  • 1x delilnik napetosti (1x 10kohm in 1x 26.7kohm upor)
  • 2x 5 mm skupne anodne RGB LED luči
  • 6x 220 ohmski upori
  • Mostične žice (moški-moški in ženske-ženske)
  • Električna žica
  • 3x priključki JST SM
  • 2x ohišje za 4 baterije
  • Toplotno krčenje
  • Spajkanje

Strojna oprema

  • 1x 3D natisnjeno ohišje, pokrovček in električna plošča (glejte spodnja navodila)
  • 2x 5 "natančna kolutna diska
  • 2x 0,770 "pesto koles z izvrtino 5 mm
  • 8x AA baterije in polnilec za ponovno polnjenje
  • 1x glava iz stiropora
  • 1x 2,5 "kos 3/4" PVC cevi (za pritrditev glave)
  • 8x podložke M3 (za montažo motorjev)
  • 8x vijaki M3 x 8 mm (za montažo motorjev)
  • 8x 6-32 x 3/8 "vijaki (za pritrditev koles na pesto)
  • 2x zadrge
  • Kanal ali gaff trak
  • 2x trde kovinske palice ali trdne žice (npr. Izrezane iz žičnih obešalnikov) pribl. 12”dolga

Priporočena orodja

  • Odstranjevalec žice
  • Rezalnik žice
  • Spajkalnik
  • Toplotna pištola
  • Električni vrtalnik
  • 1 "x 16" lopata
  • Ključ imbus ključev
  • Pištola za vroče lepilo
  • Mikro USB kabel z kotnim vtičem

1. korak: 3D natisnite ohišje, pokrovček in elektronsko ploščo

3D natisnite ohišje, pokrovček in elektronsko ploščo
3D natisnite ohišje, pokrovček in elektronsko ploščo
3D natisnite ohišje, pokrovček in elektronsko ploščo
3D natisnite ohišje, pokrovček in elektronsko ploščo

3D tiskanje ohišja, pokrovčka in elektronske plošče. Prenesite datoteke stl tukaj. Deli morajo biti natisnjeni s PLA z ločljivostjo 0,25 mm in 20% polnilom, brez splavov ali podpor.

Korak: Dodajte motorje, kolesa in trak v ohišje

Image
Image
Pripravite elektronsko ploščo
Pripravite elektronsko ploščo

Motorji: Koračne motorje postavite na dno ohišja (z žicami, ki izstopajo z vrha motorjev) in jih s pomočjo ustreznega šestkotnega ključa ali izvijača pritrdite z vijaki M3x8 mm in podložkami z maticami M3. Pesto koles namestite na osi in jih pritrdite z zategovanjem vijakov na ravnem delu osi.

Kolesa: Gumijaste obročke raztegnite okoli zunanje strani kolesnega diska. Kolesa pritrdite na pesta koles z vijaki 6-32x3/8”. (Kolesa se lahko tesno prilegajo okoli pesta. Če je tako, ga postavite čim bolje, nato pa počasi privijte vijake nekoliko naenkrat, premikajte se od vijaka do vijaka in ponavljajte, da vijaki potegnejo kolo na svoje mesto.)

Pripravite pokrov in PVC cev: Na vrh ohišja dodajte lepilni trak ali trak, tako da pokrov zdrsne tesno in varno. Na en konec 2,5 piece kosa ¾”PVC cevi dodajte trak, tako da s tesnim in varnim prileganjem zdrsne v luknjo v pokrovčku. Po potrebi lahko na drugi konec PVC -ja dodate tudi trak, da zagotovite tesno prileganje v luknjo na dnu glave.

3. korak: Pripravite elektronsko ploščo

Image
Image

Na elektronsko ploščo nalepite trak: Na straneh elektronske plošče dodajte lepilni trak ali trak, tako da bo zdrsnil v tirnice na notranji strani ohišja.

Žiroskop/merilnik pospeška MPU-6050: Spajajte zatiče na žiroskop/merilnik pospeška MPU-6050, pri čemer je dolga stran zatičev na isti strani vezja kot čipi. Uporabite dovolj vročega lepila, da pritrdite MPU na majhno polico, ki štrli iz dna elektronske plošče, usmerjeno tako, da so zatiči levo od plošče, ko ste obrnjeni proti polici.

A4988 Gonilnik koračnega motorja: Z majhnim izvijačem obrnite potenciometer za omejevanje toka na vsakem gonilniku koračnega motorja A4988 v smeri urinega kazalca. Odstranite papir s traku na hladilnih odprtinah za gonilnike motorjev in nanesite na žetone na sredini tiskanega vezja. Uporabite dovolj vročega lepila, da pritrdite gonilnike motorja (s potenciometri proti vrhu) na stran elektronske plošče nasproti police z MPU, pri čemer zatiči štrlijo skozi dva para navpičnih rež na vrhu elektronske plošče (pazite, da na zatiče ne pride lepilo, ki bi moralo štrleti na isti strani kot MPU). Skozi majhne luknje nad vsakim gonilnikom motorja zavijte zadrgo, da jo dodatno pritrdite.

Mikrokrmilnik ESP32: Kabel mikro USB vstavite v vtičnico na mikrokrmilniku ESP32 (to bo uporabljeno za zadrževanje konca vezja na majhni razdalji od elektronske plošče, tako da bo dostop do vtiča zagotovljen po tem, ko je ESP32 zlepljen na svoje mesto). Namestite ESP32 z vtičem na desni strani, ko gledate na stran čipa, in ga z dovolj lepila pritrdite na vezje, pri čemer zatiči štrlijo skozi vodoravne reže na sredini plošče na stran z MPU (vzemite pazite, da ne pride do lepila na zatiče ali kabel USB). Ko se lepilo strdi, odstranite kabel USB.

4. korak: Elektronsko vezje

Image
Image
Elektronsko vezje
Elektronsko vezje
Elektronsko vezje
Elektronsko vezje

Splošna navodila: Sledite diagramu vezja (spodaj prenesite PDF za različico z visoko ločljivostjo), da ustvarite kabelske snope, potrebne za povezavo elektronskih komponent. Povezave med dvema zatičema lahko izvedete neposredno z enimi samicami žensko-ženskega mostička. Povezave med 3 ali več zatiči lahko izvedete s spodaj opisanimi bolj zapletenimi žičnimi snopi. Pasove lahko ustvarite tako, da žensko-ženski skakalec prerežete na pol in jih nato spajkate skupaj z drugimi komponentami (upori, kondenzatorji, vtiči, kratke žice), kot je primerno. V vseh primerih uporabite toplotno skrčljivo cev za izolacijo spajkalnega spoja.

Baterije: Prepričajte se, da lahko baterije zdrsnejo v reže na dnu ohišja za 3D tiskanje. Če se ne ujemajo, jih z datoteko oblikujte, dokler se ne prilegajo. Pripnite žice z dveh ženskih priključkov JST SM (pustite približno en palec) in eno spajkajte na kable vsakega akumulatorja.

Glavni kabelski snop: Glavni napajalni snop prejema vhod iz dveh moških priključkov JST SM, pri čemer se + kabel enega vtiča poveže z vodilom - drugega, da povežeta dva paketa baterij v seriji (kar ima za posledico kombiniran vhod 12 V). Ostali vodi so povezani preko kondenzatorja 100uF (za varovanje konic napetosti; krajši krak tega kondenzatorja se pritrdi na vodilo, daljši krak pa na kabel +12v) in z delilnikom napetosti, sestavljenim iz 10kohmskega upora (priključen na - vodilo) in upor 26,7 kohm (priključen na vodilo +12V), z ženskim mostičkom med upori, ki bo pripenjal SVP na ESP32 (to zagotavlja skaliran vhod z največ 3,3 V, ki se uporablja za zagotovite odčitavanje preostale napetosti v akumulatorjih). Dodatni ženski skakalci zagotavljajo +12v (2 skakalca) in - vhode (2 skakalca) na VMOT -ove in sosednje zatiče GND na gonilnikih korakov. Poleg tega je univerzalna odstranitev baterij (UBEC) spajkana na +12v in-kable glavnega kabelskega snopa (vhod v UBEC je stran s kondenzatorjem v obliki cevi) z +5v in-izhodi spajkanega UBEC na ženski vtič JST SM.

5v vhod v ESP32: Spajate moški konektor JST SM na dva ženska mostička, da zagotovite vhode na 5v in GND vhode na ESP32 iz UBEC (ta vtič omogoča enostaven odklop, ko ESP32 napaja mikro USB vhod, ko se koda naloži na mikrokrmilnik).

3.3v napajalni pas: spajajte 7 ženskih mostičkov za priključitev 3.3v pin na ESP32 na pin VCC na MPU, VDD in MS1 nožice na vsakem gonilniku koračnega motorja ter na moški mostiček, ki napaja LED oči (ki omogoča enostaven odklop napajanja oči, ko se ESP32 napaja iz mikro USB -ja med nalaganjem kode).

Ozemljitveni pas: Spajajte 3 ženske skakalce za priključitev zatiča GND na ESP32 na zatiče GND (poleg zatiča VDD) na vsakem gonilniku koračnega motorja.

Pasovni pas za omogočanje korakov: Spajajte 3 ženske mostičke za priključitev zatiča P23 na ESP32 na zatiče ENABLE na vsakem gonilniku koračnega motorja.

Priključki za enojne mostičke: Enojni mostički se uporabljajo za naslednje povezave:

  • GND na ESP32 do GND na MPU
  • P21 na ESP32 do SCL na MPU
  • P22 na ESP32 v SDA na MPU
  • P26 na ESP32 do DIR na levem gonilniku koraka
  • P25 na ESP32 do STEP na levem gonilniku koraka
  • Jumper SLEEP in RESET na levem gonilniku koraka
  • P33 na ESP32 do DIR na desnem gonilniku koraka
  • P32 na ESP32 do STEP na desnem gonilniku koraka
  • Skakalec SLEEP in RESET na desnem koračnem gonilniku

Priključite UBEC: ženski vtič JST SM na izhodu UBEC lahko priključite v ustrezen moški vtič, ki napaja in ozemljuje vhode 5v in GND na ESP32. Vendar je treba ta vtič odklopiti, ko ESP32 napaja mikro USB (npr. Med nalaganjem kode), sicer bo obratni tok od ESP32 do glavnega napajalnega kabla motil pravilno delovanje ESP32.

Namestite elektronsko ploščo: Potisnite elektronsko ploščo v tirnice na notranji strani ohišja.

Priključite kable motorja: Kable levega motorja povežite z levim koračnim gonilnikom, pri čemer so modre, rdeče, zelene in črne žice povezane z zatiči 1B, 1A, 2A in 2B. Kable desnega motorja priključite na desni koračni gonilnik, pri čemer so modre, rdeče, zelene in črne žice povezane z zatiči 2B, 2A, 1A in 1B (upoštevajte, da so motorji povezani z zrcalno sliko, saj imajo nasprotne usmeritve). Odvečno napeljavo motorja vtaknite v spodnji del ohišja.

Priključite baterije: Vstavite baterije v žepe v ohišju in priključite njihove vtiče JST SM na ustrezne moške vtiče na vhodu v glavni napajalni kabel (kable iz sprednjega akumulatorja lahko vodite skozi luknjo na sredini elektronske plošče za dostop do vtiča na zadnji strani). Baterije lahko odklopite, da omogočite enostavno vstavljanje novih baterij. Če vklopite stikalo za vklop ali izklop akumulatorja, izklopite napajanje vezja (ker so paketi zaporedni) - stikala na hrbtni strani bot morajo biti vklopljena, da se vezje napaja.

5. korak: Pripravite glavo in oči

Image
Image
Pripravite glavo in oči
Pripravite glavo in oči
Pripravite glavo in oči
Pripravite glavo in oči

Podaljšajte luknjo na dnu glave: z 1 -palčnim svedrom povečajte globino luknje na dnu glave, tako da se konča nad višino oči (koristno je postaviti majhen kos traku na ustreznem mestu na gredi nastavka, da označite, kdaj je dosežena ustrezna globina). Pred vrtanjem potisnite nastavek 2-3”v luknjo, da ne poškodujete odprtine luknje (želeli boste tesno prilegati PVC cev, ki jo bo pritrdila na pokrov ohišja). Prihranite nekaj večjih koščkov stiropora, da si kasneje napolnite oči.

Ustvarite kljuke za potiskanje/vlečenje žic: Na enem koncu trde kovinske palice upognite majhno obliko N (to bo uporabljeno za potiskanje žic za napajanje LED očes skozi glavo stiropora). Na koncu druge trde kovinske palice upognite majhen kavelj (to bo uporabljeno za ločitev žice iz luknje na dnu glave).

Zaženite žice: Vezne zanke na koncih rdeče, rumene, zelene in modre žice privežite s tesnimi vozli. Pri delu z eno žico naenkrat zanko pritrdite na konec kljuke v obliki črke N in jo potisnite skozi oko glave, pri čemer naj bo pot vodoravna in usmerjena proti luknji na sredini glave. Ko je žica potisnjena v luknjo, s kljukasto palico primite zanko z dna glave in jo potegnite iz luknje, pri čemer izvlecite drugo palico iz očesa (pustite 2-3 cm žice pri na dnu glave in visi iz očesa). Postopek ponovite z ostalimi tremi barvnimi žicami, sledite isti poti od očesa do osrednje luknje (z označeno zadrgo pritrdite te žice skupaj in označite, na katero oko upravljajo). Ponovite s še 4 žicami v drugem očesu.

Pritrdite LED -diode RGB: Skrajšajte kable na LED -diodah RGB, pri tem pazite, da označite skupno anodo (daljši kabel in zabeležite lokacijo R (enojni vodnik na eni strani anode, kot je prikazano na shemi vezja) in Vodila G in B (oba vodnika na drugi strani anode). Spajkajte ustrezne žice, ki visijo od enega očesa do LED (rdeča do anode, rumena do R, zelena do G in modra do B), izoliranje povezav s toplotno skrčljivo cevjo. Podtaknite vodi LED v glavo, vendar pustite, da nekoliko štrli, dokler je ni mogoče preizkusiti. Ponovite postopek z drugo LED in žicami z drugega očesa.

Pritrdite mostične žice: Na vsako rumeno, zeleno in modro žico, ki štrli iz spodnjega dela glave, spajkajte 220 ohmski upor in mostično žico z ženskim priključkom. Združite dve rdeči žici in spajkajte na mostiček z moškim priključkom (opomba: to je edini moški mostiček, ki je potreben v tokokrogu).

Priključite mostičke in pritrdite glavo: Skakače speljite skozi PVC cev v pokrovu in potisnite PVC v luknjo v glavi in jo pritrdite na pokrovček. Moški mostiček priključite na ženski mostiček na 3,3 -voltnem kabelskem snopu, ženski RGB mostiček pa na ESP32 (rumene, zelene in modre žice levega očesa na P4, P0 in P2 oziroma rumeno, zeleno in modro) žice desnega očesa do P12, P14 in P27). Na koncu pritrdite glavo/pokrovček na glavno ohišje.

6. korak: Naložite kodo in namestite gonilniško postajo

Naložite kodo in namestite gonilniško postajo
Naložite kodo in namestite gonilniško postajo
Naložite kodo in namestite gonilniško postajo
Naložite kodo in namestite gonilniško postajo
Naložite kodo in namestite gonilniško postajo
Naložite kodo in namestite gonilniško postajo

Namestitev kode HeadBot na ESP32: Prenesite in namestite Arduino IDE v računalnik. Obiščite https://github.com/SouthEugeneRoboticsTeam/ursa in kliknite »Prenesi Zip« pod zelenim gumbom »Kloniraj ali prenesi«. Mapo z zadrgo premaknite kamor koli v računalniku in jo preimenujte v »ursa«

Odprite ursa.ino z uporabo Arduino IDE. V meniju z nastavitvami v razdelku »Datoteka« dodajte naslov https://dl.espressif.com/dl/package_esp32_index.json v »Dodatne URL -je upravitelja plošč«. Namestite esp32 plošče podjetja Espressif Systems pod Orodja> Upravitelj odbora. Izberite »esp32 dev module« pod Tools> Board. Namestite knjižnico PID by Brett Beauregard tako, da kliknete »Upravljanje knjižnic« v meniju »Skica«.

Povežite se z ESP32 s kablom USB-MicroUSB. Izberite ploščo pod Orodja. Pritisnite in pridržite majhen gumb z oznako "I00" poleg priključka mikro USB na ESP32, nato pritisnite gumb za nalaganje na Arduino IDE in spustite "I00", ko Arduino IDE pove, da je "Povezovanje …". Ko je nalaganje končano, lahko kabel MicroUSB odklopite.

Namestitev gonilniške postaje HeadBot: Prenesite in namestite Processing v računalnik. Obiščite https://github.com/SouthEugeneRoboticsTeam/ursa-ds-prototype in prenesite kodo. Odprite "ursaDSproto.pde" z uporabo IDE -ja za obdelavo. Knjižnice Ketai, Game Control Plus in UDP namestite prek upravitelja knjižnice Processing (Sketch> Import Library). Če pogonsko postajo uporabljate v računalniku, v spustnem meniju v zgornjem desnem kotu okna Processing izberite Java Mode; če ga želite zagnati v sistemu Android, namestite način Android za obdelavo s klikom na spustni meni "Java" v zgornjem desnem kotu. Nato priključite napravo, omogočite odpravljanje napak USB, izberite Način Android. Če želite zagnati pogonsko postajo, kliknite »Zaženi skico«. Če je vaš računalnik povezan z napravo Android, bo nanj nameščena vozniška postaja.

7. korak: Zaženite HeadBot in nastavite vrednosti PID

Image
Image
Natečaj robotike
Natečaj robotike

Zagon: Prepričajte se, da so baterije priključene in da je izhod UBEC priključen na vhodni priključek ESP32. Ko Headbot leži na boku v stabilnem položaju, ga vklopite tako, da stikalo za vklop na obeh akumulatorjih potisnete v položaj ON, tako da Headbot za nekaj sekund miruje, medtem ko se žiroskop inicializira. Po kratki zamudi bi morali videti signal signala Headbot wifi (SERT_URSA_00) v napravi, s katero boste upravljali bota - izberite ga in vnesite geslo »Headbot«. Ko vzpostavite povezavo, v telefonu/tabličnem računalniku zaženite aplikacijo pogonske postaje ali v računalniku zaženite skript pogonske postaje. Ko se program zažene in vzpostavi povezavo, bi morali videti, da se vrednost "pitch" začne odzivati in prikazuje nagib Headbota.

Nastavitev vrednosti PID: Če želite upravljati Headbota, morate nastaviti vrednosti PID. Za tukaj opisano različico Headbota. S klikom na kvadrat v zgornjem levem kotu pogonske postaje se prikažejo drsniki za prilagajanje vrednosti. Zgornji trije drsniki so za nastavitev P, I in D za kot (PA, IA in DA) - te vrednosti so bistvenega pomena za to, da lahko Headbot ohrani ravnotežje. Spodnji trije drsniki so za prilagajanje P, I in D za hitrost (PS, IS in DS) - te vrednosti so pomembne za to, da Headbot lahko pravilno prilagodi svojo hitrost vožnje glede na vnos krmilne palice. Dobre izhodiščne vrednosti pri tej različici Headbota so PA = 0,08, IA = 0,00, DA = 0,035, PS = 0,02, IS = 0,00 in DS = 0,006. Ko nastavite te vrednosti, kliknite polje »Shrani nastavitev« v zgornjem levem kotu pogonske postaje (to shrani nastavitve v trajnejšo obliko, ki bo preživela ponovni zagon bota).

Preizkušanje stvari: Kliknite na vrstico Green Joystick v zgornjem desnem kotu pogonske postaje, da prikažete igralno palico za upravljanje robota. Postavite Headbota v skoraj uravnoteženo smer in pritisnite temno zeleni kvadrat Omogoči v zgornjem desnem kotu (s pritiskom na sosednje rdeče polje bo onemogočen bot). Če bo vse v redu, boste imeli samo uravnoteženega Headbota, vendar boste verjetno morali natančno prilagoditi vrednosti PID. Običajno je malo I ali D v primerjavi s P, zato začnite tam. Premalo in ne bo odzivno. Preveč in bo nihalo naprej in nazaj. Začnite Začnite z vrednostmi kota PID in naredite majhne spremembe, da vidite, kako to vpliva. Nekateri izraz D za kotno zanko lahko pomaga zmanjšati nihanja, vendar lahko majhna količina hitro povzroči veliko tresenja, zato ga uporabljajte zmerno. Če so vrednosti kota pravilne, se mora Headbot upreti nekaterim nežnim udarcem, ne da bi padel. Med uravnoteženim Headbotom je treba pričakovati majhne trze, saj se koračni motorji pri vsaki nastavitvi premikajo v pol korakih po 0,9 stopinje.

Ko dosežete ravnovesje, poskusite z vožnjo z majhnimi premiki krmilne palice in majhnimi prilagoditvami vrednosti Speed PID, tako da se bo bot odzval gladko in elegantno. Povečanje izraza I je lahko v pomoč pri preprečevanju, da se robot ne drži nastavljene hitrosti. Vendar bodite opozorjeni-spremembe vrednosti hitrosti PID bodo zahtevale nadaljnje prilagoditve vrednosti kota PID (in obratno), saj zanke PID medsebojno delujejo.

Spremembe celotne teže in porazdelitve teže Headbota (na primer pri nošenju očal, mask, lasulj ali klobukov) bodo zahtevale nadaljnje spreminjanje vrednosti PID. Nadalje, če kostumi preveč obremenjujejo ravnotežje, boste morda morali prilagoditi začetno vrednost pitchOffset v kodi ursa.ino in kodo znova naložiti na ESP32.

Natečaj robotike
Natečaj robotike

Podprvak na tekmovanju v robotiki

Priporočena: