Tartalomjegyzék:

DIY Educational Micro: bit robot: 8 lépés (képekkel)
DIY Educational Micro: bit robot: 8 lépés (képekkel)

Videó: DIY Educational Micro: bit robot: 8 lépés (képekkel)

Videó: DIY Educational Micro: bit robot: 8 lépés (képekkel)
Videó: Wood Saw Machine Tool #Gadget #Gadgets 😉SUBSCRIBE PLEASE!👇👇👇 #shorts 2024, Július
Anonim
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot

Ez az oktatóanyag megmutatja, hogyan lehet viszonylag hozzáférhető, képes és olcsó robotot építeni. Ennek a robotnak a tervezésekor az volt a célom, hogy javasoljak valamit, amit a legtöbb ember megengedhet magának, hogy lebilincselő módon tanítsa az informatikát, vagy tanuljon róla.

Miután elkészítette ezt a robotot, élvezheti különféle érzékelőit és működtetőit, hogy alapvető, de meglehetősen fejlett dolgokat is elvégezzen az épített verziótól függően (két változatot adok meg). Ezzel a robottal szemeket (180 ° -os látómező!) És lábakat (pontos mozgással lehetséges!) Ad a micro: bitnek, míg a micro: bit olyan nagyszerű szolgáltatásokat nyújt, mint a LED -mátrix, a rádiókommunikáció, a Bluetooth -kommunikáció, a gyorsulásmérő, kompák, de hozzáférés mindezekhez a dolgokhoz akár MicroPython, akár vizuális programozási nyelvvel, ami hasonló a semmibe (valójában C ++ és javascript nyelvekben is, de kevésbé tartom alkalmasnak az oktatásra).

Ezen az oktatható dolgon is dolgozni fogok, hogy az olvasókat és a készítőket pályára tegyem, hogy többet fedezzenek fel a mobil robotikával, az elektronikával, a tervezéssel és a favágással kapcsolatban. Ennek érdekében mindent úgy terveztem, hogy a lehető legmodulárisabb legyen. Például nem használok semmilyen ragasztót a szabad összeszereléshez és szétszereléshez, megkönnyítve a frissítéseket és a hibakeresést. Azt is megteszem, hogy a lépéseket minél fokozatosabbá tegyem, hogy fokozatosan megérthesse, mi történik, ellenőrizze, hogy a dolgok megfelelően működnek -e, és egy robottal érje el a végét.

Lépés: Gyűjtse össze a darabokat

A darabok összegyűjtése
A darabok összegyűjtése

Ehhez a projekthez a medve minimumra lesz szüksége:

  • 5 mm vastag MDF fa és lézervágó a csontvázhoz
  • 1x18650 lítium akkumulátor, 1x akkumulátorpajzs az energiaellátáshoz és megszakító
  • 1xMicro: Bit kártya és 1xMicro: bitbővítő kártya az agy számára (bár mindkettő könnyen helyettesíthető egy Arduino -val)
  • 2x28BYJ-5V léptetőmotorok, 2xA4988 léptetőmotor-meghajtók és 2x fejlesztőlap a lábak meghajtóinak rögzítéséhez
  • 1x TOF10120 és 1x Mini 9g szervomotor a szem számára Néhány kábel és csavar
  • 1x univerzális kerék, magasság = 15mm

Ezek közül csak három rész nem szabványos, ezért itt talál linkeket a megtalálásukhoz: keresse meg az itt használt bővítőkártyát (de azt javaslom, hogy ezt használja a robot ügyes verziójához.) szinte semmit nem változtat a kialakításon, és sokkal egyszerűbbé teszi a huzalozást hajlított női-női fejlécekkel), az akkumulátorpajzsot itt és az univerzális kereket itt.

Ideális esetben az Ön rendelkezésére áll:

  • Multiméter
  • Egy kenyértábla
  • Forrasztópáka

Azoknak és a lézervágónak is ellenőrizze, hogy van -e fablab a helyén! Remek helyek, ahol inspiráló alkotókkal találkozhat!

2. lépés: A lábak előkészítése

A lábak előkészítése
A lábak előkészítése
A lábak előkészítése
A lábak előkészítése
A lábak előkészítése
A lábak előkészítése
A lábak előkészítése
A lábak előkészítése

Az első küldetés, ha elfogadja, az lesz, hogy léptetőmotorunkat a micro: bit segítségével forgassuk vezérlőként! Miért léptetőmotor? Elmehettem volna egyenáramú motorhoz reduktorokkal, de kipróbáltam őket, és nehezen tudom elérni, hogy olcsó motorok alacsony fordulatszámon működjenek. Arra is gondoltam, hogy jó lenne pontosan tudni, milyen sebességgel forognak a kerekeim. Ezért a léptetőmotorok voltak a legjobb választás.

Tehát most hogyan lehet irányítani a 28BYJ motort 4988 illesztőprogram segítségével? A válasz… kicsit hosszú. Nem sikerült rendesen illeszkednem ebbe az oktatható anyagba, ezért készítettem egy másikat, csak erre a célra, amit itt találsz. Megkérem Önöket, hogy kövessék ezeket a lépéseket a végéig egy kis, 26x22 mm -es prototípus -tábla létrehozásával, 2x2 mm -es lyukakkal, 17 mm -es résszel, hogy rögzítsék az oldalakra a fenti képen látható módon (vegye figyelembe, hogy a hivatkozott cikk szerint a sárga huzal bal oldalon a kilógás csak arra emlékeztet, hogy az SLP -t és az RST -t együtt kell forrasztani).

Miután ezt egy prototípustáblával működtettem egy motorral, saját PCB -t is terveztem, hogy kicsit rendezettebb legyen a dolog. Csatoltam a megfelelő easyEDA fájlt. Ez egy txt fájl, de továbbra is megnyithatja az ingyenes easyEDA online szerkesztőplatform segítségével.

3. lépés: Látom a fényt !! (Választható)

Látom a fényt !! (Választható)
Látom a fényt !! (Választható)
Látom a fényt !! (Választható)
Látom a fényt !! (Választható)
Látom a fényt !! (Választható)
Látom a fényt !! (Választható)

Ha csak építeni szeretne, és semmi mást, ugorjon a lépés utolsó bekezdése előttihez, hogy megtudja, hogyan lehet a TOF10120 -at a micro: bithez csatlakoztatni. Ha nem, kövesse.

Mivel a micro: bitünk nem rendelkezik kamerával vagy közelségérzékelővel, így vakká teszi minden mobil robotikai alkalmazás számára. Rádiókibocsátóval és vevővel érkezik, amely lehetővé teszi számunkra, hogy felépítsük a csontvázat arra, ami már megvan, és szerezzünk be egy távvezérelt robotot. De nem lenne jó, ha robotunkat autonómná tennénk? Igen az lenne! Lássuk tehát, hogyan juthatunk el oda.

Most az az érdekelt, hogy robotunkat érzékelőkkel látjuk el, hogy robotunk információkat szerezzen a környezetéről. Sokféle érzékelő áll rendelkezésre, de itt a közelségérzékelőre összpontosítunk. Amikor ezt a robotot terveztem, leginkább az volt a célom, hogy a robot ne ütközzön semmibe, ezért azt akartam, hogy érzékelje az akadályokat. Erre is van néhány lehetőség. Az első, nagyon egyszerű megoldás a lökhárítók használata lehet, de a környezetre vonatkozó információkat kissé korlátozottnak találom. A másik végletben gondolhat egy kamera (vagy egy Lidar vagy egy kinect!) Hozzáadására. Szeretem a kamerákat, a számítógépes látást és mindezeket a dolgokat, de sajnos a Micro: bit nem támogatja ezeket (málna Pi -t kell használnunk az ilyen eszközök támogatására, nem pedig a micro: bit -t vagy az Arduino -t).

Mit támogat tehát a micro: bit, amely a kamera és a lökhárítók között van? Vannak kicsi aktív érzékelők, amelyek fényt küldenek a környezetbe, és ellenőrzik, hogy mit kapnak, hogy információt szerezzenek a világról. Amit már ismertem, az a GP2Y0A41SK0F, amely háromszögelési módszert alkalmaz az akadályok távolságának becslésére. Azonban azon tűnődtem, találok-e valami jobbat, ezért kutakodtam, és végül felfedeztem a TOF10120-at (és a GY-VL53L0XV2-t, de még nem kaptam meg:(). Itt van egy jó cikk, hogy felfedezze. Alapvetően ez az érzékelő infravörös jelet bocsát ki, amely tükrözi az akadályokat, majd megkapja a visszavert fényt. Attól függően, hogy mennyi ideig tartott a fény oda -vissza, az érzékelő meg tudja becsülni az akadály távolságát (innen a TOF = repülési idő Kis mérete, távolságtartománya és teljesítményigénye miatt úgy döntöttem, hogy a TOF10120 -at használom.

Míg az első ötletem az volt, hogy ezek közül hármat a robotra helyezzek (egyet elöl és kettőt az oldalán), a kínai újév és a COVID-19 világjárvány nem ezt akarta, mivel úgy tűnt, hogy problémákat okoz a szállítmányokban. Mivel csak egy TOF10120 -ra korlátozódtam, amit látni akartam az oldalain is, és hogy néhány szervómotor hever, úgy döntöttem, hogy az érzékelőmet egy szervóra szerelem. Tehát most két dolog hiányzik: hogyan használhatom a TOF10120 -at a micro: bittel? És ugyanez a kérdés a szervóval.

Szerencsére a micro: bit fel van szerelve I2C kommunikációs protokollal, és nagyon megkönnyíti az életünket: csatlakoztassa a piros vezetéket 3,3 V -hoz, feketét a földhöz, zöldet az SCL -hez és a kéket az SDA -hoz, és ennyi a hardver rész. A szoftver esetében azt javaslom, hogy olvasson egy kicsit az I2C kommunikációról, és próbálja ki a micro: bithez csatolt python kódot. Ennek a programnak ki kell nyomtatnia a REPL (Read Evaluate Print Loop) szenzor által mért távolságot. Ez az. Most láttuk a micro: bitünket.

Most fordítsuk meg a nyakát, ha megengeded, hogy folytassam az állati anatómiával való analógiámat. Az egyetlen dolog, amire szükségünk lehet, az a szervomotor meghajtása a micro: bit segítségével. Ez a rész hosszú lesz, ezért csak megadom ezt a linket, amely tartalmazza az összes szükséges információt és a teszteléshez használt kódot. Ha szeretné, hozzáadtam egy egyszerű kódot is a szervó vezérléséhez a pin0 segítségével. Csak ne felejtse el a szervóját 5V -ról és nem 3.3V -ról táplálni.

4. lépés: Az akkumulátorpajzs feltörése

Az akkumulátorpajzs feltörése
Az akkumulátorpajzs feltörése
Az akkumulátorpajzs feltörése
Az akkumulátorpajzs feltörése
Az akkumulátorpajzs feltörése
Az akkumulátorpajzs feltörése

Most, hogy a hajtóműveinket és érzékelőinket előkészítettük, ideje megnézni az akkumulátor -kezelő rendszert. Ha többet szeretne megtudni az általam választott akkumulátorpajzsról, azt tanácsolom, hogy olvassa el ezt a cikket. Nagyon világosnak és hozzáférhetőnek tartom. Ebből a cikkből láthatjuk az akkumulátor pajzsának számos előnyét, de van egy fontos hátrány, amit nem akartam elfogadni: az ON/OFF kapcsoló csak az USB kimenetre hat. Ez azt jelenti, hogy ha kikapcsolja a kapcsolót, akkor az összes többi 3,3 V -os és 5 V -os tápfeszültség áramellátásra kerül. Ennek eredményeként, mivel ezeket a csapokat használjuk a robotunkhoz, a kapcsoló semmit sem fog tenni…

De szeretném, ha ki tudnám kapcsolni a robotomat, hogy ne ürítsem ki az akkumulátort a semmiért, ezért feltörtem az akkumulátor pajzsát. Nem lesz szép, de működik és nem kerül semmibe. Ezért azt szeretném, hogy egy kapcsoló nyissa vagy zárja az áramkört, hogy elkülönítse az akkumulátorcellámat az akkumulátor pajzsától. Nem rendelkezem a NYÁK -hoz való hozzáérésemhez szükséges eszközökkel, de mindenhol műanyagdarabok vannak. Most képzeld el, hogy levágtam egy műanyagdarabot, hogy elférjen az akkumulátorcellám egyik végén a pajzsban, mint a fenti első képen. Az áramkör most nyitva van, és az akkumulátorom biztonságosan tárolható.

Igen, de nem akarom, hogy kinyissam a robotot, hogy hozzáférjek az akkumulátorpajzshoz, és felhelyezhetem és eltávolíthatom ezt a műanyagdarabot! Egyszerű: szerezzen be egy kapcsolót, és ragasztjon két kis négyzet alumíniumot a kapcsolóhoz csatlakoztatott vezetékek mindegyikére. Most ragassza fel ezt a két darab alumíniumot a műanyag darabra, hogy a két alumíniumdarabot el lehessen választani egymástól, és hogy az alumínium a rendszer külsejének legyen kitéve. Általában ezt kell tenni. Helyezze be új elemét a cella melletti elempajzsba, és a kapcsolónak lehetővé kell tennie a cellához csatlakoztatott áramkör megnyitását vagy bezárását.

Még egy utolsó dolog: a robot összeszerelésének és szétszerelésének megkönnyítése érdekében azt tanácsolom, hogy az elemek védőburkolatán lévő női fejrészeket forrasztja. Így könnyen csatlakoztathatja és kihúzhatja a motorokból és meghajtóikból épített elemeket.

5. lépés: 3D tervezés és kivágás

3D tervezés és vágás
3D tervezés és vágás
3D tervezés és vágás
3D tervezés és vágás

Már csak az hiányzik, hogy felépítsük azt a szerkezetet, amely minden alkatrészünket összetartja. Ehhez a tinkercad online platformot használtam. Ez egy igazán szép környezet néhány alapvető CAD elvégzéséhez, ami gyakran elegendő a lézervágó tervezéséhez.

Némi gondolkodás után itt az ideje a bütykölésnek. Ennek érdekében elkezdtem összeállítani a különböző alkatrészek 3D modelljeit (először a szervót és a TOF -et távol tartva az egyenlettől). Ez magában foglalja az akkumulátort és a pajzsot, a léptetőmotorokat és a motorvezérlőket, és természetesen a micro: bit -t a hosszabbítóval. Minden megfelelő 3D modellt csatoltam stl fájlként. A folyamat megkönnyítése érdekében úgy döntöttem, hogy szimmetrikusvá teszem a robotomat. Ennek eredményeként a robotnak csak a felével bütyköltem, és elértem a fenti képen látható kialakítást.

Ebből néhány verzió életre kelt, amelyek közül kettőt választottam:

  • Az egyik nagyon rendezett, a közelségérzékelő nélkül, amely lehetővé teszi, hogy ne jelenjenek meg vezetékek. Bár nem önálló, ez a verzió továbbra is Bluetooth -on keresztül programozható iPaden keresztül, vagy programozható úgy, hogy vezérelhető legyen olyan rádiójelek segítségével, amelyeket például egy másik mikro -bit küldhet, a fenti videó szerint.
  • Egy sokkal kevésbé rendezett, amely lehetővé teszi a mobil robotika további megismerését, mivel lehetővé teszi az akadályok távolságának rögzítését 180 ° -os kilátással a szervomotorra épített közelségérzékelőnek köszönhetően.

Ennek felépítéséhez menjen a kedvenc Fablab oldalára, és a megtalált lézervágóval vágja le a kívánt modellt: az első a design1_5mmMDF.svg és design1_3mmMDF fájloknak felel meg, amelyek megfelelnek az 5 mm -es MDF -ben vágni kívánt részeknek. fa és a 3 mm -es fűrészből kivágandó; a második a design2_5mmMDF.svg fájlnak felel meg. Állítsa be a metszeni kívánt fekete kontúrokat és a vöröseket.

Mellékjegyzet: A piros mintát csak azért adtam hozzá, hogy felpörgessem. Ez egy Hilbert töltési függvény, amelyet a mellékelt python kóddal készítettem.

6. lépés: A fenevad felszerelése

A fenevad felszerelése
A fenevad felszerelése
A fenevad felszerelése
A fenevad felszerelése
A fenevad felszerelése
A fenevad felszerelése

A robot első verziójának telepítéséhez a következő lépéseket tettem (a képeknek általában a megfelelő sorrendben kell lenniük):

  1. Távolítsa el a motorok kék kupakját, és vágja le egy kicsit, hogy a kábel kilógjon a motor hátuljából.
  2. Szerelje fel a motorokat mindkét oldalra M2 csavarokkal és csavarokkal.
  3. Szerelje fel a prototípuslapot az oldalakra a 2x2 mm -es lyukak és néhány csavar és csavar segítségével.
  4. Tegye fel az A4988 illesztőprogramokat, és ragasztja le a motorkábeleket, hogy rendben legyen.
  5. Szerelje fel az univerzális kereket az alsó rész alá, és tegye hozzá az oldalakat.
  6. Szerelje fel a micro: bit bővítőlapját a felső részre.
  7. Szerelje fel a rugalmas előlap alsó részét.
  8. Tegye fel az akkumulátorpajzsot, és csatlakoztasson mindent (ehhez még mindig vártam a kívánt bővítőkártya szállítását, és csak egy nő fejléce látszik ki, újrahasznosítottam egy IDE -kábelt egy régi számítógépről, hogy a kábeleim ne ragasszák fel a táblát annak érdekében, hogy mindezt le lehessen fedni az összecsukható előlapon). Bár a megadott kód nagyon könnyen adaptálható, a közvetlen használathoz a bal STEP -et a 2 -es, a jobb STEP -et a 8 -as, a bal DIR -t a 12 -es, a jobb DIR -t az 1 -es tűhöz kell csatlakoztatni.
  9. Tegye a micro: bitet a kiterjesztésbe.
  10. Mielőtt továbbmenne, ellenőrizze, hogy minden működik -e a MoveTest.py -vel.
  11. Szerelje fel a kapcsolót a felső részre, és tegye a műanyag fúrót a lítiumcella mellé.
  12. Csavarja le az előlap felső részét.
  13. Szerelje fel a hátlapot, és kész! Fú! Nem számítottam ennyi lépésre! Sokkal könnyebb gondolkodni és tenni, mint szavakkal elmagyarázni! (És biztos vagyok benne, hogy még mindig hiányoznak az információk!)

Ha a második verziót a közelségérzékelővel építi, akkor:

  1. Kövesse a fenti utasításokat. Az egyetlen különbség az lesz, hogy a 7. lépésben hozzá kell adnia néhány M2 távtartót (bár én ezt tettem, de nem kötelező), hagyja figyelmen kívül a 8. és a 13. lépést (mivel nincs előlap)
  2. Szerelje fel a szervomotort M2 csavarokkal, és csatlakoztassa a szervo VCC és GND -jét közvetlenül az akkumulátor árnyékolásának 5 V -os pontjára, és csatlakoztassa a vezérlő bemenetet a micro: bit 0 -as érintkezőjéhez.
  3. Szerelje fel egy csavarral azt a két fadarabot, amelyek a szervo tetejére kerülnek, csavarja rá a TOF érzékelőt, valamint a szervóhoz kapott fehér műanyag darabot.
  4. Szerelje fel ezt az utolsó egységet a szervóra, és csatlakoztassa az érzékelőt a micro: bit I2C használatával a 3. lépésben leírtak szerint.

7. lépés: Programozás

Ez az ! Van egy robotja, amelyet mikro: python vagy makecode programozással programozhat. Mellékeltem ide néhány mintakódot, amellyel a fenti videókat készítettem:

  • 1. példa: Helyezze a radioControl.py -t a robot micro: bitjére és a ReadAccelero.py -t egy másik micro: bitre, hogy a robotot a második micro: bit dőlésszögével vezérelje.
  • 2. példa: Tegye az Autonomous.py -t a robot 2 -es verziójára, és felfedezi a környezetet.

Ezek csak alapvető példák, amelyekkel sokkal, de sokkal tovább léphet. Például nagyon szeretem az egyidejű lokalizációt és a feltérképezést, és általában minden megtalálható a robot 2 -es verziójában! Bár egy ilyen projekt megvalósításának egyik nagy hátránya számomra, hogy a micro: bit PWM illesztőprogram olyan szoftvermeghajtó, amely ugyanazt az időzítőt használja minden csatorna számára, vagyis minden beállított PWM -nek azonos frekvenciával kell rendelkeznie (ezt én is megtettem nem tudom, mikor írtam a mintakódokat, bár valami furcsaságot észleltem az Autonomous.py írásakor).

8. lépés: Továbblépés

Ne habozzon, javítsa a tervezést, oldjon meg néhány problémát, amelyeket nem láttam. Például szeretném végül:

  • Adjon hozzá egy IR -érzékelőt a robot aljához, hogy érzékelje, hogy a talaj fekete vagy fehér, vagy az asztalom végéhez ér.
  • Cserélje ki az akkumulátorkezelő rendszert, mivel még nem vagyok elégedett vele. Valójában az akkumulátor feltöltéséhez jelenleg szétszerelni kell a robotot, hogy kivegye a cellát vagy az akkumulátor védőburkolatát … Ezért a következőket tervezem: 1. egy mini-USB csatlakozó hozzáadása a robot hátoldalához, Csatlakozni fogok az akkumulátor burkolatához, hogy feltölthessem; 2. Vágjon egy lyukat az alján, hogy lássa a LED -eket az akkumulátor védőburkolatáról, hogy lássa, mikor fejeződik be a töltés.
  • Ellenőrizze, hogy van -e elfogadható mód a különböző frekvenciájú PWM -ek kiadására.
  • Próbálja ki a VL53L0XV2 -t a TOF10120 cseréjére, mivel ez olcsóbb megoldás lehet, amely még több ember számára elérhetővé tenné. Bár többet olvastam erről az érzékelőről, és úgy tűnik, hogy az a cég, amely olcsón gyártotta, szándékosan nagyon nehezen kezelte…
  • Próbálja ki a kerekek különböző mintáit, hogy tartósabbak legyenek (jelenleg azt várnám, hogy ha sokszor be- és kihúzom a kerekeket, a fa fokozatosan megsérül. Ha rugalmasabbá teszem a fát, módosítva a kialakítást képes lesz tovább bírni)

Nagy köszönet az EPFL Mobil robotika csapatának (jelenleg a Biorobotics laboratórium része) embereinek, akik sokat segítettek az elektronika és a mechanika ismereteinek bővítésében!

Ajánlott: