Turinys:

Pigūs „Arduino Combat Robot Control“: 10 žingsnių (su nuotraukomis)
Pigūs „Arduino Combat Robot Control“: 10 žingsnių (su nuotraukomis)

Video: Pigūs „Arduino Combat Robot Control“: 10 žingsnių (su nuotraukomis)

Video: Pigūs „Arduino Combat Robot Control“: 10 žingsnių (su nuotraukomis)
Video: High Density 2022 2024, Liepa
Anonim
Pigi „Arduino Combat Robot Control“
Pigi „Arduino Combat Robot Control“
Pigi „Arduino Combat Robot Control“
Pigi „Arduino Combat Robot Control“
Pigi „Arduino Combat Robot Control“
Pigi „Arduino Combat Robot Control“

„Battlebots“atgimimas valstijose ir „Robot Wars“JK vėl sužadino mano meilę kovinei robotikai. Taigi radau vietinę robotų kūrėjų grupę ir nėriau tiesiai į ją.

Mes kovojame pagal JK skruzdėlių svorio skalę (150 gramų svorio riba), ir aš greitai supratau tradicinį būdą sukurti robotą, kuriame yra RC pavara: brangus RC siųstuvas, didelis ar brangus imtuvas ir ESC (elektroniniai greičio reguliatoriai), kurie yra stebuklingos dėžutės kuris gali valdyti daug didesnę srovę, nei būtina tokio dydžio robotui.

Anksčiau naudodamasis „Arduino“norėjau pabandyti padaryti viską kitaip ir išsikelti sau tikslą sukurti „Arduino“sistemą, kuri galėtų priimti teisinį kovinį signalą ir valdyti du pavaros variklius už maždaug 5 USD (pusę pigios ESC kainos)

Kad padėtų pasiekti šį tikslą, aš pakartotinai sumaišiau šį RC automobilį, sumažindamas imtuvo svorį/kainą ir generuodamas 4 PWM signalus, kad galėčiau paleisti pigų h-tilto lustą

Šioje instrukcijoje daugiausia dėmesio bus skiriama „Arduino“valdymo sistemai, tačiau pridėsiu papildomos informacijos, kuri padės naujiems žmonėms sukurti pirmąjį robotą

Atsakomybės apribojimas:

Net nedidelio masto kovos roboto statyba/kova gali būti pavojinga, imkitės savo rizikos

1 žingsnis: ko jums reikia

Medžiagos:

Valdymo sistemai:

  • 1x „Arduino pro mini 5v“(1,70 USD)
  • 1x nRF24L01 modulis (1,14 USD)
  • 1x 3.3v reguliatoriaus modulis (0,32 USD)
  • 1x dvigubas „h-bridge“modulis* (0,90 USD)

Likusiam pagrindiniam pleišto robotui:

  • 2x mikro pavarų varikliai ** (pigi versija, patikima versija)
  • 1x 2s ličio polimerų baterija
  • 1x balanso įkroviklis
  • 1x lipo įkrovimo maišelis
  • 1x jungiklis
  • 1x akumuliatoriaus jungtis
  • įvairus laidas (aš naudoju kai kuriuos „Arduino“trumpiklius, kuriuos turėjau gulėti)
  • maži varžtai
  • (neprivaloma) epoksidas
  • (neprivaloma) Aliuminis (iš gaiviųjų gėrimų skardinės)
  • (pasirinktinai) papildomi šviesos diodai

Pagrindiniam valdikliui:

  • 1x „Arduino pro mini 5v“
  • 1x nRF24L01 modulis
  • 1x 3.3v reguliatoriaus modulis
  • 1x „Arduino“vairasvirtė

Įrankiai:

  • Atsuktuvas
  • Lituoklis
  • Replės
  • 3D spausdintuvas (neprivaloma, bet palengvina gyvenimą)

*žiūrėdami į „h-bridge“modulius, ieškokite modulio, kuriame visi 4 signalo įėjimai būtų vienas šalia kito, todėl vėliau bus lengviau prijungti prie „Arduino“

** paskutiniame žingsnyje rasite patarimų, kaip pasirinkti variklio greitį

2 žingsnis: Spausdinkite važiuoklę

Spausdinti važiuoklę
Spausdinti važiuoklę

Prieš pradėdami naudoti valdymo sistemą, pažvelkite į sukurto roboto dizainą. Visada geriausia sukurti robotą iš ginklo. Pradedančiajam siūlau pradėti nuo pagrindinio pleišto, nes jie yra tvirti ir atstumia priešininkus iš kelio, o tai reiškia, kad per pirmąją kovą mažiau tikėtina, kad būsite sunaikinti, be to, lengviau jausti vairavimo jausmą nereikia jaudintis dėl aktyvaus ginklo.

Sukūriau pleišto robotą: „Šiek tiek neapdorotą“, kuris buvo išbandytas tiek šarvuotas, tiek nešarvuotas. Tai geras pirmasis robotas, lengvai spausdinamas ir gali būti sujungtas su 8 varžtais. Patikrinkite jį „Thingiverse“, kad gautumėte kitokį geriausią dizainą

Jei neturite 3D spausdintuvo, išbandykite vietinę biblioteką, įsilaužėlių erdvę ar kūrėjo erdvę

Pridėjus papildomų šarvų, lengva padaryti ką tik iš spausdintuvo, šlifuokite ir pleištą, ir gaiviųjų gėrimų skardinę aliuminiu šlifavimo popieriumi, nuvalykite visas šlifavimo dulkes, tepkite epoksidą tiek plastiku, tiek aliuminiu, laikykite kartu su spaustukais ar guminėmis juostelėmis 12-24 valandoms

Šiuo metu neturiu viešo ratų dizaino, nes naudoju gumines padangas iš mokomojo robotikos rinkinio per 3D spausdintus mazgus. Artimiausiomis savaitėmis suprojektuosiu stebulę, kurios sukibimui naudojami sandarinimo žiedai. Kai ratai bus baigti, atnaujinsiu šį puslapį ir „Thingiverse“puslapį

3 žingsnis: Paruoškite H tiltą

Paruoškite H tiltą
Paruoškite H tiltą

Skirtingi h tilto variklių tvarkyklės yra skirtingos, tačiau į pradinį sąrašą įtraukto modulio išvestis yra 2 gnybtų blokai. Šie gnybtų blokai yra sunkūs ir didelių gabaritų, todėl geriausia juos nuimti.

Lengviausias būdas tai padaryti yra šildyti abi trinkeles vienu metu su lituokliu ir atsargiai išvynioti blokus replėmis.

Prieš tęsdami, nuspręskite, ar norite pakeisti savo variklių variklius. Jei taip, „Arduino“jungiamieji kabeliai gali būti lituojami į modulio išvestį, tada priešingas kabelis gali būti lituojamas prie variklio, todėl prireikus juos galima nuimti.

4 žingsnis: modulių prijungimas

Modulių prijungimas
Modulių prijungimas
Modulių prijungimas
Modulių prijungimas
Modulių prijungimas
Modulių prijungimas

Modulių prijungimas gali būti atliekamas trimis skirtingais būdais, todėl projektavimo žingsnis yra labai svarbus. Ginklo pasirinkimas paveiks roboto formą ir laidų pasirinkimą.

yra 3 pasirinkimai:

  1. Laisvi laidai (lengvi, bet trapesni) (1 pav.)
  2. Perfboard (sunkesnis nei 1, bet tvirtesnis ir didesnis pėdsakas) (2 paveikslas)
  3. Pridedama pasirinktinė plokštė (sunkesnė nei 1, bet tvirta ir turi mažą pėdsaką) (3 paveikslas)

nepriklausomai nuo pasirinkimo, faktiniai ryšiai yra vienodi.

Atlikite toliau nurodytus sujungimus du kartus (vieną kartą valdikliui ir vieną kartą imtuvui)

nRF24L01 (4 kaiščių numeracijos vaizdas **):

  • 1 kaištis -> GND
  • 2 kaištis -> 3.3V modulio kaištis
  • 3 kaištis -> „Arduino“kaištis 9
  • 4 kaištis -> „Arduino“kaištis 10
  • 5 kaištis -> „Arduino“kaištis 13
  • 6 kaištis -> „Arduino“kaištis 11
  • 7 kaištis -> „Arduino“kaištis 12

3.3v modulis:

  • Vin pin -> Vcc*
  • Išvesties kaištis -> kaištis 2 nRF (kaip nurodyta aukščiau)
  • GND kaištis -> GND

Arduino:

  • 9-13 kaiščiai -> prijunkite prie nRF, kaip nurodyta aukščiau
  • Žalias -> Vcc*
  • GND -> GND

Kartą atlikite toliau nurodytas jungtis, kad atskirtumėte valdiklį ir imtuvą

Kontrolieriui:

Vairasvirtė:

  • +5v -> Arduino 5v
  • vrx -> „Arduino“kaištis A2
  • vry -> „Arduino“kaištis A3
  • GND -> GND

Imtuvui:

h-tilto modulis:

  • Vcc -> Vcc*
  • B -IB -> „Arduino“kaištis 2
  • B -IA -> „Arduino“kaištis 3
  • A -IB -> „Arduino“kaištis 4
  • A -IA -> „Arduino“kaištis 5
  • GND -> GND

Tai lengviausia padaryti pakeitus Vcc ir GND kaiščius viela, tada apverčiant plokštę aukštyn kojom ir lituodami kaiščius tiesiai į „Arduino“, tai supaprastina litavimą ir sukuria tvirtą variklio laikiklio tvirtinimą

*Kad kovos robotas būtų legalus, tarp akumuliatoriaus ir grandinės turi būti pridėtas izoliacijos taškas (jungiklis arba nuimama jungtis). Tai reiškia, kad akumuliatoriaus teigiamas elementas turi būti prijungtas prie jungiklio, tada jungiklis prijungtas prie Vcc

** vaizdas iš https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, kuris yra puikus „nRF24L01“modulio šaltinis

5 veiksmas: valdiklio nustatymas

Valdiklio nustatymas
Valdiklio nustatymas

Kai viskas bus prijungta, laikas gauti tam tikrą kodą.

Pradedant nuo valdiklio, reikia tam tikrų potenciometro verčių, kad būtų užtikrinta, jog tiksli prijungta vairasvirtė veiks su perduodančiu kodu.

Įkelkite kodą „joystickTestVals2“. Šis kodas naudojamas skaityti potenciometro vertes ir rodyti jas serijiniu būdu

Kai kodas veikia ir atidaromas serijinis langas, pradėkite žiūrėdami į „UP“vertę, pastumkite vairasvirtę į priekį, „UP“vertė greičiausiai peršoks tarp kelių didelių skaičių, pasirinkite mažiausią iš matomų verčių, atimkite iš jo 10 (tai užtikrins, kad iki galo paspaudus lazdą bus suteikta visa galia) ir užrašykite ją kaip „Up Max“, kad vairasvirtė galėtų grįžti į centrą. Dabar pasirinkite didžiausią matomą vertę, pridėkite prie jos 20 ir užsirašykite kaip „UpRestMax“. Pakartokite procesą, paspausdami lazdą žemyn ir pakeisdami pridėjimo/atėmimo įrašymo reikšmes kaip „UpMin“ir „UpRestMin“

Pakartokite visą procesą kairėn ir dešinėn, pirmiausia stumdami lazdelę į dešinę, įrašydami „SideMax“, tada „SideRestMax“, kai ji atsisuka, ir stumdami į kairę, kad įrašytumėte „SideMin“ir „SideRestMin“

Šios vertės yra labai svarbios, ypač visos vertės, kuriose yra žodis „Poilsis“. Šios vertės sukuria „negyvą zoną“lazdos centre taip, kad botas nejudėtų, kai lazda yra pačiame centre, įsitikinkite, kad kai lazda yra centre, vertės patenka tarp „restMin“ir „restMax“abiem ašims

6 žingsnis: kodas

Kodas
Kodas
Kodas
Kodas

Pateiktas kodas daro viską pagrindiniam pleištui, turinčiam struktūrą, leidžiančią siųsti ir ginklo pwm vertę.

Reikalingos bibliotekos:

  • nRF24L01 biblioteka iš čia: „GitHub“
  • Programinė įranga PWM iš čia: „Google“kodas

Nustatykite valdiklį:

atidarykite „txMix“kodą ir pakeiskite ribines vertes į tas reikšmes, kurias užrašėte paskutiniame žingsnyje. Tai užtikrins, kad kodas teisingai reaguos į vairasvirtę (1 pav.)

Tinkinti vamzdį:

Kad įsitikintumėte, jog jūsų renginio metu netrukdote niekam kitam, turėsite pakeisti radijo vamzdį. Iš tikrųjų tai yra identifikatorius, o imtuvas veiks tik pagal teisingo vamzdžio signalus, todėl būtinai pakeiskite abiejų kodų vamzdį į tą patį.

2 paveiksle paryškinti šešiakampiai vamzdžio skaitmenys. Tai yra du skaitmenys, kuriuos reikia pakeisti, kad pritaikytumėte vamzdį. Pakeiskite „E1“į bet kurią kitą 2 skaitmenų šešioliktainę reikšmę ir užsirašykite, kad įvykio metu galėtumėte lengvai ją palyginti su priešininkų vamzdžiais

Įkelti:

  • txMix prie valdiklio
  • priimti į imtuvo modulį

Paleiskite kodą:

txMix:

Kodas valdomas vairasvirtės padėtyje kaip „UP“ir „side“reikšmė. šios vertės yra apribotos, atsižvelgiant į maksimalią pateiktą vertę, kad būtų užtikrinta visa galia esant maksimaliai lazdos padėčiai.

Tada šios vertės tikrinamos, kad įsitikintumėte, jog lazda iš neutralios padėties išsikraustė, jei nulis nėra siunčiamas.

Tuomet vertės atskirai sumaišomos į du kintamuosius: vieną kairiojo variklio greičiui ir kitą dešiniojo variklio greičiui. Šiems kintamiesiems neigiama reikšmė naudojama norint parodyti, kad variklis važiuoja atgal, nes tai supaprastina maišymą.

Tada kairiojo ir dešiniojo greičio reikšmės yra padalijamos į keturias reikšmes pwm, po vieną kiekvienai: variklis į dešinę į priekį, variklis į kairę į priekį, variklis į dešinę atgal, variklis į kairę atgal.

Tada keturios pwm vertės siunčiamos į imtuvą.

gauti:

Tiesiog gauna signalus iš valdiklio, patikrina, ar signale nėra pwm verčių pirmyn ir atgal vienam varikliui, tada taiko pwm.

Imtuvas taip pat nepavyksta išjungti variklių, kai signalas negaunamas iš valdiklio

7 žingsnis: visa tai susukite varžtais

„Bolting It All Togheter“
„Bolting It All Togheter“
„Bolting It All Togheter“
„Bolting It All Togheter“
„Bolting It All Togheter“
„Bolting It All Togheter“

Lituokite jungtis prie variklių arba lituokite variklius tiesiai prie h tilto. (Man labiau patinka jungtys, kad galėčiau tiesiog pakeisti kištukus, jei neteisingai prijungiau variklius)

Lituokite teigiamą laidą iš akumuliatoriaus jungties į vidurinį jungiklio kaištį ir vieną iš išorinių jungiklio kaiščių prie prijungtų modulių Vcc.

Lituokite neigiamą laidą iš akumuliatoriaus jungties į prijungtų modulių GND.

(Neprivaloma) pridėkite papildomų šviesos diodų tarp Vcc ir GND. Visiems kovos robotams reikia šviesos, kuri dega, kol sistema veikia, priklausomai nuo komponentų, kuriuose ši sistema turi šviesos diodus „Arduino“, 3,3 voltų modulyje ir „h-tiltas“, jei bent vienas iš jų yra matomas iš išorės. bot šios taisyklės laikomasi. Norėdami įsitikinti, kad ši taisyklė įvykdyta, ir norint pritaikyti išvaizdą, galima naudoti papildomus šviesos diodus

Šiek tiek žalios spalvos yra paprasta sujungti, pirmiausia užsukite variklio laikiklius, pridėkite elektroniką, tada užsukite dangtelį, nedidelis velcro užsegimas padės laikyti jungiklį prie dangčio

Valdiklis yra jūsų suprojektuotas ir atspausdintas. Bandymams naudoju pridėtą valdiklį, kuris buvo pakeistas iš Jameso Brutono BB8 V3 valdiklio

8 žingsnis: žodis apie robotų kovos taisykles

Žodis apie robotų kovos taisykles
Žodis apie robotų kovos taisykles

Skirtingos šalys, valstijos ir grupės vykdo robotų kovos renginius pagal skirtingas taisykles.

Aš sukūriau šią sistemą ir parašiau tai, kad galėčiau būti kuo bendresnis, tuo pat metu laikydamasis pagrindinių taisyklių, susijusių su RC sistemomis (ypač sistema turėtų būti 2,4 GHz skaitmeninė ir turėti akumuliatoriaus izoliacijos tašką). Norėdami paleisti šią sistemą ir (arba) sukurti savo pirmąjį robotą, geriausia susisiekti su vietine grupe ir gauti jų taisyklių kopiją.

Taisyklės, kurias vykdo jūsų vietinė grupė, yra absoliučios, nesilaikykite mano žodžio šioje instrukcijoje dėl jūsų grupės taisyklių.

Kadangi ši „Arduino“sistema yra nauja bendruomenei, greičiausiai jūsų bus paprašyta ją išbandyti prieš naudojant ją renginyje. Aš pakartotinai išbandžiau šią sistemą prieš standartinę RC įrangą ir prieš save be jokių trukdžių, todėl ji turėtų išlaikyti bet kokį testą, tačiau jūsų vietinio renginio organizatoriai turi galutinį žodį ir gerbti jų sprendimą. Jei jie atmeta jo naudojimą, paklauskite, ar yra paskolos robotas, su kuriuo galite kovoti, arba paprašykite paaiškinti, kodėl jis buvo atmestas, ir pabandykite išspręsti problemą kitam įvykiui

9 veiksmas: papildoma informacija apie variklius

Papildoma informacija apie variklius
Papildoma informacija apie variklius

Skruzdžių klasėje naudojami mikro pavarų varikliai yra įvairių greičių ir yra pažymėti naudojant RPM arba pavarų santykį. Žemiau yra grubus konvertavimas.

Dauguma robotų naudoja variklius nuo 75: 1 iki 30: 1 (išskyrus kai kurias išimtis naudojant 10: 1). Robotams su dideliais besisukančiais ginklais gali būti naudingi lėtesni 75: 1 varikliai, nes lėtesnis greitis leidžia geriau valdyti. Judrūs pleištai, keltuvai ir atplaišos 30: 1 geriausiai tinka kvalifikuotam vairuotojui. Rekomenduoju 50: 1 variklius pleište pirmoms kovoms, kad tik priprastumėte prie sistemos ir vairavimo

  • 12V 2000 aps / min (arba 6V 1000 aps / min) -> 30: 1
  • 6V 300 aps / min -> 50: 1

10 veiksmas: atnaujinimai ir patobulinimai

Praėjo pora metų nuo tada, kai paskelbiau šį „ible“, ir aš daug sužinojau apie šią sistemą, todėl atėjo laikas juos atnaujinti čia. Svarbiausia yra pasirinkti komponentą, originalūs komponentai veikė gana gerai, tačiau kartais nepavyko kovos metu. 2 dideli nusikaltėliai yra „H-Bridge“ir „nrf24l01“modulis, nes aš pasirinkau absoliučiai pigiausias dalis, kokias tik galėjau rasti. Jie gali būti ištaisyti:

  • 0,5A H tilto modernizavimas į 1,5A H tiltą, kaip šis: 1,5A H tiltas
  • Modulio nrf24l01 atnaujinimas į visiškai SMD dizainą: atidarykite išmanųjį NRF24l01

Kartu su naujų komponentų atnaujinimais sukūriau keletą naujų PCB, kurios padeda sutankinti RX ir pridėti daugiau funkcijų prie TX

Taip pat turiu keletą kodo pakeitimų, todėl sekite naujienas

Rekomenduojamas: