Kazalo:

Poceni Arduino Combat Robot Control: 10 korakov (s slikami)
Poceni Arduino Combat Robot Control: 10 korakov (s slikami)

Video: Poceni Arduino Combat Robot Control: 10 korakov (s slikami)

Video: Poceni Arduino Combat Robot Control: 10 korakov (s slikami)
Video: Высокая плотность 2022 2024, November
Anonim
Poceni Arduino Combat Robot Control
Poceni Arduino Combat Robot Control
Poceni Arduino Combat Robot Control
Poceni Arduino Combat Robot Control
Poceni Arduino Combat Robot Control
Poceni Arduino Combat Robot Control

Ponovno oživitev bojnih robotov v državah in robotskih vojn v Združenem kraljestvu je znova obudila mojo ljubezen do bojne robotike. Tako sem našel lokalno skupino izdelovalcev botov in se takoj potopil.

Borimo se na lestvici teže mravlje v Združenem kraljestvu (omejitev teže 150 gramov) in hitro sem spoznal tradicionalni način izdelave RC orodja, ki vključuje bota: drag oddajnik RC, obsežen ali drag sprejemnik in ESC (elektronski krmilniki hitrosti), ki so čarobne škatle ki lahko prenese veliko več toka, kot je potrebno za bota te velikosti.

Ker sem v preteklosti uporabljal Arduino, sem hotel poskusiti narediti nekaj drugače in si zastavil cilj sistema Arduino, ki lahko sprejme bojni pravni signal in nadzoruje dva pogonska motorja za približno 5 USD (polovica cene poceni ESC)

Da bi pomagal doseči ta cilj, sem remiksal ta RC avtomobil po navodilih, zmanjšal težo/stroške sprejemnika in ustvaril 4 PWM signale za zagon poceni čipa h-bridge

Ta pouk se bo osredotočil na nadzorni sistem Arduino, vendar bom dodal dodatne informacije, ki bodo novim ljudem pomagale zgraditi prvega bota

Zavrnitev odgovornosti:

Tudi pri manjših bojnih zgradbah/bojih je lahko nevarno, lotite se na lastno odgovornost

1. korak: Kaj potrebujete

Materiali:

Za krmilni sistem:

  • 1x Arduino pro mini 5v (1,70 USD)
  • 1x modul nRF24L01 (1,14 USD)
  • 1x regulator 3.3V (0,32 USD)
  • 1x dvojni modul h-most* (0,90 USD)

Za ostale osnovne klinaste bote:

  • 2x mikro gonilna motorja ** (poceni različica, zanesljiva različica)
  • 1x 2s litij -polimerna baterija
  • 1x polnilnik za ravnotežje
  • 1x vrečka za polnjenje lipo
  • 1x stikalo
  • 1x priključek za baterijo
  • misc žica (uporabil sem nekaj Arduino mostičkov, ki sem jih imel naokoli)
  • majhni vijaki
  • (neobvezno) epoksid
  • (neobvezno) Aluminij (iz pločevinke brezalkoholnih pijač)
  • (neobvezno) dodatne LED diode

Za osnovni krmilnik:

  • 1x Arduino pro mini 5v
  • 1x modul nRF24L01
  • 1x 3.3V regulatorni modul
  • 1x Arduino-igralna palica

Orodja:

  • Izvijač
  • Spajkalnik
  • Klešče
  • 3D tiskalnik (neobvezno, vendar olajša življenje)

*pri ogledu modulov h-bridge poiščite modul z vsemi štirimi signalnimi vhodi drug poleg drugega, kar bo olajšalo kasnejšo priključitev na Arduino

** v zadnjem koraku si oglejte nekaj nasvetov o izbiri hitrosti motorja

2. korak: Natisnite ohišje

Natisnite ohišje
Natisnite ohišje

Preden začnete z nadzornim sistemom, si oglejte zasnovo bota, ki ga želite zgraditi. Vedno je najbolje oblikovati robota iz orožja. Za začetnike predlagam, da začnete z osnovnim klinom, ki je zasnovan tako, da je robusten in odriva nasprotnike s poti, kar pomeni, da boste v prvi bitki manj verjetno uničeni, poleg tega pa je lažje dobiti občutek za vožnjo, ko ne Ni vam treba skrbeti za aktivno orožje.

Oblikoval sem klinastega bota: "Slightly Crude", ki je bil bojno preizkušen, tako oklepen kot neoborožen. To je dober prvi bot, enostaven za tiskanje in ga je mogoče sestaviti skupaj z 8 vijaki. Oglejte si drugačen vrhunski dizajn na Thingiverse

Če nimate 3D tiskalnika, poskusite v lokalni knjižnici, prostoru za hekerje ali prostoru za izdelovalce

Dodajanje dodatnega oklepa je enostavno narediti sveže s tiskalnika, brusiti klin in pločevinko brezalkoholne pijače z aluminijem z brusnim papirjem, očistiti ves brusni prah, nanesti epoksid na plastiko in aluminij, držati skupaj s sponkami ali gumijastimi trakovi za 12-24 ur

Trenutno nimam javne zasnove koles, saj sem uporabljal gumijaste pnevmatike iz izobraževalnega kompleta za robotiko na 3D tiskanih pestoh. V prihodnjih tednih bom oblikoval pesto, ki bo za oprijem uporabljalo O-obroče. Ko bodo kolesa končana, bom posodobil to stran in stran Thingiverse

3. korak: Pripravite H-most

Pripravite H-most
Pripravite H-most

Različni gonilniki motorjev h-bridge so v različnih nastavitvah, modul, povezan na začetnem seznamu, pa ima kot izhod 2 priključna bloka. Ti priključni bloki so težki in obsežni, zato jih je najbolje odstraniti.

Najlažji način za to je, da obe blazinici hkrati segrejete s spajkalnikom in bloke previdno potegnete s kleščami

Preden nadaljujete, se odločite, ali želite v svoji nastavitvi zamenjati motorje. Če je tako, lahko mostične kable Arduino spajkate v izhod modula, nato pa nasprotni kabel spajkate na motor, tako da jih po potrebi odstranite.

4. korak: Ožičenje modulov

Ožičenje modulov
Ožičenje modulov
Ožičenje modulov
Ožičenje modulov
Ožičenje modulov
Ožičenje modulov

Ožičenje modulov je mogoče izvesti na 3 različne načine, zato je korak pri načrtovanju ključnega pomena. Izbira orožja bo vplivala na obliko bota in izbiro ožičenja.

tri izbire so:

  1. Ohlapne žice (lahke, vendar bolj krhke) (slika 1)
  2. Perfboard (težji od 1, vendar robustnejši z večjim odtisom) (slika 2)
  3. Priložena je plošča po meri (težja od 1, vendar robustna z majhnim odtisom) (slika 3)

ne glede na izbrano izbiro so dejanske povezave enake.

Dvakrat izvedite naslednje povezave (enkrat za krmilnik in enkrat za sprejemnik)

nRF24L01 (slika oštevilčenja pin 4 **):

  • Pin 1 -> GND
  • Pin 2 -> izhod pin 3.3v modula
  • 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*
  • Izhodni pin -> pin 2 nRF (kot zgoraj)
  • GND pin -> GND

Arduino:

  • Zatiči 9-13 -> povežite z nRF, kot je opisano zgoraj
  • Surovo -> Vcc*
  • GND -> GND

Za razlikovanje med krmilnikom in sprejemnikom enkrat naredite naslednje povezave

Za krmilnik:

Joystick:

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

Za sprejemnik:

modul h-bridge:

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

To je najlažje narediti tako, da nožice za Vcc in GND zamenjate z žico, nato ploščo obrnete na glavo in spajkate zatiče neposredno v Arduino, kar poenostavi spajkanje in ustvari zanesljiv nosilec za gonilnika motorja

*da je bojni robot zakonit, je treba med baterijo in vezjem dodati izolacijsko točko (stikalo ali odstranljivo povezavo). To pomeni, da mora biti pozitivni del baterije priključen na stikalo, nato pa stikalo priključeno na Vcc

** slika s https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, ki je odličen vir za modul nRF24L01

5. korak: Nastavitev krmilnika

Nastavitev krmilnika
Nastavitev krmilnika

Ko je vse povezano, je čas za neko kodo.

Začenši s krmilnikom, so potrebne nekatere vrednosti potenciometra, da se zagotovi, da bo natančno povezana krmilna palica delovala s kodo oddajnika.

Naložite kodo "joystickTestVals2". Ta koda se uporablja za branje vrednosti potenciometra in njihovo serijsko prikazovanje

Ko teče koda in odprto serijsko okno, začnite z ogledom vrednosti "UP", potisnite krmilno palčko v položaj za naprej, vrednost "UP" bo verjetno skočila med nekaj velikimi številkami, izberite najmanjšo od vrednosti, ki jih vidite, od nje odštejte 10 (to bo zagotovilo, da bo potiskanje palice do konca dalo polno moč) in jo zapišite kot "Up Max", da se igralna palica vrne nazaj v sredino. Zdaj izberite največjo vrednost, ki jo vidite, ji dodajte 20 in jo zapišite kot "UpRestMax". Postopek ponovite tako, da potisnete palico navzdol in obrnete seštevanje/odštevanje zapisovanja vrednosti kot "UpMin" in "UpRestMin"

Celoten postopek znova ponovite za levo in desno, začenši s potiskanjem palice desno, snemanjem "SideMax", nato "SideRestMax", ko se vrti nazaj, in s pritiskom na levo za snemanje "SideMin" in "SideRestMin"

Te vrednosti so zelo pomembne, zlasti vse vrednosti, ki vsebujejo besedo "počitek". te vrednosti ustvarijo "mrtvo območje" v sredini palice, tako da se bot ne bo premaknil, ko bo palica počivala v sredini, poskrbite, da bodo vrednosti, ko je palica centrirana, padle med "restMin" in "restMax" za obe osi

6. korak: Koda

Koda
Koda
Koda
Koda

Navedena koda naredi vse za osnovni klin-bot s strukturo, ki omogoča pošiljanje vrednosti pwm orožja.

Potrebne knjižnice:

  • Knjižnica nRF24L01 od tukaj: GitHub
  • Programska oprema PWM od tukaj: Google Code

Nastavite krmilnik:

odprite kodo txMix in spremenite mejne vrednosti palic na vrednosti, ki ste jih zapisali v zadnjem koraku. To bo zagotovilo, da se koda pravilno odzove na krmilno palčko (slika 1)

Prilagodite cev:

Če želite zagotoviti, da na svojem dogodku ne motite nikogar drugega, boste morali spremeniti radijsko cev. To je v bistvu identifikator in sprejemnik bo deloval le na signale iz pravilne cevi, zato ne pozabite spremeniti cevi v obeh kodah na isto.

Na sliki 2 sta označeni šestkotni števki cevi. To sta dve števki, ki ju je treba spremeniti za prilagoditev cevi. Spremenite "E1" v katero koli drugo dvomestno šestnajstiško vrednost in jo zapišite, tako da jo lahko preprosto preverite glede na nasprotnikove cevi na dogodku

Naloži:

  • txMix v krmilnik
  • sprejem v sprejemni modul

Zaženi kodo:

txMix:

Koda se v položaju krmilne palice bere kot vrednost "UP" in "side". te vrednosti so omejene glede na največjo vrednost, ki je zagotovljena, da se zagotovi maksimalna moč pri položaju največje palice.

Te vrednosti se nato preverijo, da se prepriča, da se je palica premaknila iz nevtralnega položaja, če ni poslanih nič.

Vrednosti se nato posamično pomešajo v dve spremenljivki, eno za hitrost levega motorja in eno za desno hitrost motorja. V teh spremenljivkah je negativna vrednost označena za vožnjo motorja nazaj, saj poenostavlja mešanje.

Levi in desni hitrosti sta nato razdeljeni na štiri vrednosti pwm, za vsako po eno: motor desno naprej, motor levo naprej, motor desno nazaj, motor levo nazaj.

Štiri vrednosti pwm se nato pošljejo sprejemniku.

prejeti:

Preprosto sprejema signale iz krmilnika, preveri, ali signal ne vsebuje vrednosti pwm za naprej in nazaj na enem motorju, nato uporabi pwm.

Sprejemnik tudi odklopi varovalke motorjev, ko iz krmilnika ne prejme signala

Korak 7: Privijte vse skupaj

Privijte vse skupaj
Privijte vse skupaj
Privijte vse skupaj
Privijte vse skupaj
Privijte vse skupaj
Privijte vse skupaj

Spajkajte priključke na motorje ali spajkajte motorje neposredno na h-most. (Raje imam priključke, tako da lahko preprosto zamenjam vtiče, če sem motorje napačno priključil)

Pozitivni kabel iz priključka za baterijo spajkajte na srednji zatič stikala in enega od zunanjih zatičev stikala na Vcc priključenih modulov.

Spojite negativni kabel iz priključka akumulatorja na GND priključenih modulov.

(Izbirno) dodajte dodatne LED med Vcc in GND. Vsi bojni roboti potrebujejo luč, ki sveti, medtem ko ima sistem moč, odvisno od komponent, ki jih ima ta sistem na LED-jih na Arduinu, modulu 3.3v in h-mostu, tako da je vsaj eden od teh viden od zunaj ker je to pravilo izpolnjeno. Za zagotovitev izpolnjevanja tega pravila in prilagoditev videza lahko uporabite dodatne LED diode

Rahlo surovo je preprosto pritrditi skupaj, najprej pritrdite nosilce motorja, dodajte elektroniko, nato privijte pokrov, majhna količina velcro bo pomagala držati stikalo na pokrovu

Krmilnik je vaš za oblikovanje in tiskanje. Za testiranje sem uporabil priloženi krmilnik, ki je bil spremenjen iz krmilnika BB8 V3 Jamesa Brutona

8. korak: Beseda o bojnih pravilih robotov

Beseda o borilnih pravilih robotov
Beseda o borilnih pravilih robotov

V različnih državah, državah in skupinah potekajo robotski bojni dogodki z različnimi pravili.

Ustvaril sem ta sistem in zapisal, da je čim bolj splošen, pri tem pa upoštevam glavna pravila, ki se nanašajo na RC sisteme (predvsem bi moral biti sistem 2,4 GHz digitalni in imeti izolacijsko točko za baterijo). Če želite zagnati ta sistem in / ali oblikovati svojega prvega bota, je najbolje, da stopite v stik s svojo lokalno skupino in pridobite kopijo njihovih pravil.

Pravila, ki jih vodi vaša lokalna skupina, so absolutna. Ne verjemite mi v besedo tega pravila glede pravil vaše skupine.

Ker je ta sistem Arduino nov v skupnosti, boste pred uporabo na dogodku najverjetneje pozvani, da ga preizkusite. Ta sistem sem večkrat preizkusil proti standardni opremi RC in proti sebi brez kakršnih koli motenj, zato bi moral prestati vse preizkuse, vendar imajo organizatorji na vašem lokalnem dogodku zadnjo besedo, spoštujte njihovo odločitev. Če zavrnejo njegovo uporabo, vprašajte, ali obstaja posojilo bot, s katerim se lahko borite, ali prosite za pojasnilo, zakaj je bilo zavrnjeno, in poskusite odpraviti težavo za naslednji dogodek

9. korak: Dodatne informacije o motorjih

Dodatne informacije o motorjih
Dodatne informacije o motorjih

Mikro gonilni motorji, ki se uporabljajo v razredu mravelj, imajo veliko število vrtljajev in so označeni z RPM ali prestavnim razmerjem. Spodaj je groba pretvorba.

Večina robotov uporablja motorje med 75: 1 in 30: 1 (z nekaj izjemami pri uporabi 10: 1). Boti z velikim vrtečim se orožjem imajo lahko koristi od počasnejših motorjev 75: 1, saj počasnejša hitrost omogoča večji nadzor. Spretni klini, dvigala in plavuti so najboljši pri 30: 1 v rokah usposobljenega voznika. Motorje 50: 1 priporočam v klin za prvih nekaj bojev samo zato, da se navadiš na sistem in vožnjo

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

10. korak: Posodobitve in izboljšave

Minilo je nekaj let, odkar sem objavil ta dokument in izvedel sem veliko o tem sistemu, zato je čas, da jih posodobim tukaj. Najpomembnejša je izbira komponent, prvotne komponente so delovale relativno dobro, včasih pa med bojem niso uspele. Dva velika storilca sta H-Bridge in modul nrf24l01, ker sem izbral absolutno najcenejše dele, ki sem jih našel. Te lahko popravite z:

  • Nadgradnja 0.5A H-mostu na 1.5A H-most, kot je ta: 1.5A H-most
  • Nadgradnja modula nrf24l01 na popolnoma SMD zasnovo: Odprite pametno NRF24l01

Skupaj z novimi nadgradnjami komponent sem oblikoval nekaj novih tiskanih vezij, ki pomagajo kompaktirati RX in dodati več funkcij TX

Prihajajo tudi nekatere spremembe kode, zato bodite pozorni nanje

Priporočena: