Indholdsfortegnelse:

Billig Arduino Combat Robot Control: 10 trin (med billeder)
Billig Arduino Combat Robot Control: 10 trin (med billeder)

Video: Billig Arduino Combat Robot Control: 10 trin (med billeder)

Video: Billig Arduino Combat Robot Control: 10 trin (med billeder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control

Genopblussen af Battlebots i staterne og Robot Wars i Storbritannien genoplivede min kærlighed til kamprobotik. Så jeg fandt en lokal gruppe botbyggere og dykkede lige ind.

Vi kæmper i den britiske myrvægtskala (150 gram vægtgrænse), og jeg indså hurtigt den traditionelle måde at bygge et bot involveret RC -gear på: en dyr RC -sender, en omfangsrig eller dyr modtager og ESC'er (elektroniske hastighedsregulatorer), som er magiske kasser der kan klare langt mere strøm end nødvendigt for en bot af denne størrelse.

Efter at have brugt Arduino tidligere, ville jeg prøve at gøre tingene anderledes og sætte mig et mål med et Arduino -system, der kan modtage et juridisk kampsignal og styre to drivmotorer til omkring USD $ 5 (halvdelen af prisen på en billig ESC)

For at hjælpe med at nå dette mål remixede jeg denne RC-bil instruerbar, reducerede modtagerens vægt/omkostninger og genererede 4 PWM-signaler for at køre en billig h-bridge-chip

Denne instruktive vil fokusere på Arduino -kontrolsystemet, men jeg tilføjer yderligere oplysninger for at hjælpe nye mennesker med at bygge deres første bot

Ansvarsfraskrivelse:

Selv i en lille kamp kan robotbygning/kamp være farlig, foretages på egen risiko

Trin 1: Hvad du har brug for

Materialer:

For kontrolsystemet:

  • 1x Arduino pro mini 5v (USD $ 1,70)
  • 1x nRF24L01 -modul ($ 1,14)
  • 1x 3.3v regulator modul ($ 0.32)
  • 1x dobbelt h-bro modul* ($ 0,90)

For resten af en grundlæggende kilebot:

  • 2x mikro gearmotorer ** (billig version, pålidelig version)
  • 1x 2s litiumpolymerbatteri
  • 1x balance oplader
  • 1x lipo opladningspose
  • 1x switch
  • 1x batteristik
  • diverse ledninger (jeg brugte nogle Arduino -jumper -tråde, jeg havde liggende)
  • små skruer
  • (valgfri) epoxy
  • (valgfrit) Aluminium (fra en sodavandsdåse)
  • (ekstraudstyr) ekstra LED'er

For en grundlæggende controller:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01 modul
  • 1x 3.3v regulatormodul
  • 1x Arduino-joystick

Værktøjer:

  • Skruetrækker
  • Loddekolbe
  • Tang
  • 3D -printer (valgfri, men det gør livet lettere)

*Når du ser på h-bridge-moduler, skal du kigge efter et modul med alle 4 signalindgange ved siden af hinanden, dette vil gøre det lettere at tilslutte til Arduino senere

** tjek det sidste trin for at få nogle tips til valg af motorhastigheder

Trin 2: Udskriv et chassis

Udskriv et chassis
Udskriv et chassis

Inden du går i gang med kontrolsystemet, skal du se på designet af den bot, der skal bygges. Det er altid bedst at designe en bot fra våbenet ud. For en nybegynder foreslår jeg, at du starter med en grundlæggende kile, de er designet til at være robuste og skubbe modstandere af vejen, hvilket betyder, at du er mindre tilbøjelig til at blive ødelagt i din første kamp, plus det er lettere at få en fornemmelse af at køre, når du don behøver ikke bekymre dig om et aktivt våben.

Jeg har designet en kilebot: "Let rå", som er blevet testet både pansret og ikke -rustet. Det er en god første bot, let at udskrive og kan sættes sammen med 8 skruer. Tjek det ud på Thingiverse for et andet topdesign

Hvis du ikke ejer en 3d -printer, kan du prøve et lokalt bibliotek, hackerspace eller makerplads

Tilføjelse af ekstra rustning er let at gøre frisk fra printeren, sand både kilen og læskedrikken aluminium med et sandpapir, børst eventuelt slibestøv af, påfør epoxy på både plast og aluminium, hold sammen med klemmer eller gummibånd i 12-24 timer

Jeg har i øjeblikket ikke et offentligt hjuldesign, da jeg har brugt gummidæk fra et uddannelsesmæssigt robotikssæt over 3D -trykte nav. I de kommende uger designer jeg et nav, der vil bruge O-ringe til greb. Når hjulene er færdige, opdaterer jeg denne side og Thingiverse -siden

Trin 3: Forbered H-broen

Forbered H-broen
Forbered H-broen

Forskellige h-bridge-motordrivere findes i forskellige opsætninger, men modulet, der er knyttet til den indledende liste, leveres med 2 terminalblokke som output. Disse klemmer er tunge og omfangsrige, så det er bedst at fjerne dem.

Den nemmeste måde at gøre dette på er at opvarme begge puder på samme tid med et loddejern og omhyggeligt vrikke blokkene ud med en tang

Inden du går videre, skal du beslutte, om du vil kunne skifte motorerne i din opsætning. I så fald kan Arduino -jumperkabler loddes ind i modulets output, så kan det modsatte kabel loddes til motoren, hvilket gør dem aftagelige efter behov.

Trin 4: Tilslutning af modulerne

Kabelføring af modulerne
Kabelføring af modulerne
Kabelføring af modulerne
Kabelføring af modulerne
Kabelføring af modulerne
Kabelføring af modulerne

Kabelføring af modulerne kan udføres på 3 forskellige måder, hvorfor designtrinnet er kritisk. Våbenvalg påvirker botens form og valg af ledninger.

de 3 valg er:

  1. Løse ledninger (let, men mere skrøbelig) (billede 1)
  2. Perfboard (tungere end 1, men mere robust med et større fodaftryk) (billede 2)
  3. Brugerdefineret printkort (tungere end 1, men robust med et lille fodaftryk) kortdesign vedhæftet (billede 3)

Uanset det valgte valg er de faktiske forbindelser de samme.

Foretag følgende tilslutninger to gange (én gang for controlleren og én gang for receiveren)

nRF24L01 (billednummer 4):

  • Pin 1 -> GND
  • Pin 2 -> ud pin på 3.3v modul
  • 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

3.3v modul:

  • Vin pin -> Vcc*
  • Out pin -> pin 2 nRF (som ovenfor)
  • GND pin -> GND

Arduino:

  • Pins 9-13 -> forbind til nRF som ovenfor
  • Rå -> Vcc*
  • GND -> GND

Gør følgende tilslutninger én gang for at skelne mellem controller og modtager

For controlleren:

Joystick:

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

Til modtageren:

h-bridge modul:

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

Dette gøres nemmest ved at udskifte stifterne til Vcc og GND med wire, derefter vende brættet på hovedet og lodde stifterne direkte ind i Arduino, dette forenkler lodningen og skaber en sikker montering til motordriveren

*for at en kamprobot er lovlig, skal der tilføjes et isolationspunkt (switch eller aftageligt link) mellem batteriet og kredsløbet. Det betyder, at batteriets positive skal forbindes til en switch, derefter skal kontakten tilsluttes Vcc

** billede fra https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo som er en stor ressource for nRF24L01 modulet

Trin 5: Opsætning af controlleren

Opsætning af controlleren
Opsætning af controlleren

Når alt er forbundet, er det tid til noget kode.

Fra og med controlleren er der brug for nogle potentiometerværdier for at sikre, at det nøjagtige joystick, der er tilsluttet, fungerer med transmissionskoden.

Indlæs koden "joystickTestVals2". Denne kode bruges til at aflæse potentiometerværdierne og vise dem i serie

Med koden kørende og et serielt vindue åbent start ved at se på "UP" -værdien, skub joysticket helt indad, "UP" -værdien vil sandsynligvis springe mellem et par store tal, vælg den mindste af de værdier, du ser, træk 10 fra den (dette vil sikre, at skubbe pinden hele vejen vil give fuld effekt) og skrive den ned som "Up Max", så joysticket kan springe tilbage i midten. Vælg nu den største værdi, du ser, tilføj 20 til den og skriv den ned som "UpRestMax". Gentag processen ved at skubbe pinden nedad og vende tilføjelse/subtraktion af værdierne som "UpMin" og "UpRestMin"

Gentag hele processen igen for venstre og højre, start med at skubbe pinden til højre, optag "SideMax" derefter "SideRestMax", mens den springer tilbage og skub til venstre for at optage "SideMin" og "SideRestMin"

Disse værdier er supervigtige, især alle de værdier, der indeholder ordet "Rest". disse værdier skaber den "døde zone" i midten af pinden, således at botten ikke bevæger sig, når pinden hviler i midten, sørg for, at når pinden er centreret, falder værdierne mellem "restMin" og "restMax" for begge akser

Trin 6: Kode

Kode
Kode
Kode
Kode

Den givne kode gør alt for en grundlæggende kilebot med en struktur på plads, så det også er muligt at sende en våben-pwm-værdi.

Nødvendige biblioteker:

  • nRF24L01 Bibliotek herfra: GitHub
  • Software PWM herfra: Google Code

Konfigurer din controller:

Åbn txMix -koden, og skift stick -grænseværdierne til de værdier, du skrev ned i det sidste trin. Dette sikrer, at koden reagerer korrekt på dit joystick (billede 1)

Tilpas rør:

For at sikre, at du ikke forstyrrer andre ved dit arrangement, skal du skifte radiorøret. Dette er faktisk en identifikator, og modtageren vil kun handle på signaler fra det korrekte rør, så sørg for at ændre røret i begge koder til det samme.

På billedet er 2 hex -cifre i røret fremhævet. Dette er de to cifre, der skal ændres for at tilpasse røret. Skift "E1" til enhver anden 2 -cifret hex -værdi, og skriv den ned, så du let kan kontrollere den mod modstanders rør ved en begivenhed

Upload:

  • txMix til controlleren
  • modtage til modtagermodulet

Kør koden ned:

txMix:

Koden læses i joystickpositionen som en "UP" -værdi og en "side" -værdi. disse værdier bliver begrænset baseret på den maksimale værdi, der er angivet for at sikre, at fuld effekt vil blive givet ved den maksimale stickposition.

Disse værdier kontrolleres derefter for at sikre, at pinden er flyttet ud af den neutrale position, hvis den ikke har nuller, sendes.

Værdierne blandes derefter individuelt i to variabler, en for den venstre motorhastighed og en for den højre motorhastighed. I disse variabler bruges en negativ værdi til at angive, at motoren kører baglæns, da det forenkler blandingen.

Venstre og højre hastighedsværdier adskilles derefter i fire værdier pwm -værdier, en for hver: motor højre fremad, motor venstre fremad, motor højre baglæns, motor venstre baglæns.

De fire pwm -værdier sendes derefter til modtageren.

modtage:

Modtager simpelthen signaler fra controlleren, kontrollerer, at signalet ikke indeholder pwm -værdier for frem og tilbage på en enkelt motor, og derefter anvender pwm.

Modtageren fejler også pengeskabe til motorer, når der ikke modtages et signal fra controlleren

Trin 7: Bolting It All Togheter

Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter
Bolting It All Togheter

Loddeforbindelser til motorerne eller lodde motorerne direkte til h-broen. (Jeg foretrækker stik, så jeg simpelthen kan skifte stik, hvis jeg har tilsluttet motorerne forkert)

Lod den positive ledning fra batteristikket til kontaktens midterste pin og en af de ydre ben på kontakten til Vcc på de tilsluttede moduler.

Lod den negative ledning fra batteristikket til GND for de tilsluttede moduler.

(Valgfrit) tilføj yderligere LED'er mellem Vcc og GND. Alle kamprobotter kræver et lys, der er tændt, mens systemet har strøm, afhængigt af komponenterne, dette system har LED'er på Arduino, 3.3v-modulet og h-broen, så længe mindst en af disse er synlige udefra bot denne regel er opfyldt. Yderligere lysdioder kan bruges til at være sikker på, at denne regel er opfyldt og til at tilpasse udseendet

Lidt rå er let at skrue sammen, bolt motorophængene på plads først, tilføj elektronikken, skru derefter låget på plads, en lille mængde velcro hjælper med at holde kontakten til låget

Controlleren er din til at designe og udskrive. Til test har jeg brugt den vedhæftede controller, som er blevet ændret fra James Brutons BB8 V3 -controller

Trin 8: Et ord om robotbekæmpelsesregler

Et ord om robotbekæmpelsesregler
Et ord om robotbekæmpelsesregler

Forskellige lande, stater og grupper kører robotkampbegivenheder med forskellige regler.

Jeg har oprettet dette system og skrevet dette 'i stand til at være så generel som muligt, mens jeg rammer de store regler, der vedrører RC -systemer (især systemet skal være 2,4 GHz digitalt og have et batteriisolationspunkt). For at køre dette system og eller designe din egen første bot er det bedst at komme i kontakt med din lokale gruppe og få en kopi af deres regler.

De regler, din lokale gruppe kører, er absolutte. Tag ikke mit ord i denne instruks over reglerne for din gruppe.

Da dette Arduino -system er nyt for samfundet, vil du højst sandsynligt blive bedt om at få det testet, før du bruger det til en begivenhed. Jeg har kæmpetestet dette system gentagne gange mod standard RC -udstyr og mod sig selv uden interferensproblemer, så det skulle bestå enhver test, men arrangørerne ved din lokale begivenhed har det sidste ord, respekter deres beslutning. Hvis de afviser brugen, skal du spørge, om der er en lånebot, du kan kæmpe med, eller bede om en afklaring på, hvorfor den blev afvist, og forsøge at løse problemet til den næste begivenhed

Trin 9: Yderligere oplysninger om motorer

Yderligere oplysninger om motorer
Yderligere oplysninger om motorer

Mikrogearmotorerne, der bruges i myreklassen, findes i en lang række hastigheder og er enten mærket med omdrejningstal eller gearforhold. Nedenfor er en grov konvertering.

De fleste bots bruger motorer mellem 75: 1 og 30: 1 (med nogle undtagelser ved hjælp af 10: 1). Bots med store roterende våben kan drage fordel af langsommere 75: 1 -motorer, da den langsommere hastighed giver mere kontrol. Smidige kiler, løftere og svømmefødder er bedst på 30: 1 i hænderne på en dygtig chauffør. Jeg anbefaler 50: 1 motorer i en kile til de første kampe, bare for at vænne sig til systemet og kørslen

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

Trin 10: Opdateringer og forbedringer

Det er et par år siden, at jeg postede denne ible, og jeg har lært meget om dette system, så det er tid til at opdatere dem her. Vigtigst er komponentvalget, de originale komponenter fungerede relativt godt, men undertiden mislykkedes under kamp. De 2 store gerningsmænd er H-broen og nrf24l01-modulet, fordi jeg valgte de absolut billigste dele, jeg kunne finde. Disse kan rettes ved:

  • Opgradering af 0,5A H-broen til en 1,5A H-bro, som denne: 1,5A H-bro
  • Opgradering af nrf24l01 -modulet til et fuldt SMD -design: Åbn smart NRF24l01

Sammen med de nye komponentopgraderinger har jeg designet nogle nye printkort, der hjælper med at komprimere RX og tilføje flere funktioner til TX

Jeg har også nogle kodeændringer på vej, så hold øje med dem

Anbefalede: