Talaan ng mga Nilalaman:

Murang Arduino Combat Robot Control: 10 Hakbang (na may Mga Larawan)
Murang Arduino Combat Robot Control: 10 Hakbang (na may Mga Larawan)

Video: Murang Arduino Combat Robot Control: 10 Hakbang (na may Mga Larawan)

Video: Murang Arduino Combat Robot Control: 10 Hakbang (na may Mga Larawan)
Video: Ежедневные новости Crypto Pirates — вторник, 19 января 2022 г. — последнее обновление новостей о криптовалютах 2024, Hulyo
Anonim
Murang Arduino Combat Robot Control
Murang Arduino Combat Robot Control
Murang Arduino Combat Robot Control
Murang Arduino Combat Robot Control
Murang Arduino Combat Robot Control
Murang Arduino Combat Robot Control

Ang muling pagkabuhay ng Battlebots sa States at Robot Wars sa UK ay naghari sa aking pag-ibig sa mga robot na labanan. Kaya natagpuan ko ang isang lokal na pangkat ng mga tagabuo ng bot at sumisid sa loob mismo.

Nakikipaglaban kami sa sukat ng timbang ng langgam sa UK (150 gramo ng limitasyon sa timbang) at mabilis kong napagtanto ang tradisyunal na paraan upang makabuo ng isang bot na kasangkot ang RC gear: isang mamahaling RC transmitter, isang malaki o mahal na tatanggap at ESC (mga electronic speed control) na mga kahon ng mahika na maaaring hawakan ang mas kasalukuyang paraan kaysa kinakailangan para sa isang bot na may ganitong laki.

Ginamit ang Arduino noong nakaraan nais kong subukan at gumawa ng mga bagay nang iba at itakda ang aking sarili ng isang layunin ng isang sistema ng Arduino na maaaring makatanggap ng isang ligal na signal ng labanan at makontrol ang dalawang mga motor na nagmamaneho para sa humigit-kumulang na USD $ 5 (kalahati ng gastos ng isang murang ESC)

Upang matulungan ang layunin na ito ay naayos ko ang pagtuturo sa RC car na ito, binabawasan ang bigat / gastos ng tatanggap at bumubuo ng 4 PWM signal upang magpatakbo ng isang murang h-bridge chip

Ituturo ang nakatuon sa sistemang kontrol ng Arduino ngunit magdaragdag ako ng karagdagang impormasyon upang matulungan ang mga bagong tao na bumuo ng kanilang unang bot

Pagwawaksi:

Kahit na sa isang maliit na sukat ng gusali / paglaban ng robot ay maaaring mapanganib, isagawa sa iyong sariling peligro

Hakbang 1: Ano ang Kailangan Mo

Mga Materyales:

Para sa control system:

  • 1x Arduino pro mini 5v (USD $ 1.70)
  • 1x nRF24L01 Modyul ($ 1.14)
  • 1x 3.3v regulator module ($ 0.32)
  • 1x dalawahang h-bridge module * ($ 0.90)

Para sa natitirang isang pangunahing wedge bot:

  • 2x micro gear motors ** (murang bersyon, maaasahang bersyon)
  • 1x 2s baterya ng Lithium polymer
  • 1x balanse ng charger
  • 1x lipo charge bag
  • 1x switch
  • 1x konektor ng baterya
  • misc wire (Gumamit ako ng ilang mga Arduino jumper wires na nakahiga ako)
  • maliit na turnilyo
  • (opsyonal) epoxy
  • (opsyonal) Aluminium (mula sa isang softdrink na lata)
  • (opsyonal) labis na mga LED

Para sa isang pangunahing controller:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01 Modyul
  • 1x 3.3v module ng regulator
  • 1x Arduino-joystick

Mga tool:

  • Screw driver
  • Panghinang
  • Mga Plier
  • 3d printer (opsyonal, ngunit ginagawang mas madali ang buhay)

* Kapag tumitingin sa mga h-bridge module, hanapin ang isang module na may lahat ng 4 na input ng signal sa tabi ng bawat isa, gagawing mas madali itong ikabit sa Arduino sa paglaon

** suriin ang pangwakas na hakbang para sa ilang mga tip sa pagpili ng mga bilis ng motor

Hakbang 2: Mag-print ng isang Chassis

Mag-print ng isang Chassis
Mag-print ng isang Chassis

Bago magsimula sa control system, tingnan ang disenyo ng bot na itatayo. Palaging pinakamahusay na mag-disenyo ng isang bot mula sa sandata. Para sa isang nagsisimula, iminumungkahi ko na magsimula sa isang pangunahing kalso, ang mga ito ay idinisenyo upang maging matatag at maitulak ang mga kalaban sa paraan na nangangahulugang mas malamang na ikaw ay mapahamak sa iyong unang laban, kasama ang mas madaling makaramdam ng pagmamaneho kapag nag-don ka hindi mag-alala tungkol sa isang aktibong sandata.

Dinisenyo ko ang isang wedge bot: "Slightly Crude" na nasubok sa labanan parehong nakabaluti at walang armas. Ito ay isang magandang unang bot, madaling mai-print at maaaring isama sa 8 mga turnilyo. Suriin ito sa Thingiverse para sa isang iba't ibang mga nangungunang disenyo

Kung hindi ka nagmamay-ari ng isang 3d printer, subukan ang isang lokal na silid-aklatan, hackerspace o puwang ng gumagawa

Ang pagdaragdag ng karagdagang sandata ay madaling gawin sariwa sa printer, buhangin ang parehong wedge at ang softdrink na maaaring aluminyo na may kurso na papel na de liha, magsipilyo ng anumang sanding dust, maglapat ng epoxy sa parehong plastik at aluminyo, magkasama kasama ang mga clamp o goma para sa 12-24 na oras

Wala akong kasalukuyang disenyo ng pampublikong gulong dahil gumagamit ako ng gulong goma mula sa isang pang-edukasyon na robotics kit sa mga naka-print na 3d na hub. Sa mga darating na linggo, magdidisenyo ako ng isang hub na gagamit ng mga O-ring para mahigpit. Kapag natapos na ang mga gulong ia-update ko ang pahinang ito at ang pahina ng Thingiverse

Hakbang 3: Ihanda ang H-tulay

Ihanda ang H-tulay
Ihanda ang H-tulay

Iba't ibang mga h-bridge motor driver ay may iba't ibang mga pag-set up ngunit ang module na naka-link sa paunang listahan ay may 2 mga bloke ng terminal bilang output. Ang mga bloke ng terminal na ito ay mabigat at malaki kaya pinakamahusay na alisin ang mga ito.

Ang pinakamadaling paraan upang gawin ito ay ang pag-init ng parehong pad nang sabay-sabay gamit ang isang panghinang at maingat na iwaksi ang mga bloke gamit ang isang pares ng pliers

Bago magpatuloy, magpasya kung nais mong makapagpalit ng mga motor sa iyong pag-set up. Kung gayon, ang mga Arduino jumper cables ay maaaring solder sa output ng module, kung gayon ang kabaligtaran na cable ay maaaring solder sa motor, ginagawa itong naaalis kung kinakailangan.

Hakbang 4: Mga kable ng Module

Kable ng Mga Modyul
Kable ng Mga Modyul
Kable ng Mga Modyul
Kable ng Mga Modyul
Kable ng Mga Modyul
Kable ng Mga Modyul

Ang kable ng mga module ay maaaring magawa sa 3 magkakaibang paraan, na ang dahilan kung bakit kritikal ang hakbang sa disenyo. Ang pagpili ng sandata ay makakaapekto sa hugis ng bot at ang pagpili ng mga kable.

ang 3 pagpipilian ay:

  1. Loose wires (magaan ang timbang ngunit mas marupok) (imahe 1)
  2. Perfboard (mas mabigat kaysa sa 1 ngunit mas matatag sa isang mas malaking bakas ng paa) (imahe 2)
  3. Pasadyang circuit board (mas mabigat kaysa sa 1 ngunit matatag na may isang maliit na bakas ng paa) naka-attach na disenyo ng board (larawan 3)

anuman ang napiling pagpipilian, ang mga aktwal na koneksyon ay pareho.

Gawin ang mga sumusunod na koneksyon nang dalawang beses (isang beses para sa controller at isang beses para sa tatanggap)

nRF24L01 (i-pin ang numero ng imahe 4 **):

  • Pin 1 -> GND
  • Pin 2 -> out pin ng 3.3v module
  • 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 module:

  • Vin pin -> Vcc *
  • Out pin -> pin 2 nRF (tulad ng nasa itaas)
  • GND pin -> GND

Arduino:

  • Mga Pin 9-13 -> kumonekta sa nRF sa itaas
  • Raw -> Vcc *
  • GND -> GND

Gawin ang mga sumusunod na koneksyon nang isang beses upang makilala ang pagkakaiba sa pagitan ng controller at receiver

Para sa Controller:

Joystick:

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

Para sa tatanggap:

h-bridge module:

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

Ito ang pinakamadaling tapos na sa pamamagitan ng pagpapalit ng mga pin para sa Vcc at GND ng wire, pagkatapos ay i-flipping ang board ng pabaligtad at pagdidikit ng mga pin nang direkta sa Arduino, pinapasimple nito ang paghihinang at lumilikha ng isang sigurado na mount para sa driver ng motor

* para sa isang robot ng labanan upang maging ligal, ang isang punto ng paghihiwalay (switch o naaalis na link) ay dapat idagdag sa pagitan ng baterya at ng circuit. Nangangahulugan ito na ang positibo ng baterya ay dapat na konektado sa isang switch, pagkatapos ay ang switch na konektado sa Vcc

** imahe mula sa https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo kung saan ay isang mahusay na mapagkukunan para sa nRF24L01 module

Hakbang 5: Pag-set up ng Controller

Pag-set up ng Controller
Pag-set up ng Controller

Kapag ang lahat ay konektado sa oras nito para sa ilang code.

Simula sa controller, kinakailangan ang ilang mga halaga ng potensyomiter upang matiyak na ang eksaktong koneksyong joystick ay gagana sa paglilipat ng code.

Mag-load sa code na "joystickTestVals2". Ginagamit ang code na ito upang basahin ang mga halaga ng potensyomiter at ipakita ang mga ito sa pamamagitan ng serial

Sa pagpapatakbo ng code at bukas na pagsisimula ng serial window sa pamamagitan ng pagtingin sa halagang "UP", itulak ang joystick sa posisyon na ganap na pasulong, ang halagang "UP" ay malamang na tumalon sa pagitan ng ilang malalaking numero, piliin ang pinakamaliit sa mga halagang nakikita mo, ibawas ang 10 mula rito (titiyakin nito na ang pagtulak ng stick hanggang lahat ay magbibigay ng buong lakas) at isulat ito bilang "Pataas ng Max" na payagan ang joystick na bumalik sa gitna. Piliin ngayon ang pinakamalaking halaga na nakikita mo, magdagdag ng 20 dito at isulat ito bilang "UpRestMax". Ulitin ang proseso sa pamamagitan ng pagtulak ng stick pababa at pag-reverse ng pagdaragdag / pagbabawas ng pagtatala ng mga halaga bilang "UpMin" at "UpRestMin"

Ulitin muli ang buong proseso para sa kaliwa at kanan, nagsisimula sa pamamagitan ng pagtulak sa kanan ng stick, pagrekord ng "SideMax" pagkatapos "SideRestMax" habang ito ay bumalik at itulak ang kaliwa upang itala ang "SideMin" at "SideRestMin"

Ang mga halagang ito ay napakahalaga, lalo na ang lahat ng mga halagang naglalaman ng salitang "Pahinga". ang mga halagang ito ay lumilikha ng "patay na zone" sa gitna ng stick tulad ng hindi gumagalaw ang bot kapag ang stick ay nakasalalay sa gitna, tiyakin na kapag nakasentro ang stick ang mga halaga ay nahuhulog sa pagitan ng "restMin" at "restMax" para sa parehong palakol

Hakbang 6: Code

Code
Code
Code
Code

Ang binigay na code ay ginagawa ang lahat para sa isang pangunahing wedge-bot na may isang istrakturang nasa lugar upang payagan ang isang armas na pwm na halaga na maipadala rin.

Kailangan ng Mga Aklatan:

  • nRF24L01 Library mula dito: GitHub
  • Ang software PWM mula dito: Google Code

I-set up ang iyong controller:

buksan ang txMix code at baguhin ang mga halaga ng limit ng stick sa mga halagang isinulat mo sa huling hakbang. Titiyakin nito na ang code ay tumutugon nang tama sa iyong joystick (Larawan 1)

Ipasadya ang tubo:

Upang matiyak na hindi ka nakikialam sa sinumang iba pa sa iyong kaganapan, kakailanganin mong baguhin ang tubo ng radyo. Ito ay may bisa sa isang pagkakakilanlan, at ang tatanggap ay kikilos lamang sa mga signal mula sa tamang tubo, kaya siguraduhing baguhin ang tubo sa parehong mga code sa parehong bagay.

Sa imahe 2 hex digit ng tubo ay nai-highlight. Ito ang dalawang digit na kailangang baguhin upang ipasadya ang tubo. Baguhin ang "E1" sa anumang iba pang 2 digit na hex na halaga at isulat ito upang madali mong suriin ito laban sa mga pipa ng kalaban sa isang kaganapan

Mag-upload:

  • txMix sa controller
  • tumanggap sa module ng tatanggap

Patakbuhin ang code:

txMix:

Nagbabasa ang code sa posisyon ng joystick bilang isang "UP" na halaga at isang "panig" na halaga. ang mga halagang ito ay napipigilan batay sa max na halagang ibinigay upang matiyak na ang buong lakas ay ibibigay sa maximum na postion ng stick.

Ang mga halagang ito ay susuriin upang matiyak na ang stick ay lumipat sa neutral na posisyon, kung hindi ito ipinadala ang mga zero.

Ang mga halaga ay pagkatapos ay indibidwal na halo-halong sa dalawang variable, isa para sa kaliwang bilis ng motor at isa para sa tamang bilis ng motor. Sa mga variable na ito ginagamit ang isang negatibong halaga upang ipahiwatig na ang motor ay nagmamaneho paatras dahil pinapasimple nito ang paghahalo.

Ang kaliwa at kanang halaga ng bilis ay pinaghihiwalay sa apat na halaga pwm na halaga, isa para sa bawat isa: motor na pasulong sa motor, motor kaliwa pasulong, motor na paurong, motor kaliwa paatras.

Ang apat na halaga ng pwm ay ipinapadala sa tatanggap.

makatanggap:

Nakatanggap lamang ng mga signal mula sa controller, sinusuri na ang signal ay hindi naglalaman ng mga halaga ng pwm para sa pasulong at paatras sa isang solong motor pagkatapos ilapat ang pwm.

Nabigo rin ang tatanggap ng mga ligtas na motor sa motor kapag ang isang senyas ay hindi natanggap mula sa controller

Hakbang 7: Bolting Lahat ng Togheter

Bolting Ito Lahat ng Togheter
Bolting Ito Lahat ng Togheter
Bolting Ito Lahat ng Togheter
Bolting Ito Lahat ng Togheter
Bolting Ito Lahat ng Togheter
Bolting Ito Lahat ng Togheter

Ang mga konektor ng solder sa mga motor o deretsahan ang mga motor nang direkta sa h-tulay. (Mas gusto ko ang mga konektor upang maaari kong baguhin ang mga plugs kung hindi ko na konektado ang mga motor nang hindi tama)

Paghinang ang positibong tingga mula sa konektor ng baterya hanggang sa gitnang pin ng switch at isa sa mga panlabas na pin sa switch sa Vcc ng mga konektadong mga module.

Paghinang ng negatibong tingga mula sa konektor ng baterya patungo sa GND ng mga konektadong mga module.

(Opsyonal) magdagdag ng karagdagang mga LED sa pagitan ng Vcc at GND. Ang lahat ng mga robot ng labanan ay nangangailangan ng isang ilaw na naka-on habang ang system ay may kapangyarihan, depende sa mga bahagi ng system na ito na may LED sa Arduino, ang module na 3.3v at ang h-tulay hangga't hindi bababa sa isa sa mga ito ay makikita mula sa labas ng bot natugunan ang panuntunang ito. Maaaring magamit ang mga karagdagang LED upang matiyak na ang patakarang ito ay natutugunan at upang ipasadya ang hitsura

Ang Bahagyang Krudo ay simple upang i-bolt magkasama, i-bolt muna ang motor sa lugar, idagdag ang electronics, pagkatapos ay i-bolt ang takip sa lugar, isang maliit na halaga ng velcro ang makakatulong hawakan ang switch sa talukap ng mata

Ang tagapamahala ay iyo upang mag-disenyo at mag-print. Para sa pagsubok, gumagamit ako ng nakakabit na controller na nabago mula sa BB8 V3 controller ni James Bruton

Hakbang 8: Isang Salita sa Mga Panuntunan sa Paglaban ng Robot

Isang Salita sa Mga Panuntunan sa Combat ng Robot
Isang Salita sa Mga Panuntunan sa Combat ng Robot

Ang iba`t ibang mga bansa, estado at pangkat ay nagpapatakbo ng mga kaganapan sa paglaban ng robot na may iba't ibang mga patakaran.

Nilikha ko ang sistemang ito at isinulat ang ible na ito upang maging pangkalahatan hangga't maaari habang pinindot ang mga pangunahing patakaran na nauugnay sa mga RC system (kapansin-pansin na ang system ay dapat na 2.4GHz digital at may point ng paghihiwalay ng baterya). Upang patakbuhin ang sistemang ito at o idisenyo ang iyong sariling unang bot pinakamahusay na makipag-ugnay sa iyong lokal na pangkat at makakuha ng isang kopya ng kanilang mga patakaran.

Ang mga patakaran na pinapatakbo ng iyong lokal na pangkat ay ganap, huwag kunin ang aking salita sa itinuturo na ito sa mga patakaran ng iyong pangkat.

Dahil ang sistemang Arduino na ito ay bago sa pamayanan malamang na hilingin sa iyo na subukan ito bago gamitin ito sa isang kaganapan. Paulit-ulit kong sinubukan ang sistemang ito laban sa karaniwang kagamitan sa RC at laban sa sarili nito nang walang anumang mga isyu sa pagkagambala kaya dapat itong pumasa sa anumang pagsubok, gayunpaman, ang mga tagapag-ayos sa iyong lokal na kaganapan ay may huling sinabi, igalang ang kanilang desisyon. Kung tinanggihan nila ang paggamit nito, tanungin kung mayroong isang bot bot na maaari mong labanan, o humingi ng isang paglilinaw sa kung bakit ito tinanggihan at tangkaing ayusin ang isyu para sa susunod na kaganapan

Hakbang 9: Karagdagang Impormasyon sa Mga Motors

Karagdagang Impormasyon sa Mga Motors
Karagdagang Impormasyon sa Mga Motors

Ang mga micro gear motor na ginamit sa klase ng langgam ay dumating sa isang malaking hanay ng mga bilis at alinman sa minarkahan gamit ang RPM o Gear ratio. Nasa ibaba ang isang magaspang na pagbabago.

Karamihan sa mga bot ay gumagamit ng mga motor sa pagitan ng 75: 1 at 30: 1 (na may ilang mga pagbubukod na gumagamit ng 10: 1). Ang mga bot na may malaking armas na umiikot ay maaaring makinabang mula sa mas mabagal na 75: 1 na mga motor habang ang mas mabagal na bilis ay nagbibigay-daan sa higit na kontrol. Ang mga nimble wedge, lifter at flip ay pinakamahusay sa 30: 1 sa mga kamay ng isang sanay na drayber. Inirerekumenda ko ang 50: 1 mga motor sa isang kalso para sa mga unang ilang laban upang masanay sa system at magmaneho

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

Hakbang 10: Mga Update at Pagpapabuti

Ilang taon na mula nang mai-post ang ible na ito at marami akong natutunan tungkol sa sistemang ito kaya oras na upang i-update ang mga ito dito. Ang pinakamahalaga ay ang pagpipilian ng sangkap, ang mga orihinal na sangkap ay gumana nang maayos ngunit minsan ay mabibigo sa panahon ng labanan. Ang 2 malalaking salarin ay ang H-Bridge at ang modong nrf24l01, dahil sa pagpili ko ng ganap na pinakamurang mga bahagi na maaari kong makita. Maaari itong maayos sa pamamagitan ng:

  • Pag-a-upgrade sa 0.5A H-tulay sa isang 1.5A H-tulay, tulad nito: 1.5A H-tulay
  • Pag-a-upgrade sa module ng nrf24l01 sa isang ganap na disenyo ng SMD: Buksan ang matalinong NRF24l01

Kasabay ng mga bagong pag-upgrade ng bahagi ay dinisenyo ko ang ilang mga bagong PCB na makakatulong sa siksik ang RX at magdagdag ng higit pang mga tampok sa TX

Mayroon din akong ilang mga pagbabago sa code na darating, kaya't abangan ang mga iyon

Inirerekumendang: