Cuprins:
- Pasul 1: Piese
- Pasul 2: PROTOTIPARE
- Pasul 3: MĂNUȘIREA
- Pasul 4: CUTIE DE TRANSMITER
- Pasul 5: CUTIE DE CONTROL ARM
- Pasul 6: ALOCARE PIN
- Pasul 7: COMUNICARE
- Pasul 8: SKETCHES și multe altele …
- Pasul 9: CE ALTE?
- Pasul 10: *** AM CÂȘTIGAT !!! ***
Video: Fă-ți mâna pentru a controla brațul robot OWI Fără corzi atașate: 10 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
IDEEA:
Există cel puțin alte 4 proiecte pe Instructables.com (începând cu 13 mai 2015) în jurul modificării sau controlului OWI Robotic Arm. Nu este surprinzător, deoarece este un kit robotic atât de grozav și ieftin cu care să te joci. Acest proiect este similar în spirit (adică, controlează brațul robotic cu Arduino), dar diferit în abordare. [video]
Ideea este să poți controla brațul robotizat fără fir folosind gesturi. De asemenea, am încercat să mențin modificările la brațul robotizat la un nivel minim, astfel încât să poată fi folosit în continuare cu controlerul original.
Sună simplu.
Ceea ce a ajuns să fie un proiect în trei părți:
- O mănușă prevăzută cu suficienți senzori pentru a controla un LED și 5 motoare
- Un dispozitiv transmițător bazat pe Arduino Nano pentru a accepta comenzile de control din mănușă și a le trimite fără fir către dispozitivul de control Arm
- Un receptor wireless bazat pe Arduino Uno și un dispozitiv de control al motorului atașat la brațul robot OWI
CARACTERISTICI
- Suport pentru toate cele 5 grade de libertate (DOF) și LED
- Buton roșu mare - pentru a opri imediat motoarele de pe braț prevenind deteriorarea
- Design modular portabil
Pentru utilizatorii de dispozitive mobile: „videoclipul promoțional” al acestui proiect este aici pe YouTube.
Pasul 1: Piese
MĂNUȘĂ:
Veți avea nevoie de următoarele pentru a construi un controler pentru mănuși:
- Mănușă Isotoner Smartouch Tech Stretch Stitched (sau similar) - pe Amazon.com
- Sensor Spectra Symboflex 2.2 "- pe Amazon.com
- GY-521 6DOF MPU6050 3 axe giroscop + modul acceleratorometru - pe Fasttech.com
- 2X5 BOX HEADER STRAIGHT - pe Phoenixent.com
- 2X5 IDC SOCKET-RECEPTACLE - pe Phoenixent.com
- Cablu plat de panglică 10 Conductor.050 "Pitch - pe Phoenixent.com
- 2 LED-uri de 5 mm - verde și galben
- 2 x butoane mici
- Rezistoare, fire, ac, fir negru, pistol de lipit, pistol de lipit, lipit etc.
CUTIE STRAP-ON DE TRANSMISIE:
- Placă compatibilă Arduino Nano v3.0 ATmega328P-20AU - pe Fasttech.com
- nRF24L01 + 2.4GHz Transceiver Wireless Arduino Compatible - pe Amazon.com
- Gymboss WRISTBAND - pe Amazon.com
- Carcasă cutie suport baterie 9V cu comutator pornire / oprire cablu - pe Amazon.com
- 2X5 BOX HEADER STRAIGHT - pe Phoenixent.com
- Baterie de 9v
- Condensator 47uF (50v)
- Rezistoare, fire, pistol de lipit, pistol de lipit, lipit etc.
OWI ROBOTIC ARM CONTROLLER BOX:
- Placă de dezvoltare compatibilă Arduino Uno R3 Rev3 - pe Fasttech.com
- KIT DIY Prototype Shield pentru Arduino (sau similar) - pe Amazon.com
- nRF24L01 + 2.4GHz Transceiver Wireless Arduino Compatible - pe Amazon.com
- 3 x L293D Driver cu motor IC cu 16 pini cu circuit integrat - pe Fasttech.com
- 1 x SN74HC595 74HC595 8-Bit Shift Register With 3-State Output Registers DIP16 - pe Amazon.com
- Condensator 47uF (50v)
- Cutie pentru Arduino - pe Amazon.com
- Comutator pornire / oprire
- 2 butoane de 13 mm (un capac roșu și unul verde)
- 2 x 2X7 BOX HEADER STRAIGHT - la fel ca mai sus pe Phoenixent.com
- Cablu plat de panglică 14 Conductor.050 "Pitch - la fel ca mai sus pe Phoenixent.com
- Baterie 9v + conector clip-on
- Rezistoare, fire, pistol de lipit, pistol de lipit, lipit etc.
… și, desigur:
OWI Robotic Arm Edge - Braț robot - OWI-535 - pe Adafruit.com
Pasul 2: PROTOTIPARE
Vă recomand cu tărie să faceți prototipuri pentru fiecare dispozitiv al controlerului înainte de a lipi toate componentele împreună.
Acest proiect folosește câteva piese hardware provocatoare:
nRF24L01
Mi-a luat ceva timp să-i fac pe cei doi nRF24 să vorbească între ei. Se pare că nici Nano, nici Uno nu furnizează suficientă putere stabilizată de 3.3v pentru ca modulele să funcționeze în mod constant. O soluție în cazul meu a fost un condensator de 47uF pe pinii de alimentare de pe ambele module nRF24. Există, de asemenea, câteva ciudățenii cu utilizarea bibliotecii RF24 în modurile IRQ și non-IRQ, așa că vă recomand să studiați cu adevărat exemplele.
Câteva resurse excelente:
nRF24L01 Transceiver RF de 2,4 GHz cu putere ultra scăzută Pagina produsului
Pagina bibliotecii driverului RF24
Doar googling nRF24 + arduino va produce o mulțime de link-uri. Merită cercetat
74HC595 ÎNREGISTRARE SHIFT
Nu este surprinzător să trebuiască să controlez 5 motoare, un LED, două butoane și un modul wireless, am rămas relativ repede fără pini pe Uno. Modul bine cunoscut de a „extinde” numărul de pini este de a utiliza un registru de schimbare. Deoarece nRF24 folosea deja interfața SPI, am decis să folosesc SPI și pentru programarea registrului de schimbare (pentru viteză și pentru a salva pinii) în loc de funcția shiftout (). Spre surprinderea mea, a funcționat ca un farmec de la prima dată. O puteți verifica în atribuirea pinului și în schițe.
Sârmele de panou și jumper sunt prietenii tăi.
Pasul 3: MĂNUȘIREA
OWI Robotic ARM are 6 articole de controlat (OWI Robotic Arm Edge Picture)
- Un LED situat pe GRIPPER-ul dispozitivului
- UN GRIPPER
- O încheietură
- O COATĂ - este partea brațului robot atașat la MÂNĂ
- Un UMAR este partea brațului robot atașat la BAZĂ
- O BAZĂ
Mănușa este concepută pentru a controla LED-ul Robotic Arm și toate cele 5 motoare (grade de libertate).
Am senzori individuali marcați pe imagini, precum și o descriere mai jos:
- GRIPPER este controlat de butoanele situate pe degetul mijlociu și roz. Gripperul este închis apăsând degetele arătătoare și mijlocii împreună. Gripper-ul se deschide apăsând inelul și rozul împreună.
- WRIST este controlat de rezistorul flexibil de pe indexer. Curbarea degetului la jumătatea drumului face ca încheietura mâinii să coboare, iar curbarea până la capăt face ca încheietura să crească. Păstrarea degetului arătător drept oprește încheietura mâinii.
- COBĂ este controlată de accelerometru - înclinarea palmei în sus și în jos mișcă cotul în sus și în jos, respectiv
- UMĂRUL este controlat de accelerometru - înclinarea palmei spre dreapta și spre stânga (nu cu susul în jos!) Mișcă umărul în sus și în jos, respectiv
- BAZA este controlată și de accelerometru, asemănător cu înclinarea umărului spre dreapta și spre stânga cu capul în jos (palma orientată în sus) mișcă baza dreapta și respectiv stânga
- LED-ul de pe priză este pornit / oprit prin apăsarea ambelor butoane de comandă a dispozitivului de prindere.
Toate răspunsurile butoanelor sunt întârziate cu 1/4 de secundă pentru a evita jitterul.
Asamblarea mănușii necesită o anumită lipire și multă cusut. Practic, este doar atașarea a 2 butoane, rezistență flexibilă, modul Accel / Gyro la țesătura mănușii și trecerea firelor la cutia conectorului.
Două LED-uri de pe cutia de conectare sunt:
- VERDE - pornire
- GALBEN - clipește când datele sunt transmise către caseta de control a brațului.
Pasul 4: CUTIE DE TRANSMITER
Cutia transmițătorului este în esență Arduino Nano, modul wireless nRF24, conector flexibil de sârmă și 3 rezistențe: 2 rezistențe pull-down de 10 kOhm pentru butoanele de control ale mânerului și o rezistență de diviziune a tensiunii de 20 kOhm pentru senzorul flexibil care controlează încheietura mâinii.
Totul este lipit împreună pe un tablou vero. Rețineți că nRF24 „atârnă” peste Nano. Eram îngrijorat că acest lucru ar putea provoca interferențe, dar funcționează.
Folosirea bateriei de 9v face ca partea de curea să devină puțin voluminoasă, dar nu am vrut să mă încurc cu bateriile LiPo. Poate mai târziu.
Pentru instrucțiuni de lipire, consultați pasul de atribuire a pinilor
Pasul 5: CUTIE DE CONTROL ARM
Cutia de control al brațelor se bazează pe Arduino Uno. Acesta primește comenzi de la mănușă fără fir prin modulul nRF24 și controlează brațul OWI Robotoc prin 3 jetoane de driver L293D.
Deoarece au fost utilizate aproape toate pinii Uno, există o mulțime de fire în interiorul cutiei - abia se închide!
Prin proiectare, cutia începe în modul OFF (ca și cum ar fi apăsat un buton de oprire roșie), oferind timp operatorului să pună mănușa și să se pregătească. Odată gata, operatorul apasă butonul verde, iar conexiunea dintre mănușă și cutia de control ar trebui să fie imediat stabilită (așa cum este indicat de LED-ul galben de pe mănușă și LED-ul roșu de pe cutia de control).
CONECTARE LA OWI
Conexiunea la brațul robot se face prin antet cu două pini cu 14 pini (conform imaginii de mai sus) prin cablu plat cu 14 fire.
- Conexiunile LED sunt la pământ comun (-) și pinul arduino A0 prin rezistor de 220 Ohm
- Toate firele motorului sunt conectate la pinii L293D 3/6 sau respectiv 11/14 (+/-). Fiecare L293D suportă 2 motoare, deci două perechi de pini.
- Liniile de alimentare OWI sunt pinii din stânga (+ 6v) și din dreapta (GND) ai conectorului cu 7 pini din spatele vârfului galben. (Puteți vedea firele conectate în imaginea de mai sus). Aceste două sunt conectate la pinii 8 (+) și 4, 5, 12, 13 (GND) de pe toate cele trei L293D.
Vă rugăm să consultați restul atribuirii pinului la pasul următor
Pasul 6: ALOCARE PIN
NANO:
- Cip de 3.3v - 3.3v la nRF24L01 (pin 2)
- 5v - 5v la placa accelerometrului, butoane, senzor flexibil
- a0 - intrare flexibilă a rezistorului
- a1 - comandă galbenă LED „comunicare”
- a4 - SDA la accelerometru
- a5 - SCL la accelerometru
- d02 - pin de întrerupere a cipului nRF24L01 (pinul 8)
- d03 - deschiderea butonului de prindere
- d04 - închideți intrarea butonului de prindere
- d09 - Pinul SPI CSN la cipul nRF24L01 (pinul 4)
- d10 - Pinul SPI CS la cipul nRF24L01 (pinul 3)
- d11 - SPI MOSI la cip nRF24L01 (pinul 6)
- d12 - SPI MISO la cip nRF24L01 (pinul 7)
- d13 - SPI SCK la cipul nRF24L01 (pinul 5)
- Vin - 9v +
- GND - teren comun
O. N. U:
- Cip de 3,3v - 3,3v la nRF24L01 (pin 2)
- 5v - 5v la butoane
- Vin - 9v +
- GND - teren comun
- a0 - LED pentru încheietura mâinii +
- a1 - PIN SPI SS pentru Shift Register Select - pentru a fixa 12 pe Shift Register
- a2 - Intrare buton ROSU
- a3 - Intrare buton VERDE
- a4 - direcție bază dreapta - pinul 15 pe L293D
- a5 - comunicare condusă
- d02 - nRF24L01 Intrare IRQ (pinul 8)
- d03 - activați pinul 1 sau 9 al servo-bazei (pwm) pe L293D
- d04 - baza de direcție stânga - pinul 10 de pe L293D respectiv
- d05 - activați pinul 1 sau 9 al servo-umărului (pwm) pe L293D
- d06 - activați pinul 1 sau 9 pentru servo cot (pwm) pe L293D
- d07 - Pinul SPI CSN la cipul nRF24L01 (pinul 4)
- d08 - SPI CS pin la cipul nRF24L01 (pin 3)
- d09 - activați pinul 1 sau 9 al servo-încheieturii mâinii (pwm) pe L293D
- d10 - activați pinul 1 sau 9 al servo-prizei (pwm) pe L293D
- d11 - SPI MOSI către cipul nRF24L01 (pinul 6) și pinul 14 pe Shift Register
- d12 - SPI MISO la cip nRF24L01 (pinul 7)
- d13 - SPI SCK la cipul nRF24L01 (pinul 5) și pinul 11 pe Shift Register
SHIFT REGISTER ȘI L293Ds:
- pinul QA (15) de 74HC595 la pinul 2 din L293D # 1
- pinul QB (1) de 74HC595 la pinul 7 din L293D # 1
- pinul QC (2) din 74HC595 la pinul 10 din L293D # 1
- pinul QD (3) din 74HC595 la pinul 15 din L293D # 1
- pinul QE (4) din 74HC595 la pinul 2 din L293D # 2
- pinul QF (5) din 74HC595 la pinul 7 din L293D # 2
- pinul QG (6) din 74HC595 la pinul 10 din L293D # 2
- pinul QH (7) din 74HC595 la pinul 15 din L293D # 2
Pasul 7: COMUNICARE
Glove trimite 2 octeți de date la cutia de control de 10 ori pe secundă sau ori de câte ori este primit un semnal de la unul dintre senzori.
2 octeți sunt suficienți pentru 6 controale, deoarece trebuie doar să trimitem:
- ON / OFF pentru LED (1 bit) - De fapt, am folosit 2 biți pentru a fi în concordanță cu motoarele, dar unul este suficient
- OPRIT / DREPT / STÂNGA pentru 5 motoare: câte 2 biți = 10 biți
Totalul de 11 sau 12 biți este suficient.
Coduri de direcție:
- OPRIT: 00
- DREAPTA: 01
- STÂNGA: 10
Cuvântul de control arată astfel (bit-wise):
Octet 2 ---------------- Octet 1 ----------------
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 LED-- M5-- M4-- M3-- M2-- M1--
- M1 - gripper
- M2 - încheietura mâinii
- M3 - cot
- M4 - umăr
- M5 - bază
Octetul 1 ar putea fi alimentat în mod convenabil direct în registrul de schimbare, deoarece controlează direcția dreapta / stânga a motoarelor 1 până la 4.
Un timeout de 2 secunde este activat pentru comunicații. Dacă are loc timeout, toate motoarele sunt oprite ca și cum ar fi apăsat un buton ROȘU.
Pasul 8: SKETCHES și multe altele …
MĂNUȘĂ
Schița mănușii folosește următoarele biblioteci:
- DirectIO - disponibil pe Github
- I2Cdev - disponibil pe Github
- Sârmă - parte a Arduino IDE
- MPU6050 - disponibil pe Github
- SPI - parte a Arduino IDE
- RF24 - disponibil pe Github
și trei biblioteci dezvoltate de mine:
- AvgFilter - disponibil pentru Github
- DhpFilter - disponibil pe Github
- TaskScheduler - disponibil pe Github
Schita pentru mănuși este disponibilă aici: Glove Sketch v1.3
CUTIE CONTROL BRAT
Schița Arm utilizează următoarele biblioteci:
- DirectIO - disponibil pe Github
- PinChangeInt - disponibil pe Github
- SPI - parte a Arduino IDE
- RF24 - disponibil pe Github
și o bibliotecă dezvoltată de mine:
TaskScheduler - disponibil pe Github
Schița brațului este disponibilă aici: Arm Sketch v1.3
Fișe tehnice pentru hardware-ul folosit
- 74HC595 registru de schimbare - fișă tehnică
- Driver motor L293D - fișă tehnică
- Modul wireless nRF24 - fișă tehnică
- Modul accelerometru / giroscop MPU6050 - fișă tehnică
31 mai 2015 ACTUALIZARE:
O nouă versiune a schițelor cutiei de control pentru mănuși și brațe este disponibilă aici: Glove and Arm Sketches v1.5
De asemenea, acestea sunt situate pe github aici.
Schimbări
- S-au adăugat încă doi octeți la structura de comunicație pentru a trimite viteza motorului solicitată pentru motoarele încheietura mâinii, cotului, umărului și a bazei ca o valoare de 5 biți (0.. 31) din mănușă proporțională cu unghiul gestului de control (vezi mai jos). Arm Control Box mapează valorile [0.. 31] la valorile PWM respective pentru fiecare dintre motoare. Acest lucru permite controlul treptat al vitezei de către operator și o manevrare mai precisă a brațelor.
- Set nou de gesturi:
1. LED: LED-ul butoanelor de control - butonul degetului mijlociu - PORNIT, butonul degetului roz - OPRIT
2. GRIPPER: Comanda flexibilă a benzii Gripper - deget pe jumătate îndoit - DESCHIS, deget complet îndoit - ÎNCHIS
3. ÎNCHEIERE: încheietura este controlată prin înclinarea palmei din poziția orizontală completă SUS și, respectiv, JOS. O mai mare înclinare produce o viteză mai mare
4. BRAT: Brațul este controlat prin înclinarea palmei din poziția orizontală completă STÂNGA și DREAPTA. O mai mare înclinare produce o viteză mai mare
5. UMERUL: Umărul este controlat prin rotirea palmei DREAPTA și STÂNGA din palma îndreptată în poziție dreaptă în sus. Palma este rotită de-a lungul axei cotului (așa cum vă fluturați mâna)
6. BAZA: Baza este controlată la fel ca umărul cu palma îndreptată în jos.
Pasul 9: CE ALTE?
IMAGINAȚIE LA LUCRU
Ca de obicei cu astfel de sisteme, acestea ar putea fi programate pentru a face mult mai mult.
De exemplu, designul actual încorporează deja abilități suplimentare, imposibile cu telecomanda standard:
- Creșterea treptată a vitezei: fiecare mișcare a motorului este inițiată la o viteză minimă predefinită, care este crescută treptat la fiecare 1 secundă până când se atinge o viteză maximă. Acest lucru permite un control mai precis al fiecăruia dintre motoare (în special încheietura mâinii și priză)
- Anulare mai rapidă a mișcării: atunci când comanda este primită de Arm Box pentru a opri un motor, acesta inversează momentan motorul pentru aproximativ 50 ms, astfel „rupând” mișcarea și permițând un control mai precis.
CE ALTCEVA?
Poate că ar putea fi implementate gesturi de control mai elaborate. Sau gesturi simultane ar putea fi utilizate pentru controale elaborate. Poate dansa Brațul?
Dacă aveți o idee despre cum să reprogramați mănușa sau aveți o versiune a unei schițe pe care doriți să o testez - vă rugăm să ne anunțați: [email protected]
Pasul 10: *** AM CÂȘTIGAT !!! ***
Acest proiect a câștigat Premiul I în cadrul concursului Coded Creations sponsorizat de Microsoft.
Verifică! WOO HOO!!!
Premiul II la Creațiile codificate
Recomandat:
Cum să faci brațul robot fără fir cu gloanțele Airsoft: 9 pași
Cum să faci braț robotizat fără fir cu gloanțele Airsoft: Bună, prieteni, în acest instructiv, îți voi arăta cum să faci brațul robot fără fir care să se poată balansa, să se deplaseze în direcția sus și jos și să tragi gloanțe airsoft cu controlul telecomenzii fără fir
Cum să rulați motorul DC fără perii Quadcopter fără drone utilizând controlerul de viteză al motorului fără perii HW30A și testerul servo: 3 pași
Cum să rulați motorul DC fără perii Quadcopter cu drone utilizând regulatorul de viteză al motorului fără perii HW30A și testerul servo: Descriere: Acest dispozitiv se numește Servo Motor Tester care poate fi utilizat pentru a rula servo motorul prin conectarea simplă a servomotorului și alimentarea acestuia. De asemenea, dispozitivul poate fi folosit ca generator de semnal pentru regulatorul de viteză electric (ESC), apoi nu puteți
Brațul robotului de paletizare miniatural UArm pentru Arduino: 19 pași (cu imagini)
Brațul robotului de paletizare miniatural UArm pentru Arduino: În 2014 am cumpărat online un braț robot de paletizare miniatural pentru Arduino, începând să experimentez și cu imprimarea 3D. Am început să ingineresc invers brațul pe care l-am cumpărat și să-l cercetez când l-am întâlnit pe David Beck făcând același lucru pe M
The Weevil (Chitară fără corzi): 6 pași
The Weevil (No Chit Guitar): Ați dorit vreodată să faceți muzică, dar nu aveți bani sau nu doriți să parcurgeți procesul de învățare a unui nou instrument? Am o soluție minunată: gărgărița. În cazul în care vă întrebați, o gărgăriță este un tip de gândac (Trupa mea preferată
Răcitor / suport pentru laptop cu cost zero (fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): 3 pași
Zero Cost Laptop Cooler / Stand (Fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): ACTUALIZARE: VĂ RUGĂM VOTĂ PENTRU MEA MEA MEA INTRAREA PE www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ SAU POATE VOTA PENTRU CEL MAI BUN PRIETEN AL MEU