Cuprins:

Control ieftin al robotului de luptă Arduino: 10 pași (cu imagini)
Control ieftin al robotului de luptă Arduino: 10 pași (cu imagini)

Video: Control ieftin al robotului de luptă Arduino: 10 pași (cu imagini)

Video: Control ieftin al robotului de luptă Arduino: 10 pași (cu imagini)
Video: A doua lecție pregătitoare (12 - 16 ani) concurs robotica ediția 2022 2024, Noiembrie
Anonim
Control ieftin al robotului de luptă Arduino
Control ieftin al robotului de luptă Arduino
Control ieftin al robotului de luptă Arduino
Control ieftin al robotului de luptă Arduino
Control ieftin al robotului de luptă Arduino
Control ieftin al robotului de luptă Arduino

Renașterea Battlebots în State și Robot Wars în Marea Britanie mi-a reaprins dragostea pentru robotica de luptă. Așa că am găsit un grup local de constructori de bot și m-am scufundat chiar în.

Ne luptăm la scara de greutate a furnicilor din Marea Britanie (limită de greutate de 150 de grame) și am realizat rapid modul tradițional de a construi un bot implicând unelte RC: un transmițător RC scump, un receptor voluminos sau scump și ESC-uri (regulatoare electronice de viteză) care sunt cutii magice care poate gestiona mult mai mult curent decât este necesar pentru un bot de această dimensiune.

Folosind Arduino în trecut, am vrut să încerc să fac lucrurile diferit și să îmi propun un sistem Arduino care poate primi un semnal legal de luptă și poate controla două motoare de acționare pentru aproximativ 5 USD (jumătate din costul unui ESC ieftin)

Pentru a ajuta la atingerea acestui obiectiv, am remixat această mașină RC instructabilă, reducând greutatea / costul receptorului și generând 4 semnale PWM pentru a rula un cip H-Bridge ieftin.

Acest instructable se va concentra pe sistemul de control Arduino, dar voi adăuga informații suplimentare pentru a ajuta oamenii noi să își construiască primul bot

Declinare de responsabilitate:

Chiar și la o scară mică, construirea / lupta robotului de luptă poate fi periculoasă, întreprindeți pe propriul risc

Pasul 1: De ce aveți nevoie

Materiale:

Pentru sistemul de control:

  • 1x Arduino pro mini 5v (1,70 USD)
  • 1x modul nRF24L01 (1,14 USD)
  • 1x modul regulator de 3,3 V (0,32 USD)
  • 1x modul dual h-bridge * (0,90 USD)

Pentru restul unui bot de bază:

  • 2 motoare cu roți dințate ** (versiune ieftină, versiune fiabilă)
  • 1x baterie litiu polimer 2s
  • 1x încărcător de echilibru
  • 1 x sac de încărcare lipo
  • 1x comutator
  • 1x conector baterie
  • sârmă diversă (am folosit câteva fire jumper Arduino pe care le aveam întinse)
  • șuruburi mici
  • (opțional) epoxidic
  • (opțional) Aluminiu (dintr-o cutie de băuturi răcoritoare)
  • (opțional) LED-uri suplimentare

Pentru un controler de bază:

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

Instrumente:

  • Șurubelniță
  • Ciocan de lipit
  • Cleşte
  • Imprimantă 3D (opțională, dar ușurează viața)

* când priviți modulele h-bridge, căutați un modul cu toate cele 4 intrări de semnal unul lângă celălalt, acest lucru va facilita atașarea la Arduino mai târziu

** Consultați ultimul pas pentru câteva sfaturi despre alegerea turațiilor motorului

Pasul 2: Imprimați un șasiu

Imprimați un șasiu
Imprimați un șasiu

Înainte de a începe sistemul de control, uitați-vă la designul botului care urmează să fie construit. Este întotdeauna cel mai bine să proiectezi un bot de la armă. Pentru un începător, vă sugerez să începeți cu o pană de bază, acestea sunt concepute pentru a fi robuste și pentru a împinge adversarii în afară, ceea ce înseamnă că este mai puțin probabil să fiți distrus în prima dvs. luptă, plus că este mai ușor să vă simțiți condusul atunci când nu Nu trebuie să-ți faci griji cu privire la o armă activă.

Am proiectat un bot cu pană: „Slightly Crude”, care a fost testat în luptă, atât blindat, cât și fără armură. Este un prim bot bun, ușor de imprimat și poate fi pus împreună cu 8 șuruburi. Verificați-l pe Thingiverse pentru un design de top diferit

Dacă nu dețineți o imprimantă 3D, încercați o bibliotecă locală, un spațiu pentru hackeri sau un spațiu pentru producător

Adăugarea unei armuri suplimentare este ușor de realizat proaspăt de pe imprimantă, șlefuiți atât pene cât și băuturile răcoritoare din aluminiu cu un șmirghel, curățați praful de șlefuit, aplicați epoxid atât plasticului, cât și aluminiului, țineți-l împreună cu cleme sau benzi de cauciuc timp de 12-24 ore

În prezent nu am un design de roată public, deoarece am folosit anvelope de cauciuc dintr-un kit de robotică educațional peste butucuri imprimate 3D. În următoarele săptămâni, voi proiecta un hub care va folosi inele O pentru prindere. Odată ce roțile sunt terminate, voi actualiza această pagină și pagina Thingiverse

Pasul 3: Pregătiți podul H

Pregătește podul H
Pregătește podul H

Diferite drivere de motor h-bridge vin în seturi diferite, dar modulul conectat în lista inițială vine cu 2 blocuri de terminale ca ieșire. Aceste blocuri terminale sunt grele și voluminoase, deci este mai bine să le eliminați.

Cel mai simplu mod de a face acest lucru este să încălziți ambele tampoane în același timp cu un fier de lipit și să scoateți cu grijă blocurile cu o clește

Înainte de a trece mai departe, decideți dacă doriți să puteți schimba motoarele din configurare. Dacă da, cablurile jumper Arduino pot fi lipite în ieșirea modulului, apoi cablul opus poate fi lipit la motor, făcându-le detașabile după cum este necesar.

Pasul 4: Cablarea modulelor

Cablarea modulelor
Cablarea modulelor
Cablarea modulelor
Cablarea modulelor
Cablarea modulelor
Cablarea modulelor

Cablarea modulelor se poate face în 3 moduri diferite, motiv pentru care etapa de proiectare este critică. Alegerea armei va afecta forma botului și alegerea cablării.

cele 3 opțiuni sunt:

  1. Sârme libere (ușoare, dar mai fragile) (imaginea 1)
  2. Perfboard (mai greu de 1, dar mai robust cu o amprentă mai mare) (imaginea 2)
  3. Placă de circuit personalizată (mai grea de 1, dar robustă, cu o amprentă mică), proiectarea plăcii atașate (imaginea 3)

indiferent de alegerea făcută, conexiunile efective sunt aceleași.

Faceți următoarele conexiuni de două ori (o dată pentru controler și o dată pentru receptor)

nRF24L01 (pin numerotare imagine 4 **):

  • Pinul 1 -> GND
  • Pinul 2 -> pinul modulului 3.3v
  • Pinul 3 -> Pinul Arduino 9
  • Pinul 4 -> Pinul Arduino 10
  • Pinul 5 -> Pinul Arduino 13
  • Pinul 6 -> Pinul Arduino 11
  • Pinul 7 -> Pinul Arduino 12

Modul 3.3v:

  • Pin de vin -> Vcc *
  • Pin extern -> pin 2 nRF (ca mai sus)
  • Pin GND -> GND

Arduino:

  • Pinii 9-13 -> conectați-vă la nRF ca mai sus
  • Raw -> Vcc *
  • GND -> GND

Faceți următoarele conexiuni o dată pentru a face diferența dintre controler și receptor

Pentru controler:

Joystick:

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

Pentru receptor:

modulul h-bridge:

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

Acest lucru este cel mai ușor de realizat prin înlocuirea pinilor pentru Vcc și GND cu sârmă, apoi răsturnarea plăcii cu capul în jos și lipirea pinilor direct în Arduino, aceasta simplifică lipirea și creează o montare sigură pentru driverul motorului

* pentru ca un robot de luptă să fie legal, trebuie adăugat un punct de izolare (comutator sau legătură detașabilă) între baterie și circuit. Aceasta înseamnă că pozitivul bateriei trebuie să fie conectat la un comutator, apoi comutatorul conectat la Vcc

** imagine de la https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, care este o resursă excelentă pentru modulul nRF24L01

Pasul 5: Configurarea controlerului

Configurarea controlerului
Configurarea controlerului

Odată ce totul este conectat, timpul său pentru un anumit cod.

Începând cu controlerul, sunt necesare câteva valori ale potențiometrului pentru a se asigura că joystick-ul exact conectat va funcționa cu codul de transmisie.

Încărcați codul „joystickTestVals2”. Acest cod este utilizat pentru a citi valorile potențiometrului și a le afișa prin serial

Cu codul în funcțiune și o fereastră serial deschisă, începeți uitându-vă la valoarea „UP”, împingeți joystick-ul în poziția complet înainte, valoarea „UP” va sări probabil între câteva numere mari, alegeți cea mai mică dintre valorile pe care le vedeți, scădeți 10 din acesta (acest lucru vă va asigura că împingerea stick-ului până la capăt va da putere maximă) și notați-l ca „Up Max”, permițând joystick-ului să revină în centru. Acum alegeți cea mai mare valoare pe care o vedeți, adăugați 20 și scrieți-o ca „UpRestMax”. Repetați procesul apăsând butonul în jos și inversând adăugarea / scăderea înregistrând valorile ca „UpMin” și „UpRestMin”

Repetați din nou întregul proces pentru stânga și dreapta, începând prin apăsarea butonului spre dreapta, înregistrarea „SideMax” apoi „SideRestMax” pe măsură ce se întoarce înapoi și apăsarea la stânga pentru a înregistra „SideMin” și „SideRestMin”

Aceste valori sunt foarte importante, în special toate valorile care conțin cuvântul „Odihnă”. aceste valori creează „zona moartă” în centrul stick-ului, astfel încât robotul să nu se miște când stick-ul se odihnește în centru, asigurați-vă că, atunci când stick-ul este centrat, valorile se încadrează între „restMin” și „restMax” pentru ambele axe

Pasul 6: Cod

Cod
Cod
Cod
Cod

Codul dat face totul pentru un bot-wedge de bază, cu o structură în loc, pentru a permite trimiterea unei valori de pwm a armei.

Biblioteci necesare:

  • Biblioteca nRF24L01 de aici: GitHub
  • Software PWM de aici: Google Code

Configurați controlerul:

deschideți codul txMix și modificați valorile limită ale stick-ului la valorile pe care le-ați notat în ultimul pas. Acest lucru vă va asigura că codul reacționează corect la joystick-ul dvs. (Imaginea 1)

Personalizați țeava:

Pentru a vă asigura că nu interferați cu nimeni altcineva la evenimentul dvs., va trebui să schimbați conducta radio. Acesta este de fapt un identificator, iar receptorul va acționa numai asupra semnalelor de la conducta corectă, deci asigurați-vă că schimbați conducta din ambele coduri în același lucru.

În imagine au fost evidențiate 2 cifre hexagonale ale conductei. Acestea sunt cele două cifre care trebuie modificate pentru a personaliza conducta. Schimbați „E1” la orice altă valoare hexagonală de 2 cifre și notați-o, astfel încât să o puteți verifica cu ușurință împotriva țevilor adversarilor la un eveniment

Încărcare:

  • txMix la controler
  • primiți la modulul receptor

Rulați codul:

txMix:

Codul citește în poziția joystick-ului ca o valoare „UP” și o valoare „laterală”. aceste valori sunt constrânse pe baza valorii maxime furnizate pentru a se asigura că puterea maximă va fi dată la poziția maximă a stick-ului.

Aceste valori sunt apoi verificate pentru a se asigura că stick-ul s-a mutat în afara poziției neutre, dacă nu are trimise zerouri.

Valorile sunt apoi amestecate individual în două variabile, una pentru turația motorului stâng și una pentru turația motorului corectă. În aceste variabile se utilizează o valoare negativă pentru a indica faptul că motorul merge înapoi, deoarece simplifică amestecul.

Valorile turației stânga și dreapta sunt apoi separate în patru valori valori pwm, una pentru fiecare: motor dreapta înainte, motor stânga înainte, motor dreapta înapoi, motor stânga înapoi.

Cele patru valori pwm sunt apoi trimise la receptor.

a primi:

Pur și simplu primește semnale de la controler, verifică dacă semnalul nu conține valori pwm pentru înainte și înapoi pe un singur motor, apoi aplică pwm.

Receptorul nu reușește, de asemenea, seifurile motoarelor oprite atunci când un semnal nu este primit de la controler

Pasul 7: Bolting 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

Conectați conectorii la motoare sau lipiți motoarele direct la podul h. (Prefer conectorii, astfel încât să pot schimba pur și simplu prizele dacă am conectat incorect motoarele)

Lipiți cablul pozitiv de la conectorul bateriei la pinul central al comutatorului și unul dintre pinii externi de pe comutator la Vcc a modulelor conectate.

Lipiți cablul negativ de la conectorul bateriei la GND al modulelor conectate.

(Opțional) adăugați LED-uri suplimentare între Vcc și GND. Toți roboții de luptă necesită o lumină aprinsă în timp ce sistemul are putere, în funcție de componentele acestui sistem are LED-uri pe Arduino, modulul 3.3v și podul h, atât timp cât cel puțin unul dintre acestea este vizibil din exterior bot această regulă este respectată. Pot fi utilizate LED-uri suplimentare pentru a vă asigura că această regulă este respectată și pentru a personaliza aspectul

Ușor de brut este ușor de înșurubat, fixați mai întâi motorul în poziție, adăugați elementele electronice, apoi înșurubați capacul în poziție, o cantitate mică de velcro vă va ajuta să țineți comutatorul pe capac

Controlerul este al tău de proiectat și imprimat. Pentru testare, am folosit controlerul atașat, care a fost modificat de la controlerul BB8 V3 al lui James Bruton

Pasul 8: Un cuvânt despre regulile de combatere a robotilor

Un cuvânt despre regulile de luptă cu robotii
Un cuvânt despre regulile de luptă cu robotii

Diferite țări, state și grupuri organizează evenimente de luptă cu roboți cu reguli diferite.

Am creat acest sistem și am scris acest „capabil să fie cât mai general posibil, lovind regulile majore care țin de sistemele RC (în special sistemul ar trebui să fie digital de 2,4 GHz și să aibă un punct de izolare a bateriei). Pentru a rula acest sistem sau pentru a vă proiecta primul bot, cel mai bine este să intrați în contact cu grupul dvs. local și să obțineți o copie a regulilor acestora.

Regulile pe care le rulează grupul dvs. local sunt absolute, nu mă credeți pe cuvânt în această instrucțiune asupra regulilor grupului dvs.

Deoarece acest sistem Arduino este nou pentru comunitate, cel mai probabil vi se va cere să îl testați înainte de al utiliza la un eveniment. Am testat în mod repetat acest sistem împotriva echipamentelor RC standard și împotriva lui însuși fără probleme de interferență, așa că ar trebui să treacă orice test, cu toate acestea, organizatorii de la evenimentul dvs. local au ultimul cuvânt, respectă decizia lor. Dacă resping utilizarea acestuia, întrebați dacă există un bot de împrumut cu care vă puteți lupta sau cereți o clarificare de ce a fost respins și încercați să remediați problema pentru următorul eveniment

Pasul 9: Informații suplimentare despre motoare

Informații suplimentare despre motoare
Informații suplimentare despre motoare

Micromotoarele folosite în clasa furnică vin într-o gamă largă de viteze și sunt fie marcate utilizând RPM sau raportul de transmisie. Mai jos este o conversie brută.

Majoritatea roboților folosesc motoare între 75: 1 și 30: 1 (cu unele excepții folosind 10: 1). Roboții cu arme rotative mari pot beneficia de motoare mai lente de 75: 1, deoarece viteza mai mică permite un control mai mare. Pene, ridicatoare și flipuri sunt cele mai bune pe 30: 1 în mâinile unui șofer priceput. Recomand motoare 50: 1 într-o pană pentru primele câteva lupte doar pentru a mă obișnui cu sistemul și cu conducerea

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

Pasul 10: Actualizări și îmbunătățiri

Au trecut câțiva ani de când am postat acest „ible” și am învățat multe despre acest sistem, așa că este timpul să le actualizez aici. Cel mai important este alegerea componentelor, componentele originale funcționând relativ bine, dar uneori ar eșua în timpul luptei. Cei doi mari autori sunt H-Bridge și modulul nrf24l01, datorită faptului că am ales cele mai ieftine părți absolute pe care le-am putut găsi. Acestea pot fi remediate prin:

  • Actualizarea podului H 0,5A la un punte H 1,5A, ca acesta: punte H 1,5A
  • Actualizarea modulului nrf24l01 la un design complet SMD: Deschideți smart NRF24l01

Împreună cu noile actualizări ale componentelor, am proiectat câteva PCB-uri noi care ajută la compactarea RX și la adăugarea mai multor caracteristici la TX

Am și câteva modificări de cod, așa că rămâneți la curent cu acestea

Recomandat: