Taula de continguts:

Control barat del robot de combat Arduino: 10 passos (amb imatges)
Control barat del robot de combat Arduino: 10 passos (amb imatges)

Vídeo: Control barat del robot de combat Arduino: 10 passos (amb imatges)

Vídeo: Control barat del robot de combat Arduino: 10 passos (amb imatges)
Vídeo: REAL RACING 3 LEAD FOOT EDITION 2024, Desembre
Anonim
Control de robot Arduino Combat barat
Control de robot Arduino Combat barat
Control de robot Arduino Combat barat
Control de robot Arduino Combat barat
Control de robot Arduino Combat barat
Control de robot Arduino Combat barat

El ressorgiment de Battlebots als Estats Units i de Robot Wars al Regne Unit va reactivar el meu amor per la robòtica de combat. Així doncs, vaig trobar un grup local de constructors de bot i em vaig endinsar directament.

Lluitem a l’escala de pes de formigues del Regne Unit (límit de pes de 150 grams) i em vaig adonar ràpidament de la manera tradicional de construir un bot que implicava equip RC: un transmissor RC car, un receptor voluminós o car i ESC (controladors electrònics de velocitat) que són caixes màgiques que pot gestionar molt més corrent del necessari per a un bot d'aquesta mida.

Després d'haver utilitzat Arduino en el passat, volia intentar fer les coses de manera diferent i establir-me l'objectiu d'un sistema Arduino que pogués rebre un senyal legal de combat i controlar dos motors de tracció per uns 5 dòlars americans (la meitat del cost d'un ESC barat)

Per ajudar a assolir aquest objectiu, vaig remesclar aquest cotxe RC que es podia instruir, reduint el pes / cost del receptor i generant 4 senyals PWM per fer funcionar un xip pont-h barat.

Aquesta instrucció es centrarà en el sistema de control Arduino, però afegiré informació addicional per ajudar les persones noves a construir el seu primer bot

Exempció de responsabilitat:

Fins i tot a petita escala, la construcció / lluita de robots de combat pot ser perillosa. Empreneu-ho sota el vostre propi risc

Pas 1: el que necessiteu

Materials:

Per al sistema de control:

  • 1x Arduino pro mini 5v (1,70 USD)
  • 1 mòdul nRF24L01 (1,14 dòlars)
  • 1 mòdul regulador de 3,3 V (0,32 dòlars)
  • 1 mòdul dual pont h * (0,90 dòlars)

Per a la resta d'un bot de falca bàsic:

  • 2 motors de micro engranatges ** (versió barata, versió fiable)
  • Bateria de polímer de liti 1x 2s
  • 1x carregador de saldo
  • 1x bossa de càrrega lipo
  • 1x interruptor
  • 1x connector de bateria
  • diversos cables (he utilitzat alguns cables jumper Arduino que tenia al voltant)
  • cargols petits
  • (opcional) epoxi
  • (opcional) Alumini (d'una llauna de refresc)
  • (opcional) LED addicionals

Per a un controlador bàsic:

  • 1x Arduino pro mini 5v
  • 1x mòdul nRF24L01
  • Mòdul regulador 1x 3.3v
  • 1 joystick Arduino

Eines:

  • Tornavís
  • Soldador
  • Alicates
  • Impressora 3D (opcional, però us facilita la vida)

* quan mireu mòduls h-bridge, busqueu un mòdul amb les 4 entrades de senyal al costat, cosa que facilitarà la connexió a l'Arduino més tard

** Consulteu el pas final per obtenir alguns consells sobre com seleccionar la velocitat del motor

Pas 2: imprimiu un xassís

Imprimiu un xassís
Imprimiu un xassís

Abans d’iniciar el sistema de control, mireu el disseny del bot a construir. Sempre és millor dissenyar un bot des de l’arma. Per a un principiant, suggereixo començar amb una falca bàsica, estan dissenyats per ser robustos i forçar als oponents, cosa que significa que és menys probable que es destrueixi durant la primera baralla, a més és més fàcil sentir-se quan condueix No us heu de preocupar d'una arma activa.

He dissenyat un bot de falca: "Slightly Crude" que ha estat provat a la batalla tant blindat com desarmat. És un bon primer bot, fàcil d’imprimir i que es pot ajuntar amb 8 cargols. Mireu-ho a Thingiverse per obtenir un disseny superior diferent

Si no teniu cap impressora 3D, proveu una biblioteca local, un espai per hackers o un espai per a creadors

Afegiu una armadura addicional fàcil de fer fora de la impressora, liureu tant la falca com el refresc amb alumini amb un paper de vidre natural, elimineu la pols de polir, apliqueu epoxi tant al plàstic com a l’alumini, manteniu-los units amb pinces o gomes. durant 12-24 hores

Actualment no tinc un disseny de rodes públiques, ja que he estat utilitzant pneumàtics de goma d’un kit de robòtica educativa sobre eixos impresos en 3D. Les properes setmanes dissenyaré un hub que farà servir juntes tòriques per agafar-les. Un cop acabades les rodes, actualitzaré aquesta pàgina i la pàgina de Thingiverse

Pas 3: prepareu el pont H

Prepara el pont H
Prepara el pont H

Els diferents controladors de motor de pont h presenten diferents configuracions, però el mòdul enllaçat a la llista inicial inclou 2 blocs de terminals com a sortida. Aquests blocs de terminals són pesats i voluminosos, així que és millor eliminar-los.

La manera més senzilla de fer-ho és escalfar els dos coixinets al mateix temps amb un soldador i treure amb compte els blocs amb unes alicates.

Abans de continuar, decidiu si voleu canviar els motors de la vostra configuració. Si és així, els cables jumper Arduino es poden soldar a la sortida del mòdul, i el cable oposat es pot soldar al motor, fent-los extraïbles segons sigui necessari.

Pas 4: Connexió dels mòduls

Cablatge dels mòduls
Cablatge dels mòduls
Cablatge dels mòduls
Cablatge dels mòduls
Cablatge dels mòduls
Cablatge dels mòduls

El cablejat dels mòduls es pot fer de 3 maneres diferents, motiu pel qual el pas de disseny és fonamental. L'elecció de l'arma afectarà la forma del bot i l'elecció del cablejat.

les tres opcions són:

  1. Filferros solts (lleugers però més fràgils) (imatge 1)
  2. Perfboard (més de 1 però més robust amb una petjada més gran) (imatge 2)
  3. S'adjunta un disseny de placa de circuit personalitzat (més de 1 però robust amb una petita petjada) (imatge 3)

independentment de la tria feta, les connexions reals són les mateixes.

Feu les connexions següents dues vegades (una per al controlador i una altra per al receptor)

nRF24L01 (imatge de numeració de pins 4 **):

  • Pin 1 -> GND
  • Pin 2 -> pin del mòdul de 3.3v
  • Pin 3 -> Pin Arduino 9
  • Pin 4 -> Pin Arduino 10
  • Pin 5 -> Pin 13 d'Arduino
  • Pin 6 -> Pin 11 d'Arduino
  • Pin 7 -> Pin 12 d'Arduino

Mòdul 3.3v:

  • Vin pin -> Vcc *
  • Pin de sortida -> pin 2 nRF (com es va indicar anteriorment)
  • Pin GND -> GND

Arduino:

  • Els pins 9-13 -> connecteu-vos a nRF com es va indicar anteriorment
  • Raw -> Vcc *
  • GND -> GND

Feu les connexions següents una vegada per diferenciar entre controlador i receptor

Per al controlador:

Palanca de control:

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

Per al receptor:

mòdul de pont h:

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

Això es fa més fàcil substituint els passadors de Vcc i GND per filferro, després gireu la placa cap per avall i soldeu els passadors directament a l'Arduino, això simplifica la soldadura i crea un muntatge segur per al controlador del motor

* perquè un robot de combat sigui legal, s’ha d’afegir un punt d’aïllament (interruptor o enllaç extraïble) entre la bateria i el circuit. Això significa que el positiu de la bateria s'ha de connectar a un commutador i, a continuació, el commutador a Vcc

** imatge de https://arduino-info.wikispaces.com/Nrf24L01-2,4GHz-HowTo, que és un gran recurs per al mòdul nRF24L01

Pas 5: Configuració del controlador

Configuració del controlador
Configuració del controlador

Un cop tot estigui connectat, és hora d’obtenir algun codi.

Començant pel controlador, es necessiten alguns valors de potenciòmetre per garantir que el joystick exacte connectat funcioni amb el codi de transmissió.

Carregueu-lo al codi "joystickTestVals2". Aquest codi s’utilitza per llegir els valors del potenciòmetre i mostrar-los mitjançant sèries

Amb el codi en execució i una finestra en sèrie oberta, comenceu mirant el valor "AMUNT", empenyeu el joystick a la posició total cap endavant; el valor "AMUNT" probablement saltarà entre uns quants números grans, trieu el valor més petit que vegeu, resteu-ne 10 (això us assegurarà que si premeu el pal fins a arribar a tota la potència) i escriviu-lo com a "Up Max" perquè el joystick torne al centre. Ara escolliu el valor més gran que veieu, afegiu-hi 20 i escriviu-lo com a "UpRestMax". Repetiu el procés pressionant el pal cap avall i invertint la suma / resta enregistrant els valors com a "UpMin" i "UpRestMin"

Repetiu tot el procés de nou a l'esquerra i a la dreta, començant per empènyer el pal cap a la dreta, enregistrant "SideMax" i "SideRestMax" mentre brolla cap enrere i prement cap a l'esquerra per gravar "SideMin" i "SideRestMin"

Aquests valors són molt importants, especialment tots els valors que contenen la paraula "Descans". aquests valors creen la "zona morta" al centre del pal de manera que el bot no es mogui quan el pal descansi al centre, assegureu-vos que quan el pal està centrat els valors es troben entre "restMin" i "restMax" per als dos eixos

Pas 6: Codi

Codi
Codi
Codi
Codi

El codi donat ho fa tot per a un bot wedge bàsic amb una estructura al seu lloc per permetre l'enviament també d'un valor pwm de l'arma.

Biblioteques necessàries:

  • Biblioteca nRF24L01 des d'aquí: GitHub
  • Programari PWM des d'aquí: Google Code

Configureu el controlador:

obriu el codi txMix i canvieu els valors límit de pal als valors que heu escrit al darrer pas. Això garantirà que el codi reaccioni correctament al vostre joystick (imatge 1)

Personalitza la canonada:

Per assegurar-vos que no interfereu amb ningú més en el vostre esdeveniment, haureu de canviar el canal de ràdio. En realitat, això és un identificador i el receptor només actuarà sobre els senyals de la canonada correcta, així que assegureu-vos de canviar la canonada dels dos codis pel mateix.

A la imatge s'han ressaltat 2 dígits hexadecimals de la canonada. Aquests són els dos dígits que cal canviar per personalitzar la canonada. Canvieu "E1" a qualsevol altre valor hexadecimal de 2 dígits i escriviu-lo perquè pugueu comprovar-lo fàcilment contra les canonades dels oponents en un esdeveniment

Pujada:

  • txMix al controlador
  • rebre al mòdul receptor

Executeu el codi:

txMix:

El codi es llegeix en la posició del joystick com un valor "UP" i un valor "lateral". aquests valors es restringeixen basant-se en el valor màxim proporcionat per assegurar la màxima potència en la posició màxima del pal.

A continuació, es comproven aquests valors per assegurar-se que el pal ha sortit de la posició neutra, si no s'envien zeros.

Els valors es barregen individualment en dues variables, una per a la velocitat del motor esquerra i una per a la velocitat del motor adequada. En aquestes variables s’utilitza un valor negatiu per indicar que el motor marxa cap enrere ja que simplifica la barreja.

Els valors de velocitat esquerra i dreta es separen en quatre valors de pwm, un per a cadascun: motor dret endavant, motor esquerre endavant, motor dret enrere, motor esquerre enrere.

Els quatre valors de pwm s’envien al receptor.

rebre:

Simplement rep senyals del controlador, comprova que el senyal no conté valors pwm cap endavant i cap enrere en un sol motor i després aplica el pwm.

El receptor també falla les caixes fortes dels motors apagats quan no es rep cap senyal del controlador

Pas 7: cargolar-ho tot

Tirant tot plegat
Tirant tot plegat
Tirant tot plegat
Tirant tot plegat
Tirant tot plegat
Tirant tot plegat

Connecteu els connectors als motors o soldeu els motors directament al pont h. (Prefereixo els connectors perquè pugui canviar els endolls si he connectat incorrectament els motors)

Soldeu el cable positiu del connector de la bateria al pin central del commutador i un dels pins externs del switch al Vcc dels mòduls connectats.

Soldeu el cable negatiu del connector de la bateria al GND dels mòduls connectats.

(Opcional) afegiu LED addicionals entre Vcc i GND. Tots els robots de combat requereixen una llum encesa mentre el sistema tingui alimentació, depenent dels components que aquest sistema tingui LEDs a l’Arduino, el mòdul de 3,3 v i el pont h, sempre que almenys un d’aquests sigui visible des de fora bot aquesta regla es compleix. Es poden utilitzar LED addicionals per assegurar-vos que es compleix aquesta regla i per personalitzar l’aspecte

Poc brut és fàcil de cargolar junts, cargoleu els suports del motor en primer lloc, afegiu l'electrònica i, a continuació, carregueu la tapa al seu lloc, una petita quantitat de velcro us ajudarà a mantenir l'interruptor a la tapa.

El controlador és vostre per dissenyar i imprimir. Per fer proves, he utilitzat el controlador adjunt que ha estat modificat des del controlador BB8 V3 de James Bruton

Pas 8: regles de combat sobre paraules sobre robots

Una paraula sobre les regles de combat dels robots
Una paraula sobre les regles de combat dels robots

Diferents països, estats i grups organitzen esdeveniments de combat de robots amb regles diferents.

He creat aquest sistema i he escrit això: Puc ser el més general possible al mateix temps que compleixo amb les principals regles que pertanyen als sistemes RC (sobretot el sistema hauria de ser digital de 2,4 GHz i tenir un punt d'aïllament de la bateria). Per executar aquest sistema o dissenyar el vostre propi primer bot, és millor posar-vos en contacte amb el vostre grup local i obtenir una còpia de les seves regles.

Les regles que executa el vostre grup local són absolutes; no confieu la meva paraula en aquesta instrucció sobre les regles del vostre grup.

Com que aquest sistema Arduino és nou per a la comunitat, és probable que se us demani que el proveu abans d’utilitzar-lo en un esdeveniment. He provat aquest sistema repetidament contra equips RC estàndard i contra si mateix sense problemes d'interferència, de manera que hauria de passar qualsevol prova, però els organitzadors del vostre esdeveniment local tenen l'última paraula, respecten la seva decisió. Si rebutgen el seu ús, pregunteu si hi ha un bot de préstec amb què pugueu lluitar o demaneu aclariments sobre per què es va rebutjar i intenteu solucionar el problema per al proper esdeveniment

Pas 9: informació addicional sobre motors

Informació addicional sobre motors
Informació addicional sobre motors

Els micro motors d’engranatges que s’utilitzen a la classe ant tenen una gran varietat de velocitats i estan marcats mitjançant RPM o relació d’engranatges. A continuació es mostra una conversió aproximada.

La majoria dels robots fan servir motors entre 75: 1 i 30: 1 (amb algunes excepcions amb 10: 1). Els robots amb grans armes giratòries es poden beneficiar de motors 75: 1 més lents, ja que la velocitat menor permet un control més gran. Les falques, aixecadors i aletes àgils són els millors en 30: 1 en mans d’un conductor expert. Recomano motors 50: 1 en una falca per a les primeres baralles només per acostumar-me al sistema i conduir

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

Pas 10: actualitzacions i millores

Han passat un parell d’anys des que vaig publicar aquest tema i he après molt sobre aquest sistema, així que és hora d’actualitzar-los aquí. El més important és l’elecció dels components, els components originals funcionaven relativament bé, però de vegades fallarien durant el combat. Els dos grans autors són el pont H i el mòdul nrf24l01, perquè he triat les parts més barates i absolutes que he pogut trobar. Es poden solucionar mitjançant:

  • Actualització del pont H 0,5A a un pont H 1,5A, com aquest: pont H 1,5A
  • Actualització del mòdul nrf24l01 a un disseny totalment SMD: Obriu NRF24l01 intel·ligent

Juntament amb les noves actualitzacions de components, he dissenyat alguns PCB nous que ajuden a compactar el RX i a afegir més funcions al TX

També tinc alguns canvis de codi, així que estigueu atents a aquests

Recomanat: