Sommario:

Controllo del robot da combattimento Arduino economico: 10 passaggi (con immagini)
Controllo del robot da combattimento Arduino economico: 10 passaggi (con immagini)

Video: Controllo del robot da combattimento Arduino economico: 10 passaggi (con immagini)

Video: Controllo del robot da combattimento Arduino economico: 10 passaggi (con immagini)
Video: Ucraino continua a divertirsi in spiaggia nonostante le bombe russe a Berdyansk 2024, Novembre
Anonim
Controllo del robot da combattimento Arduino economico
Controllo del robot da combattimento Arduino economico
Controllo del robot da combattimento Arduino economico
Controllo del robot da combattimento Arduino economico
Controllo del robot da combattimento Arduino economico
Controllo del robot da combattimento Arduino economico

La rinascita di Battlebots negli Stati Uniti e Robot Wars nel Regno Unito ha riacceso il mio amore per la robotica da combattimento. Così ho trovato un gruppo locale di costruttori di bot e mi sono tuffato subito.

Combattiamo alla scala del peso delle formiche del Regno Unito (limite di peso di 150 grammi) e ho subito capito che il modo tradizionale di costruire un robot prevedeva l'equipaggiamento RC: un costoso trasmettitore RC, un ricevitore ingombrante o costoso e ESC (regolatori di velocità elettronici) che sono scatole magiche che può gestire molta più corrente di quella necessaria per un bot di queste dimensioni.

Avendo usato Arduino in passato, volevo provare a fare le cose in modo diverso e pormi l'obiettivo di un sistema Arduino in grado di ricevere un segnale legale di combattimento e controllare due motori di azionamento per circa $ 5 USD (la metà del costo di un ESC economico)

Per aiutare a raggiungere questo obiettivo ho remixato questa auto RC istruibile, riducendo il peso/costo del ricevitore e generando 4 segnali PWM per eseguire un chip h-bridge economico

Questo tutorial si concentrerà sul sistema di controllo Arduino ma aggiungerò ulteriori informazioni per aiutare le nuove persone a costruire il loro primo bot

Disclaimer:

Anche in un combattimento su piccola scala la costruzione/combattimento di robot può essere pericoloso, intraprendi a tuo rischio

Passaggio 1: cosa ti serve

Materiali:

Per il sistema di controllo:

  • 1x Arduino pro mini 5v ($ 1,70 USD)
  • 1x modulo nRF24L01 ($ 1,14)
  • 1x modulo regolatore 3.3v ($ 0,32)
  • 1x modulo doppio h-bridge* ($ 0,90)

Per il resto di un bot wedge di base:

  • 2x micro motoriduttori** (versione economica, versione affidabile)
  • 1x 2s batteria ai polimeri di litio
  • 1x caricatore dell'equilibrio
  • 1x borsa per ricarica lipo
  • 1x interruttore
  • 1x connettore batteria
  • cavo misto (ho usato alcuni cavi dei ponticelli Arduino che avevo in giro)
  • piccole viti
  • (opzionale) epossidico
  • (opzionale) Alluminio (da una lattina per bibite)
  • (opzionale) LED extra

Per un controller di base:

  • 1x Arduino pro mini 5v
  • 1x modulo nRF24L01
  • 1x modulo regolatore 3.3v
  • 1x joystick Arduino

Utensili:

  • Cacciavite
  • Saldatore
  • Pinze
  • Stampante 3D (opzionale, ma semplifica la vita)

*quando guardi i moduli h-bridge, cerca un modulo con tutti e 4 gli ingressi di segnale uno accanto all'altro, questo renderà più facile il collegamento ad Arduino in un secondo momento

**controlla il passaggio finale per alcuni suggerimenti sulla scelta della velocità del motore

Passaggio 2: stampa uno chassis

Stampa un telaio
Stampa un telaio

Prima di iniziare il sistema di controllo, guarda il design del bot da costruire. È sempre meglio progettare un bot dall'arma fuori. Per un principiante, suggerisco di iniziare con un cuneo di base, sono progettati per essere robusti e allontanare gli avversari, il che significa che è meno probabile che tu venga distrutto nel tuo primo combattimento, inoltre è più facile prendere confidenza con la guida quando indossi non devi preoccuparti di un'arma attiva.

Ho progettato un robot a cuneo: "Slightly Crude" che è stato testato in battaglia sia con armatura che senza armatura. È un buon primo bot, facile da stampare e può essere assemblato con 8 viti. Dai un'occhiata su Thingiverse per un design superiore diverso

Se non possiedi una stampante 3D, prova una libreria locale, uno spazio hacker o uno spazio creatore

L'aggiunta di un'ulteriore armatura è facile da fare appena tolta dalla stampante, carteggiare sia il cuneo che l'alluminio della lattina per bibite con una carta vetrata, spazzolare via la polvere di carteggiatura, applicare la resina epossidica sia sulla plastica che sull'alluminio, tenere insieme con morsetti o elastici per 12-24 ore

Al momento non ho un design di ruote pubbliche poiché ho utilizzato pneumatici in gomma da un kit di robotica educativa su mozzi stampati in 3D. Nelle prossime settimane, progetterò un mozzo che utilizzerà gli O-ring per la presa. Una volta che le ruote saranno finite, aggiornerò questa pagina e la pagina Thingiverse

Passaggio 3: prepara il ponte ad H

Prepara il ponte ad H
Prepara il ponte ad H

Diversi driver del motore a ponte h sono disponibili in diverse configurazioni, ma il modulo collegato nell'elenco iniziale viene fornito con 2 morsettiere come uscita. Queste morsettiere sono pesanti e ingombranti, quindi è meglio rimuoverle.

Il modo più semplice per farlo è riscaldare entrambi i pad contemporaneamente con un saldatore e muovere delicatamente i blocchi con un paio di pinze

Prima di andare avanti, decidi se vuoi essere in grado di scambiare i motori nella tua configurazione. In tal caso, i cavi jumper Arduino possono essere saldati all'uscita del modulo, quindi il cavo opposto può essere saldato al motore, rendendoli rimovibili secondo necessità.

Passaggio 4: cablaggio dei moduli

Cablaggio dei moduli
Cablaggio dei moduli
Cablaggio dei moduli
Cablaggio dei moduli
Cablaggio dei moduli
Cablaggio dei moduli

Il cablaggio dei moduli può essere eseguito in 3 modi diversi, motivo per cui la fase di progettazione è fondamentale. La scelta dell'arma influenzerà la forma del bot e la scelta del cablaggio.

le 3 scelte sono:

  1. Fili sciolti (leggeri ma più fragili) (immagine 1)
  2. Perfboard (più pesante di 1 ma più robusto con un ingombro maggiore) (immagine 2)
  3. Circuito stampato personalizzato (più pesante di 1 ma robusto con un ingombro ridotto) design della scheda allegato (immagine 3)

indipendentemente dalla scelta effettuata, i collegamenti effettivi sono gli stessi.

Effettuare le seguenti connessioni due volte (una per il controller e una per il ricevitore)

nRF24L01 (numerazione pin immagine 4**):

  • Pin 1 -> GND
  • Pin 2 -> pin di uscita del modulo 3.3v
  • Pin 3 -> Arduino pin 9
  • Pin 4 -> Arduino pin 10
  • Pin 5 -> Arduino pin 13
  • Pin 6 -> Arduino pin 11
  • Pin 7 -> Arduino pin 12

Modulo 3.3v:

  • Pin Vin -> Vcc*
  • Pin Out -> pin 2 nRF (come sopra)
  • Pin GND -> GND

Arduino:

  • Pin 9-13 -> connetti a nRF come sopra
  • Grezzo -> Vcc*
  • GND -> GND

Effettuare i seguenti collegamenti una volta per distinguere tra controller e ricevitore

Per il controllore:

Telecomando da gioco:

  • +5v -> Arduino 5v
  • vrx -> Arduino pin A2
  • vry -> Arduino pin A3
  • GND -> GND

Per il destinatario:

modulo ponte h:

  • Vcc -> Vcc*
  • B-IB -> Arduino pin 2
  • B-IA -> Arduino pin 3
  • A-IB -> Arduino pin 4
  • A-IA -> Arduino pin 5
  • GND -> GND

Questo è più semplice sostituendo i pin per Vcc e GND con il filo, quindi capovolgendo la scheda e saldando i pin direttamente nell'Arduino, questo semplifica la saldatura e crea un supporto sicuro per il driver del motore

*perché un robot da combattimento sia legale, è necessario aggiungere un punto di isolamento (interruttore o collegamento rimovibile) tra la batteria e il circuito. Ciò significa che il positivo della batteria deve essere collegato ad un interruttore, quindi l'interruttore collegato a Vcc

** immagine da https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo che è un'ottima risorsa per il modulo nRF24L01

Passaggio 5: configurazione del controller

Configurazione del controller
Configurazione del controller

Una volta che tutto è collegato, è tempo di un po' di codice.

A partire dal controller, sono necessari alcuni valori del potenziometro per garantire che l'esatto joystick collegato funzioni con il codice di trasmissione.

Carica nel codice "joystickTestVals2". Questo codice serve per leggere i valori del potenziometro e visualizzarli tramite seriale

Con il codice in esecuzione e una finestra seriale aperta, inizia guardando il valore "UP", spingi il joystick nella posizione completamente in avanti, il valore "UP" probabilmente salterà tra alcuni numeri grandi, scegli il più piccolo dei valori che vedi, sottrai 10 da esso (questo assicurerà che spingendo lo stick fino in fondo darà piena potenza) e annotalo come "Up Max" per consentire al joystick di tornare al centro. Ora scegli il valore più grande che vedi, aggiungi 20 e scrivilo come "UpRestMax". Ripetere il processo spingendo lo stick verso il basso e invertendo la somma/sottrazione registrando i valori come "UpMin" e "UpRestMin"

Ripeti di nuovo l'intero processo per sinistra e destra, iniziando spingendo la levetta a destra, registrando "SideMax" poi "SideRestMax" mentre torna indietro e spingendo a sinistra per registrare "SideMin" e "SideRestMin"

Questi valori sono molto importanti, specialmente tutti i valori che contengono la parola "Riposo". questi valori creano la "zona morta" al centro dello stick in modo che il bot non si muova quando lo stick è appoggiato al centro, assicurati che quando lo stick è centrato i valori rientrino tra "restMin" e "restMax" per entrambi gli assi

Passaggio 6: codice

Codice
Codice
Codice
Codice

Il codice fornito fa tutto per un wedge-bot di base con una struttura in atto per consentire anche l'invio di un valore pwm dell'arma.

Biblioteche necessarie:

  • nRF24L01 Libreria da qui: GitHub
  • Software PWM da qui: Google Code

Configura il tuo controller:

apri il codice txMix e modifica i valori limite dello stick con i valori che hai annotato nell'ultimo passaggio. Ciò assicurerà che il codice reagisca correttamente al tuo joystick (Immagine 1)

Personalizza tubo:

Per assicurarti di non interferire con nessun altro al tuo evento, dovrai cambiare il tubo radio. Questo è in effetti un identificatore e il ricevitore agirà solo sui segnali dalla pipe corretta, quindi assicurati di cambiare la pipe in entrambi i codici con la stessa cosa.

Nell'immagine sono state evidenziate 2 cifre esadecimali del tubo. Queste sono le due cifre che devono essere modificate per personalizzare la pipa. Cambia "E1" con qualsiasi altro valore esadecimale a 2 cifre e scrivilo in modo da poterlo facilmente controllare contro i tubi degli avversari a un evento

Caricamento:

  • txMix al controller
  • ricevere al modulo ricevitore

Scorrimento del codice:

txMix:

Il codice legge nella posizione del joystick come un valore "UP" e un valore "side". questi valori vengono vincolati in base al valore massimo fornito per garantire la massima potenza alla posizione massima dello stick.

Questi valori vengono quindi controllati per garantire che lo stick sia uscito dalla posizione neutra, se non ha zero vengono inviati.

I valori vengono quindi miscelati individualmente in due variabili, una per la velocità del motore sinistro e una per la velocità del motore destra. In queste variabili viene utilizzato un valore negativo per indicare che il motore sta guidando all'indietro in quanto semplifica la miscelazione.

I valori di velocità sinistra e destra vengono quindi separati in quattro valori pwm, uno per ciascuno: motore destro avanti, motore sinistro avanti, motore destro indietro, motore sinistro indietro.

I quattro valori pwm vengono quindi inviati al ricevitore.

ricevere:

Riceve semplicemente i segnali dal controller, controlla che il segnale non contenga valori pwm per avanti e indietro su un singolo motore quindi applica il pwm.

Il ricevitore è anche un dispositivo di sicurezza per spegnere i motori quando non viene ricevuto un segnale dal controller

Passaggio 7: serrare tutto insieme

Stringendo tutto insieme
Stringendo tutto insieme
Stringendo tutto insieme
Stringendo tutto insieme
Stringendo tutto insieme
Stringendo tutto insieme

Saldare i connettori ai motori o saldare i motori direttamente all'h-bridge. (Preferisco i connettori in modo che io possa semplicemente cambiare le spine se ho collegato i motori in modo errato)

Saldare il cavo positivo dal connettore della batteria al pin centrale dell'interruttore e uno dei pin esterni dell'interruttore al Vcc dei moduli collegati.

Saldare il cavo negativo dal connettore della batteria al GND dei moduli collegati.

(Facoltativo) aggiungere ulteriori LED tra Vcc e GND. Tutti i robot da combattimento richiedono una luce accesa mentre il sistema è alimentato, a seconda dei componenti questo sistema ha i LED sull'Arduino, sul modulo 3.3v e sull'h-bridge in modo che almeno uno di questi sia visibile dall'esterno del bot questa regola è soddisfatta. È possibile utilizzare LED aggiuntivi per assicurarsi che questa regola sia soddisfatta e per personalizzare l'aspetto

Slightly Crude è semplice da montare insieme, avvitare prima i supporti del motore, aggiungere l'elettronica, quindi serrare il coperchio in posizione, una piccola quantità di velcro aiuterà a tenere l'interruttore sul coperchio

Il controller è tuo da progettare e stampare. Per i test, ho utilizzato il controller allegato che è stato modificato dal controller BB8 V3 di James Bruton

Passaggio 8: una parola sulle regole di combattimento dei robot

Una parola sulle regole di combattimento dei robot
Una parola sulle regole di combattimento dei robot

Diversi paesi, stati e gruppi gestiscono eventi di combattimento robot con regole diverse.

Ho creato questo sistema e scritto questo capace di essere il più generale possibile rispettando le regole principali relative ai sistemi RC (in particolare il sistema dovrebbe essere digitale a 2,4 GHz e avere un punto di isolamento della batteria). Per eseguire questo sistema e/o progettare il tuo primo bot è meglio entrare in contatto con il tuo gruppo locale e ottenere una copia delle loro regole.

Le regole del tuo gruppo locale sono assolute, non fidarti della mia parola in questo istruibile sulle regole del tuo gruppo.

Poiché questo sistema Arduino è nuovo per la comunità, molto probabilmente ti verrà chiesto di farlo testare prima di usarlo a un evento. Ho testato ripetutamente questo sistema contro apparecchiature RC standard e contro se stesso senza problemi di interferenza, quindi dovrebbe superare qualsiasi test, tuttavia, gli organizzatori del tuo evento locale hanno l'ultima parola, rispettano la loro decisione. Se rifiutano il suo utilizzo, chiedi se c'è un bot di prestito con cui puoi combattere o chiedi un chiarimento sul motivo per cui è stato rifiutato e prova a risolvere il problema per il prossimo evento

Passaggio 9: informazioni aggiuntive sui motori

Ulteriori informazioni sui motori
Ulteriori informazioni sui motori

I micro motoriduttori utilizzati nella classe delle formiche sono disponibili in una vasta gamma di velocità e sono contrassegnati utilizzando RPM o Rapporto di trasmissione. Di seguito è riportata una conversione approssimativa.

La maggior parte dei bot utilizza motori tra 75:1 e 30:1 (con alcune eccezioni che utilizzano 10:1). I robot con grandi armi rotanti possono beneficiare di motori 75:1 più lenti poiché la velocità più bassa consente un maggiore controllo. Cunei, sollevatori e pinne agili sono i migliori su 30:1 nelle mani di un pilota esperto. Raccomando motori 50:1 in un cuneo per i primi combattimenti solo per abituarsi al sistema e alla guida

  • 12V 2000 RPM (o 6V 1000 RPM) -> 30:1
  • 6V 300RPM -> 50:1

Passaggio 10: aggiornamenti e miglioramenti

Sono passati un paio di anni da quando ho pubblicato questo 'ible e ho imparato molto su questo sistema, quindi è tempo di aggiornarli qui. La cosa più importante è la scelta dei componenti, i componenti originali hanno funzionato relativamente bene ma a volte si guastavano durante il combattimento. I 2 grandi colpevoli sono l'H-Bridge e il modulo nrf24l01, perché ho scelto le parti in assoluto più economiche che ho trovato. Questi possono essere risolti da:

  • Aggiornamento del ponte H da 0,5 A a un ponte H da 1,5 A, come questo: ponte H da 1,5 A
  • Aggiornamento del modulo nrf24l01 a un design completamente SMD: Open smart NRF24l01

Insieme ai nuovi aggiornamenti dei componenti ho progettato alcuni nuovi PCB che aiutano a compattare l'RX e ad aggiungere più funzionalità al TX

Ho anche alcune modifiche al codice in arrivo, quindi resta sintonizzato per quelle

Consigliato: