Obsah:

DIY vzdelávací mikro: bitový robot: 8 krokov (s obrázkami)
DIY vzdelávací mikro: bitový robot: 8 krokov (s obrázkami)

Video: DIY vzdelávací mikro: bitový robot: 8 krokov (s obrázkami)

Video: DIY vzdelávací mikro: bitový robot: 8 krokov (s obrázkami)
Video: RomaStories-Фильм (107 языков, субтитры) 2024, Júl
Anonim
DIY vzdelávací mikro: bitový robot
DIY vzdelávací mikro: bitový robot
DIY vzdelávací mikro: bitový robot
DIY vzdelávací mikro: bitový robot

Tento návod vám ukáže, ako postaviť relatívne prístupného, schopného a lacného robota. Mojím cieľom pri navrhovaní tohto robota bolo navrhnúť niečo, čo by si väčšina ľudí mohla dovoliť, aby pre nich pútavým spôsobom učili informatiku alebo sa o tom dozvedeli.

Hneď ako postavíte tohto robota, môžete si užiť množstvo senzorov a akčných členov, ktoré vám umožnia vykonávať základné, ale aj celkom pokročilé činnosti v závislosti od verzie, ktorú postavíte (poskytnem dve verzie). S týmto robotom poskytujete mikro (bit) pohľad (180 ° pohľad!) A nohy (s presným pohybom!), Zatiaľ čo micro: bit vám ponúka skvelé funkcie, ako je matica LED, rádiová komunikácia, bluetooth komunikácia, akcelerometer, kompasy, ale aj prístup k všetkým tým veciam buď pomocou programu MicroPython, alebo pomocou vizuálneho programovacieho jazyka podobného nule (v skutočnosti tiež v C ++ a javascripte, ale tie sa mi zdajú menej vhodné na vzdelávanie).

Budem tiež pracovať na tomto návode, aby som mohol čitateľov a tvorcov nasmerovať na cestu, aby objavili viac o mobilnej robotike, elektronike, projektovaní a rezaní dreva. Aby som to urobil, navrhol som všetko tak, aby bolo čo najmenej modulárne. Napríklad nebudem používať žiadne lepidlo, ktoré by umožnilo voľne zostavovať a rozoberať, čo uľahčuje inovácie a ladenie. Kroky tiež vykonám tak postupne, ako to len bude možné, aby ste mohli postupne porozumieť tomu, čo sa deje, kontrolovať, či veci fungujú tak, ako by mali a dosiahnuť koniec až s robotom, ktorý funguje.

Krok 1: Zhromažďovanie kúskov

Zhromažďovanie kúskov
Zhromažďovanie kúskov

Medvedie minimum, ktoré budete pre tento projekt potrebovať, je:

  • MDF drevo hrubé 5 mm a laserová rezačka na kostru
  • 1x18650 lítiová batéria, 1x štít batérie pre energiu a prerušovač
  • 1xMicro: Bitová karta a 1xMicro: bitová rozširujúca doska pre mozog (aj keď obe je možné ľahko nahradiť Arduinom)
  • 2x28BYJ-5V krokové motory, 2xA4988 krokové motory a 2x vývojová doska na upevnenie meničov na nohy
  • 1x TOF10120 a 1x Mini 9g servomotor pre očiNiektoré káble a skrutky
  • 1x univerzálne koliesko, výška = 15 mm

Medzi nimi iba tri časti nie sú štandardy, a preto uvádzame odkazy na ich nájdenie: vyhľadajte rozširujúcu dosku, ktorú som tu použil (ale pre úhľadnú verziu robota by som vám odporučil použiť túto. Budete musieť nezmeníte takmer nič na dizajne a kabeláž bude oveľa jednoduchšia v prípade ohybových konektorov medzi ženami a ženami), štítu batérie tu a univerzálneho kolesa.

V ideálnom prípade budete mať k dispozícii aj:

  • Multimetr
  • Chlebník
  • Spájkovačka

Pokiaľ ide o tie, ako aj o laserové rezačky, skontrolujte, či máte vo svojom okolí nejaký fablab! To sú skvelé miesta na stretnutie s niekoľkými inšpiratívnymi tvorcami!

Krok 2: Príprava nôh

Príprava nôh
Príprava nôh
Príprava nôh
Príprava nôh
Príprava nôh
Príprava nôh
Príprava nôh
Príprava nôh

Vašou prvou misiou, ak ju prijmete, bude nechať náš krokový motor otáčať pomocou mikro: bitu ako ovládača! Prečo krokový motor? Mohol som ísť pre jednosmerný motor s reduktormi, ale vyskúšal som ich a je pre mňa ťažké zohnať lacné motory na nízke otáčky. Tiež som si myslel, že by bolo pekné presne vedieť, pri akej rýchlosti sa moje kolesá otáčajú. Z týchto dôvodov boli krokové motory najlepšou voľbou.

Ako teda teraz ovládať motor 28BYJ pomocou ovládača 4988? Odpoveď je … trochu dlhá. Nepodarilo sa mi to úhľadne zapracovať do tohto návodu, a tak som vyrobil ďalší iba na tento účel, ktorý nájdete tu. Pozývam vás, aby ste postupovali podľa týchto krokov až do konca, aby ste vytvorili malú prototypovú dosku s rozmermi 26 x 22 mm s otvormi 2 x 2 mm a priemerom 17 mm, aby ste ju pripevnili po stranách tak, ako je to znázornené na obrázku vyššie (Všimnite si, že ako je uvedené v citovanom článku, žltý drôt vľavo vyčnievajúci je len tam, aby vám pripomenul spájkovanie SLP a RST dohromady).

Potom, čo som to začal pracovať s jedným motorom s prototypovou doskou, som tiež navrhol vlastnú PCB, aby boli veci o niečo upratanejšie. Priložil som zodpovedajúci súbor easyEDA. Je to súbor txt, ale stále ho môžete otvoriť pomocou bezplatnej online editovacej platformy easyEDA.

Krok 3: Vidím svetlo !! (Voliteľné)

Vidím svetlo !! (Voliteľné)
Vidím svetlo !! (Voliteľné)
Vidím svetlo !! (Voliteľné)
Vidím svetlo !! (Voliteľné)
Vidím svetlo !! (Voliteľné)
Vidím svetlo !! (Voliteľné)

Ak chcete iba stavať a nič viac, preskočte na predchádzajúci odsek tohto kroku a zistite, ako pripojiť TOF10120 k mikro: bitu. Ak nie, postupujte.

Pretože náš micro: bit nie je dodávaný so žiadnym fotoaparátom ani snímačom priblíženia, robí ho akýmsi nevidomým pre akúkoľvek aplikáciu mobilnej robotiky. Dodáva sa však s rádiovým vysielačom a receptorom, ktoré by nám umožnili postaviť kostru nad tým, čo už máme, a získať diaľkovo ovládaného robota. Nebolo by však skvelé urobiť nášho robota autonómnym? Ano to by bolo! Pozrime sa teda, ako sa tam dostať.

Teraz nás zaujíma vybaviť nášho robota snímačmi, aby náš robot získal nejaké informácie o svojom prostredí. Existuje mnoho typov senzorov, ale tu sa zameriame na senzor priblíženia. Keď som navrhoval tohto robota, mojim cieľom bolo väčšinou to, aby robot do ničoho nenarazil, preto som chcel, aby cítil prekážky. Na tento účel existuje aj niekoľko možností. Prvým, veľmi jednoduchým, by mohlo byť použitie nárazníkov, ale informácie o životnom prostredí sa mi zdajú trochu obmedzené. Na opačnom konci by vás mohlo napadnúť pridať kameru (alebo Lidar alebo kinect!). Milujem kamery, počítačové videnie a všetky tie veci, ale bohužiaľ Micro: bit ich nepodporuje (na podporu takýchto zariadení by sme museli použiť malinový Pi, nie micro: bit alebo Arduino).

Čo teda podporuje mikro: bit medzi fotoaparátom a nárazníkmi? Existujú malé aktívne senzory, ktoré vysielajú svetlo do okolia a kontrolujú, čo sa prijíma, aby získali nejaké informácie o svete. Ten, o ktorom som už vedel, bol GP2Y0A41SK0F, ktorý používa triangulačnú metódu na odhad vzdialenosti od prekážok. Zaujímalo by ma však, či môžem nájsť niečo lepšie, a tak som urobil malý prieskum a nakoniec som objavil TOF10120 (a GY-VL53L0XV2, ale ešte som ho nedostal:(). Tu je pekný článok, kde ho môžete objaviť. Tento senzor v zásade vysiela infračervený signál, ktorý sa odráža na prekážkach, a ten potom odrážané svetlo prijíma. V závislosti od času, ktorý svetlo potrebovalo na pohyb tam a späť, senzor dokáže odhadnúť vzdialenosť prekážky (odtiaľ názov TOF = čas letu Pre svoju malú veľkosť, dosah vzdialenosti a požiadavku na výkon som sa rozhodol použiť TOF10120.

Kým mojou prvou myšlienkou bolo dať tri z nich do robota (jeden vpredu a dva po stranách), čínsky nový rok a pandémia COVID-19 to takto nechce, pretože sa zdá, že spôsobuje problémy so zásielkami. Keďže som bol obmedzený na jeden TOF10120, ktorý som chcel vidieť aj po stranách a okolo ktorého som mal porozkladané nejaké servomotory, rozhodol som sa namontovať svoj senzor na servo. Takže dve veci teraz chýbajú: ako môžem používať TOF10120 s mikro: bitom? A rovnaká otázka so servom.

Našťastie micro: bit je vybavený komunikačným protokolom I2C a to nám skutočne uľahčuje život: zapojte červený vodič na 3,3 V, čierny na uzemnenie, zelený na SCL a modrý na SDA a to je z hardvérovej časti všetko. Pokiaľ ide o softvér, odporúčam vám prečítať si niečo o komunikácii I2C a vyskúšať kód pythonu, ktorý som pripojil k mikro: bitu. Tento program by vám mal vytlačiť vzdialenosť nameranú senzorom na REPL (Prečítajte si vyhodnotenie tlačovej slučky). To je všetko. Práve sme dali zrak našej mikro: bite.

Teraz mi dovoľte obrátiť sa na krk, ak mi dovolíte pokračovať v mojich analógiách s anatómiou zvierat. Jediné, čo budeme potrebovať, je poháňať servomotor pomocou mikro: bitu. Táto časť sa predlžuje, preto vám poskytnem tento odkaz, ktorý obsahuje všetky potrebné informácie a kód, ktorý som použil na testovanie. Ak chcete, pridal som aj jednoduchý kód na ovládanie serva pomocou pin0. Nezabudnite napájať svoje servo 5V a nie 3,3V.

Krok 4: hacknutie krytu batérie

Hackovanie štítu batérie
Hackovanie štítu batérie
Hackovanie štítu batérie
Hackovanie štítu batérie
Hackovanie štítu batérie
Hackovanie štítu batérie

Teraz, keď sme pripravili naše pohony a snímače, je načase sa pozrieť na systém správy batérie. Aby ste sa dozvedeli viac o kryte batérie, ktorý som si vybral, odporúčam vám prečítať si tento článok. Považujem to za veľmi jasné a prístupné. Z tohto článku vidíme veľa výhod tohto štítu batérie, ale je tu jedna dôležitá nevýhoda, ktorú som nechcel prijať: prepínač ON/OFF má vplyv iba na výstup USB. To znamená, že ak vypínač vypnete, budú napájané všetky ostatné piny 3,3 V a 5 V. Výsledkom je, že keďže tieto kolíky používame pre svojho robota, prepínač nerobí vôbec nič …

Ale chcem byť schopný vypnúť svojho robota, aby zbytočne nevyprázdňoval batériu, a tak som musel hacknúť kryt batérie. Nebude to pekné, ale funguje to a nič to nestojí. Preto chcem spínač na otvorenie alebo zatvorenie obvodu tak, aby izoloval môj článok batérie od krytu batérie. Nemám zariadenie na dotyk DPS, ale kusy plastu mám všade naokolo. Teraz si teda predstavte, že som odrezal kus plastu, aby sa zmestil na jeden koniec článku batérie do štítu ako na prvom obrázku vyššie. Okruh je teraz otvorený a moja batéria je bezpečne uložená.

Áno, ale nechcem musieť otvoriť robota, aby získal prístup k krytu batérie, aby mohol vložiť a odstrániť tento kus plastu! Jednoduché: zapojte vypínač a prilepte dva malé štvorce hliníka ku každému z drôtov pripojených k prepínaču. Teraz prilepte tieto dva kusy hliníka k plastovému kusu, aby boli tieto dva hliníkové kusy navzájom izolované a aby bol hliník vystavený vonkajšej strane vášho systému. Normálne by to malo stačiť. Vložte svoj nový výtvor do štítu batérie vedľa článku a prepínač by vám mal umožniť otvoriť alebo zatvoriť obvod pripojený k článku.

Posledná vec: Aby ste uľahčili montáž a demontáž robota, odporučil by som vám spájkovať ženské hlavičky na štít batérie. Týmto spôsobom môžete ľahko zapojiť a odpojiť to, čo postavíte, pomocou motorov a ich ovládačov.

Krok 5: 3D návrh a rez

3D návrh a strih
3D návrh a strih
3D návrh a strih
3D návrh a strih

Jediné, čo teraz chýba, je vybudovať štruktúru, ktorá bude držať všetky naše súčasti pohromade. Na to som použil online platformu tinkercad. Je to naozaj pekné prostredie na vykonanie základného CAD, ktoré často stačí na navrhovanie vecí pre laserovú rezačku.

Po nejakom čase premýšľania bolo načase pohrať sa. Aby som to urobil, začal som dávať dohromady 3D modely rôznych častí, ktoré som mal (najskôr som nechal servo a TOF mimo rovnice). To zahŕňa batériu a štít, krokové motory a ovládače motorov a samozrejme mikro: bit s rozširujúcou doskou. Pripojil som všetky zodpovedajúce 3D modely ako súbory stl. Na uľahčenie postupu som sa rozhodol urobiť svojho robota symetrickým. Výsledkom bolo, že som sa pohral iba s polovicou robota a dosiahol som dizajn zobrazený na obrázku vyššie.

Z toho ožilo niekoľko verzií, z ktorých som vybral dve:

  • Jeden celkom uprataný, bez snímača blízkosti, ktorý umožňuje, aby sa nezobrazovali žiadne káble. Aj keď táto verzia nie je autonómna, je možné ju naprogramovať napríklad prostredníctvom rozhrania Bluetooth prostredníctvom iPadu alebo je možné ju naprogramovať tak, aby sa ovládala pomocou rádiových signálov, ktoré je možné napríklad odosielať iným mikro: bitom, ako je znázornené na videu vyššie.
  • Jeden oveľa menej uprataný, ktorý umožňuje ísť oveľa ďalej do mobilnej robotiky, pretože vďaka senzoru priblíženia postavenému na servomotore umožňuje zachytiť vzdialenosť prekážky so 180 ° výhľadom.

Ak to chcete vybudovať, prejdite na svoj obľúbený stroj Fablab a pomocou laserovej rezačky, ktorú nájdete, odstrihnite požadovaný model: prvý, ktorý zodpovedá súborom design1_5mmMDF.svg a design1_3mmMDF, ktoré zodpovedajú príslušným častiam, ktoré je potrebné rezať do 5 mm MDF drevo a rezané z 3 mm; druhý zodpovedá súboru design2_5mmMDF.svg. Nastavte čierne obrysy, ktoré chcete vyrezať, a červené, ktoré sa majú gravírovať.

Bočná poznámka: Červený vzor som pridal len preto, aby som ho pasoval. Toto je plniaca funkcia Hilberta, ktorú som vygeneroval pomocou priloženého kódu pythonu.

Krok 6: Upevnenie šelmy

Montáž šelmy
Montáž šelmy
Montáž šelmy
Montáž šelmy
Montáž šelmy
Montáž šelmy

Kroky, ktoré som vykonal pri montáži prvej verzie robota, sú nasledujúce (obrázky by za normálnych okolností mali byť v správnom poradí):

  1. Odstráňte modrý kryt motorov a trochu ho prerežte, aby kábel vyčnieval zo zadnej časti motora.
  2. Namontujte motory na každú stranu pomocou skrutiek a skrutiek M2.
  3. Prototypovú dosku namontujte na boky pomocou otvorov 2x2 mm a niekoľkých skrutiek a skrutiek.
  4. Nainštalujte ovládače A4988 a prelepte káble motora, aby boli v poriadku.
  5. Univerzálne koleso namontujte pod spodnú časť a pridajte boky.
  6. Namontujte predlžovaciu dosku micro: bitu na hornú časť.
  7. Namontujte spodok flexibilného predného krytu.
  8. Nasaďte štít batérie a pripojte všetko (aby som to urobil, pretože som stále čakal na dodanie požadovanej rozširujúcej dosky a že mi trčal iba jeden s hlavičkami, zrecykloval som kábel IDE zo starého počítača, aby som to dokázal aby moje káble nelepili na dosku, aby to všetko zakryli sklopným predným krytom). Aj keď je kód, ktorý som poskytol, veľmi ľahko prispôsobiteľný, na jeho priame použitie budete musieť pripojiť ľavý KROK na pin 2, pravý STEP na pin 8, ľavý DIR na pin 12, pravý DIR na pin 1.
  9. Vložte micro: bit do rozšírenia.
  10. Pred pokračovaním vyskúšajte, či všetko funguje s MoveTest.py.
  11. Namontujte spínač na hornú časť a plastový bit umiestnite vedľa lítiového článku.
  12. Zaskrutkujte hornú časť predného krytu.
  13. Namontujte chrbát a ste hotoví! Fuj! Nečakal som toľko krokov! Je oveľa jednoduchšie premýšľať o tom a robiť to, ako to vysvetliť slovami! (A som si istý, že stále budú chýbať informácie!)

Ak staviate druhú verziu so snímačom priblíženia, potom:

  1. Postupujte podľa vyššie uvedených pokynov. Jediným rozdielom bude, že v kroku 7 budete musieť pridať nejaké medzikusy M2 (aj keď to som urobil, ale nie je to potrebné), krok 8 a krok 13 ignorujte (pretože neexistuje žiadny predný kryt)
  2. Namontujte servomotor pomocou skrutiek M2 a zapojte VCC a GND serva priamo na 5 V štítu batérie a riadiaci vstup pripojte na kolík 0 mikro: bitu.
  3. Pomocou skrutky namontujte dva kusy dreva, ktoré pôjdu na vrch serva, naskrutkujte na to snímač TOF a biely plastový kus, ktorý je súčasťou serva.
  4. Namontujte túto poslednú jednotku na servo a pripojte snímač pomocou I2C micro: bit, ako je popísané v kroku 3.

Krok 7: Program

To je všetko! Máte robota, ktorého môžete naprogramovať v mikro: pythone alebo v makecode. Tu som pripojil niekoľko ukážkových kódov, ktoré som použil na vytvorenie vyššie uvedených videí:

  • Príklad 1: Vložte radioControl.py na mikro: bit robota a ReadAccelero.py na iný micro: bit, aby ste robota ovládali pomocou sklonu druhého mikro: bitu.
  • Príklad 2: Dajte Autonomous.py na verziu 2 robota, ktorý preskúma prostredie.

Toto sú len základné príklady, pomocou ktorých môžete ísť oveľa, oveľa ďalej. Mám napríklad veľmi rád simultánnu lokalizáciu a mapovanie a vo verzii 2 tohto robota je na to spravidla všetko, čo potrebujete! Aj keď je pre mňa veľkou nevýhodou takéhoto projektu, že mikro: bitový ovládač PWM je softvérový ovládač, ktorý používa rovnaký časovač pre všetky kanály, čo znamená, že všetky PWM, ktoré nastavíme, musia mať rovnakú frekvenciu (čo som urobil neviem, kedy som napísal ukážkové kódy, aj keď som pri písaní Autonomous.py zistil niečo zvláštne.

Krok 8: Choďte ďalej

Neváhajte vylepšiť dizajn, vyriešiť niektoré problémy, ktoré som nevidel. Napríklad by som chcel na konci:

  • Pridajte do spodnej časti robota infračervený senzor, aby detekoval, či je zem čierna alebo biela alebo sa dotýka konca môjho stola.
  • Zmeňte systém správy batérie, pretože s ním zatiaľ nie som spokojný. Skutočne, v súčasnej dobe na dobitie batérie vyžaduje demontáž robota, aby sa vybral článok alebo kryt batérie … Preto plánujem: 1. pridať mini-USB konektor na zadnú stranu robota, ktorý som Pripojím sa k krytu batérie, aby som ho mohol dobiť; 2. Vyrežte otvor v spodnej časti, aby ste videli LED diódy zo štítu batérie, aby ste videli, kedy sa nabíjanie skončí.
  • Skontrolujte, či existuje prijateľný spôsob výstupu PWM s rôznymi frekvenciami.
  • Vyskúšajte VL53L0XV2, ktorý by nahradil TOF10120, pretože by to mohla byť lacnejšia možnosť, ktorá by ho sprístupnila ešte väčšiemu počtu ľudí. Aj keď som čítal viac o tomto senzore a zdá sa, že spoločnosť, ktorá ho vyrobila lacno, zámerne sa s ním veľmi ťažko vysporiadala…
  • Otestujte rôzne prevedenia kolies, aby boli odolnejšie (Práve teraz by som očakával, že ak mnohokrát vezmem kolesá dovnútra a von, drevo sa bude postupne poškodzovať. Ak urobím drevo pružnejším, upravím dizajn a možno budem byť schopný vydržať dlhšie)

Veľká vďaka ľuďom z tímu Mobile robotics (teraz súčasť laboratória Biorobotics) z EPFL, ktorí mi veľmi pomohli rozšíriť moje znalosti z elektroniky a mechaniky!

Odporúča: