Realizarea unui manipulator robot cu propriile mâini. Braț robotic ieftin, programabil pe Arduino: manipulator robotic de tip „do-it-yourself”. Tipuri de manipulatoare robotizate industriale

Acest proiect este o sarcină modulară pe mai multe niveluri. Prima etapă a proiectului este asamblarea modulului brațului robotizat, furnizat ca set de piese. A doua etapă a sarcinii va fi asamblarea interfeței IBM PC, tot dintr-un set de piese. În cele din urmă, a treia etapă a sarcinii este crearea unui modul de control vocal.

Bratul robotului poate fi controlat manual folosind panoul de control portabil inclus in kit. De asemenea, brațul robotului poate fi controlat fie printr-o interfață IBM PC asamblată în kit, fie folosind un modul de control vocal. Kitul de interfață IBM PC vă permite să controlați și să programați acțiunile robotului prin intermediul unui computer de lucru IBM PC. Dispozitivul de control vocal vă va permite să controlați brațul robotului folosind comenzi vocale.

Toate aceste module împreună formează dispozitiv functional, care vă va permite să experimentați și să programați secvențe automate de acțiuni sau chiar să aduceți la viață un braț robotizat complet controlat prin cablu.

Interfața PC vă permite să utilizați calculator personal programați brațul manipulator pentru un lanț de acțiuni automate sau „reviați-l”. Există, de asemenea, o opțiune prin care puteți controla mâna în mod interactiv folosind fie un controler manual, fie un program Windows 95/98. „animația” mâinii este partea de „divertisment” a lanțului de acțiuni automate programate. De exemplu, dacă pui o păpușă cu mănușă pentru copil pe un braț robot și programezi dispozitivul pentru a realiza un mic spectacol, vei programa marioneta electronică să prindă viață. Programarea automată de acțiuni este utilizată pe scară largă în industriile industriale și de divertisment.

Cel mai utilizat robot în industrie este brațul robotizat. Brațul robotului este o unealtă extrem de flexibilă, fie și doar pentru că segmentul final al manipulatorului brațului poate fi instrumentul adecvat necesar pentru o anumită sarcină sau producție. De exemplu, se poate folosi un poziționator de sudură articulat sudură în puncte, duza de pulverizare poate fi folosită pentru a picta diverse piese și ansambluri, iar prinderea poate fi folosită pentru a prinde și poziționa obiecte, pentru a numi doar câteva.

Deci, după cum vedem, brațul robotizat îndeplinește multe funcții utile și poate servi instrumentul perfect pentru a studia diferite procese. Cu toate acestea, crearea unui braț robotizat de la zero este o sarcină dificilă. Este mult mai ușor să asamblați o mână din piese pregătiți, stabiliți. OWI vinde suficient seturi bune brațe manipulatoare, care pot fi achiziționate de la mulți distribuitori dispozitive electronice(Consultați lista de piese la sfârșitul acestui capitol). Folosind interfața, puteți conecta brațul robotizat asamblat la portul de imprimantă al computerului dvs. de lucru. Ca computer de lucru, puteți utiliza o serie de PC IBM sau o mașină compatibilă care acceptă DOS sau Windows 95/98.

Odată conectat la portul de imprimantă al computerului, brațul robotizat poate fi controlat interactiv sau programatic de la computer. Controlul manual în modul interactiv este foarte simplu. Pentru a face acest lucru, faceți clic pe una dintre tastele funcționale pentru a trimite robotului o comandă pentru a efectua o anumită mișcare. A doua apăsare a tastei oprește comanda.

De asemenea, programarea unui lanț de acțiuni automate nu constituie munca speciala. Mai întâi, faceți clic pe tasta Program pentru a intra în modul program. În acest mod, mâna funcționează exact în același mod ca cel descris mai sus, dar în plus, fiecare funcție și durata acesteia sunt înregistrate într-un fișier script. Un fișier script poate conține până la 99 de funcții diferite, inclusiv pauze. Fișierul script în sine poate fi reluat de 99 de ori. Înregistrarea diferitelor fișiere de script vă permite să experimentați cu o secvență controlată de computer de acțiuni automate și să „reînvie” mâna. Lucrul cu programul sub Windows 95/98 este descris mai detaliat mai jos. Programul Windows este inclus cu kitul de interfață pentru brațul robotizat sau poate fi descărcat gratuit de pe Internet la http://www.imagesco.com.

În plus față de program Windows bratul poate fi controlat folosind BASIC sau QBASIC. Programul la nivel DOS este conținut pe dischetele incluse în kitul de interfață. Totuși, programul DOS permite controlul numai în modul interactiv folosind tastatura (vezi tipărirea programului BASIC pe una dintre dischete). Programul la nivel DOS nu vă permite să creați fișiere script. Cu toate acestea, dacă aveți experiență de programare în BASIC, atunci secvența de mișcări ale brațului manipulator poate fi programată în mod similar cu funcționarea unui fișier script utilizat într-un program sub Windows. Secvența mișcărilor poate fi repetată, așa cum se face la mulți roboți „animați”.

Braț robotic

Brațul manipulator (vezi Fig. 15.1) are trei grade de libertate de mișcare. Articulația cotului se poate mișca vertical în sus și în jos într-un arc de aproximativ 135°. „Îmbinarea” umărului deplasează mânerul înainte și înapoi într-un arc de aproximativ 120°. Brațul se poate roti în sensul acelor de ceasornic sau în sens invers acelor de ceasornic pe baza sa printr-un unghi de aproximativ 350°. Prinderea de mână a robotului poate prinde și ține obiecte cu diametrul de până la 5 cm și se poate roti în jurul articulației încheieturii mâinii la aproximativ 340°.

Orez. 15.1. Schema cinematică a mișcărilor și rotațiilor brațului robotic


OWI Robotic Arm Trainer a folosit cinci motoare miniaturale pentru a mișca brațul. curent continuu. Motoarele asigură controlul brațului folosind fire. Acest control „cablat” înseamnă că fiecare funcție a mișcării robotului (adică funcționarea motorului corespunzător) este controlată de fire separate (alimentare cu tensiune). Fiecare dintre cele cinci motoare de curent continuu controlează o mișcare diferită a brațului. Controlul prin cablu vă permite să realizați o unitate de control manual care răspunde direct la semnalele electrice. Acest lucru simplifică designul interfeței brațului robot care se conectează la portul imprimantei.

Mâna este realizată din plastic ușor. Majoritatea pieselor care suportă sarcina principală sunt tot din plastic. Motoarele de curent continuu utilizate în proiectarea brațului sunt motoare miniaturale, de mare viteză, cu cuplu redus. Pentru a crește cuplul, fiecare motor este conectat la o cutie de viteze. Motoarele împreună cu cutiile de viteze sunt instalate în interiorul structurii brațului manipulatorului. Deși cutia de viteze crește cuplul, brațul robotului nu poate ridica sau transporta obiecte suficient de grele. Greutatea maximă recomandată este de 130 g.

Setul pentru realizarea unui braț robot și componentele acestuia sunt prezentate în figurile 15.2 și 15.3.


Orez. 15.2. Kit pentru realizarea unui braț robotizat



Orez. 15.3. Cutia de viteze înainte de asamblare

Principiul controlului motorului

Pentru a înțelege cum funcționează control-by-wire, să ne uităm la modul în care un semnal digital controlează funcționarea unui singur motor DC. Pentru a controla motorul, sunt necesari doi tranzistori complementari. Un tranzistor are conductivitate de tip PNP, celălalt are conductivitate de tip NPN. Fiecare tranzistor acționează ca un comutator electronic, controlând mișcarea curentului care curge prin motorul de curent continuu. Direcțiile fluxului de curent controlate de fiecare dintre tranzistori sunt opuse. Direcția curentului determină sensul de rotație al motorului, respectiv, în sensul acelor de ceasornic sau în sens invers acelor de ceasornic. În fig. Figura 15.4 prezintă un circuit de testare pe care îl puteți asambla înainte de a realiza interfața. Rețineți că atunci când ambele tranzistoare sunt oprite, motorul este oprit. Un singur tranzistor trebuie pornit în orice moment. Dacă la un moment dat ambii tranzistori se pornesc accidental, acest lucru va duce la un scurtcircuit. Fiecare motor este controlat de doi tranzistori de interfață care funcționează în mod similar.


Orez. 15.4. Verificați diagrama dispozitivului

Design interfață PC

Diagrama interfeței PC este prezentată în Fig. 15.5. Setul de părți de interfață PC include o placă de circuit imprimat, locația părților pe care este prezentată în Fig. 15.6.


Orez. 15.5. Diagramă schematică interfata PC



Orez. 15.6. Aspectul părților interfeței PC-ului


În primul rând, trebuie să determinați partea de montare a plăcii de circuit imprimat. Pe partea de montare sunt desenate linii albe pentru a indica rezistențele, tranzistoarele, diodele, circuitele integrate și conectorul DB25. Toate piesele sunt introduse în placă din partea de montare.

Sfat general: după lipirea piesei la conductorii plăcii de circuit imprimat, este necesar să îndepărtați cablurile excesiv de lungi de pe partea de imprimare. Este foarte convenabil să urmați o anumită secvență la instalarea pieselor. Mai întâi, instalați rezistențele de 100 kOhm (inele cu coduri de culoare: maro, negru, galben, auriu sau argintiu), care sunt etichetate R1-R10. Apoi, montați cele 5 diode D1-D5, asigurându-vă că banda neagră de pe diode este vizavi de conectorul DB25, așa cum se arată prin liniile albe marcate pe partea de montare a PCB. Apoi, instalați rezistențe de 15k ohmi (cod de culoare maro, verde, portocaliu, auriu sau argintiu) etichetate R11 și R13. În poziția R12, lipiți un LED roșu pe placă. Anodul LED corespunde orificiului de sub R12, indicat prin semnul +. Apoi montați prizele cu 14 și 20 de pini sub circuitele integrate U1 și U2. Montați și lipiți conectorul înclinat DB25. Nu încercați să forțați pinii conectorului în placă; acest lucru necesită o precizie extremă. Dacă este necesar, balansați ușor conectorul, având grijă să nu îndoiți picioarele știftului. Atașați comutatorul glisant și regulatorul de tensiune 7805. Tăiați patru bucăți de sârmă la lungimea necesară și lipiți-l în partea de sus a comutatorului. Urmați dispunerea firelor așa cum se arată în imagine. Introduceți și lipiți tranzistoarele TIP 120 și TIP 125. La final, lipiți conectorul de bază cu opt pini și cablul de conectare de 75 mm. Baza este montată astfel încât cele mai lungi cabluri cu fața în sus. Introduceți două circuite integrate - 74LS373 și 74LS164 - în soclurile corespunzătoare. Asigurați-vă că poziția cheii IC pe capacul IC se potrivește cu cheia marcată cu linii albe pe PCB. Poate ați observat că au rămas spații pe tablă pt detalii suplimentare. Această locație este pentru adaptorul de rețea. În fig. Figura 15.7 prezintă o fotografie a interfeței finite din partea de instalare.


Orez. 15.7. Ansamblu interfață PC. Vedere de sus

Cum funcționează interfața

Brațul robotizat are cinci motoare de curent continuu. În consecință, vom avea nevoie de 10 magistrale de intrare/ieșire pentru a controla fiecare motor, inclusiv direcția de rotație. Portul paralel (de imprimantă) al PC-ului IBM și al mașinilor compatibile conține doar opt magistrale I/O. Pentru a crește numărul de magistrale de control, interfața brațului robotului folosește 74LS164 IC, care este un convertor serial-paralel (SIPO). Folosind doar două magistrale cu porturi paralele, D0 și D1, care trimit cod serial către IC, putem obține opt magistrale I/O suplimentare. După cum am menționat, pot fi create opt magistrale I/O, dar această interfață folosește cinci dintre ele.

Când un cod serial este introdus în IC 74LS164, codul paralel corespunzător apare la ieșirea IC. Dacă ieșirile IC 74LS164 au fost conectate direct la intrările tranzistoarelor de control, atunci funcțiile individuale ale brațului manipulatorului ar fi pornite și oprite în timp odată cu trimiterea codului serial. Evident, această situație este inacceptabilă. Pentru a evita acest lucru, un al doilea IC 74LS373 a fost introdus în circuitul de interfață - o cheie electronică controlată cu opt canale.

Comutatorul cu opt canale IC 74LS373 are opt magistrale de intrare și opt de ieșire. Informația binară prezentă pe magistralele de intrare este transmisă la ieșirile corespunzătoare ale CI numai dacă semnalul de activare este aplicat CI. După ce semnalul de activare este oprit, starea curentă a magistralelor de ieșire este salvată (reamintită). În această stare, semnalele de la intrarea IC nu au niciun efect asupra stării magistralelor de ieșire.

După transmiterea unui pachet serial de informații către IC 74LS164, un semnal de activare este trimis către IC 74LS373 de la pinul D2 al portului paralel. Acest lucru vă permite să transferați informații deja în cod paralel de la intrarea IC 74LS174 la magistralele sale de ieșire. Starea magistralelor de ieșire este controlată în mod corespunzător de tranzistoarele TIP 120, care, la rândul lor, controlează funcțiile brațului manipulator. Procesul se repetă de fiecare dată echipa noua pe mâna manipulatorului. Autobuzele cu port paralel D3-D7 acţionează direct tranzistoarele TIP 125.

Conectarea interfeței la brațul manipulatorului

Brațul robotizat este alimentat de o sursă de alimentare de 6V formată din patru celule D situate la baza structurii. Interfața PC este alimentată și de această sursă de 6 V. Sursa de alimentare este bipolară și produce ±3 V. Alimentarea interfeței este furnizată printr-un conector Molex cu opt pini atașat la baza paletei.

Conectați interfața la braț folosind un cablu Molex cu opt conductori de 75 mm. Cablul Molex se atașează la conectorul situat la baza paletei (vezi Figura 15.8). Verificați dacă conectorul este introdus corect și sigur. Pentru a conecta placa de interfață la computer, utilizați un cablu DB25, lungime 180 cm, inclus în kit. Un capăt al cablului se conectează la portul imprimantei. Celălalt capăt se conectează la conectorul DB25 de pe placa de interfață.


Orez. 15.8. Conectarea interfeței PC-ului la brațul robotizat


În cele mai multe cazuri, o imprimantă este în mod normal conectată la portul imprimantei. Pentru a evita problemele legate de conectarea și deconectarea conectorilor de fiecare dată când doriți să utilizați indicatorul, este util să cumpărați un bloc de comutare a magistralei imprimantei A/B cu două poziții (DB25). Conectați conectorul interfeței pointerului la intrarea A și imprimanta la intrarea B. Acum puteți utiliza comutatorul pentru a conecta computerul fie la imprimantă, fie la interfață.

Instalarea programului sub Windows 95

Introduceți discheta de 3,5" etichetată "Disc 1" în unitatea de dischetă și rulați programul de instalare (setup.exe). Programul de instalare va crea un director numit "Imagini" pe hard disk și va copia fișierele necesare în acest director. În Start Pictograma Imagini va apărea în meniu. Pentru a porni programul, faceți clic pe pictograma Imagini din meniul Start.

Lucrul cu programul sub Windows 95

Conectați interfața la portul de imprimantă al computerului folosind un cablu DB 25 de 180 cm lungime. Conectați interfața la baza brațului robotizat. Păstrați interfața oprită până la o anumită oră. Dacă porniți interfața în acest moment, informațiile stocate în portul imprimantei pot provoca mișcări ale brațului manipulatorului.

Faceți dublu clic pe pictograma Imagini din meniul de pornire pentru a lansa programul. Fereastra programului este prezentată în Fig. 15.9. Când programul rulează, LED-ul roșu de pe placa de interfață ar trebui să clipească. Notă: Interfața nu trebuie să fie alimentată pentru ca LED-ul să înceapă să clipească. Viteza cu care LED-ul clipește este determinată de viteza procesorului computerului dvs. Pâlpâirea LED-ului poate părea foarte slabă; Pentru a observa acest lucru, poate fi necesar să diminuați lumina din cameră și să vă luați mâinile pentru a vedea LED-ul. Dacă LED-ul nu clipește, atunci este posibil ca programul să acceseze adresa greșită a portului (portul LPT). Pentru a comuta interfața la o altă adresă de port (port LPT), accesați caseta Opțiuni port imprimantă situată în colțul din dreapta sus al ecranului. Alege o altă opțiune. Instalare corectă adresa portului va face ca LED-ul să clipească.


Orez. 15.9. Captură de ecran a programului de interfață PC pentru Windows


Când LED-ul clipește, faceți clic pe pictograma Puuse și abia apoi porniți interfața. Făcând clic pe tasta funcțională corespunzătoare va provoca o mișcare de răspuns a brațului manipulatorului. Făcând clic din nou, va opri mișcarea. Utilizarea tastelor funcționale pentru a vă controla mâna este apelată modul de control interactiv.

Crearea unui fișier script

Fișierele script sunt folosite pentru a programa mișcările și secvențele automate de acțiuni ale brațului manipulator. Fișierul script conține o listă de comenzi temporare care controlează mișcările brațului manipulatorului. Crearea unui fișier script este foarte simplă. Pentru a crea un fișier, faceți clic pe tasta programabilă a programului. Această operațiune vă va permite să intrați în moda „programarii” unui fișier script. Prin apăsarea tastelor funcționale, vom controla mișcările mâinii, așa cum am făcut deja, dar, în același timp, informațiile despre comandă vor fi înregistrate în tabelul de script galben situat în colțul din stânga jos al ecranului. Numărul pasului, începând de la unu, va fi indicat în coloana din stânga, iar pentru fiecare comandă nouă va crește cu unul. Tipul de mișcare (funcția) este indicat în coloana din mijloc. După ce apăsați din nou tasta funcțională, execuția mișcării se oprește, iar valoarea timpului de execuție a mișcării de la începutul ei până la sfârșitul acesteia apare în a treia coloană. Timpul de execuție al mișcării este indicat cu o precizie de un sfert de secundă. Continuând în acest mod, utilizatorul poate programa până la 99 de mișcări în fișierul script, inclusiv pauze de timp. Fișierul script poate fi apoi salvat și încărcat ulterior din orice director. Execuția comenzilor fișierului script poate fi repetată ciclic de până la 99 de ori, pentru care trebuie să introduceți numărul de repetări în fereastra Repetare și să faceți clic pe Start. Pentru a termina scrierea în fișierul script, apăsați tasta interactivă. Această comandă va pune computerul înapoi în modul interactiv.

„Revitalizarea” obiectelor

Fișierele script pot fi folosite pentru a automatiza acțiunile computerului sau pentru a aduce obiecte la viață. În cazul „animației” obiectelor, „scheletul” mecanic robotizat controlat este de obicei acoperit cu o carcasă exterioară și nu este vizibil în sine. Îți amintești de păpușa cu mănușă descrisă la începutul capitolului? Învelișul exterior poate fi sub forma unei persoane (parțial sau complet), un extraterestru, un animal, o plantă, o stâncă sau orice altceva.

Limitări de aplicare

Dacă vrei să realizezi nivel profesional efectuarea de acțiuni automate sau „revitalizarea” obiectelor, apoi, ca să spunem așa, pentru menținerea mărcii, precizia de poziționare la efectuarea mișcărilor în fiecare moment în timp ar trebui să se apropie de 100%.

Cu toate acestea, este posibil să observați că pe măsură ce repetați secvența de acțiuni înregistrate în fișierul script, poziția mâinii manipulatorului (modelul de mișcare) va diferi de cea originală. Acest lucru se întâmplă din mai multe motive. Pe măsură ce bateriile de alimentare ale brațului se epuizează, reducerea puterii furnizate motoarelor de curent continuu are ca rezultat o reducere a cuplului și a vitezei de rotație a motoarelor. Astfel, lungimea de mișcare a manipulatorului și înălțimea sarcinii ridicate în aceeași perioadă de timp vor diferi pentru bateriile uzate și „proaspete”. Dar acesta nu este singurul motiv. Chiar și cu o sursă de energie stabilizată, viteza arborelui motorului va varia, deoarece nu există un regulator de viteză a motorului. Pentru fiecare perioadă fixă ​​de timp, numărul de rotații va fi ușor diferit de fiecare dată. Acest lucru va duce la faptul că poziția brațului de manipulare va fi diferită de fiecare dată. În plus, există un anumit joc în angrenajele cutiei de viteze, care, de asemenea, nu este luat în considerare. Datorită tuturor acestor factori, despre care am discutat în detaliu aici, atunci când se execută un ciclu de comenzi repetate ale fișierului script, poziția mâinii manipulatorului va fi ușor diferită de fiecare dată.

Găsirea poziției de acasă

Puteți îmbunătăți funcționarea dispozitivului adăugând un circuit la acesta părere, care urmărește poziția brațului de manipulare. Aceste informații pot fi introduse într-un computer, permițând determinarea poziției absolute a manipulatorului. Cu un astfel de sistem de feedback pozițional, este posibilă setarea poziției brațului manipulatorului în același punct la începutul execuției fiecărei secvențe de comenzi scrise în fișierul script.

Există multe posibilități pentru asta. Una dintre metodele principale nu oferă control pozițional în fiecare punct. În schimb, se utilizează un set de întrerupătoare de limită care corespund poziției inițiale de „pornire”. Întrerupătoarele de limită determină exact o singură poziție - când manipulatorul ajunge în poziția „pornire”. Pentru a face acest lucru, este necesar să configurați o secvență de întrerupătoare de limită (butoane), astfel încât acestea să se închidă atunci când manipulatorul ajunge în poziția extremă într-o direcție sau alta. De exemplu, un întrerupător de limită poate fi montat pe baza manipulatorului. Comutatorul ar trebui să funcționeze numai când brațul manipulatorului atinge poziția extremă când se rotește în sensul acelor de ceasornic. Alte întrerupătoare de limită trebuie instalate la articulațiile umărului și cotului. Acestea ar trebui să fie declanșate atunci când articulația corespunzătoare este complet extinsă. Un alt comutator este instalat pe mână și este activat când mâna este rotită complet în sensul acelor de ceasornic. Ultimul întrerupător de limită este instalat pe pinza și se închide când este complet deschis. Pentru a readuce manipulatorul în poziția sa inițială, fiecare mișcare posibilă a manipulatorului este efectuată în direcția necesară pentru a închide întrerupătorul de limită corespunzător până când acest comutator se închide. Odată ce poziția de pornire pentru fiecare mișcare este atinsă, computerul va „cunoaște” cu precizie poziția adevărată a brațului robotizat.

După ce ajungem în poziția inițială, putem rula din nou programul scris în fișierul script, pornind de la presupunerea că eroarea de poziționare în timpul fiecărui ciclu se va acumula suficient de lent încât să nu conducă la abateri prea mari ale poziției manipulatorului de la cel dorit. După executarea fișierului script, mâna este setată în poziția inițială și ciclul fișierului script se repetă.

În unele secvențe, cunoașterea doar a poziției inițiale nu este suficientă, de exemplu atunci când ridicați un ou fără riscul de a-i zdrobi coaja. În astfel de cazuri, este necesar un sistem de feedback de poziție mai complex și mai precis. Semnalele de la senzori pot fi procesate folosind un ADC. Semnalele rezultate pot fi utilizate pentru a determina valori pentru parametri precum poziția, presiunea, viteza și cuplul. Următorul exemplu simplu poate fi folosit pentru a ilustra acest lucru. Imaginați-vă că ați atașat un mic rezistor variabil liniar la ansamblul de prindere. Rezistorul variabil este instalat astfel încât mișcarea alunecării sale înainte și înapoi să fie asociată cu deschiderea și închiderea prinderii. Astfel, în funcție de gradul de deschidere al prinderii, rezistența rezistenței variabile se modifică. După calibrare, măsurând rezistența de curent a rezistenței variabile, puteți determina cu precizie unghiul de deschidere al clemelor de prindere.

Crearea unui astfel de sistem de feedback introduce un alt nivel de complexitate în dispozitiv și, în consecință, duce la creșterea costului acestuia. Prin urmare mai mult varianta simpla este introducerea sistemului control manual pentru a regla poziția și mișcările mâinii manipulatorului în timpul execuției unui program script.

Sistem manual de control al interfeței

Odată ce sunteți sigur că interfața funcționează în mod corect, puteți conecta o unitate de control manuală la aceasta folosind un conector plat cu 8 pini. Verificați poziția de conectare a conectorului Molex cu 8 pini la capul conectorului de pe placa de interfață, așa cum se arată în Fig. 15.10. Introduceți cu grijă conectorul până când este bine conectat. După aceasta, brațul manipulatorului poate fi controlat oricând de la telecomanda de mână. Nu contează dacă interfața este conectată la un computer sau nu.


Orez. 15.10. Conexiune control manual

Program de control al tastaturii DOS

Există un program DOS care vă permite să controlați funcționarea brațului manipulator de la tastatura computerului în modul interactiv. Lista tastelor corespunzătoare îndeplinirii unei anumite funcții este dată în tabel.

În controlul vocal al brațului manipulator, se utilizează un set de recunoaștere a vorbirii (SRR), care a fost descris în Capitolul. 7. În acest capitol, vom realiza o interfață care conectează URR-ul cu brațul manipulatorului. Această interfață este oferită și ca kit de către Images SI, Inc.

Diagrama interfeței pentru URR este prezentată în Fig. 15.11. Interfața folosește un microcontroler 16F84. Programul pentru microcontroler arată astfel:


„Programul de interfață URR

Simbol PortA = 5

Simbol TRISA = 133

Port simbol B = 6

Simbol TRISB = 134

Dacă bit4 = 0, atunci declanșați „Dacă scrierea în declanșator este permisă, citiți schema

Treceți pentru a începe „Repetiție

pauză 500 ‘Așteptați 0,5 s

Peek PortB, B0 „Citiți codul BCD

Dacă bit5 = 1, atunci trimiteți „Cod de ieșire

mergeți să începeți „Repetați

peek PortA, b0 „Citirea portului A

dacă bit4 = 1, atunci unsprezece „Este numărul 11?

poke PortB, b0 ‘Cod de ieșire

mergeți să începeți „Repetați

dacă bit0 = 0 atunci zece

mergeți să începeți „Repetați

mergeți să începeți „Repetați



Orez. 15.11. Schema controlerului URR pentru brațul robotizat


Actualizarea programului pentru 16F84 poate fi descărcată gratuit de la http://www.imagesco.com

Programarea interfeței URR

Programarea interfeței URR este similară cu procedura de programare a URR din setul descris în Capitol. 7. Pentru ca brațul robotizat să funcționeze corect, trebuie să programați cuvinte de comandă după numerele corespunzătoare unei anumite mişcări a manipulatorului. În tabel 15.1 prezintă exemple de cuvinte de comandă care controlează funcționarea brațului manipulator. Puteți alege cuvinte de comandă după gust.

Tabelul 15.1

Lista de piese pentru interfața PC

(5) tranzistor NPN TIP120

(5) Tranzistor PNP TIP 125

(1) Convertor de cod IC 74164

(1) IC 74LS373 opt chei

(1) LED roșu

(5) Dioda 1N914

(1) Femelă Molex cu 8 pini

(1) Cablu Molex cu 8 fire de 75 mm lungime

(1) Comutator DIP

(1) Conector înclinat DB25

(1) Cablu DB 25 1,8 m cu doi conectori de tip M.

(1) Placă de circuit imprimat

(3) Rezistor 15 kOhm, 0,25 W


Toate piesele enumerate sunt incluse în kit.

Lista părților interfeței de vorbire

(5) Tranzistor NPN TIP 120

(5) Tranzistor PNP TIP 125

(1) Poarta IC 4011 NOR

(1) IC 4049 – 6 tampon

(1) Amplificator operațional IC 741

(1) Rezistor 5,6 kOhm, 0,25 W

(1) Rezistor 15 kOhm, 0,25 W

(1) Antet Molex cu 8 pini

(1) Cablu Molex 8 fire, lungime 75 mm

(10) Rezistor 100 kOhm, 0,25 W

(1) Rezistor 4,7 kOhm, 0,25 W

(1) Regulator de tensiune IC 7805

(1) CI microcontroler PIC 16F84

(1) Cristal de 4,0 MHz

Kit de interfață pentru brațul manipulatorului

Kit pentru realizarea unui braț manipulator de la OWI

Interfață de recunoaștere a vorbirii pentru brațul robotizat

Set dispozitiv de recunoaștere a vorbirii


Piesele pot fi comandate de la:

Imagini, SI, Inc.

Una din principalele forţe motrice automatizare producție modernă sunt manipulatori robotici industriali. Dezvoltarea și implementarea lor a permis întreprinderilor să atingă un nou nivel științific și tehnic de performanță a sarcinilor, să redistribuie responsabilitățile între tehnologie și oameni și să crească productivitatea. Despre tipurile de asistenți robotici, funcționalitatea și prețurile acestora vom vorbi în articol.

Asistent nr. 1 – manipulator robot

Industria este fundamentul majorității economiilor din lume. Nu numai veniturile producției individuale, ci și bugetul de stat depind de calitatea mărfurilor oferite, volume și prețuri.

În lumina introducerii active a liniilor automate și a utilizării pe scară largă tehnologie inteligentă cerințele pentru produsele furnizate sunt în creștere. Este aproape imposibil astăzi să reziste concurenței fără utilizarea de linii automate sau manipulatoare robotizate industriale.

Cum funcționează un robot industrial?

Brațul robotizat arată ca un „braț” uriaș automat controlat de un sistem de control electric. Nu există pneumatice sau hidraulice în proiectarea dispozitivelor; totul este construit pe electromecanică. Acest lucru a redus costul roboților și a crescut durabilitatea acestora.

Roboții industriali pot fi cu 4 axe (utilizați pentru așezare și ambalare) și cu 6 axe (pentru alte tipuri de lucrări). În plus, roboții diferă în funcție de gradul de libertate: de la 2 la 6. Cu cât este mai mare, cu atât manipulatorul recreează mai precis mișcarea unei mâini umane: rotație, mișcare, compresie/eliberare, înclinare etc.
Principiul de funcționare al dispozitivului depinde de acesta softwareşi echipamente, iar dacă la începutul dezvoltării sale scopul principal era eliberarea muncitorilor de grele şi aspect periculos munca, astăzi gama de sarcini îndeplinite a crescut semnificativ.

Utilizarea asistenților robotici vă permite să faceți față mai multor sarcini simultan:

  • reducerea spațiului de lucru și eliberarea specialiștilor (experiența și cunoștințele acestora pot fi utilizate în alt domeniu);
  • creșterea volumelor de producție;
  • imbunatatirea calitatii produselor;
  • Datorită continuității procesului, ciclul de producție este scurtat.

În Japonia, China, SUA și Germania, întreprinderile angajează un minim de angajați, a căror responsabilitate este doar să controleze funcționarea manipulatoarelor și calitatea produselor fabricate. Este demn de remarcat faptul că un manipulator robot industrial nu este doar un asistent funcțional în inginerie mecanică sau sudare. Dispozitivele automatizate sunt prezentate într-o gamă largă și sunt utilizate în metalurgie, lumină și Industria alimentară. În funcție de nevoile întreprinderii, puteți selecta un manipulator care se potrivește responsabilități funcționale si buget.

Tipuri de manipulatoare robotizate industriale

Astăzi există aproximativ 30 de specii brațe robotizate: de la modele universale la asistenți de înaltă specializare. În funcție de funcțiile îndeplinite, mecanismele manipulatorilor pot diferi: de exemplu, pot fi lucrari de sudare, tăierea, găurirea, îndoirea, sortarea, stivuirea și ambalarea mărfurilor.

Spre deosebire de stereotipul existent despre costul ridicat al tehnologiei robotice, toată lumea, chiar și o întreprindere mică, va putea achiziționa un astfel de mecanism. Mici manipulatoare robotizate universale cu o capacitate mică de încărcare (până la 5 kg) de la ABB și FANUC vor costa de la 2 la 4 mii de dolari.
În ciuda compactității dispozitivelor, acestea sunt capabile să mărească viteza de lucru și calitatea procesării produsului. Pentru fiecare robot se va scrie un software unic care coordonează precis funcționarea unității.

Modele extrem de specializate

Robotii de sudare și-au găsit cea mai mare aplicație în inginerie mecanică. Datorită faptului că dispozitivele sunt capabile să sude nu numai piese drepte, ci și să efectueze eficient lucrările de sudare în unghi, în locuri greu accesibile instalați linii automate întregi.

Este lansat un sistem de transport, în care fiecare robot își face partea sa de lucru într-un anumit timp, iar apoi linia începe să treacă la următoarea etapă. Organizarea unui astfel de sistem cu oameni este destul de dificilă: niciunul dintre muncitori nu ar trebui să lipsească nici măcar o secundă, altfel întregul proces de fabricație, sau apare o căsătorie.

Sudori
Cele mai comune opțiuni sunt roboții de sudare. Performanța și acuratețea lor sunt de 8 ori mai mari decât cele ale oamenilor. Astfel de modele pot efectua mai multe tipuri de sudare: arc sau spot (în funcție de software).

Manipulatoarele robotizate industriale Kuka sunt considerate lideri în acest domeniu. Cost de la 5 la 300 de mii de dolari (în funcție de capacitatea de încărcare și funcții).

Culegători, mutatori și ambalatori
Greu și dăunător pentru corpul uman forța de muncă a dus la apariția asistenților automatizați în această industrie. Roboții de ambalare pregătesc mărfurile pentru expediere în câteva minute. Costul unor astfel de roboți este de până la 4 mii de dolari.

Producătorii ABB, KUKA și Epson oferă utilizarea dispozitivelor pentru ridicarea sarcinilor grele cu o greutate mai mare de 1 tonă și transportarea acestora de la depozit la locul de încărcare.

Producători de roboti manipulatori industriali

Japonia și Germania sunt considerate liderii de necontestat în această industrie. Ele reprezintă mai mult de 50% din toată tehnologia robotică. Nu este ușor să concurezi cu giganții, iar în țările CSI apar treptat proprii producători și startup-uri.

Sistemele KNN. Compania ucraineană este partener al companiei germane Kuka și dezvoltă proiecte de robotizare a sudării, frezării, tăierea cu plasmăși paletizare. Datorită software-ului lor, un robot industrial poate fi reconfigurat noul fel sarcini într-o singură zi.

Rozum Robotics (Belarus). Specialiștii companiei au dezvoltat manipulatorul robotizat industrial PULSE, care se remarcă prin ușurință și ușurință în utilizare. Dispozitivul este potrivit pentru asamblarea, ambalarea, lipirea și rearanjarea pieselor. Prețul robotului este de aproximativ 500 de dolari.

„ARKODIM-Pro” (Rusia). Angajată în producția de manipulatoare robotizate liniare (care se deplasează de-a lungul axelor liniare) utilizate pentru turnarea prin injecție a plasticului. În plus, roboții ARKODIM pot lucra ca parte a unui sistem de transport și pot îndeplini funcțiile unui sudor sau ambalator.

Are iluminare de fundal. În total, robotul funcționează pe 6 servomotoare. Pentru realizarea piesei mecanice s-a folosit acril gros de doi milimetri. Pentru a realiza trepiedul, baza a fost luată dintr-o bilă disco și un motor a fost construit direct în ea.

Robotul rulează pe o placă Arduino. Un computer este folosit ca sursă de alimentare.

Materiale si instrumente:
- 6 servomotoare;
- acril de 2 mm grosime (si inca o bucata mica de 4 mm grosime);
- trepied (pentru a crea o bază);
- senzor ultrasonic de distanta tip hc-sr04;
- controler Arduino Uno;
- controler de putere (fabricat independent);
- alimentare de la calculator;
- calculator (necesar pentru programarea Arduino);
- fire, unelte etc.



Proces de fabricație:

Primul pas. Asamblarea părții mecanice a robotului
Partea mecanică este asamblată foarte simplu. Două bucăți de acril trebuie conectate folosind un servomotor. Celelalte două legături sunt conectate într-un mod similar. În ceea ce privește mânerul, cel mai bine este să îl cumpărați online. Toate elementele sunt fixate cu șuruburi.

Lungimea primei părți este de aproximativ 19 cm, iar cea de-a doua este de aproximativ 17,5 cm.Veriga frontală are o lungime de 5,5 cm.În ceea ce privește elementele rămase, dimensiunile acestora sunt alese la discreția personală.





Unghiul de rotație la bază brațul mecanic ar trebui să fie de 180 de grade, așa că trebuie să instalați un servomotor de jos. În cazul nostru, trebuie instalat într-o minge disco. Robotul este deja instalat pe servomotor.

Pentru instalare senzor ultrasonic Veți avea nevoie de o bucată de acril de 2 cm grosime.

Pentru a instala grabber veți avea nevoie de mai multe șuruburi și un servomotor. Trebuie să luați balansoarul de la servomotor și să îl scurtați până se potrivește cu prinderea. Apoi puteți strânge cele două șuruburi mici. După instalare, servomotorul trebuie rotit în poziția extremă din stânga și fălcile de prindere trebuie închise.

Acum servomotorul este atașat la 4 șuruburi, este important să vă asigurați că este în poziția extremă din stânga și buzele sunt presate împreună.
Acum puteți conecta servo-ul la placă și puteți verifica dacă prinderea funcționează.








Pasul doi. Iluminare robot
Pentru a face robotul mai interesant, îl puteți ilumina de fundal. Acest lucru se face folosind LED-uri de diferite culori.


Pasul trei. Conectarea părții electronice
Controlerul principal pentru robot este placa Arduino. O unitate de computer este folosită ca sursă de alimentare; la ieșirile sale trebuie să găsiți o tensiune de 5 volți. Ar trebui să fie acolo dacă măsurați tensiunea pe firele roșii și negre cu un multimetru. Această tensiune este necesară pentru alimentarea servomotoarelor și a senzorului de distanță. Firele galbene și negre ale blocului produc deja 12 Volți, sunt necesare pentru ca Arduino să funcționeze.

Pentru servomotoare trebuie să faceți cinci conectori. Conectăm 5V la cele pozitive, iar cele negative la masă. Senzorul de distanță este conectat în același mod.

Placa are, de asemenea, un indicator LED de alimentare. Pentru a-l conecta, se folosește un rezistor de 100 Ohm între +5V și masă.










Ieșirile de la servomotoarele sunt conectate la ieșirile PWM de pe Arduino. Astfel de pini de pe placă sunt indicați de pictograma „~”. În ceea ce privește senzorul de distanță cu ultrasunete, acesta poate fi conectat la pinii 6 și 7. LED-ul este conectat la masă și al 13-lea pin.

Acum puteți începe programarea. Înainte de a vă conecta prin USB, trebuie să vă asigurați că alimentarea este complet oprită. La testarea programului, robotul trebuie de asemenea oprit. Dacă acest lucru nu se face, controlerul va primi 5V de la USB și 12V de la sursa de alimentare.

În diagramă puteți vedea că au fost adăugate potențiometre pentru a controla servomotoarele. Nu sunt o componentă necesară a robotului, dar fără ele codul propus nu va funcționa. Potențiometrele sunt conectate la pinii 0,1,2,3 și 4.

Pe diagramă există un rezistor R1; acesta poate fi înlocuit cu un potențiometru de 100 kOhm. Acest lucru vă va permite să reglați luminozitatea manual. În ceea ce privește rezistențele R2, valoarea lor nominală este de 118 ohmi.

Iată o listă a principalelor componente care au fost utilizate:
- 7 LED-uri;
- R2 - rezistor 118 Ohm;
- R1 - rezistor 100 kOhm;
- intrerupator;
- fotorezistor;
- tranzistor bc547.

Pasul patru. Programarea și prima lansare a robotului
Pentru controlul robotului s-au folosit 5 potențiometre. Este foarte posibil să înlocuiți un astfel de circuit cu un potențiometru și două joystick-uri. Modul de conectare a potențiometrului a fost arătat în pasul anterior. După instalarea schiței, robotul poate fi testat.

Primele teste ale robotului au arătat că servomotoarele instalate de tip futuba s3003 s-au dovedit a fi slabe pentru robot. Ele pot fi folosite doar pentru a întoarce mâna sau pentru a apuca. În schimb, autorul a instalat motoarele mg995. Opțiune ideală vor exista motoare ca mg946.

Creăm un manipulator robot folosind un telemetru și implementăm iluminarea de fundal.

Vom tăia baza din acril. Folosim servomotoare ca motoare.

Descrierea generală a proiectului manipulatorului robotic

Proiectul folosește 6 servomotoare. Pentru partea mecanică s-a folosit acrilic de 2 mm grosime. Baza de la o minge disco a fost la îndemână ca trepied (unul dintre motoare este montat în interior). De asemenea, se utilizează un senzor ultrasonic de distanță și un LED de 10 mm.

O placă de alimentare Arduino este folosită pentru a controla robotul. Sursa de alimentare în sine este sursa de alimentare a computerului.

Proiectul oferă explicații cuprinzătoare pentru dezvoltarea unui braț robot. Problemele de alimentare cu energie a designului dezvoltat sunt luate în considerare separat.

Componentele principale pentru proiectul manipulatorului

Să începem dezvoltarea. Vei avea nevoie:

  • 6 servomotoare (am folosit 2 modele mg946, 2 mg995, 2 futuba s3003 (mg995/mg946 au caracteristici mai bune decat futuba s3003, dar acestea din urma sunt mult mai ieftine);
  • acrilic de 2 milimetri grosime (și o bucată mică de 4 mm grosime);
  • senzor ultrasonic de distanta hc-sr04;
  • LED-uri 10 mm (culoare - la discreția ta);
  • trepied (folosit ca bază);
  • prindere din aluminiu (cost aproximativ 10-15 dolari).

Pentru conducere:

  • Placă Arduino Uno (proiectul folosește o placă de casă care este complet similară cu Arduino);
  • placa de alimentare (va trebui să o faceți singur, vom reveni la această problemă mai târziu, necesită o atenție specială);
  • sursa de alimentare (in în acest caz, se folosește sursa de alimentare a calculatorului);
  • un computer pentru programarea manipulatorului (dacă utilizați Arduino pentru programare, atunci IDE-ul Arduino)

Desigur, veți avea nevoie de cabluri și câteva instrumente de bază, cum ar fi șurubelnițe și altele asemenea. Acum putem trece la proiectare.

Asamblare mecanică

Înainte de a începe dezvoltarea părții mecanice a manipulatorului, este de remarcat faptul că nu am desene. Toate nodurile au fost făcute „pe genunchi”. Dar principiul este foarte simplu. Aveți două legături acrilice, între care trebuie să instalați servomotoare. Și celelalte două link-uri. De asemenea, pentru instalarea motoarelor. Ei bine, apucarea în sine. Cel mai simplu mod de a cumpăra o astfel de prindere este pe internet. Aproape totul este instalat folosind șuruburi.

Lungimea primei părți este de aproximativ 19 cm; al doilea - aproximativ 17,5; Lungimea verigii frontale este de aproximativ 5,5 cm. Selectați dimensiunile rămase în funcție de dimensiunile proiectului dvs. În principiu, dimensiunile nodurilor rămase nu sunt atât de importante.

Bratul mecanic trebuie sa asigure un unghi de rotatie de 180 de grade la baza. Deci trebuie să instalăm un servomotor în partea de jos. În acest caz, este instalat în aceeași minge disco. În cazul dvs., aceasta ar putea fi orice cutie potrivită. Robotul este montat pe acest servomotor. După cum se arată în figură, puteți instala un inel de flanșă metalic suplimentar. Te poți descurca fără el.

Pentru a instala senzorul cu ultrasunete, se folosește acril de 2 mm grosime. Puteți instala un LED chiar mai jos.

Este dificil de explicat în detaliu cum să construiți un astfel de manipulator. Depinde mult de componentele și piesele pe care le aveți în stoc sau achiziționați. De exemplu, dacă dimensiunile servo-urilor dvs. sunt diferite, legăturile armăturii acrilice se vor schimba și ele. Dacă dimensiunile se modifică, calibrarea manipulatorului va fi și ea diferită.

Cu siguranță va trebui să extindeți cablurile servomotoarelor după finalizarea dezvoltării părții mecanice a manipulatorului. În aceste scopuri, acest proiect a folosit fire de la un cablu de Internet. Pentru ca toate acestea să arate așa, nu fi leneș și instalează adaptoare la capetele libere ale cablurilor prelungite - mamă sau masculin, în funcție de ieșirile plăcii Arduino, a scutului sau a sursei de alimentare.

După asamblarea părții mecanice, putem trece la „creierul” manipulatorului nostru.

Mâner manipulator

Pentru a instala mânerul veți avea nevoie de un servomotor și câteva șuruburi.

Deci, ce anume trebuie făcut.

Luați balansoarul de pe servo și scurtați-l până se potrivește cu priza dvs. După aceasta, strângeți cele două șuruburi mici.

După instalarea servo, rotiți-l în poziția extremă din stânga și strângeți fălcile de prindere.

Acum puteți instala servo-ul cu 4 șuruburi. În același timp, asigurați-vă că motorul este încă în poziția extremă din stânga și fălcile de prindere sunt închise.

Puteți conecta servomotor la placa Arduino și puteți verifica funcționalitatea gripperului.

Vă rugăm să rețineți că pot apărea probleme de funcționare a gripei dacă șuruburile/șuruburile sunt prea strânse.

Adăugarea de iluminare la indicator

Puteți să vă luminați proiectul adăugându-i lumină. Pentru asta au fost folosite LED-uri. Este ușor de făcut și arată foarte impresionant în întuneric.

Locurile pentru instalarea LED-urilor depind de creativitatea și imaginația ta.

Schema electrica

Puteți utiliza un potențiometru de 100 kOhm în loc de rezistența R1 pentru a regla manual luminozitatea. Ca rezistență R2 au fost folosite rezistențe de 118 ohmi.

Lista componentelor principale care au fost utilizate:

  • R1 - rezistor 100 kOhm
  • R2 - rezistor 118 Ohm
  • Tranzistor bc547
  • Fotorezistor
  • 7 LED-uri
  • Intrerupator
  • Conexiune la placa Arduino

O placă Arduino a fost folosită ca microcontroler. Sursa de alimentare de la un computer personal a fost folosită ca sursă de alimentare. Prin conectarea multimetrului la cablurile roșii și negre, veți vedea 5 volți (care sunt utilizați pentru servomotoarele și senzorul de distanță cu ultrasunete). Galben și negru vă vor oferi 12 volți (pentru Arduino). Facem 5 conectori pentru servomotoare, in paralel le conectam pe cele pozitive la 5 V, iar pe cele negative la masa. La fel si cu senzorul de distanta.

După aceasta, conectați conectorii rămași (unul de la fiecare servo și doi de la telemetru) la placa pe care am lipit-o și la Arduino. În același timp, nu uitați să indicați corect pinii pe care i-ați folosit în program în viitor.

În plus, pe placa de alimentare a fost instalat un indicator LED de alimentare. Acest lucru este ușor de implementat. În plus, a fost folosit un rezistor de 100 ohmi între 5V și masă.

LED-ul de 10 mm de pe robot este, de asemenea, conectat la Arduino. Un rezistor de 100 ohmi trece de la pinul 13 la piciorul pozitiv al LED-ului. Negativ - la pământ. Îl poți dezactiva în program.

Pentru 6 servomotoare se folosesc 6 conectori, deoarece cele 2 servomotoare de mai jos folosesc același semnal de control. Conductoarele corespunzătoare sunt conectate și conectate la un pin.

Repet că sursa de alimentare de la un computer personal este folosită ca sursă de alimentare. Sau, bineînțeles, puteți achiziționa o sursă de alimentare separată. Dar ținând cont de faptul că avem 6 unități, fiecare dintre ele poate consuma aproximativ 2 A, o sursă de alimentare atât de puternică nu va fi ieftină.

Vă rugăm să rețineți că conectorii de la servo sunt conectați la ieșirile PWM ale Arduino. Lângă fiecare astfel de pin de pe tablă există simbol~. Un senzor de distanță ultrasonic poate fi conectat la pinii 6, 7. Un LED poate fi conectat la pinul 13 și la masă. Acestea sunt toate ace de care avem nevoie.

Acum putem trece la programarea Arduino.

Înainte de a conecta placa prin USB la computer, asigurați-vă că opriți alimentarea. Când testați programul, opriți și alimentarea brațului robot. Dacă alimentarea nu este oprită, Arduino va primi 5 volți de la usb și 12 volți de la sursa de alimentare. În consecință, puterea de la usb se va transfera la sursa de alimentare și se va „scădea” puțin.

Schema de cablare arată că au fost adăugate potențiometre pentru a controla servomotoarele. Potențiometrele sunt opționale, dar codul de mai sus nu va funcționa fără ele. Potențiometrele pot fi conectate la pinii 0,1,2,3 și 4.

Programare și prima lansare

Pentru control se folosesc 5 potențiometre (puteți înlocui complet acesta cu 1 potențiometru și două joystick-uri). Schema de conectare cu potențiometre este prezentată în partea anterioară. Schița Arduino este aici.

Mai jos sunt câteva videoclipuri cu brațul robotic în acțiune. Sper să vă bucurați.

Videoclipul de mai sus arată cele mai recente modificări ale armamentului. A trebuit să schimb puțin designul și să schimb câteva piese. S-a dovedit că servo-urile futuba s3003 erau destul de slabe. S-au dovedit a fi folosite doar pentru prinderea sau rotirea mâinii. Deci au instalat mg995. Ei bine, mg946 va fi în general o opțiune excelentă.

Program de control și explicații pentru acesta

// unitățile sunt controlate cu ajutorul rezistențelor variabile - potențiometre.

int potpin = 0; // pin analog pentru conectarea unui potențiometru

int val; // variabilă pentru citirea datelor de la pinul analogic

myservo1.attach(3);

myservo2.attach(5);

myservo3.attach(9);

myservo4.attach(10);

myservo5.attach(11);

pinMode(led, OUTPUT);

( //servo 1 pin analogic 0

val = analogRead(potpin); // citește valoarea potențiometrului (valoare între 0 și 1023)

// scalează valoarea rezultată pentru utilizare cu servo-uri (obținând o valoare în intervalul de la 0 la 180)

myservo1.write(val); // aduce servomotorul într-o poziție în conformitate cu valoarea calculată

întârziere (15); // așteaptă ca servomotorul să ajungă în poziția specificată

val = analogRead(potpin1); // servo 2 pe pinul analogic 1

val = map(val, 0, 1023, 0, 179);

myservo2.write(val);

val = analogRead(potpin2); // servo 3 pe pinul analogic 2

val = map(val, 0, 1023, 0, 179);

myservo3.write(val);

val = analogRead(potpin3); // servo 4 pe pinul analogic 3

val = map(val, 0, 1023, 0, 179);

myservo4.write(val);

val = analogRead(potpin4); //serva 5 pe pinul analogic 4

val = map(val, 0, 1023, 0, 179);

myservo5.write(val);

Schițați folosind un senzor de distanță ultrasonic

Aceasta este probabil una dintre cele mai impresionante părți ale proiectului. Pe manipulator este instalat un senzor de distanță, care reacționează la obstacolele din jur.

Explicațiile de bază ale codului sunt prezentate mai jos

#define trigPin 7

Următoarea bucată de cod:

Am atribuit nume tuturor celor 5 semnale (pentru 6 unități) (poate fi orice)

Ca urmare a:

Serial.begin(9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(led, OUTPUT);

myservo1.attach(3);

myservo2.attach(5);

myservo3.attach(9);

myservo4.attach(10);

myservo5.attach(11);

Spunem plăcii Arduino la care pini sunt conectate LED-urile, servomotoarele și senzorul de distanță. Nu este nevoie să schimbi nimic aici.

nulă poziție1())(

digitalWrite(led, HIGH);

myservo2.writeMicroseconds(1300);

myservo4.writeMicroseconds(800);

myservo5.writeMicroseconds(1000);

Există câteva lucruri pe care le puteți schimba aici. Am stabilit o poziție și am numit-o poziție1. Va fi folosit în programul viitor. Dacă doriți să furnizați o mișcare diferită, modificați valorile dintre paranteze de la 0 la 3000.

După care:

nulă poziție2())(

digitalWrite(led,LOW);

myservo2.writeMicroseconds(1200);

myservo3.writeMicroseconds(1300);

myservo4.writeMicroseconds(1400);

myservo5.writeMicroseconds(2200);

Similar piesei anterioare, doar in acest caz este pozitia2. Folosind același principiu, puteți adăuga noi poziții pentru mișcare.

lungă durată, distanță;

digitalWrite(trigPin, LOW);

delayMicrosecunde(2);

digitalWrite(trigPin, HIGH);

delayMicrosecunde(10);

digitalWrite(trigPin, LOW);

durata = pulseIn(echoPin, HIGH);

distanta = (durata/2) / 29,1;

Acum, codul principal al programului începe să funcționeze. Nu ar trebui să-l schimbi. Sarcina principală a liniilor de mai sus este configurarea senzorului de distanță.

După care:

dacă (distanța<= 30) {

dacă (distanța< 10) {

myservo5.writeMicroseconds(2200); //deschide grabber

myservo5.writeMicroseconds(1000); //închide dispozitivul de prindere

Acum puteți adăuga mișcări noi în funcție de distanța măsurată de senzorul ultrasonic.

dacă (distanță<=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.

pozitia1(); // în esență brațul va rezolva orice specificați între paranteze ( )

else( // dacă distanța este mai mare de 30 cm, mergeți la poziția 2

position()2 // similar cu linia anterioară

Puteți schimba distanța în cod și faceți ce doriți.

Ultimele linii de cod

dacă (distanță > 30 || distanță<= 0){

Serial.println("În afara intervalului"); //imite un mesaj în monitorul serial că am depășit intervalul specificat

Serial.print(distanta);

Serial.println("cm"); //distanta in centimetri

întârziere (500); //întârziere 0,5 secunde

Desigur, puteți converti totul aici în milimetri, metri, puteți schimba mesajul afișat etc. Te poți juca puțin cu întârzierea.

Asta e tot. Bucurați-vă, îmbunătățiți-vă propriile manipulatoare, împărtășiți idei și rezultate!

Instituția bugetară municipală

educație suplimentară „Stația pentru Tineri Tehnicieni”

orașul Kamensk Shakhtinsky

Etapa municipală a competiției regionale

„Tineri designeri ai Donului pentru al treilea mileniu”

Secțiunea „Robotică”

« Brațul manipulator Arduino"

profesor de educație suplimentară

MBU DO "SYUT"

    Introducere 3

    Cercetare și analiză 4

    Etapele unităților de fabricație și asamblarea manipulatorului 6

    1. Materiale și instrumente 6

      Componentele mecanice ale manipulatorului 7

      Umplerea electronică a manipulatorului 9

    Concluzia 11

    Surse de informare 12

    Anexa 13

    Introducere

Un manipulator robot este o mașină tridimensională care are trei dimensiuni corespunzătoare spațiului unei ființe vii. Într-un sens larg, un manipulator poate fi definit ca un sistem tehnic care poate înlocui o persoană sau o poate ajuta să îndeplinească diverse sarcini.

În prezent, dezvoltarea roboticii nu progresează, ci rulează, din timp. Numai în primii 10 ani ai secolului 21, au fost inventați și implementați peste 1 milion de roboți. Dar cel mai interesant lucru este că evoluțiile în acest domeniu pot fi realizate nu numai de echipe de mari corporații, grupuri de oameni de știință și ingineri profesioniști, ci și de școlari obișnuiți din întreaga lume.

Au fost dezvoltate mai multe complexe pentru a studia robotica la școală. Cele mai cunoscute dintre ele sunt:

    Robotis Bioloid;

    LEGO Mindstorms;

  • Arduino.

Constructorii Arduino sunt de mare interes pentru constructorii de roboți. Plăcile Arduino sunt un kit de design radio, foarte simplu, dar suficient de funcțional pentru o programare foarte rapidă în limbajul Viring (de fapt C++) și să dea viață ideilor tehnice.

Dar, după cum arată practica, munca tinerilor specialiști din noua generație capătă o importanță practică tot mai mare.

Predarea programării copiilor va fi întotdeauna relevantă, deoarece dezvoltarea rapidă a roboticii este asociată, în primul rând, cu dezvoltarea tehnologiilor informaționale și a mijloacelor de comunicare.

Scopul proiectului este de a crea un radio-constructor educațional bazat pe un braț manipulator, care să-i învețe pe copii să programeze în mediul Arduino într-un mod ludic. Pentru a oferi o oportunitate pentru cât mai mulți copii de a se familiariza cu activitățile de proiectare în robotică.

Obiectivele proiectului:

    dezvoltați și construiți un braț de predare - un manipulator cu cost minim, care nu este inferior analogilor străini;

    folosiți servo-urile ca mecanisme de manipulare;

    controlați mecanismele manipulatorului folosind kitul radio Arduino UNO R 3;

    dezvoltarea unui program în mediul de programare Arduino pentru controlul proporțional al servomotoarelor.

Pentru a atinge scopul și obiectivele stabilite ale proiectului nostru, este necesar să studiem tipurile de manipulatoare existente, literatura tehnică pe această temă și platforma hardware și de calcul Arduino.

    Cercetare și analiză

Studiu.

Manipulator industrial - conceput pentru a îndeplini funcții de motor și control în procesul de producție, adică un dispozitiv automat format dintr-un manipulator și un dispozitiv de control reprogramabil care generează acțiuni de control care stabilesc mișcările necesare ale organelor executive ale manipulatorului. Este folosit pentru a muta articole de producție și pentru a efectua diverse operațiuni tehnologice.

DESPRE
constructorul în plină expansiune - manipulatorul este echipat cu un braț robotic care comprimă și se desprinde. Cu ajutorul lui, poți juca șah controlându-l de la distanță. De asemenea, puteți folosi o mână robotică pentru a înmâna cărți de vizită. Mișcările includ: încheietura mâinii 120°, cotul 300°, rotația de bază 270°, mișcarea de bază 180°. Jucăria este foarte bună și utilă, dar costul ei este de aproximativ 17.200 de ruble.

Datorită proiectului „uArm”, oricine își poate asambla propriul mini-robot desktop. „uArm” este un manipulator cu 4 axe, o versiune în miniatură a robotului industrial „ABB PalletPack IRB460.” Manipulatorul este echipat cu un microprocesor Atmel și un set de servomotoare, costul total al pieselor necesare este de 12.959 de ruble. Proiectul uArm necesită cel puțin abilități de programare de bază și experiență în construirea Lego-urilor. Mini-robotul poate fi programat pentru multe funcții: de la cântatul unui instrument muzical până la încărcarea unui program complex. În prezent, sunt dezvoltate aplicații pentru iOS și Android, care vă vor permite să controlați „uArm” de pe un smartphone.

Manipulatoare „uArm”

Majoritatea manipulatoarelor existente implică plasarea motoarelor direct în articulații. Acest lucru este mai simplu în design, dar se dovedește că motoarele trebuie să ridice nu numai sarcina utilă, ci și alte motoare.

Analiză.

Am luat ca bază manipulatorul prezentat pe site-ul Kickstarter, care se numea „uArm”. Avantajul acestui design este că platforma pentru amplasarea gripei este întotdeauna paralelă cu suprafața de lucru. Motoarele grele sunt situate la bază, forțele sunt transmise prin tije. Drept urmare, manipulatorul are trei servo-uri (trei grade de libertate), care îi permit să miște unealta de-a lungul tuturor celor trei axe cu 90 de grade.

Au decis să instaleze rulmenți în părțile mobile ale manipulatorului. Acest design al manipulatorului are o mulțime de avantaje față de multe modele care sunt în prezent la vânzare: În total, manipulatorul folosește 11 rulmenți: 10 bucăți pentru un arbore de 3 mm și unul pentru un arbore de 30 mm.

Caracteristicile brațului manipulator:

Inaltime: 300 mm.

Zona de lucru (cu brațul complet extins): de la 140 mm la 300 mm în jurul bazei

Capacitate maximă de încărcare la lungimea brațului: 200 g

Consum de curent, nu mai mult: 1A

Usor de asamblat. S-a acordat multă atenție asigurării existenței unei astfel de secvențe de asamblare a manipulatorului, în care ar fi extrem de convenabil să înșurubați toate piesele. Acest lucru a fost deosebit de dificil pentru unitățile puternice de servomotor din bază.

Controlul este implementat folosind rezistențe variabile, control proporțional. Puteți proiecta un control de tip pantograf, precum cel al oamenilor de știință nucleari și al eroului din marele robot din filmul „Avatar”; poate fi controlat și cu un mouse, iar folosind exemple de cod vă puteți crea propriile algoritmi de mișcare.

Deschiderea proiectului. Oricine își poate face propriile instrumente (ventuza sau clemă pentru creion) și poate încărca programul (schița) necesar pentru a finaliza sarcina în controler.

    Etapele de fabricație a componentelor și asamblarea manipulatorului

      Materiale și unelte

Pentru realizarea brațului manipulator s-a folosit un panou compozit cu grosimea de 3mm și 5mm. Acesta este un material care constă din două foi de aluminiu, de 0,21 mm grosime, legate printr-un strat de polimer termoplastic, are o rigiditate bună, este ușor și este ușor de prelucrat. Fotografiile descărcate ale manipulatorului de pe Internet au fost procesate de programul de calculator Inkscape (editor de grafică vectorială). Desenele brațului manipulator au fost desenate în programul AutoCAD (un sistem tridimensional de proiectare și desenare asistată de calculator).

Piese gata făcute pentru manipulator.

Piese finisate ale bazei manipulatorului.

      Conținutul mecanic al manipulatorului

Servo MG-995 au fost folosite pentru baza manipulatorului. Acestea sunt servo digitale cu roți dințate metalice și rulmenți cu bile; acestea oferă o forță de 4,8 kg/cm, poziționare precisă și viteză acceptabilă. Un servomotor cântărește 55,0 grame cu dimensiunile 40,7 x 19,7 x 42,9 mm, tensiune de alimentare de la 4,8 la 7,2 volți.

Servo MG-90S au fost folosite pentru a prinde și roti mâna. Acestea sunt, de asemenea, servo digitale cu roți dințate metalice și un rulment cu bile pe arborele de ieșire; acestea oferă o forță de 1,8 kg/cm și un control precis al poziției. Un servomotor cântărește 13,4 grame cu dimensiunile 22,8 x 12,2 x 28,5 mm, tensiune de alimentare de la 4,8 la 6,0 volți.


Servo drive MG-995 Servo drive MG90S

Un rulment care măsoară 30x55x13 este utilizat pentru a facilita rotirea bazei brațului - un manipulator cu o sarcină.


Instalarea rulmentului. Ansamblu dispozitiv rotativ.

Baza ansamblului braț - manipulator.


Piese pentru asamblarea gripperului. Ansamblu prindere.

      Umplerea electronică a manipulatorului

Există un proiect open source numit Arduino. Baza acestui proiect este un modul hardware de bază și un program în care puteți scrie cod pentru controler într-un limbaj specializat și care vă permite să conectați și să programați acest modul.

Pentru a lucra cu manipulatorul, am folosit o placă Arduino UNO R 3 și o placă de expansiune compatibilă pentru conectarea servo-urilor. Are instalat un stabilizator de 5 volți pentru alimentarea servo-urilor, contacte PLS pentru conectarea servo-urilor și un conector pentru conectarea rezistențelor variabile. Alimentarea este furnizată dintr-un bloc de 9V, 3A.

Placă de control Arduino ONU R 3.

Schema schematică a expansiunii pentru placa de control Arduino ONU R 3 a fost elaborat ținând cont de sarcinile atribuite.

Schema schematică a plăcii de expansiune pentru controler.

Placă de expansiune pentru controler.

Conectăm placa Arduino UNO R 3 folosind un cablu USB A-B la computer, setăm setările necesare în mediul de programare și creăm un program (schiță) pentru funcționarea servo-urilor folosind bibliotecile Arduino. Compilăm (verificăm) schița, apoi o încărcăm în controler. Informații detaliate despre lucrul în mediul Arduino pot fi găsite pe site-ul http://edurobots.ru/category/uroki/ (Arduino pentru începători. Lecții).

Fereastra programului cu o schiță.

    Concluzie

Acest model de manipulator se distinge prin costul redus, în comparație cu setul de construcție simplu „Duckrobot”, care efectuează 2 mișcări și costă 1.102 ruble, sau cu setul de construcție Lego „Police Station”, care costă 8.429 de ruble. Constructorul nostru efectuează 5 mișcări și costă 2384 de ruble.

Componente și material

Cantitate

Servoacționare MG-995

Servoacționare MG90S

Rulment 30x55x13

Rulment 3x8x3

M3x27 alamă mamă-mamă

Șurub M3x10 cu poartă. sub h/w

Dimensiunea panoului compozit 0,6 m2

Placă de control Arduino UNO R 3

Rezistoare variabile 100 kom.

Costul scăzut a contribuit la dezvoltarea unui constructor tehnic pentru un braț manipulator, un exemplu al căruia a demonstrat clar principiul de funcționare a manipulatorului și implementarea sarcinilor atribuite într-o manieră jucăușă.

Principiul de funcționare în mediul de programare Arduino s-a dovedit în teste. Acest mod de a gestiona și preda programarea într-un mod ludic nu este doar posibil, ci și eficient.

Fișierul inițial cu o schiță, preluat de pe site-ul oficial Arduino și depanat în mediul de programare, asigură funcționarea corectă și fiabilă a manipulatorului.

În viitor, vreau să renunț la servomotoare scumpe și să folosesc motoare pas cu pas, astfel încât se va mișca destul de precis și fără probleme.

Manipulatorul este controlat folosind un pantograf printr-un canal radio Bluetooth.

    Surse de informare

Gololobov N.V. Despre proiectul Arduino pentru școlari. Moscova. 2011.

Kurt E. D. Introducere în microcontrolere cu traducere în rusă de T. Volkov. 2012.

Belov A.V. Manual de autoinstruire pentru dezvoltatorii de dispozitive pe microcontrolere AVR. Știință și tehnologie, Sankt Petersburg, 2008.

http://www.customelectronics.ru/robo-ruka-sborka-mehaniki/ manipulator montat pe șenile.

http://robocraft.ru/blog/electronics/660.html manipulator prin Bluetooth.

http://robocraft.ru/blog/mechanics/583.html link către articol și videoclip.

http://edurobots.ru/category/uroki/ Arduino pentru începători.

    Aplicație

Desenul de bază al manipulatorului

Desen al brațului și al mânerului manipulatorului.

Acțiune