INHOUDSOPGAWE:

Goedkoop Arduino Combat Robot Control: 10 stappe (met foto's)
Goedkoop Arduino Combat Robot Control: 10 stappe (met foto's)

Video: Goedkoop Arduino Combat Robot Control: 10 stappe (met foto's)

Video: Goedkoop Arduino Combat Robot Control: 10 stappe (met foto's)
Video: Learn Arduino in 30 Minutes: Examples and projects 2024, November
Anonim
Goedkoop Arduino Combat Robot Control
Goedkoop Arduino Combat Robot Control
Goedkoop Arduino Combat Robot Control
Goedkoop Arduino Combat Robot Control
Goedkoop Arduino Combat Robot Control
Goedkoop Arduino Combat Robot Control

Die herlewing van Battlebots in die Verenigde State en Robot Wars in die Verenigde Koninkryk het my liefde vir gevegsrobotika weer aangewakker. So het ek 'n plaaslike groep botbouers gekry en dadelik ingeduik.

Ons veg op die Britse miergewigskaal (150 gram gewigsbeperking) en ek besef vinnig die tradisionele manier om 'n RC -rat te bou: 'n duur RC -sender, 'n lywige of duur ontvanger en ESC's (elektroniese snelheidsbeheerders) wat toorkassies is wat veel meer stroom kan hanteer as wat nodig is vir 'n bot van hierdie grootte.

Nadat ek Arduino in die verlede gebruik het, wou ek dinge anders probeer doen en het ek 'n doelwit gestel van 'n Arduino -stelsel wat 'n wettige sein kan ontvang en twee dryfmotors kan beheer vir ongeveer $ 5 (die helfte van die koste van 'n goedkoop ESC)

Om hierdie doelwit te bereik, het ek hierdie RC-motor weer opgemeng, wat die gewig/koste van die ontvanger verminder en 4 PWM-seine genereer om 'n goedkoop h-bridge-chip te gebruik

Hierdie instruksies fokus op die Arduino -beheerstelsel, maar ek sal ekstra inligting byvoeg om nuwe mense te help om hul eerste bot te bou

Vrywaring:

Selfs op klein skaal kan robotbou/gevegte gevaarlik wees, onderneem op eie risiko

Stap 1: wat u benodig

Materiaal:

Vir die beheerstelsel:

  • 1x Arduino pro mini 5v (USD $ 1,70)
  • 1x nRF24L01 -module ($ 1,14)
  • 1x 3.3v reguleermodule ($ 0.32)
  • 1x dubbele h-brugmodule* ($ 0,90)

Vir die res van 'n basiese wigbot:

  • 2x mikro -ratmotors ** (goedkoop weergawe, betroubare weergawe)
  • 1x 2s litium polimeer battery
  • 1x balanslaaier
  • 1x liposak
  • 1x skakelaar
  • 1 x batteryaansluiting
  • diverse draad (ek het 'n paar Arduino -draaddrade gebruik wat ek rondgelê het)
  • klein skroewe
  • (opsioneel) epoxy
  • (opsioneel) Aluminium (uit 'n koeldrankblik)
  • (opsioneel) ekstra LED's

Vir 'n basiese kontroleerder:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01 -module
  • 1x 3.3v reguleermodule
  • 1x Arduino-joystick

Gereedskap:

  • Skroewedraaier
  • Soldeerbout
  • Tang
  • 3D -drukker (opsioneel, maar dit maak die lewe makliker)

*As u na h-bridge-modules kyk, soek u 'n module met al 4 seiningange langs mekaar; dit sal dit makliker maak om later aan die Arduino te koppel

** Kyk na die laaste stap vir 'n paar wenke oor die kies van motorsnelhede

Stap 2: Druk 'n onderstel uit

Druk 'n onderstel uit
Druk 'n onderstel uit

Voordat u met die beheerstelsel begin, kyk na die ontwerp van die bot wat gebou moet word. Dit is altyd die beste om 'n bot uit die wapen te ontwerp. Vir 'n beginner stel ek voor om met 'n basiese wig te begin; hulle is ontwerp om robuust te wees en teenstanders uit die weg te jaag, wat beteken dat jy minder geneig is om in jou eerste geveg vernietig te word, en dit is makliker om 'n gevoel te kry van bestuur as jy hoef nie bekommerd te wees oor 'n aktiewe wapen nie.

Ek het 'n wigbot ontwerp: 'effens ru' wat beide gepantser en ongewapend getoets is. Dit is 'n goeie eerste bot, maklik om af te druk en kan met 8 skroewe saamgevoeg word. Kyk gerus op Thingiverse vir 'n ander topontwerp

As u nie 'n 3D -drukker besit nie, probeer 'n plaaslike biblioteek, hackerspace of makerruimte

Dit is maklik om ekstra pantser by die drukker aan te bring, die wig en die koeldrank kan met aluminium geskuur word, met 'n skuurpapier gesmeer word, enige skuurstof verwyder, epoxy op die plastiek en die aluminium aangebring word, met klampe of rekkies vasgemaak word vir 12-24 uur

Ek het tans nie 'n openbare wielontwerp nie, aangesien ek rubberbande van 'n opvoedkundige robotkit oor 3D -gedrukte hubs gebruik het. In die komende weke sal ek 'n hub ontwerp wat O-ringe sal gebruik om vas te hou. Sodra die wiele klaar is, sal ek hierdie bladsy en die Thingiverse -bladsy opdateer

Stap 3: Berei die H-brug voor

Berei die H-brug voor
Berei die H-brug voor

Verskillende h-bridge-motorbestuurders kom in verskillende opstellings voor, maar die module wat in die aanvanklike lys gekoppel is, het 2 eindblokke as uitset. Hierdie terminale blokke is swaar en lywig, daarom is dit die beste om dit te verwyder.

Die maklikste manier om dit te doen, is om beide pads terselfdertyd met 'n soldeerbout te verhit en die blokke versigtig met 'n tang uit te waai

Besluit voordat u verder gaan of u die motors in u opset wil omruil. As dit die geval is, kan die Arduino -jumperkabels aan die uitvoer van die module gesoldeer word, dan kan die teenoorgestelde kabel aan die motor gesoldeer word, wat dit verwyderbaar maak indien nodig.

Stap 4: Bedrading van die modules

Bedrading van die modules
Bedrading van die modules
Bedrading van die modules
Bedrading van die modules
Bedrading van die modules
Bedrading van die modules

Die bedrading van die modules kan op 3 verskillende maniere gedoen word, daarom is die ontwerpstap van kritieke belang. Wapenkeuse beïnvloed die vorm van die bot en die keuse van bedrading.

die 3 keuses is:

  1. Los drade (lig, maar meer broos) (prent 1)
  2. Perfboard (swaarder as 1, maar meer robuust met 'n groter voetspoor) (prent 2)
  3. Pasgemaakte printplaat (swaarder as 1, maar robuust met 'n klein voetafdruk) bordontwerp aangeheg (prent 3)

ongeag die keuse wat gemaak is, is die werklike verbindings dieselfde.

Doen die volgende verbindings twee keer (een keer vir die beheerder en een keer vir die ontvanger)

nRF24L01 (pen nommer prent 4 **):

  • Speld 1 -> GND
  • Speld 2 -> uitpen van 3.3v -module
  • Speld 3 -> Arduino -pen 9
  • Speld 4 -> Arduino -pen 10
  • Speld 5 -> Arduino -pen 13
  • Speld 6 -> Arduino -pen 11
  • Speld 7 -> Arduino -pen 12

3.3v module:

  • Vin pin -> Vcc*
  • Uitpen -> pen 2 nRF (soos hierbo)
  • GND -pen -> GND

Arduino:

  • Spelde 9-13 -> maak verbinding met nRF soos hierbo
  • Rou -> Vcc*
  • GND -> GND

Doen die volgende verbindings een keer om te onderskei tussen kontroleerder en ontvanger

Vir die beheerder:

Joystick:

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

Vir die ontvanger:

h-brug module:

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

Dit word die maklikste gedoen deur die penne vir Vcc en GND met draad te vervang, dan die bord onderstebo te draai en die penne direk in die Arduino te soldeer, dit vereenvoudig die soldeer en skep 'n vaste houer vir die motorbestuurder

*Om 'n gevegsrobot wettig te wees, moet 'n isolasiepunt (skakelaar of verwyderbare skakel) tussen die battery en die stroombaan bygevoeg word. Dit beteken dat die positiewe van die battery aan 'n skakelaar gekoppel moet word, en dan die skakelaar wat aan Vcc gekoppel is

** beeld van https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, wat 'n uitstekende bron is vir die nRF24L01-module

Stap 5: Die opstel van die beheerder

Die opstel van die beheerder
Die opstel van die beheerder

As alles eers verbind is, is dit tyd vir 'n paar kode.

Vanaf die kontroleerder is 'n paar potensiometerwaardes nodig om te verseker dat die presiese aansluiting van die joystick met die stuurkode werk.

Laai die "joystickTestVals2" -kode in. Hierdie kode word gebruik om die potensiometerwaardes te lees en deur middel van die reeks te vertoon

Terwyl die kode loop en 'n seriële venster oop is, begin deur na die "UP" -waarde te kyk, druk die joystick in die volledig vorentoe -posisie, die "UP" -waarde sal waarskynlik tussen 'n paar groot getalle spring, kies die kleinste van die waardes wat u sien, trek 10 daarvan af (dit verseker dat die stok heeltemal gedruk word) en skryf dit neer as "Max" om die joystick in die middel terug te laat spring. Kies nou die grootste waarde wat u sien, voeg 20 by en skryf dit neer as "UpRestMax". Herhaal die proses deur die stokkie af te druk en die optel/aftrek van die waardes as "UpMin" en "UpRestMin" om te keer

Herhaal die hele proses weer vir links en regs, begin deur die stok regs te druk, "SideMax" en dan "SideRestMax" op te neem terwyl dit terugspring en links druk om "SideMin" en "SideRestMin" op te neem

Hierdie waardes is uiters belangrik, veral al die waardes wat die woord 'rus' bevat. hierdie waardes skep die "dooie sone" in die middel van die stok, sodat die bot nie beweeg as die stok in die middel rus nie, maak seker dat wanneer die stok gesentreer is, die waardes tussen "restMin" en "restMax" val vir beide asse

Stap 6: Kode

Kode
Kode
Kode
Kode

Die gegewe kode doen alles vir 'n basiese wig-bot met 'n struktuur om ook 'n wapen-pwm-waarde te stuur.

Benodigde biblioteke:

  • nRF24L01 Biblioteek hiervandaan: GitHub
  • Sagteware PWM van hier af: Google -kode

Stel u beheerder op:

maak die txMix -kode oop en verander die limietwaardes van die stok na die waardes wat u in die laaste stap neergeskryf het. Dit sal verseker dat die kode korrek reageer op u joystick (prent 1)

Pas pyp aan:

Om te verseker dat u nie inmeng met iemand anders tydens u geleentheid nie, moet u die radiopyp verander. Dit is eintlik 'n identifiseerder, en die ontvanger werk slegs op seine van die korrekte pyp, dus maak seker dat u die pyp in beide kodes na dieselfde ding verander.

In die prent is 2 heksyfers van die pyp uitgelig. Dit is die twee syfers wat verander moet word om die pyp aan te pas. Verander "E1" na enige ander 2 -syfer hex -waarde en skryf dit neer, sodat u dit maklik by die geleentheid teen die pype van die teenstander kan kontroleer

Laai op:

  • txMix met die beheerder
  • ontvang na die ontvanger module

Voer die kode uit:

txMix:

Die kode lees in die joystick -posisie as 'n "UP" -waarde en 'n "sy -waarde". hierdie waardes word beperk, gebaseer op die maksimum waarde wat verskaf word om te verseker dat die volle krag by die maksimum stokposisie gegee word.

Hierdie waardes word dan nagegaan om te verseker dat die stok uit die neutrale posisie beweeg het, as dit nie nulle het nie.

Die waardes word dan individueel gemeng in twee veranderlikes, een vir die linker motorsnelheid en een vir die regte motorsnelheid. In hierdie veranderlikes word 'n negatiewe waarde gebruik om aan te dui dat die motor agteruit ry, aangesien dit die vermenging vergemaklik.

Die linker- en regterspoedwaardes word dan in vier waardes pwm -waardes geskei, een vir elke: motor regs vorentoe, motor links vorentoe, motor regs agteruit, motor links agteruit.

Die vier pwm -waardes word dan na die ontvanger gestuur.

ontvang:

Ontvang eenvoudig seine van die beheerder, kyk of die sein nie pwm -waardes vir vorentoe en agtertoe op 'n enkele motor bevat nie, en pas dan die pwm toe.

Die ontvanger ontbreek ook die kluise om af te skakel as 'n sein nie van die beheerder ontvang word nie

Stap 7: Maak alles vas Togters

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

Soldeer verbindings aan die motors of soldeer die motors direk aan die h-brug. (Ek verkies verbindings sodat ek die proppe kan verander as ek die motors verkeerd aangesluit het)

Soldeer die positiewe leiding van die batteryaansluiting na die middelste pen van die skakelaar en een van die buitenste penne op die skakelaar aan die Vcc van die gekoppelde modules.

Soldeer die negatiewe lood van die batteryaansluiting na die GND van die gekoppelde modules.

(Opsioneel) voeg ekstra LED's tussen Vcc en GND by. Alle gevegsrobotte benodig 'n lig wat aan is terwyl die stelsel krag het, afhangende van die komponente wat hierdie stelsel LED's op die Arduino, die 3.3v-module en die h-brug het, sodat ten minste een hiervan van buite af sigbaar is bot aan hierdie reël voldoen word. Bykomende LED's kan gebruik word om seker te maak dat hierdie reël nagekom word en om die voorkoms aan te pas

Dit is maklik om 'n bietjie ru te maak, die motorhouers moet eers vasgemaak word, elektronika bygevoeg word en dan die deksel vasgemaak word, 'n klein hoeveelheid klittenband help om die skakelaar na die deksel te hou

U moet die beheerder ontwerp en druk. Vir die toets gebruik ek die aangehegte beheerder wat verander is van James Bruton se BB8 V3 -beheerder

Stap 8: 'n Woord oor robotgevegreëls

'N Woord oor robotreëls
'N Woord oor robotreëls

Verskillende lande, state en groepe voer robotgevegte met verskillende reëls uit.

Ek het hierdie stelsel geskep en dit geskryf om so algemeen as moontlik te wees terwyl ek die belangrikste reëls van RC -stelsels bereik (veral die stelsel moet 2,4 GHz digitaal wees en 'n battery -isolasiepunt hê). Om hierdie stelsel te bestuur en u eie eerste bot te ontwerp, is dit die beste om met u plaaslike groep in aanraking te kom en 'n afskrif van hul reëls te kry.

Die reëls wat u plaaslike groep uitvoer, is absoluut; neem my nie in hierdie instruksies oor die reëls van u groep nie.

Aangesien hierdie Arduino -stelsel nuut is vir die gemeenskap, sal u waarskynlik gevra word om dit te laat toets voordat u dit tydens 'n geleentheid gebruik. Ek het hierdie stelsel herhaaldelik getoets teen standaard RC -toerusting en teen homself sonder enige inmengingskwessies. As hulle die gebruik daarvan verwerp, vra of daar 'n leningsbot is waarmee u kan baklei, of vra vir 'n verduideliking waarom dit verwerp is, en probeer om die probleem op te los vir die volgende geleentheid

Stap 9: Bykomende inligting oor motors

Bykomende inligting oor motors
Bykomende inligting oor motors

Die mikrotandmotors wat in die mierklas gebruik word, kom in 'n groot verskeidenheid snelhede en word gemerk met RPM of ratverhouding. Hieronder is 'n rowwe omskakeling.

Die meeste bots gebruik motors tussen 75: 1 en 30: 1 (met enkele uitsonderings met 10: 1). Bots met groot draaiende wapens kan baat by stadiger 75: 1 -motors, aangesien die stadiger spoed meer beheer moontlik maak. Vinnige wiggies, lifters en flippers is die beste op 30: 1 in die hande van 'n vaardige bestuurder. Ek beveel 50: 1 motors in 'n wig aan vir die eerste paar gevegte net om gewoond te raak aan die stelsel en bestuur

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

Stap 10: Opdaterings en verbeterings

Dit is 'n paar jaar gelede dat ek hierdie 'ible' geplaas het en ek het baie geleer oor hierdie stelsel, daarom is dit tyd om dit hier by te werk. Die twee groot oortreders is die H-Bridge en die nrf24l01-module, omdat ek die absoluut goedkoopste onderdele gekies het wat ek kon vind. Dit kan opgelos word deur:

  • Opgradering van die 0.5A H-brug na 'n 1.5A H-brug, soos hierdie: 1.5A H-brug
  • Opgradering van die nrf24l01 -module tot 'n volledig SMD -ontwerp: maak slim NRF24l01 oop

Saam met die nuwe komponentopgraderings het ek 'n paar nuwe PCB's ontwerp wat help om die RX te kompakteer en meer funksies by die TX te voeg

Ek het ook 'n paar kodeveranderinge, so bly op hoogte daarvan

Aanbeveel: