Robotul Industrial

Cuprins

Capitolul 1 INTRODUCERE

1.1 Rezumat

1.2 Introdecere

1.1.1 Roboții casnici

1.1.2 Roboții industriali

1.1.3 Roboții exploratori

1.1.4 Roboții umanoid

1.2 Roboți industriali

1.2.1 Structura și cinematica roboților industriali

1.2.2 Structura topologică serială pentru roboții industriali

1.2.3 Roboții industriali tip “braț articulat”

1.2.4 Roboții industriali de tip “lanț închis”

1.2.5 Roboții industriali de tip “”pistol”

1.2.6 Roboții industriali de tip “turelă”

1.2.7 Roboții industriali de tip “coloană”

1.2.8 Roboții industriali de tip “cadru”

1.2.9 Roboții industriali de tip “portal”

1.2.10 Roboții industriali de tip “cărucior”

Capitolul 2 OBIECTIVE ȘI SPECIFICAȚIA PROIECTULUI

2.1 Obiectivele lucrării se axează pe:

Capitolul 3 STUDIUL BIBLIOGRAFIC

3.1 Parametrii de poziționare și orientare

3.2 Noțiuni privind structura de manipulare

3.2.0 Element cinematic

3.2. 1 Cupla cinematică

3.2.2 Lanț cinematic

3.2.3 Forma structurală a lanțurilor cinematice

3.2.4 Grad de mobilitate

3.3 Interfețe Windows în C#

3.3.1 Windows Forms

3.3.2 Caracteristici Windows Forms:

3.3.3 Tratarea programelor scrise în C#

3.4 Proiectarea sistemelor de conducere folosind automate programabile

Capitolul 4 ANALIZA PROIECTAREA ȘI IMPLEMENTAREA ROBOTULUI 21

4.1 Proiectarea structurilor mecanice a robotului industrial de tip R-T

4.1.1 Proiectarectare suport față și suport spate

4.1.2 Actuatorul și elementul de execuție

Șaiba de curea

Placă suport motor

Actuatorul

4.2 Sistemul de acționare al robotului industrial R-T

4.3 Mișcarea de rotație

4.4 Mișcarea de translație

4.4 Dispozitivul de prindere

4.5 Configurația hardware

4.6 Programarea sistemului

4.7 Realizarea plăcilor cablate pentru montaje

4.7.1 Procesul de fabricație

4.8 Procesarea imaginilor

4.8.1 Bazele analizei de contur

4.8.2 Principiul de bază

4.9 Interfața de control pentru programul de procesare de imagini

4.9.1 Crearea unui template nou

4.9.2 Deschiderea unui template existent

4.9.3 Salvarea unui template

4.9.4 Generarea de elemente noi

4.9.5 Vizualizarea elementelor

4.9.6 Ieșirea din program

4.9.7 Crearea programului executabil

Capitolul 5 TESTAREA ȘI VALIDAREA

5.1 Testarea transferului de date prin portul paralel

5.2 Determinarea pozițiilor posturilor de sortare

5.3 Validarea modului de lucru în starea „manual”

5.4 Validarea modului de lucru în starea „automat”

5.5 Validarea modului de lucru în starea „cameră video”

5.6 Rezultate experimentale

Capitolul 6 CONCLUZII

Bibliografie

Capitolul 1 INTRODUCERE

1.1 Rezumat

Lucrarea de față prezintă un robot cu o axă de rotație și una de translație, comandate de un controler logic programabil. Robotul industrial are ca elemente de acționare motoare de curent continuu și modificatoare de traiectorii. Rolul acestui robot este de a identifica formele geometrice de tip triunghi, pătrat, cerc cu ajutorul unei camere web și al unui program pentru procesarea imaginilor primite de la camera web. Comanda robotului poate fi facută și manual, cu ajutorul unei console sau prin automatul programabil pe baza unui program prestabilit.

Robotul poate să sorteze mai multe forme geometrice și să le așeze în diferite containere, specifice fiecărui model geometric. La baza robotului se află un motor de curent continuu alimentat la 24V care asigură mișcarea de rotație a brațului prin intermediul unui reductor melcat, reductor care asigură o amplificare a cuplului concomitent cu reducerea turației. Mișcarea de translație pe verticală se obține de la un motor de curent continuu alimentat la o tensiune de 12V. Efectorul final este alcătuit dintr-un sistem de prindere pe bază de electromagnet. Acest sistem de prindere este foarte eficient și des întâlnit în industrie pentru selectarea și sortarea pieselor metalice.

1.2 Introdecere

Roboții sunt operatori mecanici sau virtuali, artificiali. Termenul de “robot” conform DEX este de “sistem automatizat care acționează pe baza unui program de lucru stabilit sau care reacționează la anumite influențe exterioare, dând impresia executării unor acțiuni omenești”.

Denumirea de robot derivă din slavonul “robota”, care înseamnă muncă.

Isac Asimov, biochimist și scriitor american de origine rusă, a eununțat cele trei principii ale unui robot și anume:

un robot nu are voie să lezeze sau să pricinuiască vreun rău unei ființe umane.

un robot trebuie să se supună comenzilor și ordinelor date de către ființele umane, dar să între în contradicție cu legea 1.

un robot trebuie să-și protejeze propria existență, cu excepția cazurilor în care s-ar încălca legea 1 sau 2.

Caracteristici ale roboților industriali:

funcționează fără intervenția sistematică a omului.

sunt realizați pentru a executa operații de manipulare, deplasare și transport

conțin elemente de execuție care le permit să aibă mai multe grade de libertate pentru a putea efectua operații mai complexe.

sunt dotați cu memorie care poate fi programată cu scopul de a conduce anumite aparaturi pentru executarea unor operații.

au un anumit grad de inteligență

abilitatea de a lua decizii bazate pe interacțiunea cu mediul

au în componenta lor mai multe axe de rotație sau translație

Omul a căutat din cele mai vechi timpuri să își ușureze munca, să fie preluată parțial sau total. La început au apelat la animale și la unelte, dar odată cu trecerea timpului procesele de producție au cunoscut un avânt tehnologic, automatizare și cibernetizare, cu scopul de a diminua activitățile omului, apărând astfel robotul care preia integral sau parțial muncile acestuia.[1] Începutul secolului XX marchează desprinderea și evoluția electrotehnicii ca ramură independentă de cea a fizicii. Această dezvoltare a adus cu sine și o dezvoltare a roboticii.

Elmer și Elsie se numără printre primii roboți mobili și au fost construiți de pionierul roboticii Dr. William Gray Walter în anul 1948. Aceștia erau capabili să caute surse de lumină și să evite obstacole.

Anul nașterii robotului industrial este 1956 atunci când George Devol a depus un patent în SUA pentru „transferul programat de articole”. După câțiva ani a construit UNIMATE împreună cu Joseph Engelberger. Acest robot avea o greutate de circa 2 tone și a fost primul robot industrial, care a fost folosit în industria automobilă într-o linie de producție la General Motors. Acesta lua piese turnate de mașini și efectua sudura pe corpurile auto; sarcini care sunt neplăcute pentru oameni. Asculta comenzile pas-cu-pas stocate pe un tambur magnetic.

O industrie a fost generată și o varietate de alte sarcini au fost, de asemenea, preluate de către roboți, cum ar fi mașini-unelte de încărcare și descărcare. Roboții industriali de tip Unimate sunt printre roboții industriali utilizați pe scară largă în lume. Acești roboți sunt îmbunătățiți continuu ajungând să fie extrem de fiabili și ușor de utilizat. Un robot este compus din mai multe elemente, precum, componentele mecanice, actuatori, senzori precum și un sistem de direcționare. Mișcările pe care le poate executa un robot sunt date de mecanica acestuia. Senzorii și actuatorii sunt folosiți pentru a interacționa cu mediul înconjurător, iar mecanismul de direcționare are ca scop îndeplinirea cu succes a obiectivelor robotului. în ziua de azi există două mari categorii de roboți: virtuali și mecanici.

Robotul virtual, prescurtat “bot” pot fi numite programele software care îndeplinesc funcții și operații automat. Roboții sunt realizați mai ales prin combinarea a trei discipline și anume: mecanica, electronica și informatica care au dat naștere mecatronicii. Pentru realizarea sistemelor autonome este necesară legătura cât mai multor discipline de robotică.

Combinarea disciplinelor din diferite domenii au dat naștere conceptelor de inteligență artificială, neuroinformatica precum și idealul biologic, biocibernetica. Bionica s-a dezvoltat ca urmare a legăturii între biologie și tehnică. Cele mai importante componente ale roboticii sunt senzorii, deoarece captează informații din mediul înconjurător și le transmit mai departe sub formă de semnal unificat către creierul robotului care prelucrează datele și acționează actuatorii în funcție de rezultatele obținute din prelucrarea informațiilor, permițând astfel mobilitatea acestora în mediu și o dirijare cât mai precisă. Există și roboti care nu acționează autonom în mediul înconjurător, aceștia fiind teleghidați.

Termenul de robot descrie un domeniu foarte vast, motiv pentru care ei au fost sortați în mai multe sub-categorii. Iată câteva dintre acestea: robotul casnic, robotul industrial, robotul explorator, robotul umanoid.

În continuare este prezentată o scurtă detaliere a fiecărei categorii în parte.

1.1.1 Roboții casnici

Roboții din această categorie se regăsesc în fiecare gospodărie și includ: aspirator și mașină de tuns iarba autonomă, roboții de bucătărie, etc.

Figura 1.2 Robot casnic [2]

1.1.2 Roboții industriali

Robotul industrial este un sistem integrat care cuprinde elemente de mecanică, electronică și informatică, sau mai pe scurt mecano-electrono-informațional. Sunt utilizați în procesele de producție cu scopul realizării unor funcții de manipulare, analoage cu cele realizate de mâna omului, conferind obiectului manipulat orice mișcare programată liber, în cadrul unui proces tehnologic ce se desfășoară într-un mediu specific.

Sistemele de acționare ale roboților industriali pot fi:

acționare pneumatică

acționare electrică

acționare hidraulică

Figura 1.3 Robot industrial fabricat de Kuka Robotics [3]

Prima încercare de realizare a unui robot în concepție antropomorfă a fost în anul 1938, din partea inginerului american Wenslei. Câțiva ani mai târziu George Devol a înregistrat în anul 1954 primul patent pentru un robot industrial. Ei au fost introduși pentru prima oră într-o line de producție în anul 1961 de către General Motors. Printre roboții industriali se numără și roboții de portale, care sunt introduți în producția de wafere, în instalații de turnat colofoniu sau la măsurări.

1.1.3 Roboții exploratori

Roboții exploratori sunt roboți care operează în locații periculoase sau greu accesibile omului, teleghidați sau parțial autonomi. Aceștia pot lucra de exemplu într-o regiune aflată în conflict militar, pe Lună sau Marte.

Figura 1.4 Robotul explorator Curiosity explorând planeta Marte. Robotul a aterizat pe Marte în August 2012 [4]

O navigare teleghidată de pe pământ în ultimele două cazuri este imposibilă din cauza dinstanței. Semnalelor le trebuie la dus și la întors mai multe ore. În astfel de situații roboții trebuie să fie programați cu mai multe tipuri de comportamente, din care ei să aleagă pe cele adecvate și să-l execute. Acest tip de robot dotat cu senzori a fost folosit și la cercetarea puțurilor din piramide. Mai mulți roboti au fost deja testați de NASA în Antarctica. Acest tip de robot poate pătrunde până la 3600 de m prin gheață. Roboții pot fi astfel folosiți în cercetarea capelor polare pe Marte și Europa în speranța descoperirii de viață extraterestră.

1.1.4 Roboții umanoid

Figura 1.5 Robotul ASIMO (Advanced Step in Innovative MObility) fabricat de HONDA [5]

în literatură, mai ales în romanele lui Issac Asimov în anii 1940. Acești roboți au fost pentru un timp lung irealizabili. Pentru realizarea lor trebuiesc rezolvate multe probleme importante. Ei trebuie să acționeze și să reacționeze autonom în mediu, mobilitatea lor fiind restrânsă la cele două picioare ca locomoție. Pe deasupra mai trebuie să fie capabili de a lucra cu brațele și mâinile. Din anul 2000 problemele de bază par să fie rezolvate odată cu apariția lui ASIMO, un robot umanoid produs de Honda. între timp apar dezvoltari noi în acest domeniu.

Roboții umanoizi pot fi descriși ca roboți pășitori.

Fenomenul „robot” , domeniu de știința „Roboanaloage cu cele realizate de mâna omului, conferind obiectului manipulat orice mișcare programată liber, în cadrul unui proces tehnologic ce se desfășoară într-un mediu specific.

Sistemele de acționare ale roboților industriali pot fi:

acționare pneumatică

acționare electrică

acționare hidraulică

Figura 1.3 Robot industrial fabricat de Kuka Robotics [3]

Prima încercare de realizare a unui robot în concepție antropomorfă a fost în anul 1938, din partea inginerului american Wenslei. Câțiva ani mai târziu George Devol a înregistrat în anul 1954 primul patent pentru un robot industrial. Ei au fost introduși pentru prima oră într-o line de producție în anul 1961 de către General Motors. Printre roboții industriali se numără și roboții de portale, care sunt introduți în producția de wafere, în instalații de turnat colofoniu sau la măsurări.

1.1.3 Roboții exploratori

Roboții exploratori sunt roboți care operează în locații periculoase sau greu accesibile omului, teleghidați sau parțial autonomi. Aceștia pot lucra de exemplu într-o regiune aflată în conflict militar, pe Lună sau Marte.

Figura 1.4 Robotul explorator Curiosity explorând planeta Marte. Robotul a aterizat pe Marte în August 2012 [4]

O navigare teleghidată de pe pământ în ultimele două cazuri este imposibilă din cauza dinstanței. Semnalelor le trebuie la dus și la întors mai multe ore. În astfel de situații roboții trebuie să fie programați cu mai multe tipuri de comportamente, din care ei să aleagă pe cele adecvate și să-l execute. Acest tip de robot dotat cu senzori a fost folosit și la cercetarea puțurilor din piramide. Mai mulți roboti au fost deja testați de NASA în Antarctica. Acest tip de robot poate pătrunde până la 3600 de m prin gheață. Roboții pot fi astfel folosiți în cercetarea capelor polare pe Marte și Europa în speranța descoperirii de viață extraterestră.

1.1.4 Roboții umanoid

Figura 1.5 Robotul ASIMO (Advanced Step in Innovative MObility) fabricat de HONDA [5]

în literatură, mai ales în romanele lui Issac Asimov în anii 1940. Acești roboți au fost pentru un timp lung irealizabili. Pentru realizarea lor trebuiesc rezolvate multe probleme importante. Ei trebuie să acționeze și să reacționeze autonom în mediu, mobilitatea lor fiind restrânsă la cele două picioare ca locomoție. Pe deasupra mai trebuie să fie capabili de a lucra cu brațele și mâinile. Din anul 2000 problemele de bază par să fie rezolvate odată cu apariția lui ASIMO, un robot umanoid produs de Honda. între timp apar dezvoltari noi în acest domeniu.

Roboții umanoizi pot fi descriși ca roboți pășitori.

Fenomenul „robot” , domeniu de știința „Robotica” a apărut în cea de-a doua jumătate a secolului XX, și se încadrează în linia de evoluție a vieții în cadrul omenirii. Unul dintre „motoarele” evoluției vieții pe pământ e ceea ce se poate denumi genetic „creșterea productivității” în interacțiunea om-mediu.

Roboții industriali se încadrează în procesul automatizărilor industriale. Prețul de cost al acestora reprezintă o problemă importantă în evoluția roboților și robotizării industriilor.

La început sistemele de acționare a roboților industriali au fost hidraulice și pneumatice și mai puțin electrice, datorită costurilor ridicate la componentele electrice și electronice.

În lucrare sunt prezentate și analizate principalele elemente de dezvoltare a roboților industriali în sisteme flexibile de fabricație. Pe baza definirii și clasificării roboților industriali, vom analiza domeniile de utilizare și eficiența economică a roboților industriali dar și caracteristicile și performanțele specifice ale acestora.

Utilizarea roboților industriali conduce la reducerea nesiguranței specifice factorului uman, ceea ce determină o creștere a sistemului fiabilității sistemului automatizat, și, deci va permite utilizarea unui control de calitate eficient a sistemului de fabricație și implicit va permite trecerea la conducerea în timp real a producției.

Introducerea și utilizarea roboților industriali în scopul optimizării unui proces tehnologic conduce la multiple avantaje, dintre care se remarcă creșterea productivității muncii cu circa 10-50% (în funcție de nivelul inițial de automatizare, chiar și la valori superioare).

În același context, trebuie remarcată funcția socială a implementării roboților industriali prin asigurarea unui grad sporit de protecție a operatorilor tehnologici, îndeosebi pentru procesele tehnologice cu un nivel ridicat de periculozitate.

Avantajele implementării și utilizării roboților industriali în diferite domenii cu scopuri economice sau sociale. Din această cauză avantajele utilizării roboților se pot categorisi în: avantaje economice, avantaje sociale generale și avantaje sociale suplimentare.

În lumea secolului XXI, roboții au deja aplicații în exploatarea unor medii periculoase sau greu accesibile omului (spațiul cosmic sau adâncul oceanelor), în industrie pentru executarea unor operațiuni de mare precizie și viteza cu care se desfășoară în condiții dăunătoare omului, în domeniul medical pentru intervenții chirurgicale de mare finețe, telemedicina și protejare sau în domeniul militar pentru detectarea și dezamorsarea bombelor, spionaj și culegere de informații, etc.[2]

1.2 Roboți industriali

1.2.1 Structura și cinematica roboților industriali

În anul 1963 General Motors a început să folosească în uzinele din Trenton (SUA) primul robot industrial. Performanțele roboților industriali au cunoscut o amploare deosebită în timp, găsindu-și utilizări în diferite domenii de activitate.

Avântul tehnologic a dus la apariția unui număr foarte mare de roboți industriali, cu forme și structuri diferite.[3] Astfel, a apărut necesitatea clasificării roboților industriali după anumite criterii. Clasificare în funcție de:

Numărul gradelor de libertate.

Forma mișcării:

Roboții care operează în spațiul cartezian;

Roboți a căror spațiu de lucru este definit în coordonate cilindrice;

Roboți a căror spațiu de lucru este definit în coordonate polare sau sferice;

Roboții protetici cu braț articulat;

Roboți industriali în alte tipuri de coordonate;

Metoda de control a robotului:

Roboți cu manipulatoare simple, acționate direct de către om sau care copiază o procedură predeterminată.

Roboți programabili, cu control numeric sau cu repetitor.

Roboți inteligenți;

1.2.2 Structura topologică serială pentru roboții industriali

Roboții industriali trebuie să poziționeze și să orienteze un obiect în spațiu. Fixarea și orientarea în spațiu a unui corp se face cu ajutorul a șase parametrii: trei pentru poziție și trei pentru orientare. Acestea se pot realiza prin translații, rotații sau combinări a acestora.

Gradele de libertate ale unui braț robotizat sunt:

Traversarea verticală, “articulația umărului”

Traversarea rotativă, “rotația brațului”

Traversarea radială, “extensia cotului”

Gradele de libertate ale pumnului:

Răsucirea

Oscilația

Rotația

Dispozitivul de ghidare are rolul de a realiza deplasarea punctului caracteristic și orientarea dreptei caracteristice. El se compune din mecanismul generator de traiectorie și mecanismul de orientare. Traiectoria de mișcare se poate defini ca o succesiune de puncte în spațiu, ocupate de centrul sistemului de coordonate mobil, atașate corpului manipulat față de reperul de bază în anumite condiții de viteză și accelerație la anumite intervale de timp. Mecanismul de orientare trebuie să realizeze orientarea în spațiu a dreptei caracteristice.

Deci, dispozitivul de ghidare trebuie să aibă minimum șase grade de libertate pentru a realiza poziționarea și orientarea unui corp în spațiu. în anumite cazuri el poate să aibă și mai puțin de șase grade de libertate (ca în cazul robotului realizat, în care un grad de libertate nu-și mai justifică existența datorită simetriei față de axa cilindrului) sau mai mult de șase grade de libertate atunci când robotul trebuie să execute anumite operații care necesită o mare versatilitate (exemplu: roboții industriali folosiți la vopsire). Cele trei grade de libertate ale mecanismului generator de traiectorie pot fi cuple de rotație sau translație, în timp ce mecanismul de orientare este în general construit din trei cuple cinematice de rotație.

Traiectoria se dă sub forma unei funcții (de timp sau parametrice) pe care calculatorul le interpretează la anumite perioade de timp. Intervalul se împarte în n părți (între pornire și sosire). Precizarea acestor valori ne permit calculul pozițiilor. [4]

Pentru fiecare motor se pot pune în evidență 3 faze (zone):

zona de accelerare;

zona de mijloc;

zona de decelerare;

Mișcarea de poziționare se poate realiza utilizând trei cuple cinematice de rotație (R) sau translație (T). Există opt combinații posibile de rotații și translații (). Acestea sunt:

RRR, RRT, RTR, RTT, TRR, TRT, TTR, TTT. Cât despre dispozitivul de ghidare, acesta poate exista în variante. Combinând cele opt posibilități cu cele 27 combinații rezultă lanțuri cinematice. Nu toate aceste variante vor conduce însă spre un spațiu de lucru tridimensional, astfel acestea vor fi eliminate, rămănând în final 37 variante posibile.

Prin grad de mobilitate al lanțului cinematic se înțelege numărul posibilităților de mișcare pe care lanțul cinematic le are în raport cu sistemul de referință solidarizat cu unul din elementele sale. în continuare vom face o scurtă descriere a principalelor tipuri de roboți industriali din punct de vedere al structurii mecanismului generator de traiectorie.

1.2.3 Roboții industriali tip “braț articulat”

Acest tip de robot industrial este compus din cuple cinematice de rotație cu lanț cinematic deschis. Mobilitatea foarte ridicată a acestor roboți permit accesul în orice punct al spațiului de lucru. Dezavantajul său principal îl constituie rigiditatea sa redusă.

Figura 1.6 Robot cu 6 grade de libertate [6]

1.2.4 Roboții industriali de tip “lanț închis”

Acești roboți au mecanismul generator un lanț cinematic închis, de tip patrulater articulat, având în componență cuple de rotație. Datorită construcției au un spațiu de lucru mărit față de roboții de tip braț articulat. Acest tip de mecanism generator de tip lanț închis, le crește rigiditatea, permițându-le să manipuleze sarcini mari. Principalul dezavantaj constă în construcția relativă complicată.

1.2.5 Roboții industriali de tip “”pistol”

Acești roboți sunt asemănători unei țevi de pistol, care-și pot modifica direcția și lungimea. Sunt construiți dintr-un corp central ce poartă numele de braț. Construcția lor este simplă și se remarcă printr-o suplețe și o dexteritate scăzută. Spațiul lor de lucru este relativ mic. Se utilizează în special la manipularea unor mase reduse.

1.2.6 Roboții industriali de tip “turelă”

Roboții industriali de tip turelă au o arhitectură asemănătoare celor de tip pistol. Caracteristica pentru acest tip de robot este faptul că între corpul central și braț, având construcția și mișcările similare cu cele ale subansamblului similar de tip pistol, se interpune un subansamblu de tip turelă, care permite o rotație suplimentară în jurul unei axe care se găsește într-un plan orizontal. Robustețea și suplețea acestui tip de roboți este superioară celor de tip pistol. Roboții de tip turelă sunt utilizați în aproape orice tip de aplicație având din acest punct de vedere un caracter universal. Cel mai reprezentativ robot aparținând acestei arhitecturi este robotul Unimate 1000.

1.2.7 Roboții industriali de tip “coloană”

Roboții de tip coloană, ca și cei de tip turelă și pistol au un braț care poate efectua o translație, numai că acesta este purtat de o coloană verticală care se poate roti și permite în același timp o translație pe verticală. Roboții de tip coloană au o construcție simplă, sunt robuști și au o bună dexteritate. Au un gabarit mai mare decât cei de tip pistol și turelă.

1.2.8 Roboții industriali de tip “cadru”

Acest tip de roboți se aseamănă cu cei de tip coloană având o rigiditate deosebită, deoarece coloana este înlocuită cu un cadru.

1.2.9 Roboții industriali de tip “portal”

Acest tip de robot este folosit în industria de automobile, acolo unde este necesară manipularea pieselor grele într-un spațiu de dimensiuni mari.

1.2.10 Roboții industriali de tip “cărucior”

In vederea măririi spațiului de lucru, roboții se montează pe cărucioare care se pot deplasa liber pe șine. Acestea sunt cele mai des utilizate arhitecturi de roboți industriali de topologie serială. Pe lângă aspectul general, arhitectura roboților influențează în mod direct performanțele acestora, în principal rigiditatea, forma și dimensiunile spațiului de lucru.[6]

Capitolul 2 Obiective și Specificația proiectului

Prin prezenta lucrare mi-am propus să studiez, să proiectez și să realizez o structură robotizată destinată transferului și selectării de obiecte de la o magazie spre anumite posturi. Pentru aceasta voi proiecta o structură robotizată de tipul R-T (rotație – translație). Pentru programare și control voi folosi un controler logic programabil și un program de procesare a imaginilor. Proiectarea structurilor mecanice s-a realizat în programul AutoCAD 2010. Programarea automatului programabil s-a realizat în ZelioSoft, iar programul de procesare a imaginilor a fost realizat în Visual Studio, și a fost scris în limbajul de programare C#. Această lucrare îmbină cunoștințele atât practice cât și teoretice învățate în cei 4 ani de facultate.

2.1 Obiectivele lucrării se axează pe:

– analiza sistemelor de control existente și a algoritmilor care stau la baza proiectării unei astfel de structuri mecanice.

– stabilirea modurilor de lucru ale brațului robotizat.

– adăugarea elementelor pentru control în caz de erori

– proiectarea componentelor brațului robotizat și alegerea cotelor și dimensiunilor pentru robot.

– alegerea materialelor pentru fiecare piesă luându-se în considerare sarcina pe care brațul trebuie să o suporte, uzura pieselor, prețul, posibilitatea de fabricare.

– proiectarea schemei electrice desfășurate a robotului industrial cu două axe.

– realizarea plăcilor interfețe

– proiectarea sistemelor de semnalizare.

– testarea acestor plăci pentru a asigura buna funcționare în condiții optime a brațului robotizat.

– realizarea programului de procesare a imaginilor.

– programarea metodei specifice de transfer a semnalului pe portul paralel al calculatorului.

– amplificarea semnalului de comandă și alegerea modului de separare galvanică pentru protecția calculatorului.

– testarea robotului în cele 3 moduri de lucru.

Capitolul 3 STUDIUL BIBLIOGRAFIC

3.1 Parametrii de poziționare și orientare

Poziția și orientarea unui corp rigid în spațiu, în cazul de față, obiectul manipulat de robotul industrial, sunt succesive prin parametri de poziționare și orientare ai reperului mobil.

Pentru a caracteriza poziția corpului mobil față de sistemul fix, se consideră vectorul care leagă centrul sistemului mobil de centrul sistemului fix:

(3.1) , unde sunt componentele vectorului, iar semnul ‚1’ indică faptul că poziția se exprimă în sistemul .

În ceea ce privește orientarea corpului mobil se utilizează unghiurile lui Euler:

unghiurile de precizie, sunt unghiuri după axa și se notează cu ψ

unghiurile de rotație, sunt unghiuri după axa și se notează cu θ

unghiurile de rotație proprie, sunt unghiuri după axa și se notează cu ρ

Trecerea de la sistemul la sistemul se face printr-o transformare complexă care presupune o translație și trei transformări elementare de rotație.

De observat este faptul că nu în toate aplicațiile sunt necesare trei rotații elementare. Ca urmare a celor prezentate mai sus vom nota cu Z vectorul coordonatelor operaționale și este definit ca fiind:

(3.2)

Dacă toate cele trei coordonate curbilinii sunt funcții de timp, vârful vectorului r, care reprezintă punctul caracteristic mobil, se poate afla în orice punct din spațiu. Dacă una dintre coordonatele curbilinii este , iar celelalte două variabile, punctual caracteristic se poate deplasa pe o suprafață. Planele tangente la aceste suprafețe în punctul M se numesc plane de coordonate curbilinii. Dacă două dintre cele trei coordonate curbilinii sunt constante, iar cea de a treia este variabila, punctul caracteristic descrie o curbă. Obținem astfel trei curbe numite curbe de coordonate curbilinii. Tangentele la curbele de coordonate curbilinii în punctul caracteristic sunt orientate în sensul creșterii coordonatei respective și se numesc axe de coordonate curbilinii. Mecanismele de orientare pot avea unul, două sau trei grade de libertate.

3.2 Noțiuni privind structura de manipulare

3.2.0 Element cinematic

Elementul cinematic este un corp material component al mecanismului care atunci când este mobil, are rolul de a permite transmiterea mișcarii și forței. Exemple de elemente cinematice: pistonul, biela, manivela, cama, roata dințată, cureaua, etc.

3.2. 1 Cupla cinematică

Cupla cinematică reprezintă elementul de legătură între două corpuri în cadrul structurii de manipulare mecanică. Legătura se poate realiza continuu sau periodic și are loc pe o suprafață, linie sau punct. Fiecărei cuple cinematice, i se poate atașa un vector al coordonatelor operaționale Z, considerând un corp fix (primul) și celălalt mobil (al doilea). Componentele vectorului z sunt formate din parametrii de poziționare și orientare ai corpului mobil față de cel fix. O parte din acești parametrii sunt nuli (sau constanți) și o parte variabili.

Parametrului variabil i se asociază denumirea de grad de libertate. Rezultă că putem avea maxim 6 grade de libertate pentru o cuplă în cazul în care toate elementele vectorului coordonatelor operationale z, asociate cuplei, sunt variabile.

3.2.2 Lanț cinematic

Legătura succesivă a corpurilor prin intermediul cuplelor cinematice poartă denumirea de lanț cinematic. În cazul unui lanț cinematic deschis, primul și ultimul corp prezintă o singură cuplă cinematică (se spune că un astfel de corp are rang “1”), spre deosebire de celelalte corpuri din lanț care au câte două cuple (rang “2”).

3.2.3 Forma structurală a lanțurilor cinematice

Gradul de libertate al unui lanț cinematic este dat de numărul gradelor de libertate ale elementelor componente.

Se consideră că în structura unui lanț cinematic intră e elemente cinematice și Cm cuple cinematice de clasă m (m=1,2,…5). Gradul de libertate al unui astfel de lanț cinematic se obtine scăzând din numărul total al miscărilor celor e elemente considerate libere în spatiu, numărul total de restricții de mișcare introduse de Cm cuple cinematice, adică:

(3.3)

3.2.4 Grad de mobilitate

Deoarece mecanismul este un caz particular al lanțului cinematic, când un element al acestuia este fix, se va introduce noțiunea de grad de mobilitate în loc de grad de libertate. Prin grad de mobilitate al unui mecanism se întelege numărul posibilităților sale de mișcare sau al gradelor de libertate ale elementelor mobile în raport cu elementul fix. Unul din elementele lanțului cinematic al mecanismului fiind fix rezultă că din numărul total de elemente e se scade unul:

(3.4)

3.3 Interfețe Windows în C#

C# este un limbaj de programare software asemănător limbajului de programare C++, dezvoltat de firma Microsoft, pentru dezvoltarea aplicatiilor Windows și nu numai. Creatorii acestui limbaj de programare au fost Anders Hejlsberg, Scot Wiltamuth și Peter Golde.

C# respectă standardul ECMA-334 (European Computer Manufactures Association).

Limbajul C# folosește Microsoft .NET Framework, o colecție de clase care poate fi descărcată prin Internet și care este întreținută și ameliorată permanent de Microsoft. Prima versiune datează din 2001, deci toată această soluție tehnologică este de dată recentă.
Clasele conținute în .NET sunt neutre față de limbaj (aplicațiile pot fi scrise în diverse limbaje) și ușurează munca de programare în realizarea interfețelor aplicațiilor, accesul la date, conectarea la servere de baze de date, accesarea resurselor din Internet, programarea aplicațiilor bazate pe comunicații prin rețele, etc..
Aplicațiile care folosesc .NET sunt executate într-un mediu software denumit CLR (Common Language Runtime). Acesta poate fi asimilat unui procesor virtual, asemănător mașinii virtuale Java, care furnizează servicii de management a resurselor calculatorului, asigurare a stabilității și securității execuției. Deși Microsoft a conceput CLR ca soluție destinată propriilor sisteme de operare, la ora actuală există astfel de procesoare virtuale și pentru alte sisteme de operare. Astfel, în cadrul proiectului Mono – www.gomono.com, susținut de compania Novell, s-au dezvoltat soluții alternative pentru Linux, Solaris, Mac OS, BSD, HP-UX, și chiar Windows, asigurându-se astfel portabilitatea aplicațiilor scrise în limbaje bazate pe .NET. Platforma de dezvoltare a aplicațiilor care utilizeaza tehnologiile Microsoft este Visual Studio. Acest mediu de dezvoltare include un set complet de instrumente pentru generarea aplicațiilor ASP.NET, Servicilor Web XML, aplicațiilor desktop și aplicațiilor mobile. Visual Basic, Visual C#, Visual C++, Visual J# toate folosesc același mediu de dezvoltare integrat (IDE), care ajută la scrierea de cod.

3.3.1 Windows Forms

Windows Forms este proiectat pentru .NET, fiind influențat de tehnlogii moderne de afișare, cum ar fi: HTML, Flash.

Windows Forms este inlus în .NET Framework, care conține spațiul de nume System.Windows.Forms. Pentru a simplifica programarea în WF, acesta include construcții suplimentare de programare care îmbunătățesc proprietățile și evenimentele. De asemenea, include și layout-uri, grafică 2D și 3D, animație, template-uri, documente.

3.3.2 Caracteristici Windows Forms:

Windows Forms oferă suport rapid pentru integrarea și conectarea serviciilor Web XML, a aplicațiilor bazate pe date folosind modelul ADO.NET.

Windows Forms furnizează controale gata de utilizare, dar în același timp și o infrastructură care permite dezvoltatorului să creeze propriile controale specifice aplicațiilor care se dezvoltă.

conține clasele necesare pentru construirea interfețelor utilizator Windows.

multe funcționalități care anterior puteau fi accesate doar programatic acum sunt disponibile la design time prin mediul de dezvoltare .NET Studio. Namespace-ul System.Drawing permite accesul la funcționalitatea grafică de bază GDI+.

O formă Windows este utilizată pentru prezentarea informației utilizatorului și captarea inputului acestuia. Formele expun proprietăți care definesc modul lor de apariție, metode care definesc comportamentul și evenimente care definesc interacțiunea cu utilizatorul. O formă este un control derivat din clasa Form care la rândul ei este derivată din clasa Control. Framework-ul de dezvoltare ne permite să moștenim din forme existente și să le adăugăm sau modificăm funționalitatea.

3.3.3 Tratarea programelor scrise în C#

După scrierea unui program sau a unei părți de program, acesta este supus unor pași de compilare, din care va rezulta un limbaj intermediar denumit și CIL – Common Intermediate Language. După ce această compilare a fost efectuată, aplicația este trimisă procesorului virtual (CRL) care va traduce aplicația în cod mașină după care aplicația este executată.[11]

Figura 3.1 Compilarea în cod mașină [7]

3.4 Proiectarea sistemelor de conducere folosind automate programabile

Sistemele de control a proceselor sunt un conglomerat de dispozitive electronice care conferă stabilitate, acuratețe și performanță. Sistemele de operare pot avea diverse forme de implementare pornind de la surse de alimentare și până la mașini. Fiind un rezultat rapid a progresului tehnologic, cele mai complexe operații au fost rezolvate prin conectarea în sistem a unor automate programabile și unități centrale de proces.

Automatele programabile (AP) pot fi considerate microcalculatoare specializate care funcționează în timp real, adică asigură o limită maximă pentru durata procesului de achiziție, prelucrare și redare a informațiilor. Arhitectura tipică a unui AP este prezentată în figura următoare. Se observă rolul important al intrărilor/ieșirilor logice și analogice și al posibilităților de extensie.[12]

Figura 3.2 Arhitectura tipică a unui automat programabil [8]

PLC-ul este un sistem industrial cu microcontrolor care se compune dintr-o parte hardware și software specificată și adaptată să funcționeze în medii industriale. Automatele programabile sunt echipamente electronice destinate realizării instalațiilor de comandă secvențiale în logică programată. Din punct de vedere al complexității automatelor programabile, sunt situate între echipamentele clasice cu contacte sau cu comunicație statică, ale instalațiilor de comandă și calculatoarelor electronice.

Flexibilitatea, fiabilitatea, insensibilitatea la perturbații sunt principalele caracteristici ale automatelor programabile. Principiul de bază al unui automat programabil este următorul: verifică starea intrărilor și, în funcție de acestea, activează sau dezactivează  ieșirile. Utilizatorul introduce un program, care face ca automatul să dea rezultatele dorite.[12]

Un automat programabil este compus în principal din: unitate centrală (UC), zonă de memorie și circuite pentru recepționarea datelor de intrare/ieșire. Putem considera automatul programabil ca o cutie plină de relee individuale, numărătoare, ceasuri și locații de memorare a datelor. 

Automatul programabil este compus în principal din: 

– Unitate central: conține un procesor, o unitate de calcul aritmetic și diferite tipuri de memorie. Procesoarele folosesc o memorie de lucru de tip RAM pentru execuția instrucțiunilor, programul de executat fiind de obicei memorat într-o memorie de tip Flash.

– Module de intrare / ieșire

– Regiștri de intrare / ieșire

– Memorie de date

– Regiștri interni

– Circuite de temporizare

– Circuite de numărare

Figura 3.3 Structura centrală a unui automat programabil [9]

Unitatea centrală: conține un procesor, o unitate de calcul aritmetic și diferite tipuri de memorie. Procesoarele folosesc o memorie de lucru de tip RAM pentru execuția instrucțiunilor, programul de executat fiind de obicei memorat într-o memorie de tip Flash.
Module de intrare: conțin unul sau mai multe circuite de intrare. Semnalele citite pot fi de două tipuri, digitale sau analogice.

Module de ieșire: conțin unul sau mai multe circuite de ieșire, transmit semnale digitale sau analogice către diferite elemente de execuție. 

Regiștri de intrare: sunt regiștri asociați intrărilor fizice. Valoarea semnalelor de intrare este convertită în formă binară de către circuitele de intrare și memorată în acești regiștri. Pentru intrările de tip digital, un singur bit dintr-un registru poate memora starea activă/inactivă a intrării, dar în cazul unei  intrări analogice sunt necesari mai mult biți pentru memorarea valorii în format numeric.

Regiștri de ieșire: sunt regiștri asociați ieșirilor fizice. Valoarea semnalelor de ieșire este scrisă aici în formă binară, coversia într-un semnal electric de o anumită valoare fiind facută de către circuitele de ieșire (convertoare digital – analogice). Pentru ieșirile de tip digital, un singur bit dintr-un registru poate memora starea activă/inactivă a ieșirii, dar în cazul unei ieșiri analogice sunt necesari mai mult biți pentru scrierea valorii în format binar.

Regiștri interni: nu recepționează  semnale din mediul extern, nici nu există fizic. Conțin relee simulate prin biți din regiștri și au fost introduse pentru a elimina releele interne fizice. Există și regiștri speciali care sunt dedicați unui anumit scop. Unele relee sunt intotdeauna deschise, altele sunt întotdeauna închise. Unele sunt deschise numai o dată la pornire și sunt folosite pentru inițializarea datelor memorate.

Numărătoare: Nici acestea nu există fizic. Sunt numărătoare simulate și pot fi programate să contorizeze impulsuri. De obicei, aceste numărătoare pot număra crescător, descrescător și în ambele sensuri. 

Circuite de temporizare : Nici circuitele de temporizare nu există fizic. Sunt simulate software și contorizează perioade de timp. Pot fi găsite în diverse variante în ceea ce privește parametrii. Pasul de incrementare variază  de la 1ms până la 1s.

Memoria de date: în mod normal este vorba de simpli regiștri care memorează  date. De obicei sunt folosiți pentru aplicații matematice sau pentru manipularea datelor. Pot fi folosiți și pentru memorarea datelor cât timp AP-ului i se întrerupe alimentarea. La pornire, vor avea același conținut ca înainte de oprire.

Sursa de alimentare: alimentarea cu energie electrică se realizează atât la tensiunea de 24V cc, cât și la 220V ca. Pe unele dintre PLC-uri vom vedea sursa de alimentare ca un modul separat. Acestea sunt automate programbile de obicei de mari dimensiuni. Cele de serie mică sau medie ca dimensiuni, au sursa incorporată în interiorul PLC.Utilizatorul trebuie să determine cât curent folosește de la modulele de intrare/ieșire pentru a se asigura că acea sursă de alimentare furnizează intensitatea de curent necesară.Diferite tipuri de module utilizează diferite valori pentru curent. Aceasta sursă de alimentare nu este utilizată în mod uzual pentru a alimenta intrările sau ieșirile externe. Utilizatorul va trebui să vină cu sursa separată pentru intrări și ieșiri, pentru a avea o alimentare ”pură” pentru PLC. Acest lucru înseamnă că mediul industrial nu va putea afecta functionarea corectă a unui PLC. [13]

Capitolul 4 ANALIZA PROIECTAREA ȘI IMPLEMENTAREA ROBOTULUI

În această lucrare am proiectat un braț robotizat cu scopul de a transporta piese dintr-o magazine în alta. Selectarea pieselor din stiva principala ( depozit ) în magazii se face prin scanarea pieselor de către o cameră web, piesele fiind inscripționate cu cifre. Camera web este focalizată pe stiva de depozit și procesează imaginile cu cifrele inscripționate pe piese. Un program preia aceste imagini și le procesează trimițând către automatul programabil un cod binar specific fiecărei cifre de pe piesă. în figura următoare este prezentată schema de funcționare selectivă.

Figura 4.1 Schema de funcționare selectivă

Avantajul folosirii camerei web obișnuite în locul camerelor video industriale, este costul mult mai redus. Dezavantajul este că o cameră web obișnuită necesită un calculator și un program pentru procesarea imaginilor, iar timpul de programare este mult mai mare decât la camerele industriale, necesitând cunoștințe din diferite domenii de programare și de procesare a imaginilor.

4.1 Proiectarea structurilor mecanice a robotului industrial de tip R-T

Proiectarea părților mecanice a robotului, a fost realizată cu programul Autodesk AutoCAD 2010. Prima etapă a proiectării a constat în alegerea materialului pentru fiecare piesă în parte. Având în vedere puterea motorului de la baza robotului, a trebuit luat în considerare sarcina pe care acest motor trebuie să o susțină. Astfel, multe piese au fost realizate din duraluminiu. Pentru alte piese care sunt supuse uzurii datorită frecărilor s-au utilizat și materiale precum OLC brunat, poliamidă (teflon) și bronz (alamă). În figura de mai jos, este prezentată schița întregului ansamblu mecanic al robotului.

Figura 4.2 Schița întregului ansablu mecanic al robotului R-T

Placa de bază a robotului a fost realizată dintr-o placă de lemn la care s-au adăugat 4 picioare de de poliamidă ca suport. În această placă a fost făcut o degajare în care s-a fixat suportul de la baza robotului, care face legătura între motorul din baza brațului destinat rotației acestuia și axul principal.

Figura 4.3 Suport de bază

La acest suport de bază s-a mai adăugat și fixat prin presare și bucșa lagăr din bronz (alamă) și flanșa de suport tip B. Aceste doua elemete au fost realizate pe un strung, deoarece sunt piese cilindrice.

Figura 4.4 a) Bucsa lagăr din bronz (alamă)

b) Flanșa de suport tip B c) Tija suport rotativ

Bucșa lagăr (piesa din stânga) vine amplasată în gaura de jos din figura 4.2. Rolul acestor bucși lagăr este de alunecare și se caracterizează prin faptul că fusul se sprijină pe o suprafață cilindrică. Funcționarea acestui lagăr este asigurată de mișcarea de rotație efectuată de fusul arborelui care vine amplasată la motorul de bază al brațului robot, montat sub placaj. La vârful arborelui este amplasată o roată dințată cu 22 de dinți care va angrena o alta roată mai mare de la baza axului de suport. Prin intermediul acestor două roți se realizează o reducere a turației motorului cu aproximativ 1/3 din turația motorului.

În figura următoare este prezentat arborele motor cu dimensiunile specifice, realizat din OLC brunat.

Figura 4.4 Arbore motor

În gaura de sus a suportului de bază (figura 4.2) vine fixată flanșa de suport tip B, de care se prinde roata dințată cu 64 de dinți. Aceasta vine prinsa în 4 șuruburi cu diametru M3, iar în continuarea acestei roți dințate vine prins axul de suport.

Pe axul de suport de la bază s-au montat apoi prin lipire două lagăre din teflon. Tot pe tija de suport s-a mai adăugat și o cremalieră pentru acționarea microîntrerupătoarelor de siguranță stânga și dreapta.

Figura 4.4 Suport rotativ cu 4 canale și șaiba de teflon (poliamidă)

La celălalt capăt al suportului rotativ este fixat ansamblul format din suport spate și suport față, legătura dintre ele făcându-se prin tiranți. Figura următoare prezintă toate aceste componente montate cu dimensiunile aferente.

Figura 4.5 Ansamblu format din suport față, suport spate și tiranți.

4.1.1 Proiectarectare suport față și suport spate

Pentru realizarea acestei piese s-a ales ca material duraluminiul, pentru a reduce greutatea brațului, astfel, reducându-se și sarcina motorului de la baza brațului. Piesa urmează a fi fabricată pe o freză. În figura urmatoare poate fi vazută această piesă în detaliu cu dimensiunile specifice piesei.

Figura 4.6 Suport față

După cum se poate observa, s-a încercat înlăturarea a cât mai mult material posibil pentru a reduce greutatea piesei. În figura din partea stângă se poate observa degajarea de material pe un diametru de 20.1 mm, loc în care va veni fixat actuatorul. Pentru fixarea actuatorului s-a mai realizat o gaură cu filet. Fixarea se realizează prin strângerea unui șurub în această gaură. Aceasta poate fi observată în imaginea din partea dreaptă. Pentru inceput, găurirea a fost realizată cu un burghiu de 3.2 mm în diametru, ca mai apoi să se facă filet cu un tarod de metric 4 (M4 – 4mm în diametru), conform relației care spune ca dimensiunea găurii date cu burghiul trebuie să fie egală cu dimensiunea finală a găurii după filetare cu tarod inmulțit cu 0.8.

(4.1)

Această regulă se aplică până la tarozii de metric 8 – M 8. Tot în imaginea din partea stângă se mai observă două scobituri realizate în piesă. Rolul acestora este de a lăsa să treacă un șurub fixat pe actuator care va acționa microîntrerupătorul cu rol de limitator sus. În imaginea din dreapta se mai observă două găuri realizate la extremitățile piesei cu diametru de . Rolul acestora este de a face legătura între suportul față și suportul spate prin intermediul a doi tiranți de dimensiuni egale. Tiranți sunt confecționați din țevi de inox. Diametrul acestor tiranți este de .

Suportul spate se aseamănă cu suportul față, singurele diferențe fiind lățimea acestuia și dimensiunea găurii, dupa cum se poate observa în imaginea următoare din parte stângă.

Figura 4.7 Suport spate

În vederea din dreapta în centrul piesei s-a realizat o gaură cu filet pentru fixarea acestuia de axul de rotație al robotului prin intermediul unui șurub.

4.1.2 Actuatorul și elementul de execuție

Pe suportul din față vine fixat actuatorul care este acționat de un motor de curent continuu la 12 V. Legătura dintre actuator și motor se face prin transmisie pe curea, acestea fiind fixate într-un suport de aluminiu. În capătul tijei filetate este montat o bobină electromotoare, un cilindru de teflon și un microîntrerupător.

Figura 4.6 Actuatorul cu elementele de execuție și componentele acestora

În continuare se vor prezenta în detaliu componentele actuatorului.

Șaiba de curea

Pentru transmiterea mișcării de la motor la actuator și convertirea acestei miscări din rotație în translație au fost necesare două șaibe de dimensiuni egale la care s-a creat un canal, cu rază de 1,5 mm, loc în care vine atașată cureaua. Singura diferență între cele două șaibe de curea este modul de prindere de dispozitiv, astfel că una dintre șaibe, cea care vine prinsă de motor are o gaură de diametru , iar cea care vine prinsă de axul actuatorului are o gaură cu diametru de .

Figura 4.7 Șaiba de curea

Placă suport motor

Prinderea motorului s-a făcut prin intermediul unei plăci de duraluminiu care dispune de doua găuri de diametre diferite. Un diametru mai mare de , loc în care vine fixat actuatorul, prin intermediul unui șurub care prezează pe acesta, și un diametru mai mic de destinat prinderii motorului. Distanța între centrele celor două găuri este de 50 mm.

Grosimea plăcii de aluminiu este de 6 mm. În figura ce urmeaza este prezentată această placă de suport motor cu cotele aferente.

Figura 4.8 Placă suport motor

Actuatorul

Figura 4.9 Actuator

Între șaiba de curea destinată axului actuator și tija exterioară a acestuia este prinsă o bucșă fabricată din duraluminiu. Prin rotirea axului actuator acesta va înșuruba sau deșuruba o piuliță de care este prinsă o tija interioară, care va efectua o mișcare în jos sau în sus în funcție de sensul de rotație al motorului. Piulița este realizată din bronz. Toate aceste elemente sunt introduse într-o tija exterioară care prezintă un canal, destinat prinderii unui șurub pentru acționarea microîntrerupătorului de limită sus. Șurubul este prins pe tija interioară prin intermediul unui inel din teflon.

4.2 Sistemul de acționare al robotului industrial R-T

Acționarea robotului se face prin intermediul a două motoare de curent continuu acționate de automatul programabil. Pentru mișcarea de rotație la baza robotului s-au montat două microîntrerupătoare pentru limită de cursă care sunt acționate prin intermediul unei cremaliere montate pe tija de suport. Alte două microîntrerupătoare au fost montate pe actuatorul robotului pentru limită de cursă sus și jos. Poziționarea brațului se realizează prin intermediul unui potenționetru de tură, cunoscându-se valoarea pentru fiecare poziție. Comanda robotului se poate face prin trei stări, și anume: comanda manuală, automată sau cameră video. Selectarea acestor trei stări se face din pupitrul de comandă prezentat în figura de mai jos.

Figura 4.7 Panoul de comandă

În starea “manual” operatorul poate să poziționeze brațul robotului în stânga sau dreapta până la limitele cursei prin acționarea butoanelor corespunzătoare marcate cu săgeți indicatoare.

În starea “automat” operatorul poate sorta piesele utilizând butoanele pentru cele 4 posturi de lucru și anume: 0 pentru magazie, unde piesele sunt așezate sub formă de stivă, 1, 2 și 3 fiind posturile destinație corespunzătoare fiecărui tip de piesă în parte. Așadar în această stare, funcția camerei o va face ochiul operatorului.

În starea “cameră video” , întreg ciclul de sortare este automatizat cu ajutorul unei camere web amplasată astfel încât să filmeze poziția 0 (magazia). Imaginile filmate de camera web sunt procesate de un program realizat în C# și care detectează cifra fiecărei piese în parte. După ce cifra a fost detectată, programul va trimite prin portul paralel al calculatorului un semnal pe 2 biți către automatul programabil indicând poziția piesei care a fost detectată. Astfel, dacă piesa filmată are inscripționat pe ea cifra 1, programul va trimite prin portul paralel un semnal 0 1. Dacă va filma o piesă inscripționată cu cifra 2 acesta va trimite un semnal de 1 0, iar dacă va filma o piesă inscripționată cu cifra 3, va transmite un semnal de 1 1. Acest semnal transmis prin portul paralel al calculatorului a necesitat o amplificare pentru a putea fi folosit ca intrare în automatul programabil. Pentru această amplificare s-au folosit două relee (optocuploare) REED. Rolul acestor relee este de a amplifica semnalul transmis de la calculator, dar și de a face o separare galvanică între sistem și calculator, astfel evitându-se accidentarea calculatorului.

Pentru a putea alimenta sistemul robotic și pentru a putea fi comandat în siguranță a fost necesară reducerea tensiunii de la 230V de la sistemul de rețea la 24V ,respectiv 12V în funcție de consumator. Această reducere de tensiune s-a făcut cu ajutorul unui transformator amplasat în cutia de pupitru. Pe lângă rolul de reducere a tensiunii, acest transformator mai are și rol de separare galvanică. Motoarele de acționare sunt alimentate la o tensiune de 12V curent continuu. În figura de mai jos este prezentată schema electrică de alimentare în care avem întrerupătorul de pornit – oprit, siguranța fuzibilă, transformatorul, puntea redresoare, partea de filtrare, stabilizatorul de tensiune, semnalizările de alimentare și motoarele de acționare.

Figura 4.8 Schema electrică desfășurată de reducere, redresare și filtrare a tensiunii.

4.3 Mișcarea de rotație

Această mișcare se realizează prin intermediul unui motor de curent continuu amplasat sub placa de suport și care trimite mișcarea la tija suport prin intermediul a două roți dințate, realizându-se astfel o reducere a turației motorului și o creștere a puterii. Numărul de dinți a primei roți este de 22, iar cealaltă roată care vine amplasată pe tija suport dispune de 64 de dinți. Astfel se va efectua o reducere de aproximativ 1/3 din valoarea turației motorului. Având în vedere că avem de a face cu un motor de curent continuu, viteza de rotație a motorului a mai fost controlată și prin tensiunea de alimentare de la bornele motorului. Această tensiune fiind controlată din automatul programabil.

Figura 4.9 Ansamblu format din tija suport rotativ, roți dințate, suport de bază, motor de curent continuu

Poziționarea brațului robotic, în anumite poziții (magaziile 0 ,1 ,2, 3) s-a realizat prin intermediul unui potenționetru de tură, pe care l-am amplasat pe axul motor. Potențiometrul poate realiza 10 ture de la un capăt la celălalt. După ce montajul brațului a fost finalizat, am realizat câteva teste și am determinat tensiunile de pe potențiometru pentru fiecare din poziții, pentru a le defini în limbajul de programare din automatul programabil, pentru modul automat și cameră video. Pentru a nu lăsa brațul să se rotească mai mult de 360 de grade am amplasat doi microîntrerupători pe post de limitator stânga și dreapta.

4.4 Mișcarea de translație

Această mișcare s-a realizat tot prin intermediul unui motor de curent continuu de 12V. Transmisia de la motor la axul de translație s-a realizat prin intermediul unei curele elastice. Transformarea mișcării de rotație în mișcare de translație s-a realizat pe baza principiului șurub – piuliță. Astfel când motorul se învârte într-un sens, tija coboară s-au se desfiletează, iar când motorul se învârte în celălalt sens, tija urcă s-au se infiletează. Pe acest suport de translație s-au amplasat doi microîntrerupători pe post de limitatori de cursă sus și jos. În figura de mai jos poate fi văzut întreg ansamblul de rotație, și translație

Figura 4.10 Ansamblul dispozitivului de translație

4.4 Dispozitivul de prindere

Dispozitivele de prindere sau prehensiune reprezintă modulul final al robotilor industriali, având funcția de prindere a obiectelor și menținerea acestora în timpul deplasării, precum și eliberarea lor la momentul și locul potrivit. În această lucrare s-a ales ca și dispozitiv de prehensiune un electromagnet care în momentul atingerii unei piese acționează pe microîntrerupătorul de limită jos care va alimenta electromagnetul, acesta acționând ca un magnet care va menține piesa pe toată durata deplasării acesteia. În figura de mai jos putem vedea acest electromagnet.

Figura 4.11 Electromagnet

4.5 Configurația hardware

Pentru a putea controla mișcările robotului am folosit un automat programabil de la firma Telemecanique ZelioLogic, alimentat la o tensiune de 24V și care dispune de 16 intrări de tip rezistiv și 10 ieșiri.

Figura 4.11 Automat programabil Telemecanique ZelioLogic

Pe intrările automatului programabil s-a legat pe intrările S1 și S1’ selectoarele. Pe intrările de la S2 până la S9, butoanele de comandă, microîntrerupătoarele au fost legate pe S10 și S11, camera video B1, iar potențiometrul de tură P1. Pe ieșiri avem comanda pentru rotația brațului K1, semnalizările pentru rotație braț stânga DL8, dreapta DL9, comanda de frânare K1, comanda de deplasare cap, comanda de semnalizare braț sus și jos DL6 și DL7, iar pentru semnalizările de poziție ale magaziei s-au folosit ieșirile DL2, DL3, DL4, DL5 și electromagnetul de prindere a piesei. În figura următoare este prezentată schema cu intrările și ieșirile din automatul programabil.

Figura 4.12 Schema electrică desfăsurată a intrărilor și iesirilor din automatul programabil

4.6 Programarea sistemului

Programarea automatului programabil l-am realizat în limbajul de programare Ladder Diagram cu comentariile specifice fiecărei linii de program. Automatul programabil dispune de un soft propriu de programare și anume ZelioSoft.

Programul realizat in Ladder Diagram pentru controlul brațului robot de tip R-T, in cele trei moduri de operare este anexat acestei lucrări la Anexa 3.

Pașii de urmat pentru a realiza un program în acest soft sunt prezentați mai jos. Primul pas a fost să deschid programul, iar apoi să selectez inconița de Create new program.

Figura 4.13 Creare program nou ZelioSoft 2

După ce s-a selectat iconița de Create new program în fereastra care apare am selectat modulul sau tipul de automat programabil din cele 6 existente. După cum se poate observa și în figura 4.11 s-a ales ultimul modul din partea de jos, dreapta care dispune de 26 de intrări și iesiri cu extensie (26 I/O WITH EXTENSION), iar apoi s-a ales modulul de program din tabelul afișat.

Figura 4.14 Alegerea configurațiilor automatului programabil

După selectarea acestor două module, s-a apăsat Next ,iar în următoarea tabelă s-au adăugat extensiile prin selectarea rândurilor de la secțiunea Compatible extenssions ,iar apoi butonul de Add, după care s-a selectat butonul de Next. Următorul pas a fost de selectare a tipului de program. Tipurile de program existente sunt Ladder sau FBD. Pentru proiectul nostru s-a ales limbajul de programare Ladder.

Figura 4.15 Alegerea limbajului de programare

Următorul pas a fost de selectare a butonului de Next, deschizându-se astfel pagina de program unde am scris programul pentru robot. În continuare este prezentat o scurtă descriere a elementelor și tool-urilor existente în Zelio Soft necesare progrămarii.

Figura 4.16 Fereastra de programare în limbaj Ladder

După ce programul a fost scris și compilat acesta poate fi transferat către automatul programabil prin apăsarea tab-ului de sus pe Transfer Transfer Program PC > Module.

Pentru a putea citi programul încărcat din memoria automatului programabil trebuie să cunoastem fiecare simbol din diagramă și unde îi aparține. În figura următoare avem intrările din releu.

Figura 4.17 Intrările din releu

În tabelul următor avem iesirile din automatul programabil

Figura 4.18 Ieșirile din automatul programabil

În următorul tabel sunt prezentate comparatoarele

Figura 4.19 Comparatoarele utilizate la programarea robotului

În tabelul următor sunt prezentate timerele

Figura 4.20 Timerele utilizate în program

În următorul tabel avem releele auxiliare

Figura 4.21 Releele auxiliare

4.7 Realizarea plăcilor cablate pentru montaje

Pentru realizarea circuitelor imprimate, în primă fază a trebuit să proiectez cablajul, pornind de la o schemă electrică a montajului. Proiectarea schemelor electrice și electronice am realizat-o în AutoCAD. Pe baza acestor scheme electronice am realizat desenul pentru placa de cablaj în același program de proiectare (AutoCAD 2010). După ce am realizat atât schema electronică cât și cea de cablaj următorul pas a fost să aleg un placaj de textolit PCB (printed circuit board), de dimensiuni putin mai mari decât desenul pentru cablaj. Placajul este de tip monofață care se produc la un preț de cost mai redus. Condițiile pentru utilizarea acestui tip de placaj sunt urmatoarele:

densitatea de componente si/sau de rețea conductoare de cupru, mică;

temperatura de funcționare a componentelor joasă;

nu există cerințe de ecranare pentru radio-frecvență;

Materialul pe care este suflat de cupru este realizat pe bază de hârtie-rășina fenolică. Acest tip de placă este potrivită pentru plăcile cu circuite imprimate atunci când pot fi satisfăcute următoarele condiții:

temperatura de funcționare maximă C;

nu sunt cerințe de frecvență înaltă (sub 10 MHz);

densitatea minima a componentelor pentru a permite utilizarea unui spațiu maxim între conductori prevenind astfel formarea arcului electric;

se admite toleranță la un înalt procentaj de umezeală;

nu se supune unui impact masiv, șocuri sau vibrații;

În figura următoare este dat un exemplu de cablaj realizat pentru acestă lucrare.

Figura 4.21 Schemă placă cablaj pentru redresare și filtrare.

Procesul de fabricație

Procesul a început prin tăierea plăcii brute dintr-o foaie de material acoperit cu cupru, la o mărime ceva mai mare decat cea necesară pentru placheta finită. După o curățare a foii de cupru am suprapus peste aceasta desenul cu traseele circuitului electronic. Sunt burgheiate găurile tehnologice în placa brută pentru a asigura nu numai alinierea desenului din reșist suprapus, dar și pentru operațiile următoare de prelucrare mecanică, ca de exemplu găurire și profilare. Imprimarea desenului de cablaj se putea realiza cu hârtie fotografică sau folie Press’n’Peel pe care să imprim schema electronică la o imprimantă cu toner, iar apoi prin presare și căldură această schemă se trecea pe placajul de cupru. Deoarece schemele electronice necesare proiectului nostru nu au fost foarte complexe, imprimarea s-a realizat manual cu un stilou special cu vopsea urmărind desenul de proiectare a circuitului. Găurirea vizuală s-a realizat pe masina de găurire de banc și cu controlul avansului de perforare.

Următorul pas în realizarea plăcilor cablate a constituit în corodarea acestora. Corodarea este un proces chimic utilizat în fabricarea circuitelor imprimate, scopul său fiind de indepartare a materialului nedorit de pe laminatul acoperit sau placat. Pentru acest proces de corodare am folosit o solutie de clorură ferică FeCl3, fiind un puteric agent coroziv pentru cupru. Pentru început am turnat clorură ferică într-un vas de sticlă după care am scufundat plăcile cu desenele electronice în acel vas, asigurând acoperirea în totalitate a acestor plăci în agentul coroziv. Am lăsat circa 25 minute aceste plăci pentru a se coroda, verificând progresul din 5 în 5 minute ca soluția să nu corodeze și traseele ciruitului. Corodarea se putea realiza mai repede dacă soluția de clorură ferică era încălzită în prealabil. După ce plăcile s-au corodat, le-am spălat cu multă apă, după care le-am șters cu un material imbibat în diluant pentru înlăturarea vopselei de pe trasee. În următorul pas am găurit plăcile acolo unde aveam nevoie cu o mini-bormașină. Pentru realizarea găurilor am folosit un burghiu de diametru 1 mm. La final am fixat în găuri componentele necesare fiecărei plăci și le-am lipit cu cositor, după care am înlăturat surplusul de material al componentelor.

4.8 Procesarea imaginilor

Pentru a reduce costurile utilizării camerelor industriale de procesare a imaginilor am decis să folosesc o cameră web obișnuită și să realizez un program în C# care să proceseze imaginile obținute de la camera web. Pentru aceasta am amplasat o camera web obișnuită deasupra magaziei 0, astfel încât camera să filmeze, locul în care va fi situată stiva de piese amestecată.

Pentru realizarea programului de procesare a imaginilor am folosit limbajul de programare software, din mediul de dezvoltare C# .NET. Pentru procesarea imaginilor captate de camera web am folosit o librarie găsită pe Internet și anume Emgu.CV.dll și biblioteca din C# ContourAnalysis pe care le-am importat în programul meu. Programul scanează imaginile si caută apoi toate contururile de pe imaginea filmată, apoi compară aceste contururi cu cele din din libraria de template.

4.8.1 Bazele analizei de contur

Analiza de contur permite să descrie, să stocheze, să compare și să găsească obiecte prezentate în formă de linii exterioare – contururi.

Se presupune că, conturul conține informațiile necesare cu privire la forma obiectului. Analiza de contur permite să rezolve în mod eficient problemele principale ale unui model de recunoaștere – de transpunere.

4.8.2 Principiul de bază

La început, am definit un astfel de contur obiect. Conturul este o limită de obiect, o populație de puncte (pixeli), separarea obiect dintr-un fond.

În sistemele de viziune de calculator, unele formate de codare a contururilor folosesc codul lui Freeman, iar codificarea bidimensională și codificarea poligonală sunt cele mai cunoscute.

La o analiză de contur, conturul este codificat de secvența care constă din numere complexe. Pe un contur, punctual care este numit ca punct de plecare este fix. Apoi, conturul este scanat (este admisibilă – sensul acelor de ceasornic), și fiecare vector de compensare se remarcă printr-o serie complexă de . Unde a este un punct de offset de pe axa X, iar b este un punct de offset de pe axa Y. Offset este notat cu privire la punctul anterior. Astfel dacă va apărea o diferență de culoare în imaginea filmată de camera web, programul va încerca să stabilească un vector pentru acea formă după care îl va compara cu o librărie de forme de recunoastere în cazul nostru 0, 1, 2 și 3.

După detectarea cifrelor am decis să transmit un semnal codificat în binar pe 2 biți de la portul paralel al calculatorului, către automatul programabil. Pentru a transmite semnalul pe portul paralel din calculator am creat o clasă în care am importat fișierele de tip DLL (Dynamic-link library) – inpout32.dll. Cu ajutorul acestora se poate transfera un semnal binar pe portul paralel al calculatorului. În continuare am prezentat o imagine care arată pinii care pot fi folosiți pentru transferul de informație de pe portul paralel.

Figura 4.22 Port paralel și pinii utilizați la transferul datelor

Așadar, după cum se poate observa de la pinul 2 până la pinul 9, sunt localizați pinii care pot fi folosiți pentru a transmite un semnal în binar. Nu am folosit toți acești pini, deoarece pentru a reprezenta 4 numere în binar avem nevoie de doar 2 biți, astfel că pentru poziția 0 pe portul paralel vom transmite 0 0, pentru poziția 1 vom transmite 0 1, poziția 2 – 1 0, iar poziția 3 – 1 1. Astfel, cei doi pini de pe portul paralel pe care i-am ales pentru transmiterea semnalului au fost pinul 9 – D7 și pinul 8 – D6, iar pe pinul 25 am legat masa (GND). Pentru a transmite un semnal din program-ul nostru o dată ce am detectat o cifră am utilizat instrucțiunea :

PortControl.Output(888, 64);

în care primul parametru transmis prin Output este adresa, iar prin al doilea parametru am transmis valoarea de pe portul paralel. În cazul de față, s-a transmis valoarea 0 1. După cum putem observa, dispunem de 8 pini pentru a transmite semnalul, deci, numărul maxim care poate fi transmis prin binar pe portul paralel este de:

Dacă am trimite prin Output valoarea 256 la al doilea parametru atunci vom avea pe iesirea portului paralel din calculator un semnal 11111111. Din cele prezentate mai sus observăm că pentru a transmite un semnal în binar pe portul paralel tot ceea ce trebuie să facem este să convertim valoarea din binar în zecimal. Pentru poziția 0 semnalul transmis prin Output va fi 0, pentru poziția 1 semnalul care va fi transmis pe portul paralel va fi 01000000, deci în zecimal este 64. Pentru pozitia 2 codul în binar care trebuie trimis este 10000000, în zecimal fiind 128, iar pentru poziția 3 codul în binar care trebuie trimis este 11000000, în zecimal fiind 192. De remarcat, că noi vom folosi doar ultimi doi pini de pe portul paralel (D7, D6) pentru transferul de informație către automatul programabil, iar pinul 25 pe post de GND.

Programul de procesare a imaginii, filmează continuu. Dacă el va detecta o piesă care are inscripționat cifra 1 el va trimite câteva impulsuri pe secundă de 01 pe portul paralel, ceea ce ar impiedica amplificarea semnalului înainte de a fi introdus în automatul programabil. Pentru a stabiliza semnalul pentru o perioadă suficientă cât să comute releele reed (optocuploarele), pentru a amplifica semnalul, după fiecare instructiune de Output din program am introdus un:

Thread.Sleep(1000);

care va seta pentru o secundă portul paralel la valoarea citită, având astfel un semnal continuu fară oscilații. În caz contrar releele reed nu ar avea timp suficient ca să comute pentru a amplifica semnalul de pe portul paralel până la valoarea de 24V, valoare necesară pentru intrare în portul paralel.

4.9 Interfața de control pentru programul de procesare de imagini

Pentru realizarea acestui program s-a utilizat mediul de dezvoltare Visual Studio 2010 Ultimate. Pentru început, după deschiderea programului, pentru crearea unui proiect nou am selectat din meniu File New Project.

Figura 4.24 Crearea unui proiect Windows Forms

După ce am selectat de la Installed Templates tag-ul de Visual C#, Windows, iar apoi de la panoul central Windows Forms Application, după care am dat un alt nume proiectului, am selectat de la locația unde să fie salvat fisierul, iar în final am apăsat butonul de OK.

În acest moment avem deschis de la Solution Explorer un proiect Template care conține o formă pe care o vom edita adăugând elemente și butoane corezpunzătoare panoului principal. Pentru a adăuga elemente noi am selectat din meniu pe View ToolBox care va deschide într-o fereastră a programului o listă cu elemente gata definite de program și de Framework-ul folosit. Pentru a adăuga elemente și controale în forma noastră tot ce trebuie să facem este să selectăm controlul dorit din Toolbox și cu drag’n’drop să le așezăm în forma nostră.

Figura 4.25 Afișarea tool-urilor și a ferestrei Windows

Pentru crearea unui eveniment pentru un control am selectat controlul de pe formă, iar apoi cu click dreapta am selectat Properties. După ce acest pas a fost efectuat a apărut o nouă fereastră cu proprietățile corespunzătoare controlerului selectat. De aici se pot face setări precum, schimbarea culorii, textul, mărimea, poziția,vizibilitatea la rulare și multe altele. Din această fereastră pentru adăugarea de eveniment pentru control s-a selectat butonul inscripționat cu un fulger, apărând o listă cu evenimente care pot fi create.

Pentru rularea programului, acesta trebuie compilat prin selectarea din fereastra de la Solution Explorer a proiectului, după care click dreapta și Rebuild. În urma compilării toate erorile și atenționările găsite de compilator sunt afișate într-o fereastră nouă denumită și Error List. Pentru fiecare eroare este specificat, linia de cod unde este găsită eroarea și un mesaj de eroare. În figura următoare este prezentat programul de procesare a imaginilor și de transfer a datelor pe cei doi biți ai portului paralel.

Figura 4.26 Interfața programului de procesare a imaginilor

În imaginea de mai sus în partea stângă este monitorul ce afișează imaginile filmate de camera web, numărul de frame-uri pe secundă, și cifrele detectate de cameră înconjurate de un chenar verde. În partea dreaptă este un selector de rezoluție a camerei și 6 butoane fiecare marcate cu o imagine semnificativă. În partea de jos este prezentat un desen cu un port paralel arătând pinii care sunt folosiți. Aceștia pot fi activați să transmită un semnal și manual prin apăsarea pinilor de pe imagine (pinul D7 și D6). Sub această imagine este prezentat un panou de semnalizare care indică ce pini sunt setați pe 1 logic și care pini sunt setati pe 0 logic. Culoarea verde arată că pe pinul respectiv este setat 1 logic, iar culoarea roșie este pentru 0 logic. Imaginea de mai sus arată cum programul detectează cifra 3 și o transmite pe portul paralel al calculatorului, setând ieșirea acestuia pe 11000000. În automatul programabil am folosit doar doi pini din toti cei 8, fiind suficienți pentru a determina poziția a 4 magazii. Cei doi pini ai portului aleși fiind, pinul D7 și D6. Din ce se poate observa în imaginea de mai sus portul tirmite către automatul programabil un semnal de 11. Programul a fost conceput pentru a fi dezvoltat mai departe, putând fi setate până la 256 de posturi de sortare. În continuare vom prezenta fiecare buton din partea dreaptă.

4.9.1 Crearea unui template nou

Pentru a crea un fișier nou în care să se adauge alte cifre sau litere, cu stiluri diferite, trebuie apăsat butonul cu iconița . Programul va afișa un mesaj de atenționare, întrebând utilizatorul dacă doreste să creeze un fișier nou cu date de recunoaștere (template). Prin apăsarea butonului de Yes , template-ul de default al programului va fi deselectat. În acest moment programul nu va mai căuta nici un obiect din imaginile capturate de camera web.

4.9.2 Deschiderea unui template existent

Pentru a deschide un template existent, care a fost creat anterior sau template-ul de default care se află în folderul de \bin\Debug\ utilizatorul trebuie să apese pe butonul cu iconița .

Prin apăsarea acestui buton programul va crea un obiect de tip OpenFileDialog

care aparține clasei System.Windows.Forms. Următorul pas pe care îl face este să filtreze toate fișierele găsite astfel încât, să lase a fi vizibile doar cele care conțin extensia *.bin, după care va deschide o formă de dialog de tip Open. În această formă utilizatorul poate să caute prin directoarele existente în calculatorul respectiv, să selecteze template-urile cu extensia cerută și să le deschidă în program. În acest moment programul va recunoaște toate literele și cifrele de pe imaginile captate de camera web care au font-uri asemănătoare cu cele existente în template-ul care a fost deschis.

4.9.3 Salvarea unui template

După adăugarea elementelor de recunoaștere împreună cu stilurile și fonturile respective, pentru a nu se pierde setările efectuate utilizatorul poate alege salvarea lor prin apăsarea butonului cu iconița. Prin apăsarea acestui buton programul va crea un obiect de tip SaveFileDialog aparținând aceleiași clase System.Windows.Forms. Și în acest caz programul va seta un filtru pentru a împiedica salvarea fișierelor sub alte tipuri de formate, singurul format posibil fiind cel cu extensie de *.bin. După ce acest filtru a fost adăugat programul deschide o fereastră de Save în care utilizatorul poate să specifice locul unde dorește să salveze fișierul și numele acestui fișier.

4.9.4 Generarea de elemente noi

Pentru a genera elemente noi, sau pentru a adăuga aceleași elemente, însa cu stiluri diferite de font, lățime și mărime, utilizatorul trebuie să selecteze pe iconița . După apăsarea acestei iconițe se va deschide o formă nouă în care utilizatorul poate să selecteze tipul de font, stilul pentru fontul ales, marimea, efectul elementului precum și scriptul acestuia. Utilizatorul poate adăuga cât de multe carectere dorește pentru a fi recunoscute de camera web, iar la final prin apăsarea butonului de Genereaza template acestea se vor adăuga într-un template temporar până când se va apăsa butonul cu iconița de salvare. În figura următoare este prezentat forma care se deschide după apăsarea butonului de generare a elementelor.

Figura 4.27 Fereastra destinată adăugării de elemente pentru recunoaștere

4.9.5 Vizualizarea elementelor

Pentru a vizualiza elementele existente într-un template, utilizatorul trebuie să selecteze iconița . Programul va deschide o formă nouă care va afișa sub formă tabelată toate elementele într-un dataGridView. Prin selectarea acestor elemente și apăsarea butonului de Delete template utilizatorul poate șterge aceste elemente. Prin apăsarea butonului de exit se va închide acestă formă. În imaginea ce urmeaza este prezentată o astfel de formă cu elemente.

Figure 4.28 Fereastra destinată vizualizării elementelor de recunoaștere

4.9.6 Ieșirea din program

Ieșirea din program se poate face prin apăsarea butonului de exit din colțul dreapta sus marcat printr-un x sau prin apăsarea butonului marcat prin iconița .

4.9.7 Crearea programului executabil

Pentru a crea un kit de instalare al acestui program și pentru a putea fi transferat și rulat și pe alte calculatoare care nu conțin mediul de dezvoltare Visual Studio a fost necesar crearea unui proiect nou care să includă toate clasele și elemetele necesare proiectului creat și să il compileze sub formă de executabil. Pentru aceast prim pas, a trebuit să recompilez întreg programul și să verific să nu existe erori. Această etapă s-a realizat prin apăsarea butonului de Build din meniu, iar apoi Rebuild Solution. În imagina următoare este reprezentată această parte.

Figure 4.29 Recompilarea programului

Pentru crearea programului executabil a fost necesară crearea unui proiect nou de tip Setup. Din panoul de Solution Explorer am adăugat un proiect prin selectarea acestuia, după care din meniu am selectat File, New Project. Din fereastra apărută de la Installed Templates am deschis Other Project Types și Setup and Deployment. Din opțiunile apărute am selectat Visual Studio Installer, iar apoi din meniul central am ales Setup Wizard. Următorul pas a fost să dau un nume proiectului și să aleg locația unde să creeze proiectul cu sursa de executabil. În imaginea de mai jos se poate observa localizarea acestor elemente.

Figura 30 Crearea unui fișier executabil

După selectarea butonului de OK a apărut un mesaj de atenționare pentru a verifica dacă cerința aleasă de mai sus este cea corectă. Aici s-a selectat butonul de Next, după care trebuie ales tipul de setup care se dorește a fi creat. Aici s-a ales prima opțiune, cea de Crate a setup for Windows application după care s-a mers mai departe prin apăsarea butonului de Next.

Din panoul nou apărut, am inclus fișierele necesare pentru crearea executabilului prin bifarea acestora , după care s-a apăsat butonul de Finish. O dată cu efectuarea acestor setări în panoul de Solution Explorer s-a adăugat un proiect nou cu toate referințele necesare, care permit crearea programului executabil. Ultimul pas a fost să se compileze acest program prin selectarea lui, dupa care prin click dreapta si Rebuild. Ultimul pas a constituit în selectarea acestor fisiere din folderul Debug/ si transferate și instalate pe alte stații. Aceste fișiere pot fi transferate și instalate pe alte calculatoare, programele rulând fără a fi necesară instalarea mediului de programare în care au fost realizate.

Capitolul 5 TESTAREA ȘI VALIDAREA

5.1 Testarea transferului de date prin portul paralel

După realizarea programului de procesare a imaginilor următorul pas a fost de transfer al datelor pe doi biți către automatul programabil. Lucrarea prezintă portul paralel standard al calculatoarelor compatibile IBM PC și urmărește familiarizarea cu diferite soluții de conectare ale unor echipamente externe la portul paralel al acestor calculatoare.

În primă fază s-a încercat transferul datelor de la program către automatul programabil prin intermediul unui port serial, lucru care nu a putut fi realizat deoarece în automat aveam nevoie de doua intrări tip port paralel pentru interpretarea poziției de mutare a piesei. Astfel, s-a ales transmiterea semnalului prin portul paralel cu 25 de contacte sub formă de pini aflați pe panoul din spate al calculatorului. Din cele 25 de contacte, 17 sunt utilizate pentru liniile de semnal, iar 8 ca linii de masă. Linile de semnal sunt împărțite în trei grupe:

Control (4 linii)

Stare (5 linii)

Date (8 linii)

În aplicația noastră am folosit pinul 25 pentru masă și pinii 8 și 9 pentru transferul informației. Următorul pas a fost de a determina amplitudinea semnalului de ieșire de pe porul paralel. Am folosit un multimetru unde am determinat că iesirea pe portul paralel pentru 1 logic este de 3,2 -3,3 volți. Insuficienți însa pentru a folosi acest semnal pe post de intrare în automatul programabil deoarece, acesta necesită un semnal de 24 V. Pentru aceasta a trebuit să realizez o amplificare. Pentru protecția calculatorului s-au ales pentru amplificare relee reed cu optocuploare pentru separare galvanică. După ce am realizat placa de cablaj cu 2 relee de tip V4005-A000

Figure 5.1 Releu REED tip V4005-A000

la pinii 13 sau 6 la bobina releului au fost legată ieșirea de pe portul paralel și masa. Pe pinii 14 sau 8 am legat intrarea în automatul programabil, iar pe celălalt pin a fost conectat la tensiune stabilizată de 24V.

La prima rulare a programului de recunoaștere a obiectelor, programul reușise să detecteze obiectele și să transmită semnalul corespunzător pe portul paralel, însă, acesta trimitea un numar de impulsuri egal cu numărul de frame-uri pe secunda (19 fps). În aceste condiții optocuplorul nostru nu a reușit să cupleze, fiind necesară stabilizarea semnalului de pe portul paralel. Am modificat programul în așa fel încat, atunci când el detectează prima cifră, firul de executie al programului să se oprească din citit și să transmită un semnal pe portul paralel corespunzator cifrei respective timp de o secundă. Aceasta s-a realizat prin intermediul firelor de execuție, oprind firul de executie pe durata unei secunde. După ce perioada de așteptare a trecut programul trimițând în tot acest timp semnal cu prima cifră detectă pe portul paralel, programul își reia ciclcul de lucru, iar la următoarea cifră detectată va proceda la fel. În felul acesta releele reed au reușit să cupleze, amplificând semnalul cu succes.

5.2 Determinarea pozițiilor posturilor de sortare

Pentru determinarea pozițiilor de sortare, s-a folosit un potențiometru de tură. De prima roată dințată care este prinsă pe axul motor s-a fixat o camă care prin rotația motorului va roti și potentiometrul de tură. Poteniometru permite 10 curse de rotație de la minim la maxim. Poziționarea acestuia a fost efectuată la tura 5, atunci când brațul robotului se afla între posturile 1 și 2. Pentru a nu lăsa să se rotească mai mult de brațul robotizat, deoarece ar distruge potențiometrul și ar răsuci firele de la baza brațului, s-au montat între postul 0 și 3 două microîntrerupătoare care vor fi acționate prin intermediul unei cremaliere atașată de axul principal de rotație. La montarea brațului s-au determinat și pozițiile posturilor, prin rotirea brațului. Astfel s-au ales 4 tensiuni date de potențiometrul de tură în puncte diferite ale brațului. Aceste tensiuni au fost folosite mai apoi în automatul programabil pentru determinarea poziției de fiecare dată când robotul are de efectuat o sarcină.

5.3 Validarea modului de lucru în starea „manual”

Pentru această stare s-au adăugat în postul 0 sub formă de stivă mai multe pise care urmau a fi sortate. În această stare operatorul uman are control total al brațului robot, putând să poziționeze brațul stânga și dreapta până la limitele microîntrerupătoarelor, sau să coboare și să urce actuatorul pentru a prinde și a lăsa piesele. Pentru un caz experimental s-a ales adăugarea în postul 0 (magazie) a trei piese ce urmează a fi sortate. Ordinea de numerotare a acestora este sub forma de 3,2,1. Primul pas pe care operatorul uman trebuie sa il efectueze pentru sortarea acestor piese este să mute brațul robotului în pozitia 0, acolo unde se află stiva cu piese. După ce brațul este fixat în poziția dorită operatorul poate lăsa actuatorul să coboare până la atingerea piesei, după care urmează ridicarea piesei și mutarea acesteia în postul corespunzător literei. Având controlul deplin al brațului, operatorul poate să fixeze piesele cu o precizie foarte mare.

5.4 Validarea modului de lucru în starea „automat”

Pentru testarea acestui mod de lucru s-au adăugat mai multe piese cu cifre diferite afișate în postul 0. În această stare de „automat” robotul face posibilă sortarea pieselor prin intermediul operatorului uman doar parțial, adică funcția camerei web o face operatorul uman, care atunci când brațul este în poziție de așteptare, operatorul trebuie să specifice doar poziția unde piesa trebuie mutată, robotul efectuând restul sarcinii de prindere, mutare și poziționare a piesei.

Să presupunem pentru început că brațul este așezat la postul 0 și așteaptă o instrucțiune de la operator, iar piesa care urmează a fi luată are afișat pe ea cifra 2, deci va trebui mutată de la postul 0 la postul 2. Când operatorul va apăsa butonul inscripționat cu 2, robotul va verifica dacă se află în poziția de 0, și dacă actuatorul este sus, în caz contrar automatul programabil va da comandă de ridicare a actuatorului în prima fază, până când acesta va acționa microîntrerupătorul de limita sus, după care automatul va opri alimentarea motorului destinat translației și va porni motorul de bază în sensul corespunzator postului de 0. După poziționarea brațului la postul 0, automatul va comanda actuatorul să coboare până când electromagnetul va apăsa pe piesă, astfel acționându-se microîntrerupătorul de limită jos. Când acest microîntrerupător a fost acționat se va porni alimentarea către electromagnet, acesta acționând ca un magnet pentru piesă, aceasta rămânând lipită de dispozitivul de prehensiune și în acelasi timp actuatorul se va ridica până ce va acționa microîntrerupătorul de limită sus, după care va porni motorul de la bază, rotind brațul până ce acesta se află în poziția de 2. Această poziție este cunoscută, și adăugată în automat. Pentru a găsi din nou poziția postului, automatul citește valoarea de pe potentiometrul de tură și o compară cu cea introdusă inițial în blocul de comparare, iar când aceste valori sunt egale oprește motorul din bază destinat rotației brațului și pornește motorul destinat translației, lăsând actuatorul să coboare cu piesa până la atingerea postului, moment în care se va opri alimentarea către elecromagnet. După ce piesa a fost lăsată, actuatorul va reveni în poziția ințială (sus), iar apoi brațul se va muta pe postul de 0, asteptând instrucțiuni de la operatorul uman. În figura următoare este prezentat o schemă de ansamblu al ciclului de lucru pentru modul manual si automat.

Figura 5.2 Schema de funcționare modul manual si automat

5.5 Validarea modului de lucru în starea „cameră video”

În această stare brațul robotului este complet autonom, nefiind necesară acțiuna omului. În starea de cameră video, pasii pe care îi efectuează brațul la mutarea unei piese din postul 0 în oricare din celelalte 3 posturi este la fel ca în cazul „automat”. Diferența între această stare și cea de „automat” este că în această stare, după pornirea procesului robotul se poziționează între posturile 0 și 1, și citește informația primită pe porturile de intrare care vin de la calculator de pe portul paralel, iar dacă semnalul primit va fi 01, 10 sau 11 acesta va duce piesele urmând procedura de la starea „automat”. După revenirea la postul 0 brațul se poziționează din nou între postul 0 și 1 citind din nou informațiile primite de la calculator. Brațul va efectua toată această rutină până în momentul în care va citi cifra 0, sau nu va mai citi nimica. După care pentru repornirea procesului un operator va trebui să apese butonul de Start. În figura următoare este prezentat schema de funcționare pe modul cameră video

Figura 5.3 Schema de funcționare in modul cameră video

5.6 Rezultate experimentale

În figura următoare este prezentat un timer folosit la programarea releului. Acest timer are o perioadă de o secundă în care stă activ, timp în care scurtcircuitează infășurarea motoarelor de curent continuu. Timerul este folosit pentru frânare.

Figura 5.4 Impuls frânare

În urmatoarea figură este prezentat un timer care comandă în regim automat motorul folosit la translație să ridice dispozitivul de prehensiune până la cuplarea migroîntrerupătorului de limita sus, și să rotească brațul până în poziția de așteptare cu o pauza de 1,5 secunde.

Figura 5.5 Impuls inițializare

Urmatorul timer este unul care comandă impulsul de start la coborârea brațului de translație în jos cu o pauză de o secundă de la atingerea piesei, adica de la cuplarea microîntrerupătorului de limita jos. Acesta este folosit la impulsul de start a coborârii brațului în jos.

Figura 5.6 Impuls start electromagnet jos

Următoarea imagine prezintă un timer utilizat pentru a impune o întarziere rotirii în sensul acelor de ceasornic, cu o secunda. Acest timer se folosește la inițierea rotației.

Figura 5.7 Impuls rotație sens orar

Urmatorul timer este folosit cu scopul de a prelungi durata de deplasare a brațului de translație în sus pe durata a 0.5 secunde.

Figura 5.8 Impuls electromagnet jos

Următorul timer este unul alternant care pe o perioada de 0.3 secunde stă pornit, iar pe o perioadă de 0.3 secunde stă oprit. Acest timer l-am folosit pentru inițializarea comenzilor de semnalizare ale panoului de comandă.

Figura 5.9 Timer destinat semnalizării

Capitolul 6 CONCLUZII

Prin realizarea acestei lucrări de diplomă am vrut să combin atât partea teoretică învățată în facultate cât si partea practică dobândită la două firme care activează in domenii diferite, una cu activitate principală dedicata mecanicii fine, iar cealaltă cu domeniul de activitate destinată producerii de soft-uri. Robotul industrial realizat constituie un avantaj în industrie prin faptul că se pot modifica cerințele de execuție foarte ușor prin schimbarea softului din automatul programabil. Această caracteristică dovedind că acest sistem robotizat este unul dinamic. Această lucrare conține o parte destinată proiectării mecanice a tuturor pieselor, o parte destinată schemelor electrice si componentelor folosite, o parte destinată programării automatului programabil și o parte destinată realizării unui program pe calculator proiectat să recunoască si să transmită informații.

În zilele noastre găsim roboți care să lucreze pentru oameni industrii, fabrici, depozite si laboratoare. Roboții sunt utili in multe cazuri. De exemplu, se stimulează economia, deoarece întreprinderile trebuie să fie eficiente pentru a ține pasul cu concurența industriei. Prin urmare, având roboți ajută proprietarii de afaceri de a fi competitivi, deoarece roboții pot face o muncă mai bine si mai repede decât oamenii pot, de exemplu, roboții industriali care construiesc si asamblează masini. Cu toate acestea, roboții nu pot efectua orice fel de muncă. Roboții sunt in continuă dezvoltare, fiind un domeniu cu speranțe si potențial foarte ridicat.

Direcții de cercetare ulterioară

Pe viitor doresc să dezvolt această lucrare adăugând mai multe cuple cinematice, astfel robotul fiind capabil să efectueze miscări mult mai complexe. Deasemenea mai doresc să dezvolt o parte de software pentru programarea mult mai usoară a acestuia și să inlocuiesc senzorii de poziționare cu unii mult mai performanți pentru o pozitionare mai precisă.

Bibliografie

[1] http://www.asro.ro/romana/noutati/2010/ Data accesării: 15.05.2014

[2] http://ro.wikipedia.org/wiki/Robot Data accesării: 15.05.2014

[3] http://www.robotics.ucv.ro/flexform/aplicatii/m1/Salahoru%20Filomela%20-%20Aplicatii%20ale%20programarii/documente/introducere.doc Data accesării: 16.05.2014

[4] http://mecatronicastiintaviitorului.wikispace.com/file/view/Cap.2%20Robiti%20-industriali_2.doc Data accesării: 21.05.2014

[5] http://mecatronicastiintaviitorului.wikispace.com/file/view/Cap.3%20Robiti%20-industriali_3.doc Data accesării: 21.05.2014

[6] Notiuni generale privind robotii industriali – http://ro.scribd.com/doc/58296471/Cap-A Data accesării: 25.05.2014

[7] Handra-Luca, V. Maties „Roboti: structura, cinematica și caracteristici” Ed.Dacia, Cluj-Napoca 1996.

[8] Mecanismele roboților industriali . Vol. 2, Mecanisme de prehensiune. Mecanisme pentru ordonare, orientare, transfer și singularizare / Ion Simionescu, Ion Ion, Liviu Ciupitu

[9] Roboṭi industriali de manipulare : Prezentarea caracteristicilor Bucureṣti : ASRO, 2004

[10] Negrean Iuliu, Tiberiu-Pavel, Haiduc Nicolae – Cinematica robotilor industriali – Cluj-Napoca : Universitatea Tehnica din Cluj-Napoca, 1995

[11] http://users.utcluj.ro/~valean/courses/II/Cap1.pdf Data accesării: 28.05.2014

[12] http://www.tehnium-azi.ro/page/articole_articles/_/articles/automatizari/Automate_programabile Data accesării: 01.06.2014

[13] http://www.robotics.ucv.ro/flexform/aplicatii/m2/Stanciu%20Verona%20-%20Automate%20programabile/ Data accesării: 01.06.2014

[14] C. J. Richards – Sisteme de afisare și transmisie electronica a datelor. Realizare și instalare. Editura Tehnica Bucuresti, 1979.

[15] S. Florea, I. Dumitrache, V. Gaburici, Fl. Munteanu, S. Dumitru, I. Catana – Electronica Industriala și Automatizari – Editura didactica și pedagogica Bucuresti – 1980

[16] A.Moraru, V.Hortopan, I. Ciric – Electrotehnica, masurari si masini electrice – Editura didactica si pedagogica Bucuresti – 1976

[17] Andrei Nicolaide – Masini electrice – Editura Scrisul Romanesc Craiova – 1975

[1] ***, Elmer and Elsie, http://www.extremenxt.com/walter.htm , Data accesării: 18.06.2014

[2] ***, Robot casnic, http://www.electroreview.ro/robot-de-bucatarie-russell-hobbs-allure-18553-56/ Data accesarii: 18.06.2014

[3] ***, Kuka Robotics, http://www.kuka-robotics.com/, Data accesării: 27.06.2014

[4] ***, Curiosity Rover, http://en.wikipedia.org/wiki/Mars_rover, Data accesării: 27.06.2014

[5] ***, ASIMO, http://en.wikipedia.org/wiki/ASIMO, Data accesării: 19.06.2014

[6] ***, Robot cu 6 grade de libertate, http://blog.robotiq.com/bid/63528/What-are-the-different-types-of-industrial-robots, Data accesării: 27.06.2014

[7] ***,Compilarea în cod masina ,http://users.utcluj.ro/~valean/courses/II/Cap1.pdf, Data accesării: 25.06.2014

[8] ***, Arhitectura tipica unui automat programabil, http://larionescu.home.ro/ArticoleNoi/ProiectareAPc.pdf Data accesării: 25.06.2014

[9] ***, Structura centrala automat programabil, http://www.robotics.ucv.ro/flexform/aplicatii/m2/Stanciu%20Verona%20-%20Automate%20programabile/ Data accesării: 25.06.2014

Acronime

NASA – National Aeronautics and Space Agency

ASIMO – Advanced Step in Inovative Mobility

R-T – Rotație – Translație

ECMA – European Computer Manufactures Association

CLR – Common Language Runtime

XML – eXtended Markup Language

IDE – Integrated Development Enviorment

WF – Windows Forms

HTML – Hyper Text Markup Language

GDI – Graphics Device Interface

CIL – Common Intermediate Language

AP – Automat programabil

PLC – Programable Logic Controller

UC – Unitate Centrala

RAM – Random Access Memory

OLC – Oțel Laminat Carbon

FBD – Function Block Diagram

PCB – Printed Circuit Board

DLL – Dynamic-link library

GND – Ground

Anexa 1

Anexa 2

Anexa 3

Anexa 4

Bibliografie

[1] http://www.asro.ro/romana/noutati/2010/ Data accesării: 15.05.2014

[2] http://ro.wikipedia.org/wiki/Robot Data accesării: 15.05.2014

[3] http://www.robotics.ucv.ro/flexform/aplicatii/m1/Salahoru%20Filomela%20-%20Aplicatii%20ale%20programarii/documente/introducere.doc Data accesării: 16.05.2014

[4] http://mecatronicastiintaviitorului.wikispace.com/file/view/Cap.2%20Robiti%20-industriali_2.doc Data accesării: 21.05.2014

[5] http://mecatronicastiintaviitorului.wikispace.com/file/view/Cap.3%20Robiti%20-industriali_3.doc Data accesării: 21.05.2014

[6] Notiuni generale privind robotii industriali – http://ro.scribd.com/doc/58296471/Cap-A Data accesării: 25.05.2014

[7] Handra-Luca, V. Maties „Roboti: structura, cinematica și caracteristici” Ed.Dacia, Cluj-Napoca 1996.

[8] Mecanismele roboților industriali . Vol. 2, Mecanisme de prehensiune. Mecanisme pentru ordonare, orientare, transfer și singularizare / Ion Simionescu, Ion Ion, Liviu Ciupitu

[9] Roboṭi industriali de manipulare : Prezentarea caracteristicilor Bucureṣti : ASRO, 2004

[10] Negrean Iuliu, Tiberiu-Pavel, Haiduc Nicolae – Cinematica robotilor industriali – Cluj-Napoca : Universitatea Tehnica din Cluj-Napoca, 1995

[11] http://users.utcluj.ro/~valean/courses/II/Cap1.pdf Data accesării: 28.05.2014

[12] http://www.tehnium-azi.ro/page/articole_articles/_/articles/automatizari/Automate_programabile Data accesării: 01.06.2014

[13] http://www.robotics.ucv.ro/flexform/aplicatii/m2/Stanciu%20Verona%20-%20Automate%20programabile/ Data accesării: 01.06.2014

[14] C. J. Richards – Sisteme de afisare și transmisie electronica a datelor. Realizare și instalare. Editura Tehnica Bucuresti, 1979.

[15] S. Florea, I. Dumitrache, V. Gaburici, Fl. Munteanu, S. Dumitru, I. Catana – Electronica Industriala și Automatizari – Editura didactica și pedagogica Bucuresti – 1980

[16] A.Moraru, V.Hortopan, I. Ciric – Electrotehnica, masurari si masini electrice – Editura didactica si pedagogica Bucuresti – 1976

[17] Andrei Nicolaide – Masini electrice – Editura Scrisul Romanesc Craiova – 1975

[1] ***, Elmer and Elsie, http://www.extremenxt.com/walter.htm , Data accesării: 18.06.2014

[2] ***, Robot casnic, http://www.electroreview.ro/robot-de-bucatarie-russell-hobbs-allure-18553-56/ Data accesarii: 18.06.2014

[3] ***, Kuka Robotics, http://www.kuka-robotics.com/, Data accesării: 27.06.2014

[4] ***, Curiosity Rover, http://en.wikipedia.org/wiki/Mars_rover, Data accesării: 27.06.2014

[5] ***, ASIMO, http://en.wikipedia.org/wiki/ASIMO, Data accesării: 19.06.2014

[6] ***, Robot cu 6 grade de libertate, http://blog.robotiq.com/bid/63528/What-are-the-different-types-of-industrial-robots, Data accesării: 27.06.2014

[7] ***,Compilarea în cod masina ,http://users.utcluj.ro/~valean/courses/II/Cap1.pdf, Data accesării: 25.06.2014

[8] ***, Arhitectura tipica unui automat programabil, http://larionescu.home.ro/ArticoleNoi/ProiectareAPc.pdf Data accesării: 25.06.2014

[9] ***, Structura centrala automat programabil, http://www.robotics.ucv.ro/flexform/aplicatii/m2/Stanciu%20Verona%20-%20Automate%20programabile/ Data accesării: 25.06.2014

Anexa 1

Anexa 2

Anexa 3

Anexa 4

Similar Posts