Innehållsförteckning:

Billig Arduino Combat Robot Control: 10 steg (med bilder)
Billig Arduino Combat Robot Control: 10 steg (med bilder)

Video: Billig Arduino Combat Robot Control: 10 steg (med bilder)

Video: Billig Arduino Combat Robot Control: 10 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control
Billig Arduino Combat Robot Control

Uppkomsten av Battlebots i staterna och Robot Wars i Storbritannien återupplivade min kärlek till stridsrobotik. Så jag hittade en lokal grupp botbyggare och dök direkt in.

Vi kämpar i Storbritanniens myrviktsskala (150 gram viktgräns) och jag insåg snabbt det traditionella sättet att bygga en bot involverad RC -utrustning: en dyr RC -sändare, en skrymmande eller dyr mottagare och ESC (elektroniska hastighetsregulatorer) som är magiska lådor som kan hantera mycket mer ström än vad som är nödvändigt för en bot av denna storlek.

Efter att ha använt Arduino tidigare ville jag försöka göra saker annorlunda och satte mig ett mål med ett Arduino -system som kan ta emot en stridssignal och styra två drivmotorer för cirka $ 5 (halva kostnaden för en billig ESC)

För att hjälpa till att uppnå detta mål remixade jag om denna RC-bil instruerbar, minskade vikten/kostnaden för mottagaren och genererade 4 PWM-signaler för att köra ett billigt h-bridge-chip

Denna instruerbara kommer att fokusera på Arduino -kontrollsystemet, men jag lägger till ytterligare information för att hjälpa nya människor att bygga sin första bot

Varning:

Även i liten skala kan robotbyggnad/strider vara farligt, gör på egen risk

Steg 1: Vad du behöver

Material:

För styrsystemet:

  • 1x Arduino pro mini 5v (USD 1,70)
  • 1x nRF24L01 -modul ($ 1,14)
  • 1x 3.3v regulatormodul ($ 0.32)
  • 1x dubbel h-bryggmodul* ($ 0,90)

För resten av en grundläggande kilbot:

  • 2x mikroväxelmotorer ** (billig version, pålitlig version)
  • 1x 2s litiumpolymerbatteri
  • 1x balansladdare
  • 1x lipopåse
  • 1x omkopplare
  • 1x batterikontakt
  • diverse tråd (jag använde några Arduino -bygeltrådar som jag hade liggande)
  • små skruvar
  • (valfritt) epoxi
  • (valfritt) Aluminium (från en läskburk)
  • (tillval) extra lysdioder

För en grundkontroll:

  • 1x Arduino pro mini 5v
  • 1x nRF24L01 -modul
  • 1x 3.3v regulatormodul
  • 1x Arduino-joystick

Verktyg:

  • Skruvmejsel
  • Lödkolv
  • Tång
  • 3D -skrivare (tillval, men det underlättar livet)

*när du tittar på h-bridge-moduler, leta efter en modul med alla 4 signalingångar bredvid varandra, detta kommer att göra det lättare att ansluta till Arduino senare

** kolla in det sista steget för några tips om att välja motorvarvtal

Steg 2: Skriv ut ett chassi

Skriv ut ett chassi
Skriv ut ett chassi

Innan du sätter igång med kontrollsystemet, titta på utformningen av boten som ska byggas. Det är alltid bäst att designa en bot från vapnet och ut. För en nybörjare föreslår jag att du börjar med en enkel kil, de är utformade för att vara robusta och skjuta bort motståndarna, vilket innebär att du är mindre benägna att bli förstörd i din första kamp, plus att det är lättare att få en känsla av att köra bil när du gör Du behöver inte oroa dig för ett aktivt vapen.

Jag har designat en kilbot: "Lite grovt" som har testats både pansar och armerad. Det är en bra första bot, lätt att skriva ut och kan sättas ihop med 8 skruvar. Kolla in det på Thingiverse för en annan toppdesign

Om du inte äger en 3D -skrivare kan du prova ett lokalt bibliotek, hackerspace eller maker space

Att lägga till extra rustning är enkelt att göra färskt från skrivaren, slipa både kilen och läskedunken aluminium med ett sandpapper, borsta bort eventuellt slipdamm, applicera epoxi på både plast och aluminium, håll ihop med klämmor eller gummiband i 12-24 timmar

Jag har för närvarande ingen offentlig hjuldesign eftersom jag har använt gummidäck från ett pedagogiskt robotik -kit över 3D -tryckta nav. Under de kommande veckorna ska jag designa ett nav som kommer att använda O-ringar för grepp. När hjulen är klara uppdaterar jag den här sidan och Thingiverse -sidan

Steg 3: Förbered H-bron

Förbered H-bron
Förbered H-bron

Olika h-bridge motordrivrutiner finns i olika inställningar men modulen som är länkad i den första listan kommer med 2 plintar som utgång. Dessa plintar är tunga och skrymmande så det är bäst att ta bort dem.

Det enklaste sättet att göra detta är att värma båda kuddarna samtidigt med ett lödkolv och försiktigt vrida ut blocken med en tång

Innan du går vidare, besluta om du vill kunna byta ut motorerna i din installation. Om så är fallet kan Arduino -bygelkablar lödas in i modulens utgång, sedan kan den motsatta kabeln lödas till motorn, vilket gör dem avtagbara vid behov.

Steg 4: Anslut modulerna

Koppla ihop modulerna
Koppla ihop modulerna
Koppla ihop modulerna
Koppla ihop modulerna
Koppla ihop modulerna
Koppla ihop modulerna

Anslutning av modulerna kan göras på tre olika sätt, varför designsteget är kritiskt. Vapenval påverkar botens form och val av ledningar.

de tre valen är:

  1. Lösa trådar (lätt men mer ömtålig) (bild 1)
  2. Perfboard (tyngre än 1 men mer robust med ett större fotavtryck) (bild 2)
  3. Anpassat kretskort (tyngre än 1 men robust med ett litet fotavtryck) kortdesign bifogad (bild 3)

oavsett valet är de faktiska anslutningarna desamma.

Gör följande anslutningar två gånger (en gång för styrenheten och en gång för mottagaren)

nRF24L01 (bildnummer 4 **):

  • Pin 1 -> GND
  • Pin 2 -> ut pin på 3.3v modul
  • 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*
  • Out pin -> pin 2 nRF (enligt ovan)
  • GND -stift -> GND

Arduino:

  • Stift 9-13 -> anslut till nRF enligt ovan
  • Raw -> Vcc*
  • GND -> GND

Gör följande anslutningar en gång för att skilja mellan styrenhet och mottagare

För regulatorn:

Joystick:

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

För mottagaren:

h-bryggmodul:

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

Detta görs enklast genom att byta ut stiften för Vcc och GND med tråd, sedan vända brädet upp och ner och löda tapparna direkt i Arduino, detta förenklar lödningen och skapar ett säkert fäste för motordrivrutinen

*för att en stridsrobot ska vara laglig måste en isoleringspunkt (switch eller avtagbar länk) läggas till mellan batteriet och kretsen. Det betyder att batteriets positiva måste anslutas till en strömbrytare, sedan måste strömbrytaren anslutas till Vcc

** bild från https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo som är en bra resurs för nRF24L01-modulen

Steg 5: Installera kontrollen

Installera styrenheten
Installera styrenheten

När allt är anslutet är det dags för lite kod.

Från och med styrenheten behövs några potentiometervärden för att säkerställa att den exakta joysticken som är ansluten fungerar med sändningskoden.

Ladda in "joystickTestVals2" -koden. Denna kod används för att läsa potentiometervärdena och visa dem i serie

Med koden igång och ett seriellt fönster öppet startar du med att titta på "UPP" -värdet, skjuter joysticken till helt framåtläget, "UPP" -värdet kommer sannolikt att hoppa mellan några stora siffror, välj det minsta av de värden du ser, subtrahera 10 från den (detta kommer att säkerställa att genom att trycka på stickan hela vägen kommer att ge full effekt) och skriva ner den som "Up Max" så att joysticken kan springa tillbaka in i mitten. Välj nu det största värdet du ser, lägg till 20 till det och skriv ner det som "UpRestMax". Upprepa processen genom att trycka ned pinnen och vända på att lägga till/subtrahera värdena som "UpMin" och "UpRestMin"

Upprepa hela processen igen för vänster och höger, börja med att trycka på pinnen åt höger, spela in "SideMax" och sedan "SideRestMax" när den springer tillbaka och tryck till vänster för att spela in "SideMin" och "SideRestMin"

Dessa värden är superviktiga, särskilt alla värden som innehåller ordet "Rest". dessa värden skapar den "döda zonen" i mitten av pinnen så att botten inte rör sig när pinnen vilar i mitten, se till att när pinnen är centrerad faller värdena mellan "restMin" och "restMax" för båda axlarna

Steg 6: Kod

Koda
Koda
Koda
Koda

Den angivna koden gör allt för en grundläggande kilbot med en struktur på plats för att även ett vapen-pwm-värde ska kunna skickas.

Behövs bibliotek:

  • nRF24L01 bibliotek härifrån: GitHub
  • Programvara PWM härifrån: Google Code

Konfigurera din handkontroll:

öppna txMix -koden och ändra stickgränsvärdena till de värden du skrev ner i det sista steget. Detta säkerställer att koden reagerar korrekt på joysticken (bild 1)

Anpassa röret:

För att säkerställa att du inte stör någon annan på ditt evenemang måste du byta radiorör. Detta är i själva verket en identifierare, och mottagaren kommer bara att agera på signaler från rätt rör, så var noga med att ändra röret i båda koder till samma sak.

I bild har 2 hex -siffror i röret markerats. Det här är de två siffrorna som måste ändras för att anpassa röret. Ändra "E1" till alla andra tvåsiffriga hexvärden och skriv ner det så att du enkelt kan kontrollera det mot motståndarnas rör vid ett evenemang

Ladda upp:

  • txMix till handkontrollen
  • ta emot till mottagarmodulen

Kör ner koden:

txMix:

Koden läses i joystickpositionen som ett "UPP" -värde och ett "sidovärde". dessa värden begränsas baserat på maxvärdet som tillhandahålls för att säkerställa att full effekt kommer att ges vid den maximala stickpositionen.

Dessa värden kontrolleras sedan för att säkerställa att pinnen har flyttat sig från neutralläget, om den inte har nollor skickas.

Värdena blandas sedan individuellt till två variabler, en för vänster motorvarvtal och en för höger motorvarvtal. I dessa variabler används ett negativt värde för att indikera att motorn kör bakåt eftersom det förenklar blandningen.

Vänster och höger hastighetsvärden delas sedan in i fyra värden pwm -värden, ett för varje: motor höger framåt, motor vänster framåt, motor höger bakåt, motor vänster bakåt.

De fyra pwm -värdena skickas sedan till mottagaren.

motta:

Tar bara emot signaler från regulatorn, kontrollerar att signalen inte innehåller pwm -värden för framåt och bakåt på en enda motor applicerar sedan pwm.

Mottagaren misslyckas också med kassaskåp för motorer när en signal inte tas emot från styrenheten

Steg 7: Bolting It All Togheter

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

Lödkontakter till motorerna eller löd motorerna direkt till h-bron. (Jag föredrar kontakter så att jag helt enkelt kan byta kontakter om jag har anslutit motorerna fel)

Löd den positiva ledningen från batterikontakten till omkopplarens mittstift och en av de yttre stiften på strömbrytaren till de anslutna modulernas Vcc.

Löd den negativa ledningen från batterikontakten till GND för de anslutna modulerna.

(Valfritt) lägg till ytterligare lysdioder mellan Vcc och GND. Alla stridsrobotar kräver ett ljus som är tänt medan systemet har ström, beroende på vilka komponenter detta system har lysdioder på Arduino, 3.3v-modulen och h-bryggan, så länge minst en av dessa är synlig från utsidan av bot denna regel är uppfylld. Ytterligare lysdioder kan användas för att vara säker på att denna regel är uppfylld och för att anpassa utseendet

Lite rå är enkel att skruva ihop, skruva fast motorfästet på plats först, lägg till elektroniken, skruva sedan på locket, en liten mängd kardborreband hjälper till att hålla omkopplaren mot locket

Styrenheten är din att designa och skriva ut. För testning har jag använt den bifogade handkontrollen som har modifierats från James Brutons BB8 V3 -styrenhet

Steg 8: Ett ord om robotbekämpningsregler

Ett ord om robotkampregler
Ett ord om robotkampregler

Olika länder, stater och grupper driver robotstridsevenemang med olika regler.

Jag har skapat detta system och skrivit detta för att vara så generell som möjligt samtidigt som jag träffar de viktigaste reglerna som gäller RC -system (framför allt systemet bör vara 2,4 GHz digitalt och ha en batteriisolationspunkt). För att köra detta system och eller designa din egen första bot är det bäst att komma i kontakt med din lokala grupp och få en kopia av deras regler.

Reglerna som din lokala grupp kör är absoluta, ta inte mitt ord i denna instruerbara över reglerna i din grupp.

Eftersom detta Arduino -system är nytt för samhället kommer du troligen att bli ombedd att få det testat innan du använder det vid ett evenemang. Jag har stridstestat detta system upprepade gånger mot standard RC -utrustning och mot sig själv utan några störningsfrågor så det borde klara något test, men arrangörerna på ditt lokala evenemang har det sista ordet, respektera sitt beslut. Om de avvisar användningen, fråga om det finns en lånebot du kan slåss med, eller be om ett förtydligande om varför den avvisades och försök att åtgärda problemet för nästa evenemang

Steg 9: Ytterligare information om motorer

Ytterligare information om motorer
Ytterligare information om motorer

Mikroväxelmotorerna som används i myrklassen finns i ett stort antal hastigheter och är antingen märkta med varvtal eller växelförhållande. Nedan följer en grov konvertering.

De flesta robotar använder motorer mellan 75: 1 och 30: 1 (med vissa undantag med 10: 1). Robotar med stora snurrvapen kan dra nytta av långsammare 75: 1 -motorer eftersom den långsammare hastigheten ger mer kontroll. Smidiga kilar, lyftare och flippers är bäst på 30: 1 i händerna på en skicklig förare. Jag rekommenderar 50: 1 -motorer i en kil för de första striderna bara för att vänja sig vid systemet och körningen

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

Steg 10: Uppdateringar och förbättringar

Det har gått ett par år sedan jag lade upp denna 'ible' och jag har lärt mig mycket om detta system så det är dags att uppdatera dem här. De två stora gärningsmännen är H-Bridge och nrf24l01-modulen, på grund av att jag valde de absolut billigaste delarna jag kunde hitta. Dessa kan åtgärdas med:

  • Uppgradera 0,5A H-bron till en 1,5A H-bro, som den här: 1,5A H-bron
  • Uppgradera nrf24l01 -modulen till en helt SMD -design: Öppna smart NRF24l01

Tillsammans med de nya komponentuppgraderingarna har jag designat några nya kretskort som hjälper till att komprimera RX och lägga till fler funktioner till TX

Jag har också några kodändringar på gång, så håll utkik efter dem

Rekommenderad: