Sisukord:

Odav Arduino Combat Robot Control: 10 sammu (piltidega)
Odav Arduino Combat Robot Control: 10 sammu (piltidega)

Video: Odav Arduino Combat Robot Control: 10 sammu (piltidega)

Video: Odav Arduino Combat Robot Control: 10 sammu (piltidega)
Video: Infrared Obstacle Avoidance module for Arduino with code 2024, Juuli
Anonim
Odav Arduino Combat Robot Control
Odav Arduino Combat Robot Control
Odav Arduino Combat Robot Control
Odav Arduino Combat Robot Control
Odav Arduino Combat Robot Control
Odav Arduino Combat Robot Control

Lahingupommide taaselustamine osariikides ja Robotisõjad Ühendkuningriigis pani mu armastuse võitlusrobootika vastu uuesti elama. Nii leidsin kohaliku grupi botide ehitajaid ja sukeldusin otse sisse.

Me võitleme Ühendkuningriigi sipelgakaalu skaalal (kaalupiirang 150 grammi) ja ma mõistsin kiiresti traditsioonilist robotite loomise viisi, mis hõlmas RC -käiku: kallis RC -saatja, mahukas või kallis vastuvõtja ja ESC -d (elektroonilised kiiruse regulaatorid), mis on võlukastid. mis suudavad taluda palju rohkem voolu, kui on vaja sellise suurusega botil.

Olles varem Arduinot kasutanud, tahtsin proovida ja teha asju teisiti ning seada endale eesmärgiks Arduino süsteem, mis suudab vastu võtta lahingusignaali ja juhtida kahte ajamimootorit hinnaga umbes 5 USD (pool odava ESC hinnast)

Selle eesmärgi saavutamiseks segasin selle juhitava RC-auto uuesti, vähendades vastuvõtja kaalu/maksumust ja genereerides 4 PWM-signaali odava h-silla kiibi käitamiseks

See juhend juhendab Arduino juhtimissüsteemi, kuid lisan lisateavet, et aidata uutel inimestel luua oma esimene robot

Vastutusest loobumine:

Isegi väikesemahulise võitlusroboti ehitamine/lahing võib olla ohtlik, tehke seda omal vastutusel

Samm: mida vajate

Materjalid:

Juhtimissüsteemi jaoks:

  • 1x Arduino pro mini 5v (1,70 USD)
  • 1x nRF24L01 moodul (1,14 dollarit)
  • 1x 3.3v regulaatorimoodul (0,32 dollarit)
  • 1x kahekordne h-silla moodul* (0,90 dollarit)

Ülejäänud põhilise kiiluboti puhul:

  • 2x mikrokäigukastiga mootorid ** (odav versioon, usaldusväärne versioon)
  • 1x 2s liitium -polümeer aku
  • 1x tasakaalu laadija
  • 1x lipo laadimiskott
  • 1x lüliti
  • 1x aku pistik
  • miski traat (kasutasin mõnda Arduino džemprijuhet, mis mul ümber oli)
  • väikesed kruvid
  • (valikuline) epoksü
  • (valikuline) alumiinium (karastusjoogipurgist)
  • (valikuline) täiendavad LED -id

Põhikontrolleri jaoks:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01 moodul
  • 1x 3.3v regulaatorimoodul
  • 1x Arduino juhtkang

Tööriistad:

  • Kruvikeeraja
  • Jootekolb
  • Tangid
  • 3D -printer (valikuline, kuid see muudab elu lihtsamaks)

*vaadates h-silla mooduleid, otsige moodul, kus kõik 4 signaali sisendit on kõrvuti, see hõlbustab hiljem Arduino külge kinnitamist

** vaadake viimast sammu, et saada näpunäiteid mootori pöörlemiskiiruse valimiseks

2. samm: šassii printimine

Printige šassii
Printige šassii

Enne juhtimissüsteemiga alustamist vaadake ehitatava roboti konstruktsiooni. Alati on parem kujundada robot relvast välja. Algajale soovitan alustada põhikiilust, kuna need on loodud tugevaks ja tõrjuvad vastased teelt eemale, mis tähendab, et teie esimene võitlus hävitab vähem tõenäosust, lisaks on lihtsam tunda sõidu tunnet, kui te seda ei tee. ei pea muretsema aktiivse relva pärast.

Olen kujundanud kiiluboti: "Kergelt toore", mis on lahingutestitud nii soomustatud kui ka relvastamata. See on hea esimene robot, lihtne printida ja seda saab kokku panna 8 kruviga. Teise tippkujunduse jaoks vaadake seda Thingiversest

Kui teil pole 3D -printerit, proovige kohalikku raamatukogu, häkkeriruumi või tegijaruumi

Lisavarustuse lisamist on lihtne printerist värskelt teha, lihvige nii kiil kui ka karastusjoogipurk alumiiniumist liivapaberiga, pühkige maha lihvimistolm, kandke epoksüüd nii plastikule kui ka alumiiniumile, hoidke koos klambrite või kummipaeltega 12-24 tundi

Mul pole praegu avalikku rattakujundust, kuna olen 3D -trükitud jaoturite kohal kasutanud haridusrobootikakomplekti kummist rehve. Lähinädalatel kavandan jaoturit, mis kasutab haardumiseks O-rõngaid. Kui rattad on tehtud, värskendan seda lehte ja Thingiverse lehte

3. samm: valmistage H-sild ette

Valmistage H-sild ette
Valmistage H-sild ette

Erinevad h-silla mootoridraiverid on erinevates seadistustes, kuid esialgses loendis lingitud moodulil on väljundina 2 klemmiplokki. Need klemmiplokid on rasked ja mahukad, seega on kõige parem need eemaldada.

Lihtsaim viis seda teha on kuumutada mõlemat patja korraga jootekolbiga ja klotsid klotside abil tangidega ettevaatlikult välja väänata

Enne jätkamist otsustage, kas soovite oma seadistuses mootorid välja vahetada. Kui jah, siis saab Arduino hüppajakaableid mooduli väljundisse joota, seejärel mootori külge joota vastupidise kaabli, muutes need vastavalt vajadusele eemaldatavaks.

Samm: moodulite ühendamine

Moodulite juhtmestik
Moodulite juhtmestik
Moodulite juhtmestik
Moodulite juhtmestik
Moodulite juhtmestik
Moodulite juhtmestik

Moodulite juhtmestikku saab teha 3 erineval viisil, mistõttu on projekteerimisetapp kriitiline. Relva valik mõjutab roboti kuju ja juhtmestiku valikut.

3 valikut on:

  1. Lahtised juhtmed (kerge, kuid habras) (pilt 1)
  2. Perfboard (raskem kui 1, kuid vastupidavam ja suurema jalajäljega) (pilt 2)
  3. Kohandatud trükkplaat (raskem kui 1, kuid vastupidav ja väikese jalajäljega) plaadi disain lisatud (pilt 3)

olenemata tehtud valikust on tegelikud ühendused samad.

Tehke järgmised ühendused kaks korda (üks kord kontrolleri ja teine vastuvõtja jaoks)

nRF24L01 (tihvtide nummerdamise pilt 4 **):

  • Tihvt 1 -> GND
  • Pin 2 -> 3.3v mooduli väljund
  • Tihvt 3 -> Arduino tihvt 9
  • Tihvt 4 -> Arduino tihvt 10
  • Tihvt 5 -> Arduino tihvt 13
  • Tihvt 6 -> Arduino tihvt 11
  • Tihvt 7 -> Arduino tihvt 12

3.3v moodul:

  • Vin pin -> Vcc*
  • Väljundtihvt -> tihvt 2 nRF (nagu ülal)
  • GND tihvt -> GND

Arduino:

  • Tihvtid 9-13 -> ühendage nRF -iga, nagu eespool
  • Toores -> Vcc*
  • GND -> GND

Kontrolleri ja vastuvõtja eristamiseks tehke üks kord järgmisi ühendusi

Kontrolleri jaoks:

Juhtkang:

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

Vastuvõtja jaoks:

h-silla moodul:

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

Seda on kõige lihtsam teha, asendades Vcc ja GND tihvtid traadiga, keerates plaadi tagurpidi ja jootes tihvtid otse Arduino sisse, see lihtsustab jootmist ja loob mootori juhi jaoks kindla kinnituse.

*selleks, et võitlusrobot oleks seaduslik, tuleb aku ja vooluahela vahele lisada eralduspunkt (lüliti või eemaldatav link). See tähendab, et aku positiivne osa tuleb ühendada lülitiga, seejärel lüliti ühendada Vcc -ga

** pilt saidilt https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, mis on suurepärane ressurss mooduli nRF24L01 jaoks

Samm: kontrolleri seadistamine

Kontrolleri seadistamine
Kontrolleri seadistamine

Kui kõik on ühendatud, on aeg mõne koodi jaoks.

Alustades kontrollerist, on vaja mõningaid potentsiomeetri väärtusi, tagamaks, et täpselt ühendatud juhtkang töötab edastuskoodiga.

Laadige sisse kood "joystickTestVals2". Seda koodi kasutatakse potentsiomeetri väärtuste lugemiseks ja nende jada kaudu kuvamiseks

Kui kood töötab ja jadaaken on avatud, vaadake väärtust "ÜLES", lükake juhtnupp täielikult ettepoole, "ÜLES" väärtus hüppab tõenäoliselt mõne suure numbri vahele, valige väikseim nähtavatest väärtustest, lahutage sellest 10 (see tagab, et pulga lõpuni surumine annab täisvõimsuse) ja kirjutage see kirja "Up Max", et juhtkang saaks tagasi keskele liikuda. Nüüd valige suurim väärtus, mida näete, lisage sellele 20 ja kirjutage see üles "UpRestMax". Korrake protsessi, vajutades pulka allapoole ja pöörates liitmis-/lahutamissalvestuse väärtused "UpMin" ja "UpRestMin" ümber.

Korrake kogu protsessi uuesti vasakule ja paremale, alustades pulga paremale lükkamisega, salvestades "SideMax", seejärel "SideRestMax", kui see tagasi tõuseb, ja vajutades vasakule, et salvestada "SideMin" ja "SideRestMin"

Need väärtused on ülitähtsad, eriti kõik väärtused, mis sisaldavad sõna "Puhka". need väärtused loovad pulga keskele "surnud tsooni", nii et bot ei liiguks, kui kepp jääb keskele, veenduge, et kui kepp on tsentreeritud, jäävad väärtused "restMin" ja "restMax" vahele mõlema telje jaoks

6. samm: kood

Kood
Kood
Kood
Kood

Antud kood teeb kõik põhilise kiil-boti jaoks, millel on struktuur, mis võimaldab saata ka relva pwm väärtuse.

Vajalikud raamatukogud:

  • nRF24L01 raamatukogu siit: GitHub
  • Tarkvara PWM siit: Google'i kood

Seadistage oma kontroller:

avage txMix kood ja muutke pulga piirväärtused väärtustele, mille olete viimases etapis kirja pannud. See tagab, et kood reageerib teie juhtkangile õigesti (pilt 1)

Kohandage toru:

Veendumaks, et te ei sega oma üritusel kedagi teist, peate raadiotoru vahetama. See on tegelikult identifikaator ja vastuvõtja tegutseb ainult õige toru signaalide järgi, seega muutke kindlasti mõlemas koodis olev toru sama asjaks.

Pildil 2 on toru kuusnurksed numbrid esile tõstetud. Need on kaks numbrit, mida tuleb toru kohandamiseks muuta. Muutke "E1" mis tahes muuks kahekohaliseks kuueteistkümnendiks ja kirjutage see üles, et saaksite seda lihtsalt üritusel vastaste torude suhtes kontrollida

Laadi üles:

  • txMix kontrollerile
  • vastuvõtvasse moodulisse vastu võtma

Koodi käivitamine:

txMix:

Kood loeb juhtkangi asendis väärtuseks "ÜLES" ja "külg". need väärtused on piiratud maksimaalse väärtuse alusel, et tagada täisvõimsus maksimaalse pulgaga.

Seejärel kontrollitakse neid väärtusi, et veenduda, et kepp on neutraalasendist välja liikunud, kui sellel pole nulle saadetud.

Seejärel segatakse väärtused ükshaaval kaheks muutujaks, üks vasaku ja teine parema mootori pöörlemiskiiruse jaoks. Nende muutujate puhul kasutatakse negatiivset väärtust, mis näitab, et mootor liigub tagurpidi, kuna see lihtsustab segamist.

Seejärel jagatakse vasak- ja parempoolse kiiruse väärtused neljaks väärtuseks pwm, üks kummagi jaoks: mootor paremale edasi, mootor vasakule edasi, mootor paremale taha, mootor vasakule tahapoole.

Seejärel saadetakse neli pwm väärtust vastuvõtjale.

saada:

Lihtsalt võtab kontrollerilt signaale vastu, kontrollib, et signaal ei sisaldaks pwm väärtusi ühele mootorile edasi ja tagasi, seejärel rakendab pwm.

Vastuvõtja rikub ka mootorite seifid, kui kontrollerilt signaali ei võeta

Samm: keerake see kõik Togheterisse

Polding It All Togheter
Polding It All Togheter
Polding It All Togheter
Polding It All Togheter
Polding It All Togheter
Polding It All Togheter

Jootke pistikud mootorite külge või jootke mootorid otse h-silla juurde. (Ma eelistan pistikuid, et saaksin lihtsalt pistikuid vahetada, kui olen mootorid valesti ühendanud)

Jootke positiivne juhe aku pistikust lüliti keskmise tihvti ja üks lüliti välimistest tihvtidest ühendatud moodulite Vcc külge.

Jootke aku pistiku negatiivne juhe ühendatud moodulite GND -le.

(Valikuline) lisage Vcc ja GND vahele täiendavaid LED -e. Kõik lahingrobotid vajavad valgust, mis põleb süsteemi toite ajal, olenevalt komponentidest on sellel süsteemil LED-id Arduino, 3.3v moodulil ja h-sillal, kuni vähemalt üks neist on väljastpoolt nähtav bot see reegel on täidetud. Selle reegli täitmise tagamiseks ja välimuse kohandamiseks saab kasutada täiendavaid LED -e

Kergelt toornafta on lihtne kokku keerata, keerake kõigepealt mootorikinnitused oma kohale, lisage elektroonika, seejärel keerake kaas kohale, väike takjapael aitab lülitit kaane juures hoida

Kontroller on teie kujundada ja printida. Testimiseks kasutasin lisatud kontrollerit, mida on muudetud James Brutoni BB8 V3 kontrollerist

8. samm: sõna robotivõitluse reeglite kohta

Sõna robotite võitlusreeglitest
Sõna robotite võitlusreeglitest

Erinevad riigid, osariigid ja rühmitused korraldavad erinevate reeglitega robotlahinguid.

Olen selle süsteemi loonud ja kirjutanud selle, et see oleks võimalikult üldine, tabades samas peamisi reegleid, mis puudutavad RC -süsteeme (eelkõige peaks süsteem olema 2,4 GHz digitaalne ja sellel peaks olema aku eralduspunkt). Selle süsteemi käivitamiseks ja / või oma esimese roboti kujundamiseks on kõige parem võtta ühendust kohaliku grupiga ja saada koopia nende reeglitest.

Reeglid, mida teie kohalik rühm jookseb, on absoluutsed, ärge võtke minu juhiseid selles juhendis teie rühma reeglite üle.

Kuna see Arduino süsteem on kogukonna jaoks uus, palutakse teil seda tõenäoliselt enne üritusel kasutamist testida. Olen seda süsteemi korduvalt lahingutestinud standardse RC -varustuse ja enda vastu ilma häireteta, nii et see peaks läbima kõik testid, kuid teie kohaliku ürituse korraldajatel on viimane sõna, austage oma otsust. Kui nad selle kasutamise tagasi lükkavad, küsige, kas on olemas laenurobot, millega saate võidelda, või küsige selgitust selle kohta, miks see tagasi lükati, ja proovige järgmine sündmus probleemi lahendada

9. samm: lisateave mootorite kohta

Lisateave mootorite kohta
Lisateave mootorite kohta

Sipelgate klassis kasutatavad mikrokäigumootorid on suurel hulgal kiirustel ja on tähistatud kas pöörete arvu või ülekandearvuga. Allpool on ligikaudne konversioon.

Enamik roboteid kasutab mootoreid vahemikus 75: 1 kuni 30: 1 (mõned erandid kasutavad 10: 1). Suure pöörleva relvaga robotid saavad kasu aeglasematest 75: 1 mootoritest, kuna aeglasem kiirus võimaldab rohkem juhtida. Nõtked kiilud, tõstjad ja lestad on 30: 1 paremad vilunud juhi käes. Soovitan esimesteks võitlusteks 50: 1 mootoreid kiilus lihtsalt süsteemi ja sõitmisega harjumiseks

  • 12V 2000 p / min (või 6V 1000 p / min) -> 30: 1
  • 6V 300RPM -> 50: 1

Samm: värskendused ja täiustused

Selle "ible'i" postitamisest on möödunud paar aastat ja ma olen selle süsteemi kohta palju õppinud, nii et on aeg neid siin värskendada. Kõige tähtsam on komponentide valik, algsed komponendid töötasid suhteliselt hästi, kuid mõnikord ebaõnnestusid. 2 suurt kurjategijat on H-Bridge ja moodul nrf24l01, kuna valisin absoluutselt odavaimad osad, mida leida sain. Neid saab parandada järgmiselt.

  • 0,5A H-silla ümberehitamine 1,5A H-sillaks, nagu see on: 1,5A H-sild
  • Mooduli nrf24l01 täiendamine täielikult SMD -disainile: avage nutikas NRF24l01

Koos uute komponentide uuendustega olen välja töötanud mõned uued trükkplaadid, mis aitavad RX -i tihendada ja TX -le rohkem funktsioone lisada

Mul on ka mõned koodimuudatused tulemas, seega jääge nende juurde

Soovitan: