Taula de continguts:

DIY Educational Micro: bit robot: 8 passos (amb imatges)
DIY Educational Micro: bit robot: 8 passos (amb imatges)

Vídeo: DIY Educational Micro: bit robot: 8 passos (amb imatges)

Vídeo: DIY Educational Micro: bit robot: 8 passos (amb imatges)
Vídeo: 3 Simple Inventions with DC Motor 2024, Juliol
Anonim
DIY Educational Micro: bit robot
DIY Educational Micro: bit robot
DIY Educational Micro: bit robot
DIY Educational Micro: bit robot

Aquesta instrucció us mostrarà com construir un robot relativament accessible, capaç i barat. El meu objectiu en dissenyar aquest robot era proposar alguna cosa que la majoria de la gent es pogués permetre, perquè ensenyessin informàtica d’una manera atractiva o aprenguessin.

Un cop hàgiu construït aquest robot, podreu gaudir de la seva varietat de sensors i actuadors per fer coses bàsiques però també força avançades en funció de la versió que construïu (us proporcionaré dues versions). Amb aquest robot, doneu ulls (visió de 180 °) i potes (amb un moviment precís possible) al micro: bit mentre que el micro: bit us proporciona funcions fantàstiques com la matriu LED, la comunicació per ràdio, la comunicació bluetooth, l’acceleròmetre, compas, però també accés a totes aquestes coses amb MicroPython o amb un llenguatge de programació visual similar a scratch (en realitat també en C ++ i javascript, però trobo que són menys adequats per a l'educació).

També treballaré en aquest instructiu perquè pugui posar els lectors i els fabricants en la pista per descobrir més coses sobre robòtica mòbil, electrònica, disseny i tall de fusta. Per fer-ho, he dissenyat tot perquè sigui el més modular possible. Per exemple, no utilitzaré cap cola per permetre muntar i desmuntar lliurement, fent més fàcils les actualitzacions i la depuració. També faré els passos el més incrementals possible, perquè pugueu comprendre progressivament el que passa, comprovar que les coses funcionen com haurien d’arribar al final amb un robot que funcioni.

Pas 1: reunir les peces

Recollida de les peces
Recollida de les peces

Per a aquest projecte, el mínim d'ós que necessiteu és:

  • Fusta de MDF de 5 mm de gruix i un tallador làser per a l’esquelet
  • 1x18650 bateria de liti, 1x blindatge de la bateria per a l'energia i un interruptor
  • 1xMicro: targeta de bits i 1xMicro: placa d’extensió de bits per al cervell (tot i que tots dos es poden substituir fàcilment per un Arduino)
  • 2x28BYJ-5V motors pas a pas, 2xA4988 controladors de motor pas a pas i 2x placa de desenvolupament per muntar els controladors de les potes
  • 1x TOF10120 i 1x Servomotor Mini 9g per als ulls Alguns cables i cargols
  • 1x roda universal, alçada = 15 mm

Entre aquestes, només tres parts no són estàndard, per tant, aquí hi ha enllaços per trobar-les: cerqueu la placa d’extensió que he utilitzat aquí (però us recomanaria que en feu servir aquesta per a la versió ordenada del robot. Haureu de no canvieu gairebé res al disseny i farà que el cablejat sigui molt més senzill amb capçals dobles femella-femella), el blindatge de la bateria aquí i la roda universal aquí.

L’ideal és que també tingueu a la vostra disposició:

  • Un multímetre
  • Una pissarra
  • Un soldador

Tant per a aquells com per al tallador làser, comproveu si teniu algun fablab al vostre lloc. Són llocs fantàstics per conèixer alguns creadors inspiradors.

Pas 2: Preparar les cames

Preparant les cames
Preparant les cames
Preparant les cames
Preparant les cames
Preparant les cames
Preparant les cames
Preparant les cames
Preparant les cames

La primera missió, si ho accepteu, serà fer girar el motor pas a pas mitjançant el micro: bit com a controlador. Per què un motor pas a pas? Podria haver apostat pel motor de corrent continu amb reductors, però els vaig provar i em costa aconseguir que els motors barats funcionin a baixa velocitat. També vaig pensar que seria bo saber amb precisió a quina velocitat giren les meves rodes. Per aquests motius, els motors pas a pas eren la millor opció.

Ara bé, com controlar un motor 28BYJ mitjançant un controlador 4988? La resposta és … una mica llarga. No vaig aconseguir que encaixés perfectament en aquest instructiu, així que en vaig fer un altre només per a aquest propòsit que trobareu aquí. Us convido a seguir aquests passos fins al final amb la creació d’una petita placa de prototipat de 26x22mm gran amb forats de 2x2mm de 17 mm apart per muntar-la als laterals tal com es mostra a la imatge superior (tingueu en compte que, tal com s’indica a l’article de referència, el fil groc a l'esquerra, només hi ha per recordar-vos que heu de soldar SLP i RST junts).

Després de treballar amb un motor amb la placa de prototipatge, també vaig dissenyar el meu propi PCB per fer les coses una mica més ordenades. He adjuntat el fitxer easyEDA corresponent. És un fitxer txt però encara podeu obrir-lo amb la plataforma d’edició en línia gratuïta easyEDA.

Pas 3: Veig la llum !! (Opcional)

Veig la llum !! (Opcional)
Veig la llum !! (Opcional)
Veig la llum !! (Opcional)
Veig la llum !! (Opcional)
Veig la llum !! (Opcional)
Veig la llum !! (Opcional)

Si només voleu construir i res més, aneu a l’anterior paràgraf d’aquest pas per veure com connectar un TOF10120 al micro: bit. Si no, seguiu.

Com que el nostre micro: bit no inclou cap càmera ni cap sensor de proximitat, el fa una mena de cec per a qualsevol aplicació de robòtica mòbil. Tot i que ve amb un emissor i un receptor de ràdio que ens permetrien construir l’esquelet sobre el que ja tenim i aconseguir un robot controlat a distància. Però no seria fantàstic fer que el nostre robot sigui autònom? Sí que ho seria! Vegem, doncs, com arribar-hi.

El que ara ens interessa és dotar el nostre robot de sensors perquè el nostre robot adquireixi informació sobre el seu entorn. Hi ha molts tipus de sensors disponibles, però aquí ens centrarem en el sensor de proximitat. Quan dissenyava aquest robot, el meu objectiu era sobretot que el robot no xocés amb res, per tant, volia que detectés obstacles. Per a això també hi ha algunes opcions. Un primer, molt senzill, podria ser l’ús de para-xocs, però trobo la informació sobre l’entorn una mica limitada. A l’altre extrem, es podria pensar a afegir una càmera (o un Lidar o un kinect!). M’encanten les càmeres, la visió per ordinador i totes aquestes coses, però malauradament Micro: bit no és compatible (hauríem d’utilitzar un gerd Pi per donar suport a aquests dispositius, no un micro: bit o Arduino).

Què significa, doncs, el suport de micro: bits que hi ha entre la càmera i els para-xocs? Hi ha petits sensors actius que envien llum a l’entorn i comproven el que es rep per obtenir informació sobre el món. El que ja coneixia era el GP2Y0A41SK0F que utilitza un mètode de triangulació per estimar la distància als obstacles. Tot i això, em vaig preguntar si podia trobar alguna cosa millor, així que vaig investigar i vaig acabar descobrint el TOF10120 (i el GY-VL53L0XV2, però encara no el vaig rebre:(). Aquí teniu un bon article per descobrir-lo. Bàsicament, aquest sensor emet un senyal d'infraroig que es reflecteix sobre els obstacles i rep la llum reflectida. Depenent del temps que la llum va trigar a anar i venir, el sensor pot estimar la distància de l'obstacle (d'aquí el nom TOF = temps de vol Per la seva petita mida, rang de distància i requeriment de potència, vaig decidir utilitzar el TOF10120.

Tot i que la meva primera idea era posar tres d'aquests al robot (un al davant i dos als laterals), l'any nou xinès i la pandèmia COVID-19 no ho volien així, ja que semblava causar problemes amb els enviaments. Així que, com que em limitava a un TOF10120, que també volia veure als laterals i que tenia uns servomotors al voltant, vaig decidir muntar el sensor en un servo. Per tant, falten dues coses: com puc utilitzar el TOF10120 amb el micro: bit? I la mateixa pregunta amb el servo.

Per sort, el micro: bit està equipat amb protocol de comunicació I2C i ens facilita la vida: connecteu el cable vermell a 3,3 V, el negre a terra, el verd a SCL i el blau a SDA, i això és tot per a la part de maquinari. Per al programari, us animo a llegir una mica sobre la comunicació I2C i provar el codi python que he adjuntat al micro: bit. Aquest programa us hauria d'imprimir la distància mesurada pel sensor al REPL (Llegir avaluar el bucle d'impressió). Això és. Acabem de veure el nostre micro: bit.

Ara fem que giri el coll si em permeteu continuar les meves analogies amb l'anatomia animal. L'única cosa que ens caldrà és conduir un servomotor amb el micro: bit. Aquesta part s’està allargant, així que us donaré aquest enllaç amb tota la informació que necessiteu i el codi que he utilitzat per provar-la. Si voleu, també he afegit un codi senzill per controlar el servo mitjançant pin0. No oblideu alimentar el vostre servo amb 5V i no amb 3,3V.

Pas 4: piratejar el blindatge de la bateria

Pirateig de l'escut de la bateria
Pirateig de l'escut de la bateria
Pirateig de l'escut de la bateria
Pirateig de l'escut de la bateria
Pirateig de l'escut de la bateria
Pirateig de l'escut de la bateria

Ara que ja tenim a punt els nostres actuadors i sensors, és hora de fer una ullada al sistema de gestió de bateries. Per tal que obtingueu més informació sobre la protecció de la bateria que he triat, us recomanaria que llegiu aquest article. Ho trobo molt clar i accessible. En aquest article podem veure molts avantatges d’aquest blindatge de la bateria, però hi ha un inconvenient important que no volia acceptar: l’interruptor ON / OFF només afecta la sortida USB. Això vol dir que si apagueu l’interruptor, s’alimentaran tots els altres pins de 3,3V i 5V. Com a resultat, com que fem servir aquests pins per al nostre robot, l’interruptor no farà res …

Però vull poder apagar el meu robot per no buidar la bateria per res, així que vaig haver de piratejar la pantalla de la bateria. No serà bonic, però funciona i no costa res. Per tant, vull que un interruptor obri o tanqui el circuit perquè aïlli la cèl·lula de la bateria de la pantalla de la bateria. No tinc l'equip per tocar el PCB, però tinc trossos de plàstic al voltant. Imagineu-vos, doncs, que he tallat un tros de plàstic perquè encaixi en un extrem de la cèl·lula de la bateria a l’escut com a la primera imatge superior. El circuit està obert i la bateria emmagatzema de manera segura.

Sí, però no vull haver d'obrir el robot per accedir al blindatge de la bateria per posar i treure aquest tros de plàstic. Fàcil: obteniu un interruptor i enganxeu dos quadrats d'alumini a cadascun dels cables connectats a l'interruptor. Ara enganxeu aquestes dues peces d'alumini a la peça de plàstic per tal de tenir les dues peces d'alumini aïllades les unes de les altres i per tal que l'exposició d'alumini quedi a l'exterior del vostre sistema. Normalment, això hauria de fer-ho. Introduïu la vostra nova creació a la pantalla de la bateria al costat de la cel·la i el commutador us permetrà obrir o tancar el circuit connectat a la cel·la.

Una última cosa: per facilitar el muntatge i desmuntatge del robot, us aconsellaria que soldeu capçaleres femenines a la pantalla de la bateria. D'aquesta manera, podeu connectar i desconnectar fàcilment el que construïu amb els motors i els seus controladors.

Pas 5: disseny i tall 3D

Disseny i tall 3D
Disseny i tall 3D
Disseny i tall 3D
Disseny i tall 3D

L’únic que falta ara és construir l’estructura que mantingui units tots els nostres components. Per fer-ho, he utilitzat la plataforma en línia tinkercad. Aquest és un entorn realment agradable per fer un CAD bàsic que sovint és suficient per dissenyar coses per al tallador làser.

Després d’un temps pensant, era el moment de jugar. Per fer-ho vaig començar a muntar models 3D de les diferents parts que tenia (primer mantenint el servo i el TOF fora de l’equació). Això inclou la bateria i el blindatge, els motors pas a pas i els controladors del motor i, per descomptat, el micro: bit amb la seva placa d’extensió. He adjuntat tots els models 3D corresponents com a fitxers stl. Per facilitar el procés, vaig decidir fer que el meu robot fos simètric. Com a resultat, vaig jugar només amb la meitat del robot i vaig arribar al disseny que es mostra a la imatge superior.

D’això van prendre vida algunes versions, de les quals en vaig seleccionar dues:

  • Una força ordenada, sense el sensor de proximitat, que permet que no apareguin cables. Tot i que no és autònoma, aquesta versió es pot programar per Bluetooth mitjançant un iPad, per exemple, o es pot programar per controlar-la mitjançant senyals de ràdio que, per exemple, poden ser enviades per un altre micro: bit tal com es mostra al vídeo anterior.
  • Un molt menys endreçat que permet endinsar-se molt més en la robòtica mòbil, ja que permet captar la distància de l’obstacle amb una vista de 180 ° gràcies al sensor de proximitat construït sobre un servomotor.

Per construir-ho, aneu al vostre Fablab preferit i utilitzeu el tallador làser que trobeu per tallar el model que preferiu: el primer corresponent als fitxers design1_5mmMDF.svg i design1_3mmMDF que corresponen respectivament a les parts que cal tallar al MDF de 5 mm. fusta i les que cal tallar de la de 3 mm; el segon correspon al fitxer design2_5mmMDF.svg. Estableix els contorns negres que cal tallar i els vermells que cal gravar.

Nota lateral: He afegit el patró vermell només per a proxenetar-lo. Aquesta és una funció de farciment de Hilbert que he generat mitjançant el codi python adjunt.

Pas 6: Muntatge de la bèstia

Muntant la bèstia
Muntant la bèstia
Muntant la bèstia
Muntant la bèstia
Muntant la bèstia
Muntant la bèstia

Els passos que he seguit per muntar la primera versió del robot són els següents (normalment les imatges haurien d'estar en l'ordre correcte):

  1. Traieu la tapa blava dels motors i talleu-la una mica perquè el cable surti de la part posterior del motor.
  2. Munteu els motors per cada costat mitjançant cargols i cargols M2.
  3. Munteu la placa de prototipat als costats mitjançant els forats de 2x2 mm i alguns cargols i perns.
  4. Col·loqueu els controladors A4988 i enganxeu els cables del motor per mantenir-los endreçats.
  5. Muntar la roda universal sota la part inferior i afegir els laterals.
  6. Munteu la placa d’extensió del micro: bit a la part superior.
  7. Munteu la part inferior de la coberta frontal flexible.
  8. Poseu el blindatge de la bateria i connecteu-ho tot (per fer-ho, com que encara esperava el lliurament de la placa d’extensió que volia i que només en tenia una amb capçaleres femenines que sobresortien, vaig reciclar un cable IDE d’un ordinador antic per gestionar-lo) no tingueu els cables enganxats al tauler per tal de tapar tot això per la tapa frontal plegable). Tot i que el codi que he proporcionat és molt fàcil d’adaptar, per utilitzar-lo directament, haureu de connectar el STEP esquerre al pin 2, el STEP dret al pin 8, el DIR esquerre al pin 12, el DIR dret al pin 1.
  9. Poseu el micro: bit a l'extensió.
  10. Comproveu que tot funciona amb MoveTest.py abans d’anar més enllà.
  11. Munteu l’interruptor a la part superior i poseu la broca de plàstic al costat de la cel·la de liti.
  12. Cargoleu la part superior de la coberta frontal.
  13. Muntar l’esquena i ja està! Uf! No esperava tants passos! És molt més fàcil pensar-hi i fer-ho que explicar-ho amb paraules. (I estic segur que encara faltarà informació!)

Si esteu construint la segona versió amb el sensor de proximitat, feu el següent:

  1. Seguiu les instruccions anteriors. L'única diferència serà que haureu d'afegir alguns espaiadors M2 al pas 7 (encara que això és el que he fet, però no és obligatori), ignoreu els passos 8 i 13 (ja que no hi ha cap tapa frontal)
  2. Munteu el servomotor amb cargols M2 i connecteu el VCC i el GND del servo directament als 5V del blindatge de la bateria i connecteu l’entrada de control al pin 0 del micro: bit.
  3. Munteu les dues peces de fusta que aniran a la part superior del servo amb un cargol, cargoleu-hi el sensor TOF, així com la peça de plàstic blanc que ve amb el servo.
  4. Munteu aquesta última unitat al servo i connecteu el sensor mitjançant I2C de micro: bit tal com es descriu al pas 3.

Pas 7: programa

Això és ! Teniu un robot que podeu programar en micro: python o en makecode. He adjuntat aquí alguns exemples de codi que utilitzava per fer els vídeos anteriors:

  • Exemple 1: poseu radioControl.py al micro: bit del robot i ReadAccelero.py a un altre micro: bit per controlar el robot mitjançant la inclinació del segon micro: bit.
  • Exemple 2: poseu Autonomia.py a la versió 2 del robot que explorarà l'entorn.

Aquests són només exemples bàsics que podeu utilitzar per anar molt més enllà. Per exemple, m'agrada la localització i el mapatge simultanis, i normalment hi ha tot el que necessiteu a la versió 2 d'aquest robot per fer-ho. Tot i que un gran inconvenient per fer aquest projecte és que el controlador PWM micro: bit és un controlador de programari que utilitza el mateix temporitzador per a tots els canals, és a dir, que tots els PWM que configurem han de tenir la mateixa freqüència (cosa que vaig fer no sé quan vaig escriure els codis de mostra, tot i que vaig detectar alguna cosa estranya quan vaig escriure Autonomous.py).

Pas 8: anar més enllà

No dubteu a millorar el disseny, a resoldre alguns problemes que no veia. Per exemple, m'agradaria:

  • Afegiu un sensor IR a la part inferior del robot per fer-lo detectar si el terra és negre o blanc o si arriba al final del meu escriptori.
  • Canvieu el sistema de gestió de la bateria perquè encara no n’estic satisfet. De fet, de moment, per recarregar la bateria, cal desmuntar el robot per treure la cel·la o el blindatge de la bateria … Per tant, tinc previst: 1. afegir un connector mini-USB a la part posterior del robot que Em connectaré a la pantalla de la bateria perquè pugui recarregar-la; 2. Talleu un forat a la part inferior per veure els LEDs de la pantalla de la bateria per veure quan s’acaba la càrrega.
  • Comproveu si hi ha una manera acceptable de generar PWM amb freqüències diferents.
  • Proveu el VL53L0XV2 per substituir el TOF10120, ja que podria ser una opció més barata que el faria accessible a més persones. Tot i que he llegit més sobre aquest sensor i sembla que l’empresa que va fer aquest preu barat va fer que fos molt difícil de tractar …
  • Proveu diferents dissenys de les rodes per fer-les més duradores (ara mateix m'esperava que si treia i introduïa les rodes moltes vegades, la fusta es deterioraria progressivament. Si faig que la fusta sigui més elàstica modificant el disseny, podria ser que poder durar més)

Un gran agraïment a la gent de l’equip de robòtica mòbil (que ara forma part del laboratori de biorrobòtica) de l’EPFL que em va ajudar molt a ampliar els meus coneixements d’electrònica i mecànica.

Recomanat: