Sommario:

HeadBot: un robot autobilanciante per l'apprendimento e la divulgazione STEM: 7 passaggi (con immagini)
HeadBot: un robot autobilanciante per l'apprendimento e la divulgazione STEM: 7 passaggi (con immagini)

Video: HeadBot: un robot autobilanciante per l'apprendimento e la divulgazione STEM: 7 passaggi (con immagini)

Video: HeadBot: un robot autobilanciante per l'apprendimento e la divulgazione STEM: 7 passaggi (con immagini)
Video: Self balancing robot motor test 2024, Dicembre
Anonim
Image
Image
Stampa 3D dell'involucro, del cappuccio e della scheda elettronica
Stampa 3D dell'involucro, del cappuccio e della scheda elettronica

Headbot – un robot autobilanciante alto due piedi – è il frutto di un'idea del South Eugene Robotics Team (SERT, FRC 2521), un team competitivo di robotica delle scuole superiori nella FIRST Robotics Competition, di Eugene, Oregon. Questo popolare robot di sensibilizzazione fa apparizioni regolari nelle scuole e negli eventi della comunità dove attira folle di adulti e bambini. Poiché il robot è durevole e facile da usare utilizzando un telefono o un tablet Android, i bambini di tre anni possono guidarlo con successo. E poiché il robot può indossare un'ampia varietà di cappelli, maschere e altri costumi, è un'aggiunta divertente a quasi tutti i raduni. I membri del SERT utilizzano il bot per reclutare nuovi membri del team e per ispirare un interesse generale per le STEM nella comunità.

Il costo totale del progetto è di circa $ 200 (supponendo che tu abbia una stampante 3D e un dispositivo Android), anche se può essere ridotto a meno di $ 100 se hai un negozio di elettronica ben fornito con facile accesso a saldature, tubi termorestringenti, ponticelli, resistori, condensatori, batterie e un cavo micro USB. La costruzione è semplice se hai già esperienza di elettronica e offre una grande opportunità per coloro che desiderano imparare. Per coloro che hanno un interesse specifico per la robotica, Headbot fornisce anche una buona piattaforma per lo sviluppo di competenze nella regolazione PID (Proportional-Integral-Derivative) per il controllo del feedback.

Forniture

Si noti che l'elenco delle parti di seguito indica il numero di parti necessarie di ciascun tipo, non il numero di confezioni. Alcuni collegamenti fanno riferimento a pagine in cui è possibile acquistare più parti come pacchetto (il che fornisce alcuni risparmi sui costi): assicurarsi di acquistare il numero di confezioni necessarie per ottenere il numero appropriato di parti.

Componenti elettronici

  • 1x microcontrollore ESP32
  • 2x motori passo-passo
  • 2x driver per motore passo-passo A4988
  • 1x giroscopio/accelerometro MPU-6050
  • 1x condensatore da 100uF
  • 1x UBEC (Circuito di eliminazione della batteria universale)
  • 1x divisore di tensione (1x 10 kohm e 1 x 26,7 kohm)
  • 2 luci LED RGB ad anodo comune da 5 mm
  • 6 resistori da 220 ohm
  • Ponticelli (maschio-maschio e femmina-femmina)
  • Cavo elettrico
  • 3x spine connettore JST SM
  • 2x Custodia da 4 batterie
  • Termoretraibile
  • Saldare

Hardware

  • 1x involucro, cappuccio e quadro elettrico stampati in 3D (vedere le istruzioni di seguito)
  • 2 ruote a disco di precisione da 5"
  • 2x mozzi ruota da 0,770" con foro da 5 mm
  • 8x batterie AA ricaricabili e caricabatterie
  • 1x testa di polistirolo
  • 1x pezzo da 2,5" di tubo in PVC da 3/4" (per fissare la testa)
  • 8 rondelle di sicurezza M3 (per montare i motori)
  • Viti 8x M3 x 8mm (per montare i motori)
  • Viti 8x 6-32 x 3/8" (per montare le ruote sui mozzi)
  • 2x Zipties
  • Nastro adesivo o adesivo
  • 2x aste metalliche rigide o fili robusti (ad es. tagliati da appendiabiti in filo metallico) ca. 12" lungo

Strumenti consigliati

  • Spelafili
  • Tronchese
  • Saldatore
  • Pistola termica
  • Trapano elettrico
  • Punta a forcella 1" x 16"
  • Set chiavi esagonali
  • Pistola per colla a caldo
  • Cavo micro USB con spina angolata

Passaggio 1: stampa in 3D dell'involucro, del cappuccio e della scheda elettronica

Stampa 3D dell'involucro, del cappuccio e della scheda elettronica
Stampa 3D dell'involucro, del cappuccio e della scheda elettronica
Stampa 3D dell'involucro, del cappuccio e della scheda elettronica
Stampa 3D dell'involucro, del cappuccio e della scheda elettronica

Stampa in 3D l'involucro, il cappuccio e la scheda elettronica. Scarica i file stl qui. Le parti devono essere stampate con PLA con una risoluzione di 0,25 mm e un riempimento del 20%, senza necessità di zattere o supporti.

Passaggio 2: aggiungere motori, ruote e nastro all'involucro

Image
Image
Preparare la scheda elettronica
Preparare la scheda elettronica

Motori: posizionare i motori passo-passo nella parte inferiore dell'involucro (con i fili che escono dalla parte superiore dei motori) e fissarli con viti M3x8mm e rondelle per controdadi M3, utilizzando una chiave esagonale o un cacciavite appropriati. Posizionare i mozzi delle ruote sugli assi e fissarli serrando le viti di fermo sulla parte piana dell'asse.

Ruote: allungare gli anelli di gomma attorno all'esterno del disco della ruota. Fissare le ruote sui mozzi ruota con le viti 6-32x3/8”. (Le ruote potrebbero adattarsi perfettamente al mozzo. In tal caso, posizionarle nel miglior modo possibile, quindi serrare lentamente le viti un po' alla volta, passando da una vite all'altra e ripetendo, per consentire alle viti di tirare la ruota in posizione.)

Preparare il cappuccio e il tubo in PVC: aggiungere nastro adesivo o nastro adesivo sulla parte superiore dell'involucro in modo che il cappuccio scivoli con una vestibilità aderente e sicura. Aggiungi del nastro adesivo a un'estremità del pezzo da 2,5" di tubo in PVC da " in modo che scivoli nel foro del tappo con una vestibilità aderente e sicura. Se necessario, è possibile aggiungere del nastro anche all'altra estremità del PVC per garantire una perfetta aderenza nel foro alla base della testa.

Passaggio 3: preparare la scheda elettronica

Image
Image

Applicare nastro alla scheda elettronica: aggiungere nastro adesivo o nastro adesivo ai lati della scheda elettronica in modo che scivoli nelle guide all'interno dell'involucro con una perfetta aderenza.

Giroscopio/Accelerometro MPU-6050: saldare i pin al Giroscopio/Accelerometro MPU-6050, con il lato lungo dei pin sullo stesso lato del circuito dei chip. Usa un'abbondante quantità di colla a caldo per fissare l'MPU al piccolo ripiano che sporge dalla base della scheda degli elettroni, orientato in modo che i perni siano a sinistra della scheda mentre sei rivolto verso il ripiano.

Driver del motore passo-passo A4988: utilizzare un piccolo cacciavite per ruotare il piccolo potenziometro di limitazione della corrente su ciascun driver del motore passo-passo A4988 in senso orario fino in fondo. Stacca la carta dal nastro sui dissipatori di calore per i driver del motore e applica per coprire i chip al centro del circuito. Usa abbondante colla a caldo per fissare i driver del motore (con i potenziometri verso l'alto) al lato della scheda elettronica opposto allo scaffale con la MPU, con i perni che sporgono attraverso le due coppie di fessure verticali sulla parte superiore della scheda elettronica (fare attenzione a non incollare i perni, che dovrebbero sporgere dallo stesso lato dell'MPU). Infilare una fascetta attraverso i piccoli fori sopra ciascun driver del motore per fissarlo ulteriormente in posizione.

Microcontrollore ESP32: inserire un cavo micro USB nella presa del microcontrollore ESP32 (questo verrà utilizzato per tenere l'estremità del circuito stampato a una piccola distanza dalla scheda elettronica, in modo che l'accesso alla spina possa essere garantito dopo che ESP32 è stato incollato in posizione). Posiziona l'ESP32 con la spina a destra mentre sei rivolto verso il lato del chip e usa una buona colla per fissarlo sulla scheda del circuito, con i pin che sporgono attraverso le fessure orizzontali al centro della scheda sul lato con l'MPU (prendi attenzione a non incollare i pin o il cavo USB). Dopo che la colla si è indurita, rimuovi il cavo USB.

Passaggio 4: circuiti elettronici

Image
Image
Circuiti elettronici
Circuiti elettronici
Circuiti elettronici
Circuiti elettronici

Istruzioni generali: Seguire lo schema elettrico (scaricare il pdf sottostante per una versione ad alta risoluzione) per creare i cablaggi necessari per collegare i componenti elettronici. I collegamenti tra due pin possono essere effettuati direttamente con singoli ponticelli femmina-femmina. I collegamenti tra 3 o più pin possono essere realizzati con i cablaggi più complessi descritti di seguito. I cablaggi possono essere creati tagliando a metà i ponticelli femmina-femmina, quindi saldandoli insieme ad altri componenti (resistenze, condensatore, spine, fili corti) a seconda dei casi. In tutti i casi, utilizzare un tubo termoretraibile per isolare il giunto di saldatura.

Pacchi batteria: assicurati che i pacchi batteria possano scivolare nelle fessure alla base dell'involucro stampato in 3D. Se non si adattano, usa una lima per modellarli finché non si adattano. Agganciare i fili da due dei connettori femmina JST SM (lasciando circa un pollice) e saldarne uno ai cavi di ciascun pacco batteria.

Cablaggio di alimentazione principale: il cablaggio di alimentazione principale riceve l'ingresso da due connettori maschio JST SM, con il cavo + da una spina che si unisce al cavo – dall'altro per collegare i due pacchi batteria in serie (risultante in un ingresso combinato 12v). Gli altri conduttori sono collegati tramite il condensatore da 100uF (per tamponare i picchi di tensione; il ramo più corto di quel condensatore si collega al cavo –, mentre il ramo più lungo si collega al cavo +12v) e con un partitore di tensione costituito da un resistore da 10kohm (collegato al cavo –) e un resistore da 26,7 kohm (collegato al cavo +12 V), con un ponticello femmina tra i resistori che va al pin SVP dell'ESP32 (questo fornisce un ingresso scalato con un massimo di 3,3 V che viene utilizzato per fornire una lettura della tensione residua nei pacchi batteria). I ponticelli femmina aggiuntivi forniscono ingressi +12v (2 ponticelli) e – (2 ponticelli) ai pin VMOT e GND adiacenti, rispettivamente, sui driver stepper. Inoltre, un UBEC (Universal Battery Elimination) è saldato a +12v e – conduttori del cablaggio di alimentazione principale (l'ingresso all'UBEC è il lato con il condensatore a forma di botte), con le uscite +5v e – dell'UBEC saldate a una spina JST SM femmina.

Ingresso 5v all'ESP32: Saldare un connettore maschio JST SM a due prese jumper femmina, per fornire ingressi agli ingressi 5v e GND all'ESP32 dall'UBEC (questa spina consente una facile disconnessione quando l'ESP32 è alimentato dal ingresso micro USB, per quando il codice viene caricato sul microcontrollore).

Cablaggio di alimentazione 3.3v: Saldare 7 jumper femmina per collegare il pin 3.3v sull'ESP32 al pin VCC sull'MPU, i pin VDD e MS1 su ciascuno dei driver del motore passo-passo e al jumper maschio che fornisce alimentazione agli occhi LED (consentendo una facile disconnessione dell'alimentazione agli occhi, quando ESP32 viene alimentato dalla micro USB durante il caricamento del codice).

Cablaggio di terra: Saldare 3 ponticelli femmina per collegare un pin GND sull'ESP32 ai pin GND (accanto al pin VDD) su ciascuno dei driver del motore passo-passo.

Cablaggio di abilitazione passo-passo: Saldare 3 ponticelli femmina per collegare il pin P23 sull'ESP32 ai pin ENABLE su ciascuno dei driver del motore passo-passo.

Connettori a ponticello singolo: I ponticelli singoli vengono utilizzati per effettuare i seguenti collegamenti:

  • GND su ESP32 a GND su MPU
  • Da P21 su ESP32 a SCL su MPU
  • Da P22 su ESP32 a SDA su MPU
  • Da P26 su ESP32 a DIR sul driver stepper sinistro
  • P25 su ESP32 per STEP sul driver stepper sinistro
  • Jumper SLEEP e RESET sul driver stepper sinistro
  • Da P33 su ESP32 a DIR sul driver stepper destro
  • P32 su ESP32 per STEP sul driver stepper destro
  • Jumper SLEEP e RESET sul driver stepper destro

Collegare l'UBEC: la spina JST SM femmina sull'uscita dell'UBEC può essere collegata alla spina maschio corrispondente che fornisce alimentazione e massa agli ingressi 5v e GND sull'ESP32. Tuttavia, questa spina deve essere staccata quando ESP32 viene alimentato da un micro USB (ad esempio, durante il caricamento del codice), altrimenti una corrente inversa dall'ESP32 al cablaggio di alimentazione principale interromperà il corretto funzionamento dell'ESP32.

Installare la scheda elettronica: far scorrere la scheda elettronica nelle guide all'interno dell'involucro.

Collegare i cavi del motore: collegare i cavi dal motore sinistro al driver passo-passo sinistro, con i fili blu, rosso, verde e nero che si collegano ai pin 1B, 1A, 2A e 2B, rispettivamente. Collegare i cavi dal motore destro al driver passo-passo destro, con i fili blu, rosso, verde e nero che si collegano ai pin 2B, 2A, 1A e 1B, rispettivamente (si noti che i motori sono cablati in modo speculare, poiché hanno orientamenti opposti). Infilare il cablaggio del motore in eccesso nella parte inferiore dell'involucro.

Collegare i pacchi batteria: far scorrere i pacchi batteria nelle loro tasche nell'involucro e collegare i loro connettori femmina JST SM ai connettori maschio corrispondenti sull'ingresso al cablaggio di alimentazione principale (i cavi del pacco batteria anteriore possono essere guidati attraverso il foro al centro della scheda elettronica per accedere alla presa nella parte posteriore). I pacchi batteria possono essere scollegati per consentire un facile inserimento di batterie nuove. Portando l'interruttore di alimentazione su entrambi i pacchi batteria in posizione off, si scollega l'alimentazione al circuito (poiché i pacchi sono in serie) – gli interruttori sul retro devono essere accesi affinché il circuito sia alimentato.

Passaggio 5: preparare la testa e gli occhi

Image
Image
Prepara la testa e gli occhi
Prepara la testa e gli occhi
Prepara la testa e gli occhi
Prepara la testa e gli occhi

Allungare il foro alla base della testa: Utilizzare il trapano con punta a vanga da 1” per aumentare la profondità del foro nella parte inferiore della testa, in modo che termini sopra l'altezza degli occhi (è utile mettere un pezzetto di nastro adesivo in una posizione appropriata sull'asta della punta per indicare quando è stata raggiunta una profondità adeguata). Spingere la punta 2-3 nel foro prima di perforare in modo da non danneggiare l'apertura del foro (ti servirà un accoppiamento stretto sul tubo in PVC che lo fisserà al tappo dell'involucro). Salva alcuni dei pezzi più grandi di polistirolo per riempire gli occhi in seguito.

Creare ganci per spingere/tirare i fili: su un'estremità di un'asta di metallo rigida, piegare una piccola forma a N (questa verrà utilizzata per spingere i fili per alimentare gli occhi del LED attraverso la testa di polistirolo). Piegare un piccolo gancio all'estremità dell'altra asta di metallo rigida (questo servirà per estrarre il filo dal foro nella parte inferiore della testa).

Eseguire i fili: legare grandi anelli alle estremità dei fili rosso, giallo, verde e blu, usando nodi stretti. Lavorando con un filo alla volta, agganciare l'asola all'estremità del gancio a forma di N e spingerlo attraverso l'occhiello della testa, mantenendo il percorso orizzontale e puntando verso il foro al centro della testa. Quando il filo viene inserito nel foro, utilizzare l'asta uncinata per afferrare il cappio dalla parte inferiore della testa e tirarlo dal foro, estraendo anche l'altra asta dall'occhio (lasciando 2-3 pollici di filo all'estremità parte inferiore della testa e penzolante dall'occhio). Ripeti il processo con gli altri tre fili colorati, seguendo lo stesso percorso dall'occhio al foro centrale (usa una fascetta etichettata per fissare questi fili insieme e indicare quale occhio controllano). Ripeti con altri 4 fili nel secondo occhio.

Collegare i LED RGB: accorciare i cavi sui LED RGB, assicurandosi di contrassegnare l'anodo comune (il cavo più lungo e annotare la posizione della R (il cavo singolo su un lato dell'anodo, come mostrato nello schema elettrico) e Conduttori G e B (i due conduttori dall'altra parte dell'anodo) Saldare i fili appropriati che pendono da uno degli occhi al LED (rosso all'anodo, giallo a R, verde a G e blu a B), isolando le connessioni con guaina termorestringente. Spingere i cavi del LED nella testa, ma lasciandolo sporgere un po' fino a quando non può essere testato. Ripetere il processo con l'altro LED e i fili dell'altro occhio.

Collegare i cavi di collegamento: saldare una resistenza da 220 ohm e un cavo di collegamento con connettore femmina su ciascuno dei cavi giallo, verde e blu che sporgono dalla parte inferiore della testa. Unire i due fili rossi e saldare a un ponticello con connettore maschio (nota: questo è l'unico ponticello maschio necessario nel circuito).

Collegare i ponticelli e attaccare la testa: far passare i ponticelli attraverso il tubo in PVC nel cappuccio e far scorrere il PVC nel foro nella testa, fissandolo al cappuccio. Collegare il ponticello di alimentazione maschio a un ponticello femmina sul cablaggio di alimentazione da 3,3 V e i ponticelli RGB femmina all'ESP32 (fili giallo, verde e blu dell'occhio sinistro a P4, P0 e P2, rispettivamente, e giallo, verde e blu cavi dell'occhio destro a P12, P14 e P27, rispettivamente). Infine, fissare la testa/cappuccio sull'involucro principale.

Passaggio 6: caricare il codice e installare la Driver Station

Carica il codice e installa la Driver Station
Carica il codice e installa la Driver Station
Carica il codice e installa la Driver Station
Carica il codice e installa la Driver Station
Carica il codice e installa la Driver Station
Carica il codice e installa la Driver Station

Installazione del codice HeadBot su ESP32: Scarica e installa l'IDE Arduino sul tuo computer. Visita https://github.com/SouthEugeneRoboticsTeam/ursa e fai clic su "Download Zip" sotto il pulsante verde "Clone or Download". Sposta la cartella zippata all'interno in un punto qualsiasi del tuo computer e rinominala in "ursa"

Apri ursa.ino usando l'IDE di Arduino. Nel menu delle preferenze in "File", aggiungi https://dl.espressif.com/dl/package_esp32_index.json a "Ulteriori URL di Boards Manager". Installa esp32boards di Espressif Systems in Strumenti>Gestione schede. Scegli "modulo dev esp32" in Strumenti> Scheda. Installa la libreria PID di Brett Beauregard facendo clic su "Gestisci librerie" nel menu "Schizzo".

Collegati a ESP32 usando il cavo USB-MicroUSB. Seleziona la scheda in Strumenti. Tieni premuto il piccolo pulsante etichettato "I00" accanto al connettore micro USB su ESP32, quindi premi il pulsante di caricamento sull'IDE di Arduino e rilascia "I00" quando l'IDE di Arduino dice che è "Connessione…". Al termine del caricamento, è possibile scollegare il cavo MicroUSB.

Installazione della stazione driver HeadBot: Scarica e installa Processing sul tuo computer. Visita https://github.com/SouthEugeneRoboticsTeam/ursa-ds-prototype e scarica il codice. Apri "ursaDSproto.pde" utilizzando l'IDE di elaborazione. Installa le librerie Ketai, Game Control Plus e UDP tramite il gestore della libreria di Processing (Sketch>Import Library). Se stai eseguendo la stazione di azionamento sul tuo computer, seleziona Modalità Java nel menu a discesa in alto a destra della finestra Elaborazione; per eseguirlo su Android, installa Android Mode for Processing facendo clic sul menu a discesa "Java" in alto a destra. Quindi, collega il dispositivo, abilita il debug USB, seleziona Modalità Android. Per eseguire la stazione di guida, fai clic su "Esegui schizzo". Se il tuo computer è connesso a un dispositivo Android, la stazione del driver verrà installata su di esso.

Passaggio 7: avviare HeadBot e regolare i valori PID

Image
Image
Concorso di robotica
Concorso di robotica

Avvio: assicurarsi che i pacchi batteria siano collegati e che l'uscita UBEC sia collegata al connettore di ingresso ESP32. Con Headbot sdraiato su un lato in una posizione stabile, accendere facendo scorrere l'interruttore di alimentazione su entrambi i pacchi batteria in posizione ON, lasciando Headbot fermo per alcuni secondi mentre il giroscopio si inizializza. Dopo un breve ritardo, dovresti essere in grado di vedere il segnale wifi Headbot (SERT_URSA_00) sul dispositivo che utilizzerai per controllare il bot: selezionalo e inserisci la password "Headbot". Dopo aver stabilito una connessione, esegui l'app della stazione di guida sul tuo telefono/tablet oppure esegui lo script della stazione di guida in Elaborazione sul tuo computer. Dopo l'avvio del programma e la connessione, dovresti vedere il valore "pitch" iniziare a rispondere, mostrando l'inclinazione di Headbot.

Impostazione dei valori PID: per poter controllare Headbot, dovrai regolare i valori PID. Per la versione di Headbot descritta qui. Facendo clic nel quadrato in alto a sinistra della stazione di guida verranno visualizzati i dispositivi di scorrimento per la regolazione dei valori. I primi tre cursori servono per regolare P, I e D per l'angolo (PA, IA e DA): questi valori sono di primaria importanza per consentire a Headbot di mantenere il suo equilibrio. I tre cursori inferiori servono per regolare P, I e D per la velocità (PS, IS e DS): questi valori sono importanti per consentire a Headbot di regolare correttamente la sua velocità di guida in base all'input del joystick. I buoni valori iniziali con questa versione di Headbot sono PA=0.08, IA=0.00, DA=0.035, PS=0.02, IS=0.00 e DS=0.006. Dopo aver impostato questi valori, fai clic sulla casella "Salva impostazioni" nell'angolo in alto a sinistra della stazione di guida (questo salva le impostazioni in una forma più duratura che sopravviverà a un riavvio del bot).

Provare le cose: fare clic sulla barra del joystick verde in alto a destra della stazione di guida per visualizzare un joystick per il controllo del robot. Metti in piedi Headbot in un orientamento quasi bilanciato e premi il quadrato verde scuro Abilita in alto a destra (premendo la casella rossa vicina disabiliterà il bot). Se tutto va bene, avrai un Headbot autobilanciante, ma molto probabilmente dovrai mettere a punto i valori PID. Di solito c'è poco I o D rispetto a P, quindi inizia da lì. Troppo poco, e non sarà reattivo. Troppo e oscillerà avanti e indietro. Inizia Inizia con i valori PID dell'angolo, apportando piccole modifiche per vedere come le cose sono influenzate. Alcuni termini D per il loop dell'angolo possono aiutare a ridurre al minimo le oscillazioni, ma una piccola quantità può portare rapidamente un sacco di jitter, quindi usa con parsimonia. Se i valori dell'Angolo sono corretti, Headbot dovrebbe resistere ad alcune spinte delicate senza cadere. Ci si devono aspettare piccole contrazioni mentre Headbot è bilanciato, poiché i motori passo-passo si muovono a semipassi di 0,9 gradi ad ogni regolazione.

Una volta raggiunto l'equilibrio, prova a guidare facendo piccoli movimenti del joystick, apportando piccole modifiche ai valori del PID di velocità in modo che il bot risponda in modo fluido e aggraziato. L'aumento del termine I può essere utile per contrastare il robot che non si attiene alla velocità impostata. Attenzione, però: le modifiche ai valori PID di velocità richiedono ulteriori regolazioni ai valori PID di angolo (e viceversa), poiché i loop PID interagiscono.

Le modifiche al peso complessivo e alla distribuzione del peso di Headbot (come quando si indossano occhiali, maschere, parrucche o cappelli) richiederanno ulteriori modifiche ai valori PID. Inoltre, se i costumi sbilanciano troppo l'equilibrio, potrebbe essere necessario modificare il valore pitchOffset iniziale nel codice ursa.ino e ricaricare il codice su ESP32.

Concorso di robotica
Concorso di robotica

Secondo classificato al concorso di robotica

Consigliato: