Sadržaj:

Educiraj Micro: bit Robot: 8 koraka (sa slikama)
Educiraj Micro: bit Robot: 8 koraka (sa slikama)

Video: Educiraj Micro: bit Robot: 8 koraka (sa slikama)

Video: Educiraj Micro: bit Robot: 8 koraka (sa slikama)
Video: IPHONE vs XIAOMI 2024, Srpanj
Anonim
Edukacijski Micro: bitni robot DIY
Edukacijski Micro: bitni robot DIY
Obrazovni Micro: bitni robot DIY
Obrazovni Micro: bitni robot DIY

Ova instrukcija će vam pokazati kako izgraditi relativno pristupačnog, sposobnog i jeftinog robota. Moj cilj u dizajniranju ovog robota bio je predložiti nešto što bi si većina ljudi mogla priuštiti, kako bi na zanimljiv način podučavali informatiku ili naučili o tome.

Nakon što izgradite ovog robota, možete uživati u raznim senzorima i aktuatorima za obavljanje osnovnih, ali i prilično naprednih stvari, ovisno o verziji koju sastavljate (navest ću dvije verzije). S ovim robotom dajete oči (pogled 180 °!) I noge (s preciznim kretanjem!) Na micro: bit, dok micro: bit pruža izvrsne značajke kao što su LED matrica, radio komunikacija, bluetooth komunikacija, mjerač ubrzanja, compas, ali i pristup svim tim stvarima s MicroPythonom ili s vizualnim programskim jezikom sličnim ispočetka (zapravo i u C ++ i javascriptu, ali smatram da su oni manje prikladni za obrazovanje).

Također ću raditi na ovom uputstvu kako bih čitatelje i tvorce naveo na put da otkriju više o mobilnoj robotici, elektronici, projektiranju i rezanju drva. Da bih to učinio, sve sam dizajnirao tako da bude što modularniji. Na primjer, neću koristiti ljepilo za slobodno sastavljanje i rastavljanje, olakšavajući nadogradnje i otklanjanje pogrešaka. Također ću učiniti korake što je moguće inkrementalnijim, kako biste mogli postupno razumjeti što se događa, provjeriti rade li stvari kako trebaju i doći do kraja pomoću robota koji radi.

Korak 1: Skupljanje komada

Skupljanje komada
Skupljanje komada

Za ovaj projekt minimum medvjeda koji vam je potreban je:

  • MDF drvo debljine 5 mm i laserski rezač za kostur
  • 1x18650 litijeva baterija, 1x štitnik baterije za energiju i prekidač
  • 1xMicro: Bit kartica i 1xMicro: Bit produžna ploča za mozak (iako se obje mogu lako zamijeniti Arduinom)
  • 2x28BYJ-5V koračni motori, 2xA4988 upravljački programi za koračne motore i 2x razvojna ploča za postavljanje upravljačkih programa za noge
  • 1x TOF10120 i 1x Mini 9g Servo motor za očiNeki kabeli i vijci
  • 1x univerzalni kotač, visina = 15 mm

Među njima, samo tri dijela nisu standardi, stoga evo linkova za njihovo pronalaženje: pronađite ploču za proširenje koju sam ovdje koristio (ali preporučio bih vam da umjesto nje koristite ovu za urednu verziju robota. Morat ćete gotovo ništa ne mijenjati u dizajnu i znatno će pojednostaviti ožičenje sa savijanjem žensko-ženskih zaglavlja), štitnikom baterije ovdje i univerzalnim kotačem ovdje.

Idealno bi bilo i da imate na raspolaganju:

  • Multimetar
  • Matična ploča
  • Lemilica

Za njih, kao i za laserski rezač, provjerite imate li oko sebe fablab! To su sjajna mjesta za upoznavanje inspirativnih stvaratelja!

Korak 2: Pripremite noge

Priprema nogu
Priprema nogu
Priprema nogu
Priprema nogu
Priprema nogu
Priprema nogu
Priprema nogu
Priprema nogu

Vaša prva misija, ako je prihvatite, bit će da naš stepper motor rotira pomoću micro: bita kao kontrolera! Zašto koračni motor? Mogao sam se odlučiti za istosmjerni motor s reduktorima, ali isprobao sam ih i teško mi je natjerati jeftine motore da rade pri malim brzinama. Također sam mislio da bi bilo lijepo znati točno kojom brzinom mi se okreću kotači. Iz tih su razloga koračni motori bili najbolja opcija.

Dakle, kako kontrolirati motor 28BYJ pomoću upravljačkog programa 4988? Odgovor je … malo dug. Nisam ga uspio uredno uklopiti u ovu uputu, pa sam napravio samo još jedan u tu svrhu koji ćete pronaći ovdje. Pozivam vas da slijedite ove korake do kraja stvaranjem male prototipne ploče velike 26x22 mm s otvorima 2x2 mm s otvorom od 17 mm za montažu sa strane kao što je prikazano na gornjoj slici (imajte na umu da je, kako je navedeno u referenciranom članku, žuta žica s lijeve strane štrči samo da vas podsjeti da lemite SLP i RST zajedno).

Nakon što sam ovo počeo raditi s jednim motorom s pločom za izradu prototipa, također sam dizajnirao vlastitu PCB kako bih učinio stvari malo urednijim. Priložio sam odgovarajuću easyEDA datoteku. To je txt datoteka, ali je ipak možete otvoriti s besplatnom mrežnom platformom za uređivanje easyEDA.

Korak 3: Vidim svjetlo !! (Izborno)

Vidim svjetlo !! (Izborno)
Vidim svjetlo !! (Izborno)
Vidim svjetlo !! (Izborno)
Vidim svjetlo !! (Izborno)
Vidim svjetlo !! (Izborno)
Vidim svjetlo !! (Izborno)

Ako samo želite graditi i ništa više, prijeđite na onaj prije posljednjeg odlomka ovog koraka da vidite kako spojiti TOF10120 na micro: bit. Ako ne slijedite.

Budući da naš micro: bit ne dolazi ni s jednom kamerom ili senzorom blizine, čini ga slijepim za bilo koju aplikaciju mobilne robotike. Dolazi s radijskim odašiljačem i receptorom koji bi nam omogućili da izgradimo kostur nad onim što već imamo i dobijemo robota na daljinsko upravljanje. No, ne bi li bilo sjajno učiniti našeg robota autonomnim? Da, bilo bi! Pa da vidimo kako do tamo.

Ono što nas sada zanima je opremiti našeg robota senzorima, kako bi naš robot stekao neke informacije o svom okruženju. Dostupne su mnoge vrste senzora, ali ovdje ćemo se usredotočiti na senzor blizine. Kad sam dizajnirao ovog robota, moj cilj je bio uglavnom da se robot ne zaleti u ništa, stoga sam želio da osjeti prepreke. Za to postoji i nekoliko mogućnosti. Prvi, vrlo jednostavan, mogao bi biti korištenje odbojnika, ali smatram da su podaci o okolišu pomalo ograničeni. S druge strane, mogli biste pomisliti da dodate kameru (ili Lidar ili kinect!). Obožavam kamere, računalni vid i sve te stvari, ali nažalost Micro: bit ih ne podržava (morali bismo koristiti maline Pi za podršku takvih uređaja, a ne micro: bit ili Arduino).

Dakle, što podržava micro: bit podrška koja se nalazi između kamere i odbojnika? Postoje mali aktivni senzori koji šalju svjetlost u okoliš i provjeravaju primljeno kako bi dobili neke informacije o svijetu. Za koji sam već znao bio je GP2Y0A41SK0F koji koristi metodu triangulacije za procjenu udaljenosti do prepreka. Međutim, pitao sam se mogu li pronaći nešto bolje, pa sam napravio malo istraživanja i na kraju sam otkrio TOF10120 (i GY-VL53L0XV2, ali ga još nisam primio:(). Evo jednog lijepog članka za vas da to otkrijete. U osnovi ovaj senzor emitira infracrveni signal koji se reflektira na prepreke, a zatim prima reflektiranu svjetlost. Ovisno o vremenu koje je svjetlu potrebno za kretanje naprijed -natrag, senzor može procijeniti udaljenost prepreke (otuda naziv TOF = vrijeme leta) Zbog malih dimenzija, udaljenosti i potrebne snage odlučio sam koristiti TOF10120.

Dok mi je prva ideja bila staviti tri takve na robota (jednu sprijeda i dvije sa strane), kineska nova godina i pandemija COVID-19 to nisu htjele jer se činilo da uzrokuje probleme s pošiljkama. Pa kako sam bio ograničen na jedan TOF10120, koji sam želio vidjeti i sa strane i kako su mi ležali neki servo motori, odlučio sam montirati svoj senzor na servo. Dakle, dvije stvari sada nedostaju: kako mogu koristiti TOF10120 s micro: bitom? I isto pitanje sa servom.

Srećom, micro: bit je opremljen I2C komunikacijskim protokolom i čini nam život jako lakim: priključite crvenu žicu na 3,3 V, crnu na masu, zelenu na SCL i plavu na SDA i to je to za hardverski dio. Za softver, preporučujem vam da pročitate nešto o I2C komunikaciji i isprobate python kod koji sam priložio na micro: bit. Taj bi vam program trebao ispisati udaljenost koju mjeri senzor na REPL -u (Read Evaluate Print Loop). To je to. Upravo smo dali pogled našem micro: bit -u.

Neka sada okrene vrat ako mi dopustite da nastavim svoje analogije sa anatomijom životinja. Jedina pomisao koja nam je potrebna za to je da upravljamo servo motorom s micro: bitom. Ovaj dio postaje sve duži pa ću vam dati ovu vezu koja sadrži sve potrebne podatke i kôd koji sam upotrijebio za testiranje. Ako želite, dodao sam i jednostavan kod za upravljanje servo pomoću pin0. Samo ne zaboravite napajati servo sa 5V, a ne sa 3.3V.

Korak 4: Hakiranje štitnika baterije

Hakiranje štita baterije
Hakiranje štita baterije
Hakiranje štita baterije
Hakiranje štita baterije
Hakiranje štita baterije
Hakiranje štita baterije

Sada kada smo pripremili naše aktuatore i senzore, vrijeme je da pogledamo sustav upravljanja baterijom. Da biste saznali više o štitu baterije koji sam odabrao, savjetujem vam da pročitate ovaj članak. Smatram da je to vrlo jasno i pristupačno. Iz ovog članka možemo vidjeti mnoge prednosti ovog štita baterije, ali postoji jedan važan nedostatak koji nisam želio prihvatiti: prekidač za uključivanje/isključivanje utječe samo na USB izlaz. To znači da će se, ako isključite prekidač, napajati svi ostali pinovi od 3,3 V i 5 V. Kao rezultat toga, dok te pinove koristimo za našeg robota, prekidač neće učiniti ništa …

Ali želim isključiti robota da mi ništa ne isprazni bateriju pa sam morao hakirati štitnik baterije. Neće biti lijepo, ali radi i ne košta ništa. Stoga želim da prekidač otvori ili zatvori krug tako da izolira moju baterijsku ćeliju od štita baterije. Nemam opremu za dodir sa PCB -om, ali imam komade plastike posvuda. Zamislite sada da sam izrezao komad plastike tako da stane na jedan kraj baterije u štit kao na prvoj slici gore. Krug je sada otvoren i moja baterija je sigurno spremljena.

Da, ali ne želim otvarati robota da bi pristupio štitniku baterije kako bi stavio i uklonio ovaj komad plastike! Lako: nabavite prekidač i zalijepite dva mala kvadrata aluminija na svaku od žica spojenih na prekidač. Sada zalijepite ta dva komada aluminija na komad plastike kako biste dva aluminijska komada izolirali jedan od drugog i kako bi aluminij bio izložen vanjskom dijelu vašeg sustava. Obično bi tako trebalo biti. Umetnite svoju novu kreaciju u štitnik baterije pored ćelije, a prekidač bi vam trebao omogućiti otvaranje ili zatvaranje kruga spojenog na ćeliju.

I posljednja stvar: radi lakšeg sastavljanja i rastavljanja robota, savjetujem vam da lemite ženska zaglavlja na štitnik baterije. Na ovaj način možete jednostavno priključiti i odspojiti ono što gradite s motorima i njihovim upravljačkim programima.

Korak 5: 3D dizajn i izrezivanje

3D dizajn i izrezivanje
3D dizajn i izrezivanje
3D dizajn i izrezivanje
3D dizajn i izrezivanje

Jedino što sada nedostaje je izgradnja strukture koja će držati sve naše komponente na okupu. Za to sam upotrijebio internetsku platformu tinkercad. Ovo je stvarno lijepo okruženje za izradu nekog osnovnog CAD -a, što je često dovoljno za projektiranje stvari za laserski rezač.

Nakon nekog vremena razmišljanja, došlo je vrijeme za petljanje. Kako bih to učinio, počeo sam sastavljati 3D modele različitih dijelova koje sam imao (prvo sam zadržao servo i TOF izvan jednadžbe). To uključuje bateriju i štit, koračne motore i upravljačke programe motora, i naravno micro: bit s produžnom pločom. Priložio sam sve odgovarajuće 3D modele kao stl datoteke. Kako bih olakšao proces, odlučio sam učiniti svog robota simetričnim. Kao rezultat toga, petljao sam sa samo polovicom robota i došao do dizajna prikazanog na gornjoj slici.

Iz toga je zaživjelo nekoliko verzija, od kojih sam odabrao dvije:

  • Jedan sasvim uredan, bez senzora blizine, koji omogućuje da se ne pojavljuju žice. Iako nije autonomna, ova se verzija još uvijek može programirati putem Bluetootha putem iPada, na primjer, ili se može programirati za upravljanje pomoću radio signala koji se, na primjer, mogu poslati drugim mikro: bitom kao što je prikazano u gornjem videu.
  • Jedan mnogo manje uredan koji omogućuje napredovanje u mobilnoj robotici jer omogućuje snimanje udaljenosti prepreke s pogledom od 180 ° zahvaljujući senzoru blizine ugrađenom na servo motoru.

Da biste to nadogradili, idite na svoj omiljeni Fablab i upotrijebite laserski rezač za koji pronađete da izrežete model po vašoj želji: prvi koji odgovara datotekama design1_5mmMDF.svg i design1_3mmMDF koje odgovaraju dijelovima za rezanje u 5 mm MDF -u drvo i one za rezanje od 3 mm; drugi odgovaraju datoteci design2_5mmMDF.svg. Postavite crne konture za rezanje i crvene za graviranje.

Napomena: Dodao sam crveni uzorak samo da ga podvedem. Ovo je Hilbertova funkcija punjenja koju sam generirao pomoću priloženog python koda.

Korak 6: Montiranje Zvijeri

Montiranje Zvijeri
Montiranje Zvijeri
Montiranje Zvijeri
Montiranje Zvijeri
Montiranje Zvijeri
Montiranje Zvijeri

Koraci koje sam slijedio za postavljanje prve verzije robota su sljedeći (slike bi obično trebale biti ispravnim redoslijedom):

  1. Skinite plavi poklopac motora i malo ga odrežite kako bi kabel stršio sa stražnje strane motora.
  2. Montirajte motore sa svake strane pomoću M2 vijaka i vijaka.
  3. Ploču za izradu prototipa montirajte sa strane pomoću rupa 2x2 mm i nekoliko vijaka i vijaka.
  4. Stavite upravljačke programe A4988 i zalijepite kablove motora kako bi bili uredni.
  5. Postavite univerzalni kotač ispod donjeg dijela i dodajte stranice.
  6. Montirajte produžnu ploču micro: bita na gornji dio.
  7. Montirajte dno fleksibilnog prednjeg poklopca.
  8. Stavite štitnik za baterije i sve spojite (kako bih to učinio, budući da sam još uvijek čekao isporuku produžne ploče koju sam želio i da mi je samo jedna s ženskim zaglavljima stršila, reciklirao sam IDE kabel sa starog računala kako bih uspio da mi kabeli ne zalijepe ploču kako bi sve ovo prekrili sklopivim prednjim poklopcem). Iako se kôd koji sam naveo vrlo lako prilagođava, za njegovu izravnu upotrebu morat ćete spojiti lijevi STEP na pin 2, desni STEP na pin 8, lijevi DIR na pin 12, desni DIR na pin 1.
  9. Stavite micro: bit u nastavak.
  10. Prije nego nastavite, provjerite radi li sve s MoveTest.py.
  11. Postavite prekidač na gornji dio i stavite plastični bit pored litijske ćelije.
  12. Odvijte gornji dio prednjeg poklopca.
  13. Montirajte stražnju stranu i gotovi ste! Fuj! Nisam očekivao toliko koraka! Mnogo je lakše razmišljati o tome i to učiniti nego to riječima objasniti! (I siguran sam da će još uvijek nedostajati informacija!)

Ako drugu verziju gradite s senzorom blizine, učinite sljedeće:

  1. Slijedite gornje upute. Jedina razlika bit će u tome što ćete u koraku 7 morati dodati neke M2 razmaknice (iako sam to učinio, ali to nije potrebno), zanemarite 8. i 13. korak (jer nema prednjeg poklopca)
  2. Montirajte servo motor vijcima M2 i spojite VCC i GND servo izravno na 5V štitnika baterije, a upravljački ulaz spojite na pin 0 micro: bita.
  3. Montirajte dva komada drva koja će ići na servo s vijkom, pričvrstite TOF osjetnik na njega kao i bijeli plastični komad koji dolazi s servom.
  4. Montirajte ovu posljednju jedinicu na servo i povežite senzor pomoću I2C micro: bita kako je opisano u koraku 3.

Korak 7: Program

To je to ! Imate robota kojeg možete programirati bilo u micro: pythonu ili u makecodeu. Ovdje sam priložio nekoliko primjera koda koji sam koristio za snimanje gornjih videozapisa:

  • Primjer 1: Postavite radioControl.py na micro: bit robota i ReadAccelero.py na drugi micro: bit za upravljanje robotom pomoću nagiba drugog micro: bita.
  • Primjer 2: Postavite Autonomous.py na verziju 2 robota koji će istraživati okoliš.

To su samo osnovni primjeri pomoću kojih možete otići mnogo, puno dalje. Na primjer, jako volim simultanu lokalizaciju i mapiranje, a u verziji 2 ovog robota obično postoji sve što vam je potrebno za to! Iako mi je veliki nedostatak za takav projekt to što je mikro: bitni PWM upravljački program softverski upravljački program koji koristi isti mjerač vremena za sve kanale, što znači da svi PWM -ovi koje smo postavili moraju imati istu frekvenciju (što sam i učinio ne znam kada sam pisao uzorke kodova iako sam otkrio nešto čudno kada sam napisao Autonomous.py).

Korak 8: Idite dalje

Ne ustručavajte se poboljšati dizajn, riješite neke probleme koje nisam vidio. Na primjer, htio bih na kraju:

  • Dodajte IC senzor pri dnu robota kako bi otkrio je li tlo crno ili bijelo ili dopire do kraja mog stola.
  • Promijenite sustav upravljanja baterijom jer još nisam zadovoljan. Zaista, u ovom trenutku, za ponovno punjenje baterije, potrebno je rastaviti robota kako biste izvadili ćeliju ili štitnik baterije … Stoga planiram: 1. dodati mini-USB priključak na stražnju stranu robota koji sam spojit ću se na štitnik baterije kako bih ga mogao napuniti; 2. Izrežite rupu na dnu kako biste vidjeli LED diode sa štitnika baterije kako biste vidjeli kada je punjenje završeno.
  • Provjerite postoji li prihvatljiv način za izlaz PWM -a različitih frekvencija.
  • Isprobajte VL53L0XV2 kako biste zamijenili TOF10120 jer bi to mogla biti jeftinija opcija koja bi ga učinila dostupnim još većem broju ljudi. Iako sam pročitao više o ovom senzoru i čini se da se tvrtka koja je ovo učinila jeftinim namjerno jako teško nosila s njim …
  • Testirajte različite dizajne kotača kako bi bili izdržljiviji (trenutačno bih očekivao da će se drvo, ako uvlačim i izvlačim kotače mnogo puta, postupno oštetiti. Ako drvo učinim elastičnijim mijenjajući dizajn, mogao bih moći produžiti)

Veliko hvala ljudima iz tima za mobilnu robotiku (sada dio laboratorija za biorobotiku) EPFL -a koji su mi puno pomogli u proširenju znanja o elektronici i mehanici!

Preporučeni: