Orodha ya maudhui:

Micro ya Elimu ya DIY: kidogo Robot: Hatua 8 (na Picha)
Micro ya Elimu ya DIY: kidogo Robot: Hatua 8 (na Picha)

Video: Micro ya Elimu ya DIY: kidogo Robot: Hatua 8 (na Picha)

Video: Micro ya Elimu ya DIY: kidogo Robot: Hatua 8 (na Picha)
Video: Zuchu Amwaga Machozi Baada Ya kupewa Kiss Na Diamond Platinumz 2024, Julai
Anonim
Micro ya Elimu ya DIY: kidogo Robot
Micro ya Elimu ya DIY: kidogo Robot
Micro ya Elimu ya DIY: kidogo Robot
Micro ya Elimu ya DIY: kidogo Robot

Mafundisho haya yatakuonyesha jinsi ya kujenga roboti inayoweza kupatikana, yenye uwezo na bei rahisi. Lengo langu kubuni roboti hii ilikuwa kupendekeza kitu ambacho watu wengi wangeweza kumudu, kwao kufundisha sayansi ya kompyuta kwa njia ya kujishughulisha au kujifunza juu yake.

Mara tu utakapojengwa roboti hii unaweza kufurahiya sensorer na watendaji kufanya anuwai lakini pia vitu vya hali ya juu kabisa kulingana na toleo unalojenga (nitatoa matoleo mawili). Ukiwa na roboti hii unatoa macho (mtazamo wa 180 °!) Na miguu (na harakati sahihi inawezekana!) Kwa ndogo: kidogo wakati ndogo: kidogo hukupa huduma nzuri kama vile tumbo la LED, mawasiliano ya redio, mawasiliano ya bluetooth, accelerometer, compas, lakini pia ufikiaji wa vitu vyote na MicroPython au na lugha ya programu inayoonekana sawa na mwanzo (haswa pia katika C ++ na javascript lakini ninaona ambazo hazifai sana kwa elimu).

Pia nitafanya kazi kwa hii inayoweza kufundishwa ili niweze kuweka wasomaji na watengenezaji kwenye wimbo kugundua zaidi juu ya roboti za rununu, umeme, kubuni na kukata kuni. Ili kufanya hivyo, nilibuni kila kitu kuwa moduli iwezekanavyo. Kwa mfano sitatumia gundi yoyote kuruhusu kukusanyika na kutenganishwa kwa uhuru, na kufanya uboreshaji na utatuzi kuwa rahisi. Pia nitafanya hatua kuwa za kuongezeka kadiri nawezavyo, ili uweze kuelewa hatua kwa hatua kinachoendelea, angalia kuwa mambo yanafanya kazi kama inavyostahili na ufikie mwisho na roboti inayofanya kazi.

Hatua ya 1: Kukusanya Vipande

Kukusanya Vipande
Kukusanya Vipande

Kwa mradi huu kiwango cha chini cha kubeba utakachohitaji ni:

  • 5 mm kuni MDF nene na laser cutter kwa mifupa
  • 1x18650 betri ya lithiamu, 1x ngao ya betri kwa nishati na mkatishaji
  • 1xMicro: Kadi ndogo na 1xMicro: bodi ya ugani kidogo ya ubongo (ingawa zote zinaweza kubadilishwa kwa urahisi na Arduino)
  • Motors za stepper za 2x28BYJ-5V, 2xA4988 madereva ya stepper na bodi ya maendeleo ya 2x kuweka madereva kwa miguu
  • 1x TOF10120 na 1x Mini 9g Servo motor kwa macho Kamba zingine na vis
  • 1x gurudumu zima, urefu = 15mm

Kati ya hizo, sehemu tatu tu sio viwango, kwa hivyo hapa kuna viungo vya kuzipata: pata bodi ya ugani niliyotumia hapa (lakini ningependekeza utumie hii badala yake kwa toleo nadhifu la roboti. Itabidi badilisha karibu chochote kwenye muundo na itafanya wiring iwe rahisi zaidi na vichwa vya kike na vya kike vya bend), ngao ya betri hapa, na gurudumu la ulimwengu hapa.

Kwa kweli utakuwa na hali yako:

  • Mita nyingi
  • Bodi ya mkate
  • Chuma cha kutengeneza

Kwa wale pamoja na mkataji wa laser, angalia ikiwa una kitambaa chochote karibu na mahali pako! Hizo ni sehemu nzuri za kukutana na watungaji wengine!

Hatua ya 2: Kuandaa Miguu Tayari

Kuwa tayari kwa miguu
Kuwa tayari kwa miguu
Kuwa tayari kwa miguu
Kuwa tayari kwa miguu
Kuwa tayari kwa miguu
Kuwa tayari kwa miguu
Kuwa tayari kwa miguu
Kuwa tayari kwa miguu

Ujumbe wako wa kwanza, ikiwa utakubali, itakuwa kufanya gari letu la stepper kuzunguka kwa kutumia micro: bit kama kidhibiti! Kwa nini motor stepper? Ningeweza kwenda kwa DC motor na vipunguzaji lakini niliwajaribu na napata shida kupata motors za bei rahisi kukimbia kwa mwendo wa chini. Nilifikiri pia kuwa itakuwa nzuri kujua haswa kwa kasi gani magurudumu yangu yanageuka. Kwa sababu hizo motors za stepper zilikuwa chaguo bora.

Kwa hivyo sasa, jinsi ya kudhibiti motor 28BYJ kutumia dereva 4988? Jibu ni… mrefu kidogo. Sikuweza kuifanya iwe sawa vizuri katika hii inayoweza kufundishwa, kwa hivyo nilitengeneza nyingine kwa sababu hii ambayo utapata hapa. Ninakualika ufuate hatua hizo hadi mwisho na uundaji wa bodi ndogo ya prototyping 26x22mm kubwa na mashimo 2x2mm 17 mm appart kuiweka pande kama inavyoonyeshwa kwenye picha hapo juu (Kumbuka kuwa kama ilivyoelezwa katika nakala iliyotajwa waya wa manjano kushoto kushoto iko tu kukukumbusha kwa solder SLP na RST pamoja).

Baada ya kufanya kazi hii na motor moja na bodi ya prototyping, mimi pia nilibuni PCB yangu mwenyewe ili kufanya mambo iwe safi zaidi. Niliambatanisha faili inayolingana ya EasyEDA. Ni faili ya txt lakini bado unaweza kuifungua na jukwaa rahisi la kuhariri mkondoni la EDEDA.

Hatua ya 3: Ninaona Nuru !! (Hiari)

Nauona Mwanga !! (Hiari)
Nauona Mwanga !! (Hiari)
Nauona Mwanga !! (Hiari)
Nauona Mwanga !! (Hiari)
Nauona Mwanga !! (Hiari)
Nauona Mwanga !! (Hiari)

Ikiwa unataka tu kujenga na hakuna zaidi, ruka kwa ile kabla ya aya ya mwisho ya hatua hii ili uone jinsi ya kuunganisha TOF10120 kwa micro: bit. Ikiwa sio kufuata.

Kama micro: bit yetu haikuja na kamera yoyote au sensorer ya ukaribu, inafanya kuwa kipofu kwa matumizi yoyote ya roboti ya rununu. Inakuja na mtoaji wa redio na mpokeaji ingawa ambayo itaturuhusu kujenga mifupa juu ya kile tunacho tayari na kupata robot inayodhibitiwa kijijini. Lakini haingekuwa nzuri kuifanya roboti yetu iwe huru? Ndio itakuwa! Basi wacha tuone jinsi ya kufika huko.

Tunachovutiwa sasa ni kuandaa roboti yetu na sensorer, kwa roboti yetu kupata habari kadhaa juu ya mazingira yake. Kuna aina nyingi za sensorer zinazopatikana, lakini hapa tutazingatia sensorer ya ukaribu. Wakati nilikuwa nikitengeneza roboti hii, lengo langu lilikuwa zaidi kuwa roboti haingii ndani ya kitu chochote, kwa hivyo nilitaka ihisi vizuizi. Kwa hili pia kuna chaguzi chache. Ya kwanza, rahisi sana, inaweza kuwa kutumia bumpers, lakini ninaona habari kuhusu mazingira kidogo. Kwa upande mwingine, unaweza kufikiria kuongeza kamera (au Lidar au kinect!). Ninapenda kamera, maono ya kompyuta na vitu vyote hivyo, lakini kwa bahati mbaya Micro: kidogo haishirikiani na hizo (tunapaswa kutumia Pi ya rasipberry kusaidia vifaa kama hivyo, sio ndogo: kidogo au Arduino).

Kwa hivyo ni nini msaada mdogo: ambayo iko kati ya kamera na bumpers? Kuna sensorer ndogo zinazofanya kazi ambazo hutuma nuru kwa mazingira na kuangalia ni nini kinapokelewa kupata habari juu ya ulimwengu. Ile niliyoijua tayari ni GP2Y0A41SK0F ambayo hutumia njia ya pembetatu kukadiria umbali wa vizuizi. Walakini nilijiuliza ikiwa ningepata chochote bora zaidi, kwa hivyo nilifanya utafiti na niliishia kugundua TOF10120 (na GY-VL53L0XV2 lakini sikupokea bado: (). Hapa kuna nakala nzuri kwako kuigundua. Kimsingi sensor hii hutoa ishara ya infrared ambayo inaonyesha vizuizi na kisha inapokea nuru iliyoakisiwa. Kutegemea na wakati taa ilichukua kurudi na kurudi, sensor inaweza kukadiria umbali wa kikwazo (kwa hivyo jina TOF = wakati wa kusafiri Kwa ukubwa wake mdogo, umbali na mahitaji ya nguvu niliamua kutumia TOF10120.

Wakati wazo langu la kwanza lilikuwa kuweka tatu za zile kwenye roboti (moja mbele na mbili pande), mwaka mpya wa Wachina na janga la COVID-19 hawakutaka iwe hivyo kwani ilionekana kusababisha shida na usafirishaji. Kwa hivyo kwa kuwa nilikuwa nimepunguzwa kwa TOF10120 moja, kwamba nilitaka kuona pande pia na kwamba nilikuwa na injini za servo zilizolala, niliamua kuweka sensa yangu kwenye servo. Kwa hivyo vitu viwili vinakosa sasa: ninawezaje kutumia TOF10120 na micro: bit? Na swali sawa na servo.

Kwa bahati nzuri micro: bit ina vifaa vya itifaki ya mawasiliano ya I2C na inafanya maisha yetu kuwa rahisi sana: kuziba waya nyekundu hadi 3.3V, nyeusi hadi chini, kijani kwa SCL na bluu kwa SDA na ndio hiyo kwa sehemu ya vifaa. Kwa programu, ninakuhimiza usome kidogo juu ya mawasiliano ya I2C na ujaribu nambari ya chatu ambayo niliambatanisha kwenye micro: bit. Programu hiyo inapaswa kukuchapisha umbali uliopimwa na sensa kwenye REPL (Soma Tathmini Kitanzi cha Kuchapisha). Hiyo ndio. Tumetoa tu kuona kwa micro: bit.

Sasa wacha tuifanye shingo yake ikiwa utaniruhusu kuendelea na milinganisho yangu na anatomy ya wanyama. Kufikiria tu tutahitaji kuwa ni kuendesha gari ya servo na micro: bit. Sehemu hii inachukua muda mrefu kwa hivyo nitakupa kiunga hiki ambacho kina habari zote utahitaji na nambari niliyotumia kuijaribu. Ikiwa unataka pia nimeongeza nambari rahisi kudhibiti servo kwa kutumia pin0. Usisahau tu kuwezesha servo yako na 5V na sio 3.3V.

Hatua ya 4: Kudanganya Shield ya Batri

Kudanganya Ngao ya Batri
Kudanganya Ngao ya Batri
Kudanganya Ngao ya Batri
Kudanganya Ngao ya Batri
Kudanganya Ngao ya Batri
Kudanganya Ngao ya Batri

Sasa kwa kuwa tumeandaa watendaji wetu na sensorer tayari, ni wakati wa kuangalia mfumo wa usimamizi wa betri. Ili ujifunze zaidi juu ya ngao ya betri ambayo nilichagua, nitakushauri usome nakala hii. Ninaona wazi sana na kupatikana. Kutoka kwa nakala hii tunaweza kuona faida nyingi za ngao hii ya betri, lakini kuna shida moja muhimu ambayo sikutaka kukubali: swichi ya ON / OFF haiathiri tu pato la USB. Hii inamaanisha kuwa ukizima swichi, pini zingine zote za 3.3V na 5V zitapewa nguvu. Kama matokeo, tunapotumia pini hizo kwa roboti yetu, swichi haitafanya chochote …

Lakini nataka kuwa na uwezo wa kuzima roboti yangu kutomwaga batterie yangu bure, kwa hivyo ilibidi nipate ngao ya betri. Haitakuwa nzuri, lakini inafanya kazi na haigharimu chochote. Kwa hivyo nataka swichi kufungua au kufunga mzunguko ili iweze kutenganisha kiini changu cha betri na ngao ya betri. Sina vifaa vya kugusa PCB, lakini nina vipande vya plastiki pande zote. Kwa hivyo sasa fikiria kwamba nilikata kipande cha plastiki ili iweze kutoshea mwisho mmoja wa seli yangu ya betri kwenye ngao kama kwenye picha ya kwanza hapo juu. Mzunguko sasa umefunguliwa na betri yangu imehifadhiwa salama.

Ndio lakini sitaki kulazimika kufungua roboti ili kupata ngao ya betri ili kuweka na kuondoa kipande hiki cha plastiki! Rahisi: pata swichi na mkanda viwanja viwili vidogo vya aluminium kwa kila waya zilizounganishwa na swichi. Sasa weka mkanda vipande hivyo viwili vya aluminium kwenye kipande cha plastiki ili vipande viwili vya alumini kutengwa kutoka kwa kila mmoja na ili alumini iwe wazi nje ya mfumo wako. Kwa kawaida hiyo inapaswa kufanya. Ingiza uundaji wako mpya kwenye ngao ya betri karibu na seli, na swichi inapaswa kukuruhusu kufungua au kufunga mzunguko uliounganishwa na seli.

Jambo la mwisho: kuifanya iwe rahisi kukusanyika na kutenganisha roboti, nitakushauri uweke kichwa cha kike kwenye ngao ya betri. Kwa njia hii unaweza kuziba na kufungua kwa urahisi kile unachojenga na motors na madereva yao.

Hatua ya 5: Ubunifu wa 3D na Kata

Ubunifu wa 3D na Kata
Ubunifu wa 3D na Kata
Ubunifu wa 3D na Kata
Ubunifu wa 3D na Kata

Kitu pekee kinachokosekana sasa ni kujenga muundo ambao utashikilia vifaa vyetu vyote pamoja. Ili kufanya hivyo nilitumia tinkercad ya jukwaa mkondoni. Hii ni mazingira mazuri ya kufanya CAD ya msingi ambayo mara nyingi inatosha kubuni vitu kwa mkataji wa laser.

Baada ya muda kufikiria, ilikuwa wakati wa kufikiria. Ili kufanya hivyo nilianza kuweka pamoja mifano ya 3D ya sehemu tofauti nilizokuwa nazo (kwanza kuweka servo na TOF nje ya equation). Hiyo ni pamoja na betri na ngao, motors za stepper na madereva ya magari, na kwa kweli ndogo: kidogo na bodi yake ya ugani. Niliambatisha mifano yote inayofanana ya 3D kama faili za stl. Ili kupunguza mchakato, niliamua kutengeneza roboti yangu iwe sawa. Kama matokeo nilichunguza nusu tu ya roboti na kufikia muundo ulioonyeshwa kwenye picha hapo juu.

Kutoka kwa hii matoleo machache yalikuja kuishi, ambayo nilichagua mbili:

  • Moja safi kabisa, bila sensor ya ukaribu, ambayo inaruhusu kutokuwa na waya zinazoonekana. Ingawa sio huru toleo hili bado linaweza kusanidiwa kupitia Bluetooth kupitia iPad kwa mfano, au inaweza kusanidiwa kudhibitiwa kwa kutumia ishara za redio ambazo kwa mfano zinaweza kutumwa na micro: kidogo kama inavyoonyeshwa kwenye video hapo juu.
  • Moja safi sana ambayo inaruhusu kwenda mbali zaidi kwenye roboti za rununu kwani inaruhusu kukamata umbali wa kikwazo na mtazamo wa 180 ° shukrani kwa sensorer ya ukaribu iliyojengwa kwenye servo motor.

Ili kujenga hii, nenda kwa Fablab yako uipendayo na utumie cutter laser ambayo unapata kukata mfano wa upendeleo wako: ya kwanza inayofanana na faili design1_5mmMDF.svg na design1_3mmMDF ambayo inalingana mtawaliwa na sehemu za kukata katika 5mm MDF kuni na zile za kukata kutoka kwa 3mm; ya pili inafanana na muundo wa faili2_5mmMDF.svg. Weka mtaro mweusi ukatwe na nyekundu uweze kuchorwa.

Ujumbe wa pembeni: Niliongeza muundo mwekundu ili kuiboresha. Hii ni kazi ya kujaza Hilbert ambayo nilizalisha kwa kutumia nambari ya chatu iliyoambatishwa.

Hatua ya 6: Kuweka mnyama

Kuweka mnyama
Kuweka mnyama
Kuweka mnyama
Kuweka mnyama
Kuweka mnyama
Kuweka mnyama

Hatua ambazo nilifuata kuweka toleo la kwanza la roboti ni hizi zifuatazo (picha kawaida zinapaswa kuwa katika mpangilio sahihi):

  1. Ondoa kofia ya samawati ya motors na uikate kidogo ili fanya kebo kutoka kwa nyuma ya gari.
  2. Panda motors kila upande kwa kutumia screws za M2 na bolts.
  3. Panda bodi ya prototyping pande ukitumia mashimo ya 2x2mm na visu na bolts.
  4. Weka madereva A4988 na uweke mkanda kwenye nyaya za magari ili iwe safi.
  5. Weka gurudumu la ulimwengu wote chini ya sehemu ya chini na uongeze pande.
  6. Panda bodi ya ugani ya micro: kidogo kwenye sehemu ya juu.
  7. Panda chini ya kifuniko cha mbele kinachoweza kubadilika.
  8. Weka ngao ya batterie na uunganishe kila kitu (kufanya hivyo, kwani nilikuwa bado nasubiri uwasilishaji wa bodi ya ugani niliyotaka na kwamba nilikuwa na moja tu iliyo na vichwa vya kike, nilisindika tena kebo ya IDE kutoka kwa kompyuta ya zamani ili kusimamia sina nyaya zangu zinazobandika ubao ili kufunika hii yote kwa kifuniko cha mbele kinachoweza kukunjwa). Ingawa nambari niliyotoa ni rahisi sana kuibadilisha, kuitumia moja kwa moja, utahitaji kuunganisha HATUA ya kushoto kubandika 2, HATUA ya kulia kubandika 8, kushoto DIR kubandika 12, DIR kulia kubandika 1.
  9. Weka ndogo: kidogo kwenye ugani.
  10. Jaribu kuwa kila kitu kinafanya kazi na MoveTest.py kabla ya kuendelea zaidi.
  11. Weka swichi kwenye sehemu ya juu na uweke biti ya plastiki karibu na seli ya lithiamu.
  12. Parafua sehemu ya juu ya kifuniko cha mbele.
  13. Panda nyuma, na umemaliza! Phew! Sikutarajia hatua nyingi hizo! Ni rahisi sana kufikiria juu yake na kuifanya kuliko kuelezea kwa maneno! (Na nina hakika bado kutakuwa na habari inayokosekana!)

Ikiwa unaunda toleo la pili na sensorer ya ukaribu, basi:

  1. Fuata maagizo hapo juu. Tofauti pekee itakuwa kwamba itabidi uongeze spacers za M2 katika hatua ya 7 (ingawa ndivyo nilivyofanya lakini haihitajiki), puuza hatua ya 8 na hatua ya 13 (kwani hakuna kifuniko cha mbele)
  2. Weka motor servo na screws za M2 na unganisha VCC na GND ya servo moja kwa moja kwenye 5V ya ngao ya betri, na unganisha pembejeo inayodhibiti ili kubandika 0 ya micro: bit.
  3. Panda vipande viwili vya kuni ambavyo vitaenda juu ya servo na screw, screw sensor TOF kwenye hii pamoja na kipande cheupe cha plastiki kinachokuja na servo.
  4. Weka kitengo hiki cha mwisho kwenye servo na unganisha sensa ukitumia I2C ya micro: bit kama ilivyoelezewa katika hatua ya 3.

Hatua ya 7: Programu

Hiyo ndio! Una roboti ambayo unaweza kupanga ama kwa micro: chatu au katika makecode. Niliambatisha hapa nambari ya mfano ambayo nilikuwa nikifanya video hapo juu:

  • Mfano 1: Weka radioControl.py kwenye micro: bit ya robot na ReadAccelero.py kwenye micro nyingine: kidogo kudhibiti robot kwa kutumia mwelekeo wa micro micro: bit.
  • Mfano 2: Weka Autonomous.py kwenye toleo la 2 la roboti itachunguza mazingira.

Hiyo ni mifano tu ya kimsingi ambayo unaweza kutumia kwenda mbali zaidi. Kwa mfano napenda ujanibishaji wa wakati mmoja na ramani, na kawaida kuna kila kitu unahitaji katika toleo la 2 la roboti hii kufanya hivyo! Ingawa shida moja kubwa kwangu kufanya mradi kama huo ni kwamba dereva ndogo ya PWM ni dereva wa programu ambayo hutumia kipima muda sawa kwa chaneli zote, ikimaanisha kuwa PWM zote tunazoweka lazima ziwe na masafa sawa (jambo ambalo nilifanya Sijui nilipoandika nambari za mfano ingawa niligundua kitu cha kushangaza wakati niliandika Autonomous.py).

Hatua ya 8: Kwenda Zaidi

Usisite kuboresha muundo, suluhisha shida zingine ambazo sikuona. Kwa mfano ningependa mwishowe:

  • Ongeza sensorer ya IR chini ya roboti kuifanya igundue ikiwa ardhi ni nyeusi au nyeupe au ikiwa inafikia mwisho wa dawati langu.
  • Badilisha mfumo wa usimamizi wa betri kwani sijaridhika nayo bado. Kwa kweli, kwa sasa, ili kuchaji tena betri, inahitaji kutenganisha roboti ili kuchukua seli au ngao ya betri nje… kwa hivyo nina mpango wa: 1. ongeza kiunganishi cha mini-USB nyuma ya roboti ambayo mimi Nitaungana na ngao ya betri, ili niweze kuijaza tena; 2. Kata shimo chini ili kuona LEDs kutoka kwa ngao ya betri ili kuona wakati kuchaji kumalizika.
  • Angalia ikiwa kuna njia inayokubalika ya kutoa PWM na masafa tofauti.
  • Jaribu VL53L0XV2 kuchukua nafasi ya TOF10120 kwani inaweza kuwa chaguo rahisi ambayo ingeifanya iweze kupatikana kwa watu zaidi. Ingawa nilisoma zaidi juu ya sensa hii na inaonekana kwamba kampuni iliyonunua bei rahisi ilifanya iwe ngumu kushughulikia kwa makusudi…
  • Jaribu miundo tofauti ya magurudumu ili kuzifanya ziwe za kudumu zaidi (Hivi sasa nitatarajia kwamba ikiwa nitachukua magurudumu kuingia na kutoka mara nyingi, kuni hiyo itaharibiwa polepole. Ikiwa nitafanya kuni iwe laini zaidi kurekebisha muundo nipate kuweza kuifanya idumu kwa muda mrefu)

Shukrani kubwa kwa watu kutoka kwa timu ya roboti ya rununu (ambayo sasa ni sehemu ya maabara ya Biorobotic) ya EPFL ambao walinisaidia sana kupanua ujuzi wangu wa umeme na ufundi!

Ilipendekeza: