Taula de continguts:

Robot zero Raspberry Pi imprès en 3D: 12 passos
Robot zero Raspberry Pi imprès en 3D: 12 passos

Vídeo: Robot zero Raspberry Pi imprès en 3D: 12 passos

Vídeo: Robot zero Raspberry Pi imprès en 3D: 12 passos
Vídeo: ADXL34x QTification prototype 2024, Juliol
Anonim
Image
Image
Robot Zero Raspberry Pi imprès en 3D
Robot Zero Raspberry Pi imprès en 3D
Robot Zero Raspberry Pi imprès en 3D
Robot Zero Raspberry Pi imprès en 3D

Alguna vegada heu volgut construir un robot, però no teniu tots els materials per construir-ne un sense acabar amb un xassís innecessari? Les impressores 3D són aquí per estalviar-se el dia. No només poden crear peces que siguin compatibles amb pràcticament qualsevol maquinari, sinó que ho poden fer d’una manera molt eficient en l’espai. Aquí us mostraré com crear un robot molt bàsic que inclou peces impreses en 3D, el Raspberry Pi Zero i la càmera Pi. Us animo a prendre i modificar el que he fet per adaptar-lo a les vostres necessitats pràctiques o d'entreteniment. Per controlar el robot i veure l’alimentació de la càmera, he creat una aplicació IOS (l’aplicació PiBotRemote) que podeu utilitzar i modificar lliurement. No obstant això, el poder real en projectes com aquest deriva de la diversitat de possibilitats tant en maquinari com en programari. Per tant, us animaria a ser creatius i afegir-me al que he fet en funció del que sàpiga fer. Per exemple, crec que seria genial fer que aquest robot faci servir la visió artificial per reconèixer el seu entorn i navegar de manera similar a un cotxe que condueix automàticament.

Pas 1: requisits

Requisits
Requisits
  • Materials

    • Obligatori (aproximadament 75 dòlars)

      • Raspberry Pi Zero W (10 dòlars)
      • Targeta Micro SD (8,25 dòlars)
      • Capçalera de 40 pins (3,25 $)
      • Jumper Wires (6,86 dòlars)
      • Bateria USB (5,00 dòlars)
      • Motor reductor micro 900 rpm x 2 (12,95 dòlars cadascun)
      • Controlador de motor (4,95 $)
      • Rodes (6,95 dòlars)
      • Rodament de boles d'acer de 14 mm (0,62 dòlars)
      • Cargols, femelles i separacions (vegeu més avall)
    • Opcional (aproximadament 45 dòlars)

      • LEDs
      • Càmera Raspberry Pi (29,95 dòlars)
      • Adaptador de càmera Pi Zero (5,95 dòlars)
      • Servomotor (8,95 dòlars)
    • Eines

      • Impressora 3D i filament
      • Ordinador (faré servir un Mac i en necessitareu un si voleu utilitzar l’aplicació PiBot Remote)
      • iPhone / iPad / iPod Touch (si utilitzeu l'aplicació)
      • Trepant
      • Tornavís amb consells canviants

Més informació sobre peces

  • Pi Zero: si voleu utilitzar el Pi Zero només per a aquest projecte, estareu bé funcionant sense cap tot el temps. En cas contrari, si mai voleu connectar una sortida HDMI o un perifèric USB, haureu de comprar adaptadors addicionals. En aquest cas, és probablement l’opció més rendible per comprar un kit Pi Zero, com aquest (24 dòlars) que he comprat a Amazon. Tot i que encara havia de comprar una targeta micro SD, aquest kit venia amb el Pi Zero, tots dos adaptadors necessaris i moltes capçaleres diferents. Tot això pot ser útil.
  • Targeta Micro SD: podeu utilitzar qualsevol targeta Micro SD sempre que tingui un mínim de 8 GB d’emmagatzematge.
  • Jumper Wires: m'agraden els jumpers com aquests perquè vénen com un paquet connectat. Això em permet separar, per exemple, una secció de 9 fils i connectar perfectament el Pi i el controlador del motor.
  • Bateria USB: la bateria que he comprat a Sparkfun s'ha deixat d'utilitzar. Com a resultat, haureu de trobar-ne un altre. El que he enllaçat tenia un aspecte similar al meu, però no l’he comprat i és possible que hàgiu de modificar els fitxers d’impressió perquè s’adaptin a la vostra bateria. Assegureu-vos de trobar una bateria amb un cable micro USB connectat, ja que us permet connectar-lo directament al pi sense excés de cable.
  • Controlador de motor: recomanaria utilitzar el bussejador al qual he enllaçat, ja que és bastant barat i la impressió està dissenyada per adaptar-se exactament a aquesta placa. A més, altres taulers poden funcionar de manera diferent i és possible que obtingueu resultats diferents.
  • Bola d'acer de 14 mm: he utilitzat aquesta bola simplement perquè en tenia una. No dubteu a utilitzar altres mides, però és possible que hàgiu de canviar la mida del sòcol. La pilota servirà de tercera roda per al nostre robot. Aquesta és una de les àrees de disseny del meu robot que és la més problemàtica en aquest moment i que podria millorar-la. Tot i que funciona bé en superfícies llises i dures, té problemes a les catifes i a les superfícies més rugoses. No dubteu a canviar aquesta àrea del vostre disseny.
  • Cargols, femelles, separadors: és possible que hàgiu de treballar una mica per trobar cargols que us funcionin. Simplement vaig trobar els cargols que muntaven el Pi, així com els cargols que mantenien la càmera Pi muntada junts a la col·lecció de cargols del meu pare. Per als muntatges i endolls del motor, he utilitzat aquests cargols (2,95 dòlars) i aquestes femelles (1,50 dòlars), que estan disponibles a Sparkfun. Els separadors i els 8 cargols (accidentalment només n’incloïa 4 a la imatge) que mantenen el robot unit, els vaig treure dels kits VEX de la meva escola.
  • LED: estic segur que sabeu on podeu trobar fàcilment alguns LED. Trieu els colors que vulgueu representar les funcions: alimentació, connexió, ruta de reproducció del robot i instruccions de recepció del robot.
  • Càmera i Servo: depenent del que vulgueu fer amb el robot, podeu optar per no incloure la Càmera i el Servo, ja que no són necessaris per al moviment bàsic i afegiu 45 $ al cost del robot.

Pas 2: Configuració de Pi Zero

Configuració de Pi Zero
Configuració de Pi Zero

Seguiu aquest enllaç per configurar una instal·lació sense cap al vostre Raspberry Pi Zero W

  • No oblideu que el Pi Zero no es pot connectar a una xarxa Wi-Fi de 5 GHz
  • Seguiu les instruccions de Raspbian Stretch o versions posteriors

Un cop us hàgiu connectat correctament mitjançant SSH al vostre pi, executeu

sudo raspi-config

i canvieu les configuracions següents:

  • Canvia la teva contrasenya. És molt perillós deixar la contrasenya per defecte raspberry. Assegureu-vos de recordar aquesta contrasenya.
  • A Opcions de xarxa, canvieu el nom de l'amfitrió de raspberrypi a una cosa més curta com pizero o pibot. Faré servir pibot per a la resta d’aquest tutorial. Recordeu el que heu posat aquí.
  • A Opcions d'arrencada -> Escriptori / CLI, seleccioneu Console Autologin
  • Aneu a les opcions d'interfície i activeu la càmera

Seleccioneu Finalitza i reinicieu el dispositiu.

Pas 3: configureu la xarxa AdHoc

En configurar una xarxa AdHoc, podrem connectar el nostre dispositiu de control directament al robot sense intermediaris. Això permetrà una transmissió més ràpida de vídeo i una menor latència de control. Tot i això, aquest pas no és necessari, ja que tot funcionarà a través d’una xarxa wifi normal.

En primer lloc, haureu de descarregar i descomprimir tots els fitxers necessaris de GitHub. Al terminal, aneu a la carpeta descarregada i envieu la carpeta PiBotRemoteFiles al pi amb l'ordre:

scp -r PiBotRemoteFiles / [email protected]: Escriptori /

Això envia tots els fitxers necessaris al robot que el controlarà i configurarà la xarxa AdHoc. Assegureu-vos que els fitxers es trobin a una carpeta anomenada "PiBotRemoteFiles" que es troba a l'escriptori; en cas contrari, moltes coses no funcionaran a la carretera. Si utilitzeu l'aplicació PiBot Remote, podeu canviar entre la xarxa Wi-Fi normal i una xarxa AdHoc a la configuració de l'aplicació. En cas contrari, podeu canviar-lo manualment mitjançant SSH amb una de les ordres següents:

sudo bash adhoc.sh

sudo bash wifi.sh

Per descomptat, assegureu-vos d’haver navegat a la carpeta PiBotRemoteFiles abans d’executar les ordres anteriors. Qualsevol canvi entre AdHoc i Wi-Fi només es farà efectiu després del proper reinici. Si es configura un AdHoc, hauríeu de veure que apareix una xarxa PiBot quan arrenca el Pi Zero.

Pas 4: afegiu un LED d'alimentació

Afegiu un LED d'alimentació
Afegiu un LED d'alimentació

Tot i que és innecessari, pot ser útil tenir una llum de potència. Per activar això, SSH al Pi Zero i executeu l'ordre:

sudo nano /etc/bash.bashrc

I afegiu la línia següent al final del fitxer:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Més endavant canviarem el pin GPIO associat amb el LED d'alimentació.

Pas 5: Configuració de la interfície web RPi Cam

Configuració de la interfície web RPi Cam
Configuració de la interfície web RPi Cam
Configuració de la interfície web RPi Cam
Configuració de la interfície web RPi Cam

Per aprofitar el flux de vídeo de les càmeres Raspberry Pi, utilitzarem la interfície web RPi-Cam. Podeu trobar informació sobre aquest mòdul aquí i el seu codi es troba a GitHub. Per instal·lar el mòdul, primer hem d’actualitzar el nostre Pi. Això pot trigar fins a uns 10 minuts.

sudo apt-get update

sudo apt-get dist-upgrade

Després hem d’instal·lar git:

sudo apt-get install git

I finalment podem instal·lar el mòdul:

git clone

RPi_Cam_Web_Interface / install.sh

Un cop instal·lat el mòdul, apareixerà una finestra de configuració. Si voleu afegir un nom d’usuari i una contrasenya, assegureu-vos d’utilitzar el mateix nom d’usuari i contrasenya que el compte del vostre pi. En cas contrari, l’aplicació PiBot Remote no podrà rebre el flux de la càmera.

Ara, si aneu a un navegador d’un dispositiu de la mateixa xarxa que el Pi i si la càmera està connectada al pi, podeu rebre la transmissió anant a https://pibot.local/html/#. La interfície RPi permet controlar fàcilment la càmera i, tocant o fent clic al vídeo, es pot convertir en pantalla completa. L'utilitzarem més endavant amb l'aplicació remota PiBot.

Ja hem acabat de configurar el Pi Zero, per a les coses divertides.

Pas 6: imprimiu-ho tot

Imprimeix-ho tot
Imprimeix-ho tot
Imprimeix-ho tot
Imprimeix-ho tot

Tot i que he utilitzat una impressora 3D Dremel amb filament PLA, no dubteu a utilitzar les vostres pròpies impressores i materials. Tots els fitxers STL es troben a la carpeta que heu baixat de GitHub. Vaig poder imprimir-ho tot en quatre lots: la placa superior, la placa inferior, tots els suports i endolls i l'anell. Sigues creatiu en la tria de colors i aprofita al màxim les capacitats de les impressores 3D. La meva impressora no tenia cap extrusió dual ni cap altra característica fantàstica, però si teniu accés a aquesta impressora, us recomanaria imprimir les decoracions de la part superior de la placa superior amb un color contrastat. Probablement haureu d’arxivar i trepar per fer que algunes peces encaixin.

No dubteu a pintar la placa superior per fer visibles els símbols i les decoracions LED.

És possible que hagueu notat dos muntatges als extrems de la placa inferior que s’assemblen al sistema de muntatge GoPro. No dubteu a utilitzar-los per fixar tot el que vulgueu a la part frontal o posterior del robot. Al fitxer de la batedora, podeu trobar un marcador d’esborrat en sec que he fet servir, així com un objecte de plantilla que podeu modificar per mantenir-lo.

A més, no dubteu a definir qualsevol direcció cap a endavant; He canviat almenys tres vegades fins ara.

Pas 7: soldar a les capçaleres

Soldadura a les capçaleres
Soldadura a les capçaleres
Soldadura a les capçaleres
Soldadura a les capçaleres
Soldadura a les capçaleres
Soldadura a les capçaleres

Tot i que he optat per soldar capçaleres al PiZero, podeu soldar els cables directament al pi. Si opteu per soldar capçaleres com jo, us recomanaria que en feu un amb un angle recte com el meu. Manté els cables molt més ocults i fa que tot sembli molt més net.

Ara és hora de soldar el conductor del motor. La placa inferior està dissenyada especialment per a aquest controlador de motor Sparkfun i permet que la capçalera del pin quedi espaiat per la part inferior. Això permet canviar fàcilment els passadors del motor perquè pugueu canviar cap a l'esquerra i la dreta, cap endavant i cap enrere. Tot i que ara incloc el següent pas, recomanaria encaridament esperar uns quants passos fins que sàpiga exactament quant de temps han de tenir els cables. Tallar una secció de 9 cables de pins que siguin compatibles amb els pins de capçalera que acabeu de soldar al pi. Soldeu amb cura cada filferro de manera que el grup pugui col·locar-se col·lectivament i embolicar-se al voltant de la bateria. Mesureu prèviament la longitud del fil per no acabar amb ni massa ni massa.

Finalment, és hora de soldar els LED. Enganxeu-los a les seves respectives ubicacions a la placa superior i plegueu tots els passadors de terra uns sobre els altres. Soldeu un cable a terra i un cable a cada LED. D'esquerra a dreta, les funcions dels LED són: alimentació del robot, connectivitat de l'aplicació al robot, el robot repeteix un camí desat i el robot rep instruccions.

També soldeu els cables a cada motor perquè es puguin endollar a les capçaleres del conductor del motor.

Pas 8: cargolar el motor i la presa

Cargoleu el motor i el sòcol
Cargoleu el motor i el sòcol
Cargoleu el motor i el sòcol
Cargoleu el motor i el sòcol
Cargoleu el motor i el sòcol
Cargoleu el motor i el sòcol
Cargoleu el motor i el sòcol
Cargoleu el motor i el sòcol

Primer, introduïu cada motor en un suport de motor. A continuació, introduïu cada cargol parcialment, fins que la punta arribi a la superfície de la muntura o del sòcol. A continuació, per a cada cargol, subjecteu una femella a l’altre costat de la placa mentre estrenyeu cada cargol. Recordeu col·locar el coixinet entre els dos endolls mentre enrosqueu el segon. Col·loqueu el controlador del motor a la seva posició i connecteu-lo. No importa quin motor estigui endollat a cada sortida, ja que podeu canviar-lo fàcilment un cop el robot estigui en funcionament.

Pas 9: prepareu la càmera i el servo

Llest la càmera i el servo
Llest la càmera i el servo
Llest la càmera i el servo
Llest la càmera i el servo
Llest la càmera i el servo
Llest la càmera i el servo
Llest la càmera i el servo
Llest la càmera i el servo

Connecteu la cinta adaptadora Pi Zero a la càmera i enrosqueu la caixa de la càmera. Col·loqueu el servo a la seva posició. Podeu perforar els forats del cargol per al servo, però és prou còmode. Connecteu la càmera al servo de la forma que més cregueu. Actualment, tinc dos forats a la muntura, amb una grapa que passa per la banya del servo i la caixa de la càmera. Tanmateix, això deixa molt d'espai per moure's, de manera que és possible que vulgueu utilitzar una cola súper. Apunteu la càmera en la direcció que vulgueu i enrosqueu la banya del servo al seu lloc. Introduïu la cinta de la càmera per la ranura del gerd i connecteu-la al pi. Finalment, doblegueu la cinta per mantenir-la plana contra la bateria.

Pas 10: ajuntar-ho tot

Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt
Posant-ho tot junt

Per fi, és hora que tot es converteixi en una peça. Connecteu els cables dels LED, del controlador del motor i del servo al Pi de manera que només utilitzeu pins vàlids, però manteniu-los a prop de la seva sortida. A continuació, col·loqueu els cables a través de les seves ranures i enrosqueu el pi al seu lloc. Està dissenyat per a un ajust ajustat per mantenir les coses ordenades, així que no us rendeixi quan sembla que no hi ha prou espai per a aquests grans passadors.

Enrosqueu cada separador a la placa inferior de manera que quedi segur. Introduïu la bateria i assegureu-vos que el cable d’alimentació s’adapti a la ranura i al port d’alimentació del Pi Zero. Emboliqueu els cables del conductor del motor al seu voltant i col·loqueu els anells al voltant de tot. Un cop heu exprimit tots els cables a l'espai entre la bateria i la placa superior, introduïu una petita cresta a la placa inferior a l'anell i els dos punts alts de l'anell a la placa superior. Ara podeu cargolar bé la placa superior i ja heu construït el robot.

Pas 11: obriu el projecte Xcode

Obriu el projecte Xcode
Obriu el projecte Xcode
Obriu el projecte Xcode
Obriu el projecte Xcode
Obriu el projecte Xcode
Obriu el projecte Xcode

Els passos següents només s'apliquen si utilitzeu l'aplicació PiBot Remote, que requereix un Mac i un dispositiu IOS.

Com que sóc barat i no tinc compte de desenvolupador d'Apple, només puc compartir el projecte Xcode, no l'aplicació en si. A continuació, podeu obrir el projecte vosaltres mateixos, canviar la signatura i iniciar-lo al vostre propi dispositiu.

Si encara no teniu Xcode, descarregueu-lo des de la botiga d'aplicacions del vostre Mac. Quan es carregui Xcode, trieu "Obre un altre projecte" a l'extrem inferior dret i aneu a la carpeta "PiBot Remote" de la descàrrega de GitHub.

Un cop obert el projecte, feu clic al fitxer arrel de la vista de l'extrem esquerre anomenat "Comandament PiBot".

Canvieu l '"identificador de paquet" per quelcom únic. Podeu substituir el meu nom pel vostre o afegir alguna cosa al final.

Canvieu l’equip al vostre compte personal. Si no en teniu, seleccioneu "Afegeix un compte".

Feu clic a l'ordre-B per construir i espereu que tot funcioni correctament. Un cop hàgiu creat el projecte amb èxit, connecteu el dispositiu a l'ordinador. Feu clic al botó situat a la dreta dels botons de reproducció i aturats de l'extrem superior esquerre i seleccioneu el dispositiu.

Hit command-R i l'aplicació s'hauria d'iniciar al dispositiu. Pot ser que el vostre dispositiu hagi de verificar les identitats abans que s’executi i només necessitarà accés a Internet en aquest moment.

Pas 12: ajustos finals

Ajustos finals
Ajustos finals

Podeu ajustar els números de pins per a tot excepte el LED d’alimentació de l’aplicació PiBot Remote. Per canviar el pin del LED d'alimentació, SSH al PI i executar l'ordre:

/home/pi/Desktop/PiBotRemoteFiles/startup.py

Canvieu les dues instàncies del 36 al PIN GPIO que hàgiu fet servir. A continuació, premeu control-X, y, introduïu.

L’aplicació i el servidor són propensos a errors. Utilitzeu la consola en mode de depuració per esbrinar què passa. En cas de dubte, proveu de reiniciar el Pi i / o reiniciar l'aplicació. De vegades, després d'un error de codi, l'aplicació no pot tornar a connectar-se perquè l'adreça ja s'utilitza. En aquest cas, només cal canviar el port i l'aplicació s'ha de connectar.

A més, quan conduïu el robot amb l’accelerador al dispositiu, heu d’utilitzar alguns gestos incòmodes per calibrar, aturar / engegar, ajustar la càmera i mostrar / amagar la barra de pestanyes

  • Calibra: mantén premut amb dos dits durant 0,5 segons (si el teu dispositiu ho admet, sentiràs comentaris hàptics un cop el dispositiu s’hagi calibrat)
  • Ajust de la càmera: el gest més complicat, feu el que es descrivia anteriorment per calibrar-lo i arrossegueu els dits cap amunt per moure la càmera cap amunt i arrossegueu cap avall per moure la càmera cap avall. L'ajust es farà un cop aixequi els dits.
  • Toggle Stop / Start: quan aneu a la vista acceleròmetre, el robot està configurat inicialment per ignorar les ordres de moviment. Per canviar aquesta opció, feu doble toc amb dos dits.
  • Mostra / Amaga la barra de pestanyes: per permetre la visualització a pantalla completa mentre es condueix l’acceleròmetre, la barra de pestanyes s’amagarà automàticament al cap d’uns segons. Per tornar-lo a mostrar, llisqueu cap amunt. Per amagar-lo, llisca cap avall.

Si us sentiu frustrat amb els problemes i inconvenients associats a la meva aplicació, recordeu que no he tingut cap educació formal en programació de cap tipus. Així doncs, dono la benvinguda a consells i suggeriments. No dubteu a bifurcar els meus fitxers GitHub.

Si faig ajustos a GitHub, apliqueu-los al robot descarregant els fitxers i enviant-los mitjançant SCP recursiu al Pi a la ubicació adequada. Si heu clonat el projecte Xcode, només cal que feu el canvi. En cas contrari, podeu descarregar el projecte i seguir el pas 11 per obrir l'aplicació al dispositiu.

Si feu alguna cosa interessant amb aquest tutorial, feu-m'ho saber als comentaris, m'interessa veure com es pot utilitzar com a plantilla per a tot tipus de projectes fascinants.

Recomanat: