Sommario:
- Passaggio 1: cosa ti serve
- Passaggio 2: stampa uno chassis
- Passaggio 3: prepara il ponte ad H
- Passaggio 4: cablaggio dei moduli
- Passaggio 5: configurazione del controller
- Passaggio 6: codice
- Passaggio 7: serrare tutto insieme
- Passaggio 8: una parola sulle regole di combattimento dei robot
- Passaggio 9: informazioni aggiuntive sui motori
- Passaggio 10: aggiornamenti e miglioramenti
Video: Controllo del robot da combattimento Arduino economico: 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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
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
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:
- Fili sciolti (leggeri ma più fragili) (immagine 1)
- Perfboard (più pesante di 1 ma più robusto con un ingombro maggiore) (immagine 2)
- 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
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
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
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
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
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:
Droni da combattimento Quadricotteri Aka una vera esperienza di combattimento aereo: 8 passaggi (con immagini)
Droni da combattimento Quadricotteri Aka una vera esperienza di combattimento aereo: Benvenuti nel mio "ible" #37Dobbiamo ammettere che gli attuali droni da battaglia sul mercato sono un po' disordinati. È molto difficile capire chi sta vincendo e chi sta perdendo. Quando un drone scende, l'altro lo segue (schiantandosi l'uno contro l'altro
Controllo del volume del PC con quadrante rotativo vintage: 7 passaggi (con immagini)
Controllo del volume del PC con quadrante rotante vintage: se sei come me, ti ritrovi a cambiare il volume del tuo computer abbastanza spesso. Alcuni video sono più rumorosi di altri, a volte vuoi che il volume del tuo computer sia disattivato mentre ascolti podcast o musica e potresti dover chiudere
Tensegrity o doppio robot parallelo 5R, 5 assi (DOF) economico, resistente, controllo del movimento: 3 passaggi (con immagini)
Tensegrity o doppio robot parallelo 5R, 5 assi (DOF) economico, resistente, controllo del movimento: spero che penserete che questa sia la GRANDE idea per la vostra giornata! Questa è una voce del concorso Instructables Robotics che si chiuderà il 2 dicembre 2019. Il progetto è arrivato alla fase finale di valutazione e non ho avuto il tempo di fare gli aggiornamenti che volevo! Io ho
Utilizzo della PSP come joystick del computer e quindi controllo del computer con la PSP: 5 passaggi (con immagini)
Utilizzo della PSP come joystick del computer e quindi controllo del computer con la PSP: puoi fare molte cose interessanti con l'homebrew della PSP, e in questo tutorial ti insegnerò come usare la tua PSP come joystick per giocare, ma c'è anche un programma che ti permette di usare il tuo joystick come mouse. Ecco i mater
Come progettare e costruire un robot da combattimento: 11 passaggi (con immagini)
Come progettare e costruire un robot da combattimento: *NOTA: a causa del ritorno in onda di Battlebots, questa istruzione ha ricevuto molta trazione. Anche se molte delle informazioni qui riportate sono ancora valide, sappi che sono cambiate parecchio nello sport negli ultimi 15 anni*I robot da combattimento sono stati