Sisällysluettelo:

DIY Educational Micro: bit -robotti: 8 vaihetta (kuvilla)
DIY Educational Micro: bit -robotti: 8 vaihetta (kuvilla)

Video: DIY Educational Micro: bit -robotti: 8 vaihetta (kuvilla)

Video: DIY Educational Micro: bit -robotti: 8 vaihetta (kuvilla)
Video: 10 habits to become happy 2024, Heinäkuu
Anonim
DIY Educational Micro: bit robotti
DIY Educational Micro: bit robotti
DIY Educational Micro: bit robotti
DIY Educational Micro: bit robotti

Tämä opas näyttää sinulle kuinka rakentaa suhteellisen helppokäyttöinen, kykenevä ja halpa robotti. Tavoitteeni tämän robotin suunnittelussa oli ehdottaa jotain, johon useimmilla ihmisillä olisi varaa, jotta he voivat opettaa tietojenkäsittelytiedettä kiehtovalla tavalla tai oppia siitä.

Kun olet rakentanut tämän robotin, voit nauttia sen erilaisista antureista ja toimilaitteista tehdä perus-, mutta myös melko kehittyneitä asioita riippuen rakennettavasta versiosta (annan kaksi versiota). Tällä robotilla annat silmät (180 ° näkymä!) Ja jalat (tarkka liike mahdollinen!) Micro: bitille, kun taas micro: bit tarjoaa sinulle erinomaisia ominaisuuksia, kuten LED -matriisin, radioviestinnän, Bluetooth -yhteyden, kiihtyvyysmittarin, kompasit, mutta myös pääsy kaikkiin näihin asioihin joko MicroPythonilla tai visuaalisella ohjelmointikielellä, joka on samanlainen kuin tyhjä (itse asiassa myös C ++: ssa ja javascriptissä, mutta mielestäni ne eivät sovellu koulutukseen).

Aion myös työskennellä tämän ohjeen parissa, jotta voin saada lukijat ja päättäjät tietämään enemmän mobiilirobotiikasta, elektroniikasta, suunnittelusta ja puun leikkaamisesta. Tätä varten olen suunnitellut kaiken mahdollisimman modulaariseksi. Esimerkiksi en käytä mitään liimaa, jotta voin koota ja purkaa vapaasti, jolloin päivitykset ja virheenkorjaus helpottuvat. Teen myös vaiheet niin vähitellen kuin mahdollista, jotta ymmärrät vähitellen, mitä tapahtuu, tarkistat, että asiat toimivat niin kuin pitäisi, ja päädyn loppuun toimivalla robotilla.

Vaihe 1: Kappaleiden kokoaminen

Kappaleiden kerääminen
Kappaleiden kerääminen

Tätä projektia varten karhun vähimmäismäärä on:

  • 5 mm paksu MDF -puu ja laserleikkuri luurankoa varten
  • 1x18650 litiumakku, 1x paristokotelo energiaa varten ja keskeytin
  • 1xMicro: bittikortti ja 1xMicro: aivojen bittilaajennuslevy (vaikka molemmat voidaan helposti korvata Arduinolla)
  • 2x28BYJ-5V askelmoottorit, 2xA4988 askelmoottorin ohjaimet ja 2x kehityskortti jalkojen ohjaimien kiinnittämiseen
  • 1x TOF10120 ja 1x Mini 9g Servo -moottori silmille Jotkut kaapelit ja ruuvit
  • 1x yleispyörä, korkeus = 15mm

Niistä vain kolme osaa eivät ole standardeja, joten tässä on linkit niiden löytämiseen: etsi täältä käyttämäni laajennuskortti (mutta suosittelen, että käytät tätä sen sijaan robotin siistissä versiossa. muuttaa melkein mitään muotoiluun, ja se tekee johdotuksesta paljon yksinkertaisempaa taivutetuilla naaras-naarasliittimillä), akkukotelon täällä ja yleispyörän täällä.

Ihannetapauksessa sinulla on myös käytettävissänne:

  • Yleismittari
  • Leipälauta
  • Juotin

Niille ja laserleikkurille, tarkista, onko sinulla fablab ympärilläsi! Nämä ovat hienoja paikkoja tavata inspiroivia tekijöitä!

Vaihe 2: Jalkojen valmistelu

Jalkojen valmistelu
Jalkojen valmistelu
Jalkojen valmistelu
Jalkojen valmistelu
Jalkojen valmistelu
Jalkojen valmistelu
Jalkojen valmistelu
Jalkojen valmistelu

Ensimmäinen tehtäväsi, jos hyväksyt sen, on saada askelmoottorimme pyörimään käyttämällä mikro: bittiä ohjaimena! Miksi askelmoottori? Olisin voinut mennä tasavirtamoottoriin pelkistimillä, mutta kokeilin niitä ja minun on vaikea saada halpoja moottoreita toimimaan pienellä nopeudella. Ajattelin myös, että olisi hienoa tietää tarkasti, millä nopeudella pyöräni pyörivät. Näistä syistä askelmoottorit olivat paras vaihtoehto.

Joten kuinka nyt hallita 28BYJ -moottoria 4988 -ohjaimella? Vastaus on… hieman pitkä. En onnistunut sovittamaan sitä siististi tähän ohjeeseen, joten tein toisen vain tätä tarkoitusta varten, jonka löydät täältä. Kehotan teitä noudattamaan näitä vaiheita loppuun asti luomalla pienen prototyyppikortin, jonka koko on 26x22 mm ja jossa on 2x2 mm: n reiät 17 mm, kiinnittääkseen sen sivuille yllä olevan kuvan mukaisesti (Huomaa, että kuten viitatussa artikkelissa todetaan, keltainen lanka vasemmanpuoleinen tikkaus muistuttaa sinua juottamaan SLP ja RST yhdessä).

Kun sain tämän toimimaan yhdellä moottorilla prototyyppikortilla, suunnittelin myös oman PCB: n tekemään asioista hieman siistimpiä. Liitin vastaavan easyEDA -tiedoston. Se on txt -tiedosto, mutta voit silti avata sen easyEDA -ilmaisella online -muokkausalustalla.

Vaihe 3: Näen valon !! (Valinnainen)

Näen valon !! (Valinnainen)
Näen valon !! (Valinnainen)
Näen valon !! (Valinnainen)
Näen valon !! (Valinnainen)
Näen valon !! (Valinnainen)
Näen valon !! (Valinnainen)

Jos haluat vain rakentaa etkä muuta, siirry tämän vaiheen viimeistä kappaletta edeltävään kappaleeseen nähdäksesi kuinka yhdistää TOF10120 mikro: bittiin. Jos ei seuraa läpi.

Koska micro: bitissämme ei ole kameraa tai läheisyysanturia, se tekee siitä eräänlaisen sokean mihin tahansa mobiilirobotiikkasovellukseen. Sen mukana tulee kuitenkin radiolähetin ja -reseptori, joiden avulla voimme rakentaa luurankon sen yli, mitä meillä jo on, ja saada kauko -ohjattava robotti. Mutta eikö olisi hienoa tehdä robotistamme itsenäinen? Kyllä olisi! Joten katsotaan miten sinne pääsee.

Nyt olemme kiinnostuneita varustamaan robotimme antureilla, jotta robotti saisi tietoa ympäristöstään. Saatavilla on monenlaisia antureita, mutta tässä keskitymme läheisyysanturiin. Kun suunnittelin tätä robottia, tavoitteeni oli enimmäkseen se, ettei robotti törmää mihinkään, joten halusin sen tuntevan esteitä. Tätä varten on myös muutama vaihtoehto. Ensimmäinen, hyvin yksinkertainen vaihtoehto voisi olla puskurien käyttö, mutta minusta ympäristöä koskevat tiedot ovat hieman rajalliset. Toisaalta voit ajatella kameran (tai Lidarin tai kinectin) lisäämistä. Rakastan kameroita, tietokonenäköä ja kaikkia näitä asioita, mutta valitettavasti Micro: bit ei tue niitä (meidän on käytettävä vadelma Pi: tä sellaisten laitteiden tukemiseen, ei micro: bit tai Arduino).

Joten mitä micro: bit tukee kameran ja puskureiden välissä? On olemassa pieniä aktiivisia antureita, jotka lähettävät valoa ympäristöön ja tarkistavat, mitä vastaanotetaan saadakseen tietoa maailmasta. Tiesin jo GP2Y0A41SK0F: n, joka käyttää kolmiointimenetelmää esteiden etäisyyden arvioimiseksi. Mietin kuitenkin, voisinko löytää jotain parempaa, joten tein tutkimusta ja löysin lopulta TOF10120: n (ja GY-VL53L0XV2, mutta en saanut sitä vielä:(). Tässä on mukava artikkeli, jonka avulla voit löytää sen. Pohjimmiltaan tämä anturi lähettää infrapunasignaalin, joka heijastuu esteistä ja vastaanottaa sitten heijastuneen valon. Sen mukaan, kuinka kauan valo kulki edestakaisin, anturi voi arvioida esteen etäisyyden (tästä nimi TOF = lennon aika) Pienen koon, etäisyysalueen ja tehontarpeen vuoksi päätin käyttää TOF10120 -laitetta.

Vaikka ensimmäinen ajatukseni oli laittaa kolme niistä robottiin (yksi edestä ja kaksi sivulta), kiinalainen uusi vuosi ja COVID-19-pandemia eivät halunneet sitä tällä tavalla, koska se näytti aiheuttavan ongelmia lähetyksissä. Joten koska olin rajoitettu yhteen TOF10120: een, jonka halusin nähdä myös sivuilta ja että minulla oli joitain servomoottoreita, päätin asentaa anturin servolle. Kaksi asiaa puuttuu nyt: kuinka käytän TOF10120: ta micro: bitin kanssa? Ja sama kysymys servosta.

Onneksi micro: bit on varustettu I2C -tiedonsiirtoprotokollalla ja se tekee elämästämme todella helppoa: kytke punainen johto 3,3 V: iin, musta maahan, vihreä SCL: ään ja sininen SDA: han, ja siinä kaikki laitteisto -osalle. Ohjelmiston osalta kehotan sinua lukemaan hieman I2C -viestinnästä ja kokeile python -koodia, jonka liitin micro: bitiin. Ohjelman pitäisi tulostaa sinulle anturin mittaama etäisyys REPL -lukuohjelmaan (Read Evaluate Print Loop). Se siitä. Näytimme juuri micro: bitimme.

Käännetään nyt kaula, jos sallitte minun jatkaa vertaustani eläinten anatomiaan. Ainoa ajatus, jota tarvitsemme, on ajaa servomoottoria micro: bitillä. Tästä osasta on tulossa pitkä, joten annan sinulle tämän linkin, jossa on kaikki tarvitsemasi tiedot ja koodi, jota käytin sen testaamiseen. Jos haluat, lisäsin myös yksinkertaisen koodin servon ohjaamiseen pin0: n avulla. Älä vain unohda käyttää servoa virtalähteenä 5V eikä 3.3V.

Vaihe 4: Akun suojan hakkerointi

Hakkerointi akkukoteloon
Hakkerointi akkukoteloon
Hakkerointi akkukoteloon
Hakkerointi akkukoteloon
Hakkerointi akkukoteloon
Hakkerointi akkukoteloon

Nyt kun toimilaitteet ja anturit ovat valmiina, on aika tarkastella akunhallintajärjestelmää. Jos haluat oppia lisää valitsemastani akkukilvestä, suosittelen sinua lukemaan tämän artikkelin. Minusta se on erittäin selkeä ja helposti saatavilla. Tästä artikkelista näemme tämän paristokotelon monia etuja, mutta on yksi tärkeä haitta, jota en halunnut hyväksyä: ON/OFF -kytkin vaikuttaa vain USB -lähtöön. Tämä tarkoittaa, että jos kytket virran pois päältä, kaikki muut 3.3V ja 5V nastat saavat virran. Tämän seurauksena, kun käytämme näitä tappeja robotillemme, kytkin ei tee mitään…

Mutta haluan pystyä sammuttamaan robotin, jotta akku ei tyhjene turhaan, joten minun täytyi hakata akkukilpi. Se ei ole kaunis, mutta se toimii eikä maksa mitään. Siksi haluan, että kytkin avaa tai sulkee piirin niin, että se eristää akkukennoni akkukotelosta. Minulla ei ole laitteita koskettaa piirilevyä, mutta minulla on muovikappaleita ympäri. Kuvittele nyt, että leikkasin palan muovia niin, että se mahtuu akkukennon toiseen päähän suojaan, kuten yllä olevassa ensimmäisessä kuvassa. Piiri on nyt auki ja akku on säilytetty turvallisesti.

Kyllä, mutta en halua avata robottia päästäksesi käsiksi akkukoteloon tämän muoviosan asettamiseksi ja poistamiseksi! Helppo: hanki kytkin ja teippaa kaksi pientä neliötä alumiinia jokaiseen kytkimeen kytkettyyn johtoon. Teippaa nyt nämä kaksi alumiinikappaletta muovikappaleeseen, jotta kaksi alumiinikappaletta eristetään toisistaan ja jotta alumiini paljastuu järjestelmän ulkopuolelle. Normaalisti näin pitäisi tehdä. Aseta uusi luomuksesi akkukoteloon kennon viereen, ja kytkimen avulla voit avata tai sulkea kennoon yhdistetyn piirin.

Viimeinen asia: robotin kokoamisen ja purkamisen helpottamiseksi suosittelen, että juotat naaraspäät akkukoteloon. Tällä tavalla voit helposti kytkeä ja irrottaa moottorien ja niiden ohjaimien avulla rakentamasi.

Vaihe 5: 3D -suunnittelu ja leikkaus

3D -suunnittelu ja leikkaus
3D -suunnittelu ja leikkaus
3D -suunnittelu ja leikkaus
3D -suunnittelu ja leikkaus

Ainoa puuttuva asia on rakentaa rakenne, joka pitää kaikki komponentit yhdessä. Tätä varten käytin verkkopohjaa Tinkercad. Tämä on todella mukava ympäristö tehdä perus -CAD, joka usein riittää suunnittelemaan asioita laserleikkurille.

Hetken miettimisen jälkeen oli aika ryhdistäytyä. Tätä varten aloin koota 3D -malleja eri osista, joita minulla oli (pitäen ensin servon ja TOF: n poissa yhtälöstä). Sisältää akun ja suojan, askelmoottorit ja moottorin ajurit sekä tietysti micro: bitin jatkolevyineen. Liitin kaikki vastaavat 3D -mallit stl -tiedostoina. Prosessin helpottamiseksi päätin tehdä robotistani symmetrisen. Tämän seurauksena tein vain puolet robotista ja saavutin yllä olevan kuvan mukaisen rakenteen.

Tästä muutama versio heräsi henkiin, joista valitsin kaksi:

  • Yksi melko siisti, ilman läheisyysanturia, jonka ansiosta johtoja ei näy. Vaikka tämä versio ei ole itsenäinen, se voidaan silti ohjelmoida bluetoothin kautta esimerkiksi iPadin kautta, tai se voidaan ohjelmoida ohjattavaksi käyttämällä radiosignaaleja, jotka esimerkiksi toinen mikrobitti voi lähettää yllä olevan videon mukaisesti.
  • Yksi paljon vähemmän siisti, jonka avulla voit siirtyä paljon pidemmälle liikkuvassa robotiikassa, koska se mahdollistaa esteen etäisyyden tallentamisen 180 °: n näkymällä servomoottoriin rakennetun läheisyysanturin ansiosta.

Voit rakentaa tämän menemällä suosikki Fablab -laitteellesi ja leikkaamalla löytämäsi mallin haluamallasi laserleikkurilla: ensimmäinen, joka vastaa tiedostoja design1_5mmMDF.svg ja design1_3mmMDF, jotka vastaavat 5 mm: n MDF -levyyn leikattavia osia puu ja 3 mm: n leikattavat; toinen vastaa tiedostoa design2_5mmMDF.svg. Aseta mustat ääriviivat leikattavaksi ja punaiset kaiverretuksi.

Sivuhuomautus: Lisäsin punaisen kuvion vain pimpata sitä. Tämä on Hilbert -täyttötoiminto, jonka olen luonut käyttämällä liitteenä olevaa python -koodia.

Vaihe 6: Hirviön asentaminen

Hirviön asentaminen
Hirviön asentaminen
Hirviön asentaminen
Hirviön asentaminen
Hirviön asentaminen
Hirviön asentaminen

Robotin ensimmäisen version asentamisessa noudatettiin seuraavia vaiheita (kuvien pitäisi yleensä olla oikeassa järjestyksessä):

  1. Irrota moottorien sininen korkki ja leikkaa sitä hieman, jotta kaapeli tarttuu ulos moottorin takaa.
  2. Asenna moottorit kummallekin puolelle M2 -ruuveilla ja -pulteilla.
  3. Asenna prototyyppilevy sivuille käyttämällä 2x2 mm reikiä ja joitain ruuveja ja pultteja.
  4. Aseta A4988 -ohjaimet ja teippaa moottorin kaapelit siistiksi.
  5. Asenna yleispyörä alaosan alle ja lisää sivut.
  6. Asenna micro: bitin jatkolevy yläosaan.
  7. Asenna joustavan etukannen pohja.
  8. Laita paristokotelo ja kytke kaikki (tehdäkseni niin, koska odotin edelleen haluamani jatkolevyn toimitusta ja että minulla oli vain yksi naarasliittimet, kierrätin IDE -kaapelin vanhasta tietokoneesta Kaapeleideni ei tarvitse kiinnittää levyä peittääkseni kaiken tämän taitettavasta etukannesta). Vaikka antamani koodi on erittäin helppo mukauttaa, voit käyttää sitä suoraan, kun kytket vasemman askeleen nastaan 2, oikean askeleen nastaan 8, vasemman DIR -nastan nastaan 12 ja oikean DIR -nastan 1 kanssa.
  9. Laita micro: bit laajennukseen.
  10. Testaa, että kaikki toimii MoveTest.py -ohjelmalla, ennen kuin jatkat.
  11. Asenna kytkin yläosaan ja aseta muovikärki litiumkennon viereen.
  12. Ruuvaa etukannen yläosa kiinni.
  13. Asenna selkä ja olet valmis! Huh! En odottanut niin monta askelta! On niin paljon helpompaa ajatella sitä ja tehdä se kuin selittää se sanoilla! (Ja olen varma, että tietoja puuttuu edelleen!)

Jos rakennat toista versiota läheisyysanturilla, toimi seuraavasti:

  1. Noudata yllä olevia ohjeita. Ainoa ero on, että sinun on lisättävä joitakin M2 -välikappaleita vaiheessa 7 (vaikka näin tein, mutta sitä ei vaadita), ohita vaiheet 8 ja 13 (koska etukansi ei ole)
  2. Kiinnitä servomoottori M2 -ruuveilla ja kytke servon VCC ja GND suoraan akkukotelon 5 V: iin ja kytke ohjaustulo micro: bitin nastaan 0.
  3. Asenna kaksi puuta, jotka menevät servon päälle ruuvilla, ruuvaa tähän TOF -anturi sekä servon mukana tuleva valkoinen muoviosa.
  4. Kiinnitä tämä viimeinen yksikkö servoon ja liitä anturi käyttämällä micro: bitin I2C: tä vaiheessa 3 kuvatulla tavalla.

Vaihe 7: Ohjelmoi

Se siitä ! Sinulla on robotti, jonka voit ohjelmoida joko micro: pythoniin tai makecodeen. Liitin tähän esimerkkikoodin, jota käytin yllä oleviin videoihin:

  • Esimerkki 1: Aseta radioControl.py robotin micro: bitille ja ReadAccelero.py toiselle micro: bitille ohjataksesi robottia toisen micro: bitin kaltevuuden avulla.
  • Esimerkki 2: Laita Autonomous.py robotin versioon 2, joka tutkii ympäristöä.

Nämä ovat vain perusesimerkkejä, joiden avulla voit mennä paljon, paljon pidemmälle. Esimerkiksi pidän samanaikaisesta paikallistamisesta ja kartoittamisesta, ja normaalisti tämän robotin versiossa 2 on kaikki mitä tarvitset siihen! Vaikka yksi suuri haitta minulle tällaisen projektin tekemisessä on, että micro: bit PWM -ohjain on ohjelmisto -ohjain, joka käyttää samaa ajastinta kaikille kanaville, mikä tarkoittaa, että kaikkien asettamiemme PWM -laitteiden taajuuden on oltava sama (mitä tein en tiedä milloin kirjoitin näytekoodit, vaikka havaitsin jotain outoa kirjoittaessani Autonomous.py).

Vaihe 8: Siirry pidemmälle

Älä epäröi parantaa suunnittelua, ratkaise joitain ongelmia, joita en nähnyt. Haluaisin esimerkiksi lopulta:

  • Lisää infrapuna -anturi robotin alaosaan, jotta se havaitsee, onko maa musta tai valkoinen tai onko se saavuttamassa työpöytäni loppua.
  • Vaihda akunhallintajärjestelmä, koska en ole vielä tyytyväinen siihen. Itse asiassa tällä hetkellä akun lataaminen edellyttää robotin purkamista kennon tai paristokotelon poistamiseksi… Suunnittelen siksi: 1. lisää mini-USB-liitin robotin takaosaan, jonka muodostan yhteyden akkukoteloon, jotta voin ladata sen; 2. Leikkaa alareunasta reikä nähdäksesi akun suojuksen LEDit nähdäksesi, milloin lataus on päättynyt.
  • Tarkista, onko olemassa hyväksyttävä tapa lähettää PWM -taajuuksia eri taajuuksilla.
  • Kokeile VL53L0XV2: ta TOF10120: n korvaamiseksi, koska se voisi olla halvempi vaihtoehto, joka tekisi sen saataville entistä useammille ihmisille. Vaikka luin lisää tästä anturista, ja näyttää siltä, että tämän halvalla valmistanut yritys teki sen tarkoituksella erittäin vaikeaksi käsitellä …
  • Testaa pyörien eri malleja, jotta ne olisivat kestävämpiä (tällä hetkellä odotan, että jos otan pyörät sisään ja ulos monta kertaa, puu vaurioituu vähitellen. Jos teen puusta joustavamman muuttamalla muotoilua voi kestää pidempään)

Suuri kiitos EPFL: n Mobile -robotiikkatiimin (nyt osa Biorobotics -laboratoriota) ihmisille, jotka auttoivat minua paljon laajentamaan tietoni elektroniikasta ja mekaniikasta!

Suositeltava: