1.1.
DEFINIŢII, DOMENII DE UTILIZARE, EVOLUŢIE
Robotul este un sistem automatizat de înalt nivel al cărui principal rol este manipularea pieselor şi uneltelor, înlocuind acţiunea umană. Principalele aplicaţii în care utilizarea roboţilor industriali are avantaje evidente sunt: încărcarea şi descărcarea maşinilor unelte cu comandă numerică; sudură prin puncte sau pe contur; operaţii de ansamblare; vopsire; turnarea în forme a pieselor mari; controlul calităţii; manipularea substanţelor toxice, radioactive; Robotul industrial este definit în prezent ca un manipulator tridimensional, multifuncţional, reprogramabil, capabil să deplaseze materiale, piese, unelte sau aparate speciale după traiectorii programate, în scopul efectuării unor operaţii diversificate de fabricaţie. Importanţa acordată roboticii, domeniile de activitate semnificative sunt prezentate în figura 1.1.: 2%
14%
19%
23%
20% 8%
Turnatorie
Ansamblare
Vopsire
4%
Deservire MU
Deservire MU
Sudura 17%
Vopsire
8%
Intretinere
Sudura Intretinere
Alte domenii
Alte domenii
21%
39%
25%
a.
50000 40000 Roboti
1985 30000
1990 1995
20000
2000
10000 0 S.U.A.
Japonia Germania
Franta
Anglia
Italia
b. Fig. 1.1. a. Repartiţia roboţilor industriali pe domenii de activitate; b. Evoluţia parcului de roboţi industriali în principalele ţări dezvoltate
Roboţii mobili (independenţi) utilizaţi din ce în ce mai mult în diverse aplicaţii pentru a îndeplini sarcini complexe în spaţii sau medii în care accesul omului este dificil sau imposibil: mediu marin la adâncimi foarte mari, inspecţia anumitor instalaţii din industria chimică sau nucleară.
Nanoroboţi, medicină pentru microoperaţii.
1
Maşini unelte
Maşini unelte cu comandă program (CP) 1. comandă prin came profilate; 2. comandă prin copiere după şablon; 3. comandă secvenţială. Maşinile unelte cu comandă numerică (CN) Maşini unelte cu comandă numerică asistată de calculator (CNC). Sistemul CNC faţă de sistemul CN are numeroase avantaje: 1. un software mai puternic (set de instrucţiuni extins al noilor generaţii de procesoare); 2. utilizarea limbajelor de programare evoluate simplifică activitatea de programare; 3. memoria RAM de mare capacitate permite memorarea tuturor programelor – piesă acestea putând fi testate şi corectate pe echipament; 4. posibilitate de adaptare la diverse tipuri de maşini unelte prin modificări hardware minime datorită interfeţei programabile cu echipamentele convenţionale; 5. scăderea volumului hardware prin implementarea software a unor funcţii a acestuia; 6. scăderea semnificativă a timpului de depanare datorită facilităţilor de autotestare şi diagnoză.
1.2.
TERMINOLOGIE SPECIFICĂ ROBOTICII
Pentru diferitele componente ale roboţilor industriali, figura 1.2., s-au definit termeni specifici care vor fi utilizaţi şi în lucrarea de faţă prin preluarea termenilor din literatura anglo – saxonă.
Sistem de programare
Sursă de energie
structură purtătoare: axe 1, 2, 3
axa 3
axa 2
axa 5
axa 1
Sisteme de comandă, acţionare şi senzorial
axa 4 axa 6
Structura mecanică
Bază
2
articulaţia pumnului: axe 4, 5, 6 Fig. 1.2. Robot industrial
bază; structură purtătoare; articulaţia pumnului; efector; element cuplor; axă.
Arhitectura de bază a roboţilor industriali actuali este prezentată în figura 1.3.:
magistrală industrială
SISTEM DE PROGRAMARE P
SISTEM DE COMANDĂ C
ROBOT INDUSTRIAL
comenzi axe
SISTEM DE ACŢIONARE AXE
măsurări traductori interni SISTEM DE PRELUCRARE SENZORIAL
STRUCTURĂ MECANICĂ
Modulul operaţional
Modulul senzorial şi de decizie
instrucţiuni
SURSĂ DE ENERGIE
I/O măsurări traductori externi
MEDIU DE LUCRU
sarcină
Fig. 1.3. Arhitectura roboţilor industriali
mediu de lucru; sarcină; structura mecanică; sistem de acţionare; sistem de comandă; sistem de prelucrare senzorial; sistem de programare; sursa de energie; I / O modulul de intrări – ieşiri; magistrala industrială.
1.3.1. Clasificarea manipulatoarelor şi roboţilor pe generaţii Clasificarea pe generaţii foloseşte drept criteriu de bază capacitatea maşinii de percepere şi interpretare a semnalelor din mediul exterior, precum şi de adaptare la mediu în timpul procesului de lucru. Manipulatoarele manuale (prima generaţie); Manipulatoare automate (generaţia a doua); Manipulatoare inteligente (generaţia a treia); Roboţii industriali din prima generaţie sunt manipulatoare automate programabile, având cel puţin 3 axe (dintre care cel puţin 2 axe sunt programabile prin învăţare sau printr-un limbaj simbolic). Roboţii industriali din generaţia a doua; Roboţii industriali din generaţia a treia sunt dotaţi cu senzori inteligenţi (prelucrare locală a informaţiei) şi utilizează elemente de inteligenţă artificială; Roboţii inteligenţi sunt dotaţi cu programe de inteligenţă artificială avansate, au capacitate de autoinstruire. Majoritatea roboţilor industriali folosiţi în prezent sunt din generaţia 1 şi 2. 3
1.3.2. Clasificarea roboţilor industriali în funcţie de scara evolutivă a treptelor de automatizare Sursa de Energia Treapta Descriere informaţii 10 Maşină care se autoperfecţionează: robot cu inteligenţă artificială 9
Maşină cu program adaptabil în funcţie de condiţiile externe: robot cu elemente de inteligenţă artificială, robot industrial generaţia 3
8
Maşină care îşi corectează programul în funcţie de condiţiile de lucru: maşină unealtă cu comandă adaptativă Maşină universală programabilă: sistem sau centru de prelucrare cu CNC, robot industrial generaţia 2 Maşină monooperaţie programabilă: maşină unealtă cu CN, robot industrial generaţia 1 Maşină automată pentru operaţii multiple: strung cu prelucrare automată, automat de montaj Maşină automată monooperaţie: automat de montaj rigid, manipulator automat Sculă mecanizată, maşină comandată manual, manipulator manual (teleoperator) Sculă de mână Mână
Mediul exterior Electrică
Hidraulică 7 Program variabil (programabilitate)
Pneumatică 6 5
Program fix
4 Mecanică
3
Manuală
2 1
Om
Clasificarea roboţilor industriali în funcţie de complexitate Caracteristica Generarea traiectoriei
Generaţia 1 punct cu punct
Generaţia 2 pe contur
Generaţia 3 prin interpolator de traiectorie
limitatoare de traductoare numerice traductoare numerice asistate poziţie asociate cu traductoare de senzori inteligenţi analogice un singur program: mai multe programe: limitată la capacitatea de Capacitatea pentru traiectorie zeci de pentru traiectorie sute de stocare a HDD memoriei poziţii, pentru programul poziţii, pentru programul aplicaţie sute instrucţiuni aplicaţie sute instrucţiuni max. 2 Ko max. 5 Mo prin învăţare directă, limbaj limbaj propriu de nivel înalt limbaj de nivel înalt, Modul de maşină sau simbolic derivat din limbajele de programare orientată pe programare programare Pascal, C obiecte interblocări şi sincronizări Senzori tactili, de efort, senzori inteligenţi (sonar, Legătura cu între robotul industrial şi proximitate şi vizuali (cameră telemetru laser, camere video, exteriorul poziţia unor piese sau video) etc.) cu prelucrare locală a dispozitive, comenzile informaţiei maşinilor deservite Capacitatea de nu avansează în program decât capabil să ocolească obstacole, identifică forma obiectelor dacă sunt confirmate condiţiile să identifice forma unui număr împrăştiate în funcţie de decizie de interblocare şi sincronizare limitat de obiecte în funcţie de caracteristicile proprii şi le programate contur, masă, rugozitate prin poziţionează în poziţia corectă traductori şi dispozitive de de montaj; alege ordinea apucare special adaptate operaţiilor, traiectoriile optime Controlul poziţiilor
4
19
1.4. Parametrii tehnici ai roboţilor
PARAMETRII TEHNICI AI ROBOŢILOR Cunoaşterea parametrilor tehnici permite alegerea corectă (raport preţ/ performanţă) a robotului care urmează să deservească procesul ce se intenţionează a fi modernizat. Parametrii tehnici cei mai importanţi sunt: Rezoluţia unui sistem este dată de mărimea unităţii elementare pe care acesta o poate procesa. În cazul roboţilor rezoluţia depinde de: rezoluţia sistemului de programare; rezoluţia traductorilor ce asigură controlul în buclă închisă. Precizia statică exprimă diferenţa între poziţia comandată Pc şi media poziţiilor realizate Pm de dispozitivul efector. z y 0
x Pm
poziţia medie reală Xm ; Ym ; Zm
Prec Pc poziţia comandată Xc ; Yc ; Zc
Pi , i=1..n
poziţii realizate
Fig. 1.3. Precizia statică
Prec ROBOT 0,5 Rez ROBOT Prec sistem mecanic Prec a lg oritmi comanda Repetabilitatea statică de poziţionare reprezintă o mărime statistică asociată noţiunii de precizie, pe care o completează. Astfel pentru aceeaşi mişcare, în condiţii identice de mediu şi sarcină, se măsoară poziţiile finale ale efectorului care, vor prezenta o anumită dispersie Pi ; i=1…n , figura 1.4., faţă de poziţia comandată Pc : Pm
Pc
Pi
scară măsură traductor poziţie
precizie
repetabilitate
rezoluţie
Fig. 1.4. Definirea rezoluţiei, preciziei şi a repetabilităţii statice Valoarea maximă absolută a dispersiei de poziţionare în raport cu valoarea medie de poziţionare Pm reprezintă repetabilitatea statică a robotului.
20
1. Introducere în robotică
Spaţiul de lucru al manipulatorului sau robotului este dat de volumul în care este posibil să se găsească elementele structurii mecanice. Spaţiul de lucru util este volumul maxim, descris de totalitatea mişcărilor robotului, în care se poate găsi efectorul în timpul funcţionării conform figurii 1.5.:
Rmax = 2.550 3.300
1.120
750 1.030
150 2.460
Fig. 1.5. Spaţiul de lucru util Numărul gradelor de libertate este dat de numărul maxim al deplasărilor posibile ale efectorului fără a include mişcarea de prehensiune. Sarcina utilă reprezintă masa maximă pe care o poate manipula dispozitivul de prehensiune al robotului (valori uzuale în gama 0,5…20 Kg). Performanţele constructive şi de comandă ale aceleiaşi clase de roboţilor pot diferi destul de mult, în funcţie de producător, dacă sunt comparaţi parametrii tehnici. De aceea de multe ori sunt preferaţi următorii parametri globali de analiză: parametrul privind supleţea şi eficienţa intervenţiei în spaţiul de lucru:
K1
V ; G
[m3 / N ]
(1.8)
unde V este volumul spaţiului de lucru; G – greutatea robotului în condiţii de funcţionare. parametrul capacităţii gravitaţionale specifice de manipulare:
K2
G1 G
(1.9)
unde G1 reprezintă greutatea obiectului manipulat. parametrul de apreciere globală a calităţilor tehnice:
K3
V G1 ; G Prec
[m3 / mm]
(1.10)
unde Prec reprezintă precizia statică de poziţionare. Pentru valori mari ale parametrului global K3 se apreciază că pe ansamblu, robotul industrial analizat îndeplineşte într-un grad mai înalt standardele de performanţă.
2. STRUCTURA MECANICĂ A ROBOŢILOR 2.1.
ARHITECTURA GENERALĂ A ROBOŢILOR
2.1.1. Noţiuni despre mecanisme Grade de libertate. Poziţia şi orientarea unui solid nedeformabil în spaţiu, într-un sistem de coordonate, este definită prin maxim 6 numere reale independente: 3 unghiuri de rotaţie , , , în raport cu axele de coordonate x, y, z; coordonatele carteziene x, y, z ale unui punct caracteristic al solidului. Legături mecanice. Numărul de grade de libertate al unei legături mecanice este determinat de numărul de mişcări independente permis de legătură. În tabelul 2.1. sunt prezentate cele mai uzuale legături mecanice în reprezentare plană şi spaţială: Tabelul 2.1. Reprezentarea legăturilor mecanice Denumire Reprezentare plană legătură
Reprezentare spaţială C2
C2
K
C1 1
translaţie C1 C2 rotaţie nelimitată
C2
1 C1 300
C2
C1
rotaţie limitată
1 300
C1
translaţie elicoidală
C1
C2
C2
C2
1 C1
C1 C2
C2
2
pivot C1
C1 C2
C2 3
rotulă C1
C1 C2
C2 4
plană C1
C1
Mobilitatea mecanismelor. Este un parametru caracteristic determinat de numărul mişcărilor independente posibile. Mobilitatea unui robot este identică cu numărul de axe (mai puţin dispozitivul de prehensiune). Pentru roboţii industriali mobilitatea are valorile 3 m 7. Numărul gradelor de libertate necesar executării unei anumite operaţii se numeşte grad de libertate a sarcinii Ks 6. Redondanţă, poziţie particulară. Dacă Ks < m pentru toate configuraţii unui robot, atunci acesta este redondant: are un număr de axe mai mare decât numărul de axe necesar efectuării operaţiilor de complexitatea cerută de procesul tehnologic.
axa 8
axa 1
b.
a. Fig. 2.1. Roboţi industriali cu redondanţă
Dacă Ks < m numai pentru anumite configuraţii ale structurii mecanice, acestea se numesc poziţii particulare caracterizate de redondanţă locală, figura 2.2.:
axa 1
axa 5
Fig. 2.2. Poziţie particulară cu redondanţă locală
Lanţ cinematic. Structura mecanică a roboţilor este realizată din corpuri rigide Cj legate prin legături mecanice Lj astfel încât să formeze lanţuri cinematice funcţionale. Cele mai uzuale legături sunt cele de translaţie, rotaţie nelimitată şi rotaţie limitată. În funcţie de aplicaţie la construcţia structurii purtătoare (primele 3 axe) se utilizează următoarele variante de lanţuri cinematice: lanţ cinematic deschis; lanţ cinematic arborescent; lanţ cinematic închis.
Ln Cn Ln-1
Cj+1
Lj+1 Lj L2
C2 L1
C1
O
a.
b.
c.
Fig. 2.3. Lanţuri cinematice: a. deschis; b. arborescent; c. închis
Coordonate articulare, coordonate operaţionale. Coordonatele articulare (de axă) sunt mărimi, variabile în timp (unghiuri, lungimi), ce definesc configuraţia structurii mecanice a robotului la un moment dat. q1
q2
Fig. 2.4. Coordonate articulare Coordonatele operaţionale xi (i = 1…m) sunt variabilele care definesc poziţia şi orientarea obiectului manipulat în raport cu un sistem de coordonate fix [O0, x0, y0, z0], ataşat bazei robotului (batiului). xi ; i=1…12
qj ;
j=1…m
qj-1 z0 y0 O0
x0
Fig. 2.5. Coordonate articulare, operaţionale
2.1.1. Structuri mecanice purtătoare cu lanţ cinematic deschis Structurile purtătoare ale roboţilor industriali au în general 3 axe care asigură poziţionarea generală. Structurile mecanice pot fi identificate prin lista simbolurilor legăturilor mecanice pornind de la baza robotului (T – legătură mecanică de translaţie, R - legătură mecanică de rotaţie). Structura carteziană (TTT).
Fig. 2.6. Structură purtătoare carteziană Structura cilindrică (RTT).
rmax
rmin
Fig. 2.7. Structură purtătoare cilindrică Rezoluţia roboţilor cu structură purtătoare cilindrică nu este constantă, ea depinde de mărimea razei de rotaţie r dintre axa coloanei centrale şi poziţia efectorului.
rmax = 1,5 m rmin = 0,5 m
rmax
Fig. 2.8. Rezoluţia pentru elongaţia maximă
Rez structura
purtatoare
360 1.500 0,94 mm 10.000 180
Rezoluţia roboţilor cu structură cilindrică este net inferioară celor cu structură carteziană pentru aceeaşi echipare a traductorilor de poziţie.
Structura sferică (RRT).
Fig. 2.9. Structură purtătoare sferică
Rez axa translatie
10 0,01 mm / impuls 1.000
(2.3) Rez axa rotatie
1 360 1.000 0,17 mm / impuls 36 1.000 180
Structura bi-cilindrică (RRRT).
Fig. 2.10. Structură purtătoare bi-cilindrică Roboţii cu structură bi-cilindrică, cunoscuţi şi sub numele SCARA sunt utilizaţi cu precădere în operaţii de ansamblare de precizie.
Structură bi-sferică (RRR).
Fig. 2.11. Structură purtătoare bi-sferică
. 2.1.2. Structuri mecanice purtătoare cu lanţ cinematic închis Elementele suplimentare ataşate structurilor purtătoare cu lanţ cinematic deschis, pot fi utilizate în acelaşi timp pentru consolidarea şi echilibrarea statică a structurii prin preluarea unei părţi din încărcarea generată de propria greutate a axelor, figura 2.12.:
a.
b.
Fig. 2.12. Structuri purtătoare: a. lanţ cinematic deschis; b. lanţ cinematic închis Se observă că plecând de la o structură purtătoare bi-sferică, rezultă o nouă structură purtătoare, în lanţ cinematic închis, mai complexă, dar care asigură o precizie mai bună concomitent cu creşterea sarcinii utile manipulate (axa 3 nu mai deplasează elementele de acţionare şi control aferente). Dezavantajul principal al structurilor cu lanţ cinematic închis este determinat de reducerea flexibilităţii şi a spaţiului de lucru util datorită limitărilor impuse de legăturile mecanice suplimentare.
2.1.3. Structura mecanică a articulaţiei pumnului Structuri cu mişcări independente. Rolul principal al articulaţiei pumnului este de a asigura orientarea de fineţe a dispozitivului efector cu un nivel de flexibilitate cât mai ridicat. cu axe ortogonale concurente; cu axe ortogonale neconcurente.
P
P
O
O E
Fig. 2.13. Structura articulaţiei pumnului cu axe ortogonale concurente Structura cu axe ortogonale neconcurente elimină dezavantajul limitării curselor unghiulare ale anumitor axe, obţinându-se la nivelul efectorului o flexibilitate maximă, figura 2.14.:
P
O2
O1 O2
O1
E
Fig. 2.13. Structura articulaţiei pumnului cu axe ortogonale neconcurente O structură cu axe neconcurente, foarte performantă ca nivel de flexibilitate, este articulaţia bi-conică, dezvoltată de firma Kuka:
P
O1 O2 E
Fig. 2.14. Structura bi-conică cu axe neconcurente
Pentru îndeplinirea anumitor aplicaţii ce nu solicită ocolirea unor obstacole (vopsire cu pistol, sudură pe contur, operaţii de debitare) şi care utilizează dispozitive sau unelte cu simetrie spaţială, este suficientă o structură a articulaţiei pumnului cu două axe:
P
O1
E
Fig. 2.14. Structura articulaţiei pumnului cu 2 axe ortogonale
Structuri cu mişcări dependente. Utilizează un mecanism de orientare tip trompă de elefant, figura 2.15., format din elementele de ghidare Gi, conectate prin legăturile sferice Li. Poziţionarea în spaţiu a elementului cuplor EC se realizează ca rezultat al prepoziţionării simultane a elementelor de ghidare Gi sub acţiunea cablurilor C1, C2, C3, C4 fixate la un capăt de elementul cuplor EC, celălalte capete fiind acţionate de motoarele liniare corespunzătoare. E
.
EC
E
C4 C1 P
Li P Gi C3
C2
Fig. 2.15. Structură a articulaţiei pumnului de tip trompă de elefant
Calităţile articulaţiei pumnului se determină în funcţie de coeficientul de serviciu definit ca raport între unghiul de serviciu şi valoarea sa teoretică maximă 2:
2
(2.4)
Unghiul de serviciu este definit ca deplasarea spaţială unghiulară maximă a efectorului în raport cu centrul de mişcare P (prin intermediul căruia se asigură fixarea la structura mecanică purtătoare).
2.2. DISPOZITIVUL EFECTOR În funcţie de domeniul aplicaţiei dispozitivele efectoare pot diferi foarte mult având în vedere scopul pentru care au fost proiectate: dispozitive efectoare cu rol de prehensiune; dispozitive efectoare pentru operaţii de sudură; dispozitive efectoare pentru vopsire; dispozitive efectoare pentru prelucrări cu unelte specializate. Dispozitive efectoare cu rol de prehensiune. axa dispozitiv prehensiune axa dispozitiv poziţionare
2. centrare
3. fixare - defixare
1. poziţionare axa obiect manipulat
Fig. 2.16. Etapele procesului de prehensiune
3
4
2
1
Fig. 2.17. Dispozitive de prehensiune din echiparea standard a unui robot industrial
1
Dispozitive de prehensiune cu acţiune unilaterală. Acţionează pe o singură faţă a obiectului manipulat: dispozitive de prehensiune tip ventuză; dispozitive de prehensiune magnetice.
ptotală = pstatică + pdinamică
F
pd
Pt
A
A
P
aer
P
F
F
a.
c.
b. a.
ps
Fig. 2.18. Dispozitive de prehensiune tip ventuză cu vid: ventuză aderentă; b. pompă de vid; c. ventuză orientabilă şi generator de vid cu ajutaj
3 2 1
1
4
Fig. 2.19. Dispozitiv de prehensiune magnetic Dispozitive de prehensiune cu acţiune bilaterală. Realizează prinderea obiectului manipulat într-un sistem de pârghii articulate asemănătoare unui cleşte, forţa de apăsare F fiind dependentă de construcţia mecanismului articulat şi geometria obiectului manipulat.
s F m Fm s F s Fmax Fmin
M sm F
s
0 domeniu de lucru
Fig. 2.20. Mecanism de prehensiune bilaterală cu caracteristică mecanică constantă
2
F s Fmax
CH
Freglată
F
Fmin sm s
0 domeniu de lucru
Fig. 2.21. Mecanism de prehensiune bilaterală cu caracteristică mecanică rapid crescătoare
Dispozitive de prehensiune cu acţiune bilaterală cu acţionare pneumatică: 7
8
5
6
4
1 3
1
2
1 2
a.
3
b. 4 5
9
c.
d.
1
Fig. 2.22. Dispozitive de prehensiune cu acţiune bilaterală şi acţionare pneumatică
3
1
1 - cuplor; 2 - placă port dispozitive; 3 - dispozitiv de prehensiune; 4 - piesă (sculă).
2
piesa 1 15
piesa 3 13 3 piesa 2 20
4
Fig. 2.23. Dipozitiv de prehensiune multiplu
Dispozitive de prehensiune cu acţiune multiplă, adaptive.
4
4
1
2 1 aer comprimat
3 3
Fig. 2.24. Dispozitive de prehensiune cu acţiune multiplă pentru manipularea obiectelor fragile 1 aer comprimat
5
2
4
3 M2
M1 a.
b.
Fig. 2.25. Dispozitive de prehensiune: a. cu degete deformabile formate din segmente articulate; b. cu degete deformabile pneumatice
4
deblocat
1
2
blocat
1 a.
3
2
b.
Fig. 2.26. Dispozitive de prehensiune cu bacuri adaptabile: a. autoadaptabile la forma obiectului; b. cu geometrie programată
3
1 2 1
2
Fig. 2.27. Dispozitiv de prehensiune adaptiv de tip mână mecanică
Dispozitive efectoare pentru operaţii de sudură 5 1 4 2 3
Fig. 2.27. Dispozitiv efector pentru sudarea prin puncte
5
6 5 1
8
2 3 4 7 G Fig. 2.28. Dispozitiv efector pentru operaţii de sudură pe contur
Dispozitive efectoare pentru operaţii de vopsire 2
3 1
1 2
a.
b.
Fig. 2.29. Dispozitive efectoare pentru operaţii de vopsire: a. cu pistol automat de vopsire; b. cu pistol electrostatic 4 1 2
3 a.
b.
Fig. 2.30. Dispozitive efectoare pentru vopsire în straturi subţiri: a. cu mişcare combinată; b. cu mişcare oscilantă în plan vertical
6
2
1
3
a.
b.
Fig. 2.31. Dispozitivul efector al manipulatoarelor de vopsire reciprocatoare
Dispozitive efectoare pentru prelucrări cu unelte specializate
M
a.
M
b. 1
3 4
2
1
3 4
M 2 c.
d. Fig. 2.32. Dispozitive efectoare pentru prelucrări mecanice: a. găurire; b. debavurare; c., d. finisare, şlefuire
7
AXA ROBOTIZATĂ ARHITECTURA AXEI ROBOTIZATE Deplasarea efectorului în vederea realizării unei sarcini este rezultatul deplasării corelate a unui anumit număr de axe. Pentru deplasarea controlată a axei aceasta cuprinde următoarele componente: Sistem de comandă
sursă de energie
eforturi parazite
x* + corector
distribuitor de energie
element de execuţie
adaptor mişcare
mecanică axă
traductoare axă
xr
pierderi viteză poziţie
Fig. 3.1. Arhitectura axei robotizate
sistemul de comandă; distribuitorul de energie; sursa de energie; elementul de execuţie; adaptorul de mişcare; axa mecanică; traductoarele de axă.
ADAPTOARE DE MIŞCARE Adaptorul de mişcare are rolul de a transmite şi eventual de a modifica parametrii cinematici şi dinamici furnizaţi la axul elementului de execuţie astfel încât să se asigure parametri optimi de mişcare pentru axa mecanică. Cele mai utilizare adaptoare de mişcare pentru distanţe mici între axa elementului de execuţie şi axa mecanică sunt: sisteme adaptoare tip camă - tachet; sisteme adaptoare tip reductor (cele mai utilizate); sisteme adaptoare tip şurub - piuliţă; Adaptoare de mişcare utilizate pentru distanţe mari între axele în mişcare: sisteme adaptoare cu roţi dinţate concentrice; sisteme adaptoare cu curele.
Adaptoare de mişcare pentru distanţe mici între axele de mişcare Camă - tachet.. 1 – camă excentrică; 2 – tachet; 3 – resort.
1 2 3
Fig. 3.2. Sistem de adaptare a mişcării tip camă - tachet Reductoare. Sunt utilizate cu precădere în cazul sistemelor de acţionare electrice pentru micşorarea vitezei concomitent cu creşterea cuplului disponibil. Reductoarele utilizate în robotică trebuie să fie de calitate deosebită, cu jocuri foarte mici (de dorit nule) pentru a asigura o precizie de poziţionare a părţii mecanice cât mai ridicată. Reductoare cu roţi dinţate cu dantură dreaptă : Reductoare cu roţi dinţate cu dantură înclinată: Reductoare cu roţi conice: intrare axa 2
i= Z :Z
intrare axa 1
reductor cu roţi dinţate
mecanică axa 1
Z1
flanşă ieşire
reductor conic
mecanică axa 2 Fig. 3.3. Echipare axă: reductoare cu roţi dinţate, roţi conice
Z2
Reductoare cu roată melcată:
Fig. 3.4. Reductor cu roată melcată
Reductoare tip pinion – cremalieră:
2 3
1
4
5 1 – cremalieră; 2 - pinion; 3 – corp reductor; 4 – bară de torsiune (elimină jocul); 4 – servomotor. Fig. 3.5. Reductor pinion – cremalieră fără joc (angrenare prin două pinioane)
Reductoare planetare:
1 1
4
2 3
5
a. b. Fig. 3.6. a. Reductor cu roţi dinţate în două trepte: 1- pinion de intrare; 2 – pinion intermediar; 3 – pinion de ieşire; b. Reductor planetar: 1 – pinion de intrare; 4 – sateliţi; 5 – coroană cu danturare interioară (ieşire reductor).
Reductoare armonice sunt variante perfecţionate de reductoare planetare: 4
2
Z0 1
5
4
1
Z1
2
3
5 Z0
Z1 a.
b.
Fig. 3.7. Reductor armonic: a. schema cinematică; b. părţi componente Şurub – piuliţă. Sunt elemente adaptoare ce transformă mişcarea de rotaţie în mişcare de translaţie, fiind utilizate cu precădere pentru axe de translaţie.
1
2 1
2 b.
a.
Fig. 3.8. Reductor şurub – piuliţă: a. schema cinematică; b. soluţii constructive
2 3
4
1
5
Fig. 3.9. Reductor şurub – piuliţă cu bile: a. detaliu; b. soluţie constructivă axă translaţie
Adaptoare de mişcare pentru distanţe mari între axele de mişcare Roţi dinţate cu axe concentrice. Astfel de sisteme adaptoare sunt utilizate în cazul axelor de dimensiuni mici la care problema spaţiului de montare a elementului de execuţie precum şi greutatea axei reprezintă probleme critice de acţionare pentru proiectant.
M4
M5
Fig. 3.10. Soluţie de amplasare a elementelor de acţionare şi adaptoarelor de mişcare
M4
M4 axa 4
axa 5 axa 4
M5 M5 M6 axa 6
axa 5
Fig. 3.11. Soluţii ce utilizează adaptoare de mişcare cu roţi dinţate cu axe concentrice
Curele. Se utilizează pentru transmisia mişcării la distanţe mari acolo unde este necesar un sistem adaptor cu gabarit şi greutate minim, cu inerţie redusă şi randament mecanic foarte bun.: curele trapezoidale; curele cu dinţi; curele din bandă de oţel; lanţuri cu zale.
curele bandă oţel
axa 1
axe 3, 4
motoare reductoare
axa 2
cu
şurub cu bile
transmisie cu axe concentrice cuplaj axa 4
curea dinţată
axe 1, 2
motoare reductoare
Bază
cu
Fig. 3.12. Soluţii de echipare a axelor cu adaptoare de mişcare: robot ABB, tip SCARA
axa 4
axa 4
axa 3
axa 3 C3
axa 2
axa 2 M2
M3
M4
C1 C2
C4 M
axa 1 M1 a.
b.
Fig. 3.13. Adaptoare de mişcare pentru distanţe mari între axe: a. transmisie cu mişcări independente; b. transmisie prin cuplaje cu mişcări dependente
SISTEME DE ACŢIONARE
Sistemul de acţionare al axei robotizate este format din: element de execuţie; distribuitor de energie; sursa de energie.
Consideraţii generale privitoare la acţionarea axei robotizate Se consideră două axe succesive ale unui robot prevăzut cu adaptoare de mişcare între elementele de execuţie şi structura mecanică a axelor conform figurii 3.14.: Mm1, M1
1 Mm2, M2 1
M 1, i 1
M2, i2 Mst axa1 Mm2 J1,2+sarcină
2 2 Mst axa2 J2
Mst sarcină Ma Js
Fig. 3.14. Mărimi caracteristice unui sistem robotizat Motoarele de acţionare M1, M2 trebuie să învingă cuplurile rezistente statice, dinamice şi aleatoare ce pot apare la deplasarea pe traiectorie: cuplurile statice sunt determinate de forţa gravitaţională şi forţele de frecare; cuplurile dinamice sunt generate de forţele ce apar la deplasarea axelor şi pot fi următoarele: - cuplul de inerţie, determinat de momentul de inerţie este proporţional cu acceleraţia axei; - cuplul Coriolis, determinat de forţa Coriolis este proporţional cu produsul vitezelor axelor succesive (apare în cazul mişcărilor combinate); - cuplul centrifug, determinat de forţa centrifugă, apare la nivelul axei următoare (axa 2) celei luate în considerare în procesul de evaluare şi este proporţional cu pătratul vitezei de rotaţie a acesteia. cuplul sarcinii manipulate este un cuplu variabil, suplimentar care apare în situaţia în care robotul deplasează obiecte ce pot fi de dimensiuni şi forme diferite ca urmare şi cu momente statice şi de inerţie diferite; cuplurile aleatoare sunt cupluri exterioare robotului care pot apărea în procesul de ansamblare sau prelucrare în special la nivelul dispozitivului de prehensiune şi care determină eforturi suplimentare la nivelul axelor de poziţionare. Pentru acţionarea axei robotizate pot fi alese trei soluţii în funcţie de puterea (cuplul) solicitată motorului de acţionare şi timpul de răspuns impus: - acţionare hidraulică; acţionare pneumatică; acţionare electrică.
Sisteme de acţionare hidraulice Sistemele de acţionare hidraulice sunt utilizate pentru acţionarea a 40 % din parcul mondial de roboţi industriali fiind preferate în cazul roboţilor de forţă datorită următoarelor avantaje: raport foarte bun între puterea dezvoltată şi greutatea elementelor de execuţie care sunt robuste şi fiabile ; elementele de execuţie hidraulice lucrează la viteze moderate (pot lipsi adaptoarele de mişcare); datorită incompresibilităţii uleiului, sistemului i se conferă suficientă rigiditate pentru a menţine poziţiile programate; au timp de răspuns mic şi cu sisteme performante de comandă se pot atinge precizii de poziţionare foarte bune; fluidul hidraulic (ulei) are rol de lubrifiant şi agent de răcire; este preferat datorită siguranţei în funcţionare pentru utilizări în medii explozive (vopsitorii), cu praf (turnătorii) sau corozive (acoperiri galvanice). Principalele dezavantaje ale sistemelor de acţionare hidraulice sunt următoarele: costul sistemului de acţionare este ridicat şi necesită operaţii de întreţinere pretenţioase; elementele hidraulice sunt dificil de miniaturizat deoarece necesită secţiuni de trecere a fluidului (volum element) determinate de debitul şi presiunea de lucru; se pretează în cazul roboţilor cu ciclu de lucru lent.
Elemente de execuţie hidraulice. Cele mai utilizate sunt cilindrul hidraulic care realizează direct mişcarea de translaţie şi motorul hidraulic care realizează mişcarea de rotaţie. U tensiune presiune p determină forţa (cuplul);
I curent debit volumic Q determină viteza de translaţie sau rotaţie; P putere electrica putere hidraulica P pQ Cilindrul hidraulic.
V = 2V0 Fv(v)
pi(t) Vi(t)
Qi
F(t)
S
Ff
pe(t) Ve(t)
ms
Qe
x(t) Fig. 3.15. Cilindrul hidraulic
Motorul hidraulic. pi(t)
Qi(t) Qsc(t)
M
Mv
Js
r
M Mm Fig. 3.17. Schema funcţională a motorului hidraulic Mr
pe(t) Qe(t)
d
Distribuitoare de energie hidraulică. Distribuitoarele hidraulice au rolul de a controla energia hidraulică transmisă elementelor de execuţie. distribuitoare de comandă; distribuitoare proporţionale; servodistribuitoare. Distribuitoare de comandă. Se realizează pentru diferite debite (l / min) DN6…DN100 şi presiuni de lucru 315…1.000 bar. 5
0-1
2
A
3 A
P P 1
4
Fig. 3.20. Distribuitor hidraulic de comandă cu simplu efect, cu 2 căi şi 2 poziţii, revenire mecanică 2-0-1
6
3
4
5 7
A
T
2
B
P A B
T 1
P T Fig. 3.21. Distribuitor hidraulic de comandă cu dublu efect, cu 4 căi şi 3 poziţii, revenire mecanică
Distribuitoare proporţionale. Reglează direcţia debitului şi în mod continuu mărimea acestuia:
electromagnet de comandă proporţional; traductor inductiv de poziţie a sertarului de comandă (opţional funcţie de variantă); bloc electronic de comandă care include în principal surse de alimentare, ieşiri în curent, intrări pentru semnale de programare şi intrări de măsură (opţional). Electromagnetul de comandă proporţional denumit şi motor liniar este prezentat în figura 3.22.:
4 3
2 1
6 +I
I=0 S N
N S
N S
S N
N S
S N
s 5 N S
S N
7
b.
a.
Fig. 3.22. Electromagnet de comandă proporţional: a. în poziţie neutră; b. acţionat Alimentarea bobinelor de comandă 3 cu un curent de o anumită polaritate determină în întrefierurile armăturii un flux suplimentar c care modifică echilibrul fluxurilor rezultante s , d în zonele din stânga – dreapta:
I s p c ; d p c ; s d I s p c ; d p c ; s d
(3.25)
Rezoluţia traductorului atinge 2 m ceea ce îl face indicat în măsurarea deplasărilor foarte mici. generator
=
u~
~
Z1
Umăsură
=
u1
~
0
demodulator
miez ferită
Z2
Fig. 3.23. Traductor de translaţie inductiv 3
6
2
5
4
1
5
2
6
AB 0
PT Fig. 3.24. Distribuitor proporţional direct comandat, cu traductor de poziţie
Q [l/min]
s [mm]
s(I)
eroare de repetabilitate
eroare de histerezis
I [mA] 0
I1
I2
Fig. 3.25. Caracteristica de comandă a unui distribuitor proporţional, surse de erori
Distribuitoare proporţionale pilotate. Pentru debite mari acţionarea electrică a sertarului de comandă nu mai este posibilă datorită forţelor rezistente mari. un distribuitor proporţional cu comandă directă prin electromagneţi proporţionali; un distribuitor pentru debitul proiectat, ce poate fi echipat opţional cu un traductor de poziţie. 2
5
1
4
2
5
Y
13 7 8 9 10 12
11 comandă A
comandă B
A B
X Fig.3.26. Distribuitor proporţional pilotat
P T
Y
Servodistribuitoare. În procesele de reglare la nivelul axei robotizate, procese rapide, este important ca distribuitorul de energie să prezinte şi o bună dinamică. La distribuitoarele hidraulice proporţionale comandate cu electromagneţi proporţionali această cerinţă este limitată de inductivitatea mare a bobinei electromagnetului şi din acest motiv sunt preferate sistemele de comandă hidraulice tip servosupapă. Servosupapa este un amplificator hidraulic cu comandă electrică format din: motor electric de comandă; amplificator hidraulic de tip placă de recul şi duze. 6
I
1
I
4
7
3 2
5 Mm a.
b. Fig. 3.27. Motorul electric de comandă al servosupapei
c.
pB
pA
5 11 pB
pA
0
s [mm]
13 p = pB - pA
A
P
T
B 0
a.
b.
Fig. 3.28. Amplificator hidraulic servosupapă: a. schema de principiu; b. caracteristica de presiune
6
8
1
7
6 3
9
9 4
10 5 11 13
2
12
Fig. 3.29. Servosupapă
1
6
2 7
5 8
3
A B
9
4
P T
Fig. 3.30. Servodistribuitor cu două trepte şi revenire mecanică
Q
I
A
-0,5…1,5 % S
200 %
suprapunere negativă
A
B suprapunere pozitivă Q
50 %
I +0,5…1,5 % S
suprapunere zero Q
I 100 %
0…0,5 % S
Fig. 3.31. Caracteristici de reglare ale servodistribuitoarelor Caracteristica statică de debit prezintă două puncte de lucru semnificative: punctul de lucru A corespunzător funcţionării servodistribuitorului în regim apropiat de zona de blocare, în jurul punctului zero; punctul de lucru B corespunzător funcţionării servodistribuitorului în regim deschis.
Q [%] Qn
I [%] In
Fig. 3.32. Caracteristica de presiune a servodistribuitorului
Servodistribuitoare cu două trepte şi revenire barometrică. 1
2
6
4 3
5
9
A B 8 10
11 P T Fig. 3.33. Servodistribuitor cu două trepte şi revenire barometrică
Servodistribuitoare cu două trepte şi revenire electrică. 1
A B
2 6
5
P T
12
7
4
8
9 10
11
3
Fig. 3.34. Servodistribuitor cu două trepte şi revenire electrică
Caracteristica dinamică de frecvenţă, alături de principalii parametri statici, este foarte importantă în alegerea tipului de servodistribuitor în funcţie de parametrii de reglare solicitaţi de aplicaţie. Qn < 30 l/min; p = 140 bar; s = 25 % Sistem de Barometric Mecanic revenire [%] [%] Histerezis 3,0 2,0 Sensibilitate 1,0 0,5 Interval 2,0 1,0 inversare Asimetrie 5,0 5,0 curgere
Electric [%] 0,5 0,2 0,2 5,0
revenire mecanică revenire barometrică revenire electrică
Fig. 3.35. Comparaţia unor parametri statici şi a caracteristicilor de frecvenţă ale servodistribuitoarelor
Aparate hidraulice proporţionale. Supapa proporţională de limitare a presiunii direct comandată. Este utilizată ca element de reglare automată a presiunii maxime din circuitul hidraulic supravegheat (exemplu pentru reglarea forţei maxime de strângere la dispozitivele de prehensiune în funcţie de caracteristicile obiectului manipulat). 3
2
7
6
5
1 4 p
I
P
8
T Fig. 3.36. Supapă proporţională de limitare a presiunii
Supapa proporţională de reglare a presiunii pilotată.
o supapă proporţională de limitare a presiunii cu rol de element de reglare; bloc de menţinere a presiunii ce lucrează ca o rezistenţă hidraulică variabilă; elemente adiţionale opţionale: siguranţă de presiune maximă, supapă de sens. 20 13
21
14
B
2
1
Y
15
A
12
supapă proporţională de reglare a presiunii
11
5
10
4
B
6 9
7
18
8
supapă proporţională de reglare a presiunii cu supapă de sens şi siguranţă de presiune maximă
17 B
3
19
A
22
16
Y
A
Fig. 3.37. Supapă proporţională de reglare a presiunii, echipată cu supapă de sens şi siguranţă de presiune maximă
Supapa proporţională de debit. Supapa proporţională de reglare a debitului menţine constant debitul programat independent de temperatura şi presiunea uleiului. Pentru a realiza această funcţie de reglare supapa utilizează ca element hidraulic de control o balanţă de presiune cu două căi în circuitul de alimentare, figura 3.38.: p1 ; Q1
6
5
7
4 2
ps 3 B
2 Q
ps ; A0
p1 ; A0
8
pi ; Qi
1
Fig. 3.38. Balanţă de presiune cu 2 căi în circuitul de alimentare
A
ps
5
3
4
1 2
A B
6
8
7
Fig. 3.39. Supapă proporţională de debit
Surse de energie hidraulică
N2
Ac
F2 P
Ss
Elemente hidraulice Sp
M
3~
Ru Ph T F1
F3 Nu
Tu
max.
min.
Ba Fig. 3.40. Sursă de energie hidraulică
Aplicaţii ale sistemelor de acţionare hidraulică în robotică. Sistemele de acţionare hidraulică utilizate în robotică se pot realiza cu elemente hidraulice clasice în cazul în care în cadrul aplicaţiei robotul execută un ciclu de deplasări fix sau cu elemente de hidraulică proporţională (programabile electronic sau numeric) în cazul în care robotul execută sarcini complexe: ciclu de deplasări la viteze variabile, control activ al forţei de prehensiune.
Aplicaţii cu elemente hidraulice clasice.
p1
p2
C
daxă
S1 R1
C S2
RF1
RF2
R2 Ss1
Ss2
A
B
P
T
Ss1
R1
R2 A
B
P
T
D
p
D
Sp
Ph
Sp
Ph
F
Ss2
F
Ba a.
Ba b.
Fig. 3.41. Scheme de acţionare hidraulică a axei robotizate: a. cu reglarea vitezei în ambele direcţii şi a cursei maxime; b. cu reglarea vitezei în ambele direcţii şi frânare hidraulică lină la capăt de cursă
Modulul electronic al elementelor hidraulice proporţionale. Aparatele hidraulice proporţionale sunt concepute să lucreze prin conectare la un modul electronic specializat, de comandă şi control. Modulul electronic este conceput astfel încât performanţele elementului hidraulic (partea mecanică) să fie îmbunătăţite iar fenomenele perturbatoare să fie eliminate sau limitate.
1
Ma C ±10 V
Tpu
KS
+X
1
3
2
R1
-X
4
+
U
K1
A
I
PI
-
B SD
start
= 7
K1
sens
Ks
T
P
U
A
x
Servoamplificator
5
6
Fig. 3.42. Schemă hidraulică de reglare a poziţiei axei robotizate Ma Am TG R1
K1
MH
R2
R3
v
K2
A
K3
v*
-
+
A
14
2
3 7
8 U
I
I
s*
PID
4
5
Ks
viteză 1
sens
9
10 I
6
U I
11
10 V K1
viteză 2 viteză 3
T
P
PI
1
DP
B
A K2
U
s
s
K3
12
Ks
13
Amplificator distribuitor proporţional
Fig. 3.43. Schemă hidraulică de reglare a vitezei axei robotizate
2
C Ma
U
A
p
5
6
9
8
R2
A
B
R3
SD P
K
±10 V
T
1 -
R1
U +
K1
2 start
I
PI
4
3
= 7
K1
sens
Ks
Servoamplificator
Fig. 3.44. Schemă hidraulică de reglare a presiunii
Aplicaţii cu elemente hidraulice cu comandă numerică. Z1 MPP
A
B
CT1
CT2
MH
J Z2
7
DH C1
DV
T
P
C2
start -stop frecvenţă sens
Fig. 3.45. Sistem de poziţionare electrohidraulic cu comandă numerică pentru axe de rotaţie
3
Sisteme de acţionare pneumatice Sistemele de acţionare pneumatice reprezintă 21 % din totalitatea sistemelor de acţionare ale roboţilor industriali. Sistemele de acţionare pneumatice au următoarele avantaje: fiabilitate ridicată în medii industriale dificile, rezistenţă la şocuri şi vibraţii; capacitate de suprasarcină; preţul aparatelor, conecticii şi al elementelor de comandă mai mic decât al sistemelor hidraulice sau electrice similare; existenţa unor surse ieftine şi relativ răspândite de energie pneumatică în mediul de producţie industrial. Principalele dezavantaje care limitează utilizarea sistemelor pneumatice în robotică sun legate de următoarele aspecte: poziţionare grosieră (cu elemente de comandă clasice), performanţe dinamice reduse datorită compresibilităţii aerului; capacitate redusă a elementelor de execuţie de a dezvolta cupluri (forţe) importante datorită presiunii de lucru reduse la 6…10 bari; pierderi importante de presiune pe conductele de aducţiune la punctele de lucru situate de obicei la distanţă faţă de staţia de preparare a aerului comprimat; necesită instalaţii suplimentare de tratare a aerului comprimat care îndepărtează umiditatea şi realizează emulsionarea cu vapori de ulei pentru a preveni coroziunea elementelor pneumatice. Cilindrul pneumatic.
F(t)
Fa F FD e 1 F f Qi
pi(t) Fr Vi(t) Fe F f
ms S
Fe
Qe
Ff
x(t) a.
F2(t) F1(t) S1
p2(t) VF2r(t) F2 F1 F f Ff
S2
Fa Fr
x(t)
ms
Fa F1 F2 F f
D1
p1(t) V1(t)
D2
b.
F2(t)
F1(t)
ms
Ff
ms p1(t) V1(t)
S
p2(t) V2(t)
Ff
x(t) Fig. 3.47. Cilindri pneumatici: a. cu simplu efect; c. b. cu dublu efect şi simplă acţiune;
1
c. cu dublu efect şi dublă acţiune
b.
a.
Fig. 3.38. Cilindri pneumatici: a. în tandem; b. de precizie 4
5
6
2
pf; Vf
p1; V1
p1
3
8
7
xf
1
9
p2
Fig.3.39. Cilindru pneumatic cu sistem de frânare la capăt de cursă p
v v1
p1 p2 pf p1 p2
vf x
0
x
0 xf
xf a.
b.
2
Fig. 3.40. Grafice de funcţionare: a. evoluţia presiunii de frânare; b. evoluţia vitezei pistonului
Motorul pneumatic cu membrană cu simplă acţiune. 2
1
3 4 Fa
Fe
p1
Fs(p1)
8
5
7 6 Fig. 3.41. Motor pneumatic cu membrană
Motoare pneumatice rotative. Motorul pneumatic (hidraulic) rotativ cu cremalieră.
T
T
P
P
Fig. 3.42. Motorul pneumatic rotativ cu cremalieră 4 1
1
2
3
4
3
Fig. 3.43. Variante constructive de motoare pneumatice rotative cu cremalieră
Motoare rotative cu palete. B
2
1
1
A 3 2
7
7
4 5 6 b.
a.
Fig. 3.44. Motoare pneumatice cu palete: a. unisens; b. reversibil
Motoare rotative cu pistoane. 1 2 7 B
2
d
6 6 5
R
rk
e
A
4 C 3
F N Tk
Fig. 3.45. Motor rotativ cu pistoane radiale
4
4
2
3
1
8
1
1 – stator; 2 – rotor; 3 – conexiune; 4 – cilindru; 5 – fus distribuitor; 6 – rulment; 7 – ax ieşire; 8 - garnitură
5
7
6
Fig. 3.46. Motor rotativ cu pistoane radiale şi rotor dublu
Motoare rotative cu pistoane axiale. Sunt motoare volumice reglabile, de turaţii mari care datorită dispunerii axiale a cilindrilor de lucru, figura 3.47., prezintă o structură compactă şi ca urmare un moment de inerţie redus. 4
3
2
1
5 6
F
000000 R 6
T N r
5 7
8
9
Fig. 3.47. Motor rotativ cu pistoane axiale
5
Distribuitoare de energie pneumatică.
4 3 >
2 1
5 6 T
A
P
B
T
Fig.3.48. Servodistribuitor pneumatic cu control digital (HR Textron)
Sursa de energie pneumatică. Sursele de energie pneumatică pot fi individuale (de mică putere deservesc un post de lucru) sau centralizate, caz în care există o staţie de tip industrial de preparare a aerului comprimat care este distribuit prin reţea către consumatori.
RD max.
K
min.
Ra Ca M
2…4 bar
max. 10 bar
C
R1
Rp
3~ H2O
Ua
Elemente pneumatice
Ac
F
A
Fig. 3.49. Sursă de energie pneumatică
6
Aplicaţii ale sistemelor de acţionare pneumatică în robotică.
Q1.1
Q1.2
Qk.1 Qk.2
Qn.1
Qn.2
CC p0
p1
M CF
CF A
B
P
T
D1
R2
R1 R3
D3
A
P D2
Ss1
P
P
A P
Fig. 3.50. Sistem de poziţionare pneumatic
7
Sisteme de acţionare electrice Sistemele de acţionare electrice s-au răspândit în ultimul timp foarte mult fiind preferate în echiparea roboţilor de precizie ce manipulează sarcini mici sau mijlocii datorită compatibilităţii între sistemele de comandă, distribuitoarele de energie, elementele de execuţie şi senzori care lucrează în exclusivitate cu mărimi electrice analogice sau digitale. Principalele avantaje ale sistemelor de acţionare electrice sunt: permit realizarea unor programe complexe de control a mişcării (viteză sau cuplu); elementele de execuţie se pretează controlului digital, au timp de răspuns mic, sunt precise şi nepoluante; sursa de energie este disponibilă în orice mediu industrial şi exceptând roboţii mobili, alimentarea sistemului nu necesită echipamente auxiliare cu volum important ca în cazul sistemelor hidraulice sau pneumatice; preţul de cost al distribuitoarelor de energie este avantajos mai ales în cazul acţionărilor de mică şi medie putere datorită folosirii circuitelor integrate inteligente ce cumulează pe o singură structură integrată funcţiile blocurilor de comandă şi forţă a acţionării;
Principalele dezavantaje sunt determinate de următoarele aspecte: elementele de execuţie funcţionează la viteze ridicate şi cuplu redus (la aceeaşi putere) ca urmare pentru
acţionarea axei robotizate sunt necesare adaptoare de mişcare care datorită jocurilor mecanice limitează precizia sistemului; raportul putere – greutate al elementelor de execuţie electrice este defavorabil în raport cu elementele de execuţie hidraulice; în lipsa alimentării robotului elementele de execuţie nu pot păstra poziţia axei mecanice ca urmare sistemul de acţionare trebuie prevăzut cu elemente de frânare care cresc greutatea şi complexitatea sistemului şi astfel nu se permite manevrarea manuală a structurii mecanice atunci când se impune deplasarea ei din zona de lucru în poziţia de casă; posibilitatea formării arcului electric (fenomene de comutaţie dinamică) între componentele în mişcare, limitează domeniile de folosire exclusiv la cele fără praf, vapori sau gaze inflamabile.
Elemente de execuţie În robotică datorită unor cerinţe specifice impuse elementelor de acţionare: putere specifică cât mai mare, fiabilitate, moment de inerţie mic, domeniu larg de variaţie a turaţiei fără încălzire excesivă, capacitate de suprasarcină, întreţinere minimă, caracteristici de reglare liniare, s-au impus servomotoarele de curent continuu realizate în diverse variante, respectiv motoarele pas cu pas în special datorită preciziei de poziţionare.
Servomotoare de curent continuu. Servomotoare cu rotor cilindric cu crestaturi.
4 3
1
1 – circuit magnetic; 2 – pol principal; 3 – rotor cu crestǎturi; 4 – pol auxiliar.
2
Fig. 3.56 Servomotor de c.c. cu excitaţie electromagneticǎ
90
3. Axa robotizată
N
1 – circuit magnetic; 2 – pol principal (magnet); 3 – talpǎ pol principal; 4 – bobinǎ magnetizare; 5 – rotor cu crestǎturi; .
S S
1
S N
N
5
2 N
S
S
N
3 4 N
N
S
S S N
Fig. 3.57. Servomotor de c.c. cu excitaţie realizatǎ cu magneţi metalici remanenţi (Alnico)
1
S
S N
N
N
N
S
S
2
S
S
4
N
N
N
N
1 – carcasǎ din aluminiu; 2 – pol principal (magnet); 3 – rotor cu crestǎturi 4 – canale ventilaţie;
S
S S
S N
N N
N S
S
3
Fig. 3.58. Servomotor de c.c. cu excitaţie realizatǎ cu magneţi metalici coercitivi (ferite)
Servomotorul cu rotor disc şi întrefier axial. 1 – flanşe feromagnetice; 2 – magnet permanent; 3 – disc rotoric; 4 – înfǎşurare rotor; 5 – colector; 6 – ax; 7 – perie colectoare; 8 – înfǎşurare de compensaţie (magnetizare); 9 – flanşǎ; 10- ventilator; 11- rulment.
8 N
9
S
7
10 11
6
S
1
5
2
=
4
S
N
N
+
0
3 Fig. 3.58. Servomotor de c.c. cu rotor disc 4
7
5
3
1 – înfǎşurare rotoricǎ; 2 – rotor pahar; 3 – cilindru exterior; 4 – magnet permanent; 5 – talpǎ polarǎ; 6 – cilindru masiv interior; 7 – admisie aer comprimat; 8 – perie; 10 – scut din aluminiu; 10 - rulment; 11 - ax motor; 12 - colector; 13 – bornǎ de alimentare.
S
8
N
9 1
6
11 12
2 N
13
S
1
Fig. 3.59. Servomotor de c.c. cu rotor pahar Servomotorul cu antrenare directă (Direct Drive). 1 N
N
S S
6 N
N S
S
2
S
S
5 N N
N N
4
S
S
1 – carcasǎ din aluminiu; 2 – stator; 3 – rotor; 4 – colector; 5 – zonǎ interior rotor; 6 – ax antrenat direct.
S
S N
N
S S
N
N
3
Fig. 3.60. Servomotor de c.c. cu antrenare directǎ (Direct Drive)
92
3. Axa robotizată
Servomotorul fără perii (DC Brushless). 3
4
2 1
5 6 N S
7
9
8
1 2 3 4 5 6 7 8 9
– rotor; – stator; – pol stator; – conector înfǎsurǎri stator; – conector resolver; – resolver; – cuplaj elastic; – rulment; – ax servomotor.
Fig. 3.61. Servomotor de c.c. Brushless lagǎr din bronz grafitat talpǎ polarǎ ax motor (legǎturǎ) înfǎşurare stator 9 poli
nul stea înfǎşurǎri capete înfǎşurǎri faze
magneţi (Neodim) rotor
Fig. 3.62. Servomotor de c.c. Brushless cu rotor exterior
Servomotorul Brushless Direct Drive. ax servo
conectori S N
scut rotor rulment
magneţi ficşi
înfǎşurǎri stator
resolver Fig. 3.63. Servomotor de c.c. Brushless Direct Drive
Motoare pas cu pas. Motorul pas cu pas (MPP) este o maşinǎ sincronǎ ce realizeazǎ prin conversie electro – mecanicǎ discretǎ o funcţie univocǎ între impulsurile de comandǎ aplicate statorului şi unghiul de rotaţie al rotorului (la fiecare impuls de comandǎ rotorul executa un pas). Cei mai importanţi parametri ai motoarelor pas cu pas sunt: unghiul de pas este unghiul existent între două poziţii consecutive ale rotorului la aplicarea unui impuls de comandă; frecvenţa maximǎ de mers în gol este frecvenţa maximǎ a impulsurilor de comandă pe care o poate urmări motorul fără pierderea sincronismului; frecvenţa maximă de start - stop în gol este frecvenţa maximă a impulsurilor de comandă la care motorul poate porni, opri sau reversa fără omisiuni de paşi, în lipsa sarcinii la arbore; cuplul maxim de start - stop este cuplul rezistent aplicat pe arbore, la care motorul poate porni, opri sau reversa fără omisiuni de paşi, la o frecvenţa de comandă şi un moment de inerţie date. viteza unghiularǎ definitǎ ca produsul între unghiul de pas şi frecvenţa de comandă. Principalele avantaje ale motoarelor pas cu pas pentru utilizarea în roboticǎ sunt: univocitatea conversiei numǎr de impulsuri – deplasare; este compatibil cu comanda digitalǎ; precizie de poziţionare şi rezoluţie unghiularǎ de pânǎ la 0,5 /pas; poate fi utilizat în circuit deschis la porniri, opriri şi reversări fără pierderi de paşi; memorează poziţia; Dezavantaje motorului pas cu pas: viteza maximǎ în sarcinǎ pentru motoarele de putere (maxim 5 kW) este limitatǎ la valoarea de 500…300 rpm (frecvenţa de comandǎ nu depǎşeşte 1…2 kHz) în funcţie şi de sistemul de comandǎ; rotaţia este discontinuǎ şi produce vibraţii în special la frecvenţe joase; caracteristica mecanicǎ M(f) este puternic cǎzǎtoare şi pentru aceleaşi caracteristici constructive şi electrice cuplul mediu scade odatǎ cu micşorarea pasului unghiular. Motorul pas cu pas cu reluctanţǎ variabilǎ.
*F1
dr
ds
1
*F1
p=15
*F2
*F2
p
F4
2
I
F4
1
3
1
*F3
6
2
*F3
2 6
F3
F3 5
3
3
5
4
4
*F4 F2
*F4 F2
F1
a.
F1
b.
Fig. 3.68. Motorul pas cu pas cu reluctanţǎ variabilǎ (4 faze, 24 paşi, 15 /pas): a. alimentare unidirecţionalǎ o fazǎ, F1; b. alimentare unidirecţionalǎ o fazǎ, F2
Creşterea numǎrului de paşi pe rotaţie se poate realiza prin danturarea polilor statorici astfel încât, în funcţie de lǎţimea polului, pe acesta sǎ avem un numǎr de dinţi zps, uniform distribuiţi cu un pas dentar dps egal cu pasul dentar al dinţilor rotorului dr. 1 p
1 – pol stator; 2 – dinte stator; 3 – dinte rotor.
ds 2 3 dr Fig. 3.69. Pol statoric danturat şi dinţi rotorici în configuraţie Darrieus Cuplul dezvoltat de motorul cu reluctanţǎ variabilǎ poate fi menţinut şi la rezoluţii unghiulare importante prin utilizarea mai multor circuite magnetice cu configuraţie geometricǎ simplificatǎ (diferenţǎ de reluctanţǎ, frecvenţǎ de comandǎ ridicatǎ), cuplate în paralel pe acelaşi ax motor. Practic s-au impus douǎ variante constructive: un ansamblu de minim douǎ motoare identice, având circuitele statorice aliniate şi rotoarele cuplate pe acelaşi ax, decalate spaţial; un motor cu un singur circuit statoric şi mai multe rotoare cuplate pe acelaşi ax, decalate spaţial. *F1(1)
*F1(2)
*F1(3)
1 2 3 4 1 dr 3
9
8 7
dr
1 – circuit magnetic; 2 – pol statoric MPP1; 3 – rotor MPP1; 4 – dinte rotoric; 5 – rotor MPP2; 6 – rotor MPP3; 7 – ax motor; 8 – rulment; 9 – scut.
6 5
Fig. 3.70. MPP cu reluctanţǎ variabilǎ şi circuite magnetice multiple (3x3 faze)
Motorul pas cu pas cu magneţi permanenţi. *F1 1=0
4=90 S
1 N S
+
N
N
*F4
N
-
*F2
5
S S
4
N
S
2=30
2
3=60
3 *F3
b.
a.
Fig. 3.71. Motorul pas cu pas cu magneţi permanenţi: a. construcţia motorului cu 4 faze şi 3 perechi de poli rotorici (12 paşi, 30 /pas); b. varianta cu numǎr mare de poli rotorici
motorul pas cu pas cu magneţi permanenţi şi alimentare unidirecţionalǎ; motorul pas cu pas cu magneţi permanenţi şi alimentare bidirecţionalǎ. +
+
+ *F2
*F1
*F1
+
+
-
F1 (-)
+
*F3
+
+
-
(+)
+ *F4
+
-
*F2
F2 (-)
a.
-
(+)
b.
Fig. 3.72. Înfǎşurǎrile statorice ale MPP cu magneţi permanenţi: a. MMP cu alimentare unidirecţionalǎ (m = 4); b. MMP cu alimentare bidirecţionalǎ (m = 2) În aplicaţii care cer o poziţionare precisă, îmbunǎtǎţirea rezoluţiei unghiulare (0,5/pas) se poate obţine prin creşterea numǎrului de faze pânǎ la m = 5 şi utilizarea variantelor constructive multicircuit, cu rotoare decalate.
Motorul pas cu pas hibrid. Motorul hibrid este cel mai utilizat în aplicaţii deoarece combină cele mai bune caracteristici ale motorului cu reluctanţă variabilă şi motorului cu magneţi permanenţi: cuplu volumic şi vitezǎ importante; rezoluţie foarte bunǎ; memorarea poziţiei în lipsa alimentǎrii. *F1(2)
*F1(1) 1
S
N
2 9
3 4
8
1 dr 2
N
S
7
dr
1 – circuit magnetic stator; 2 – pol statoric; 3 – rotor 1; 4 – dinte rotoric; 5 – magnet permanent; 6 – rotor 2; 7 – ax motor; 8 – rulment; 9 – scut.
6
5
N
S
Fig. 3.73. Motor pas cu pas hibrid
Modalitǎţi de comandǎ a fazelor MPP. Comutaţia fazelor motorului pas cu pas dupǎ un anumit program asigurǎ rotaţia câmpului magnetic statoric şi determinǎ performanţele maşinii. Principalele secvenţe de comandǎ a MPP sunt: secvenţa simplǎ (one phase on); secvenţa dublǎ (two phases on); secvenţa mixtǎ (half steep); secvenţa cu pas redus (mini steeping). Secvenţa simplǎ constǎ în comutaţia succesivǎ a câte unei faze a motorului, acestea putând fi alimentate prin blocul electronic de comutaţie în mod unidirecţional (MRV, MMP, MH) sau bidirecţional (MMP, MH). Alimentarea unidirecţionalǎ are dezavantajul realizǎrii unui flux în întrefier şi implicit a unui cuplu mai mic (solenaţia la un pas de comutare: N s i faza ). Alimentarea bidirecţionalǎ, în acest caz, presupune înserierea bobinelor polilor opuşi şi reducerea la jumǎtate a numǎrului de faze concomitent cu creşterea cuplului (solenaţia la un pas de comutare: 2 N s i faza ):
*F1
*F1
UF1 t
S N
UF2 *F2
S
*F4
t
*F2
*F4
S
N
UF3
N S
N
t UF4 t *F3
Np
*F3
t
a. *F1
*F1
UF1 t
N S
S N
F2
a. *F2
S
UF2 t
a. *F2
N F2
N
S
S N
N S F1
F1
Np t
b.
Fig. 3.78. Comanda MPP în secvenţǎ simplǎ (one phase on): a. MPP cu alimentare unidirecţionalǎ (m = 4); b. MMP cu alimentare bidirecţionalǎ (m = 2)
Secvenţa dublǎ de comandǎ a fazelor constǎ în alimentarea simultanǎ a douǎ faze succesive pentu a mǎri cuplul motorului, numǎrul de paşi fiind acelaşi ca în cazul secvenţei simple de comandǎ. Datoritǎ faptului cǎ realizeazǎ un cuplu mǎrit în cazul tuturor tipurilor de MPP, aceastǎ modalitate de comandǎ a fazelor motorului este preferatǎ în majoritatea aplicaţiilor deoarece algoritmul de comandǎ rǎmâne relativ simplu iar în cazul comenzii cu microprocesor (cazul roboţilor) acest aspect nu creazǎ probleme suplimentare.
*F1
UF1
*F1
t S N
UF2 S
*F4
N
t
*F2 N S
*F2
N
*F4
S
N S
t UF4
N S *F3
UF3
t Np
*F3
t
a. *F1
*F1
UF1 t
N S
S N
F2
N
S
S N
a. *F2 N
S
F2
S
UF2
N
S
S
t
a. *F2
N
N
N S
S N F1
F1
Np t
b.
Fig. 3.79. Comanda MPP în secvenţǎ dublǎ (two phases on): a. MPP cu alimentare unidirecţionalǎ (m = 4); b. MMP cu alimentare bidirecţionalǎ (m = 2) Secvenţa mixtǎ de comutaţie a fazelor constǎ în alimentarea succesivǎ a unei faze urmatǎ de alimentarea a douǎ faze astfel încât sǎ se obţinǎ dublarea numǎrului de poziţii de echilibru şi scǎderea pasului unghiular la jumǎtate (half steep), în conformitate cu figura 3.80.. Alimentarea motorului este asimetricǎ ca urmare cuplul va prezenta o scǎdere faţǎ cazul cu secvenţǎ dublǎ de cumutaţie.
*F1
*F1
S N
*F1
S N *F2
S *F4
*F2
S
*F4
*F3
*F4
N S
N
N
*F2
*F3
N
S
N S
*F3
a. UF1
UF1
t
t UF2
UF2
t
t UF3 t UF4 t Np
Np
t
t
b. Fig. 3.80. Comanda MPP în secvenţǎ mixtǎ (half step): a. comutaţia fazelor la MPP cu alimentare unidirecţionalǎ (m = 4); b. diagrame semnale de comandǎ pentru MPP cu alimentare unidirecţionalǎ (m = 4) şi bidirecţionalǎ (m = 2)
r
1
r
1
r r2
1 2
2
2
Fig. 3.81. Secvenţa de comandǎ cu pas redus a MPP prin metoda tensiunilor de fazǎ variabile
Caracteristica mecanicǎ M() a motoarelor pas cu pas depinde de caracteristicile motorului dar şi de cele ale distribuitorului electronic de energie. Uzual caracteristica mecanicǎ este prezentatǎ în planul cuplu motor – frecvenţǎ de comandǎ: M A - caracteristica de funcţionare; B – caracteristica limitǎ de demaraj.
M0
A B
Mr f ()
0 f0max START-STOP
fmax
f0max
Fig. 3.82. Caracteristica mecanicǎ a motorului pas cu pas
Distribuitoare de energie electricǎ. Distribuitoare de energie pentru motoarele de curent continuu.
T1
D4 Ua
U =
D 2
T3
D3
T2
M = T4
D1 U
Ia Ua t T
Fig. 3.83. Punte în H Puntea în H permite reglarea vitezei motorului de curent continuu prin modificarea valorii medii a tensiunii Ua aplicate bobinajului statoric (comandǎ PWM):
U a U ;
tc ; T Tem T
Comanda motoarelor Brushless În funcţie de cerinţele aplicaţiei se utilizeazǎ trei moduri de comandǎ: comandǎ trapezoidalǎ (Six steps, Brushless DC); comandǎ sinusoidalǎ (Sine wave, Brushless AC); comanda vectorialǎ (Field Oriented Control).
1
M
sens rotaţie
r
M
2
6 defazaj câmp rotoric faţǎ de câmpul statoric
0
-30
poziţia idealǎ 90
+30
s 5
-M
3
4
a.
b.
Fig. 3.84. Principiul comenzii trapezoidale a motorului Brushless DC: a. caracteristica cuplului la motorul de c.c. cu magneţi permanenţi; b. comutaţia fazelor regulator vitezǎ +
poziţie rotor
vp +
-
T1
PI
D1
T2
D2
T3
D3
iA
-
A EA
ip
+ PI
B
Logic PWM
Buffer senzori Hall
EB
-
EC
T4
regulator curent
D4
T5
D5
T6
D6
C iC
Protecţie i 2t
ireal
vreal
iA iB iC
Tg A/D
Fig. 3.85. Comanda trapezoidalǎ a motorului Brushless DC:
T/6
iA
t T/3 EA
iB
t EB iC EC t
T2+T6
T1+T6
T1+T5
T3+T5
T1
T2
T6
T3+T4
T2+T4
T3
T5
t T4
t
Fig. 3.85. strategia de comandǎ PWM a invertorului de tensiune pentru controlul curentului în fazele motorului
Comanda sinusoidalǎ asigurǎ un control foarte bun al cuplului şi poziţiei rotorului în baza unui algoritm care urmǎreşte asigurarea cuplului motor într-un mod cât mai eficient posibil, adicǎ la un curent minim, obţinut la alimentarea simultanǎ a celor trei faze cu curenţi de sintezǎ sinusoidali rezultaţi în conformitate cu relaţiile:
i A I M sin e a
iB I M sin e 120 a
iC I M sin e 240 a
(3.70)
unde IM este curentul maxim necesar realizǎrii cuplului care sǎ asigure parametrii de mişcare impuşi axei; e – unghiul electric ce defineşte poziţia câmpului magnetic statoric; a – unghiul electric de comutaţie în avans. Practic modalitatea de comandǎ este similarǎ cu comanda motorului sincron cu undǎ de tensiune sinusoidalǎ de frecvenţǎ variabilǎ şi din acest motiv în literatura de specialitate apare şi sub denumirea Brushless AC. Pentru un curent de fazǎ I constant, cuplul motor rezultant M este constant (riplu nul) şi reprezintǎ suma cuplurilor generate de fiecare fazǎ în parte MA,B,C , numai în cazul în care se asigurǎ strict generarea unor curenţi de formǎ sinusoidalǎ.
faza1
sens rotaţie
(ir) r
1.024
1.000 imp/rot
0
poziţia idealǎ
(
250
rezoluţie pas
s
-90
faza3
faza2
0
comandǎ în avans
(-ir) a.
b.
. Fig. 3.86. Principiul comenzii sinusoidale a motorului Brushless AC: a. generarea tabelului de corelaţie amplitudine – unghi ir() pentru unda sinusoidalǎ; b. poziţia câmpului învârtitor statoric faţǎ de câmpul rotoric U
regulator curent
Tabel sin - ir()
Convertor D/A
UAp
+ PI -
ir,A,B
vp sens
iAp
Convertor D/A
UC DSP
iBp UBp
+ PI -
Control PWM UA(iAp)
Punte H
Control PWM UB(iBp)
Punte H
iA
iB R
UCp=-UAp-UBp
-
Control PWM UC(iCp)
Punte H
iC
Convertor A/D
PWM U UA
iA
0
t
-U Fig. 3.87. Schema de principiu a unui sistem digital de comandǎ sinusoidalǎ
Distribuitoarele de energie pentru MPP trebuie sǎ rǎspundǎ într-o mǎsurǎ cât mai mare urmǎtoarelor cerinţe: limitarea supratensiunilor de comutaţie generate la comutaţia fazelor motorului; controlul curentului şi menţinerea sa la o valoare cât mai apropiatǎ de valoarea nominalǎ pentru un domeniu de frecvenţe de comandǎ cât mai extins; amortizarea vibraţiilor de pas ale rotorului; controlul parametrilor de mişcare impuşi; posibilitatea realizǎrii unor secvenţe de comandǎ diferite pentru a putea controla diferite variante constructive de MPP dintr-o gamǎ de puteri. Schema de principiu a unui distribuitor de energie în buclǎ închisǎ este prezentatǎ în figura 3.87.: U F1…4 cuplu la v=0 setare tip secvenţǎ
Bloc generare secvenţe de comandǎ
Tabel f(N) Registru date intrare
f
N N
sens vp poziţie Np
Control PWM curent faze
iA
f PI +
P d(Np)/dt
iA
UPWM
fc
Bloc reglare vitezǎ (frecvenţǎ) DSP
Comparator digital
Modul forţǎ faze H
MPP
i max regulator curent
vr
TIRO
N
Fig. 3.88. Distribuitor de energie cu funcţionare în buclǎ închisǎ pentru MPP Modulul de forţǎ se realizeazǎ în mod diferit în funcţie de modul de comandǎ a fazelor: unidirecţional (MRV, MP, MH) sau bidirecţional (MP, MH). Modulul de forţǎ este foarte important în determinarea parametrilor dinamici ai distribuitorului de energie şi implicit ale performanţele motorului pas cu pas. Deoarece caracteristica mecanicǎ a MPP este puternic cǎzǎtoare, s-au cǎutat soluţii electronice de ameliorare a comportamentului dinamic al ansamblului motor – distribuitor de energie care în principal urmǎresc: limitarea într-un timp cât mai scurt a supratensiunilor de comutaţie şi limitarea pierderilor de putere în elementele de protecţie; stabilizarea cât mai rapidǎ a curentului de fazǎ la valoarea nominalǎ; amortizarea rapidǎ oscilaţiilor rotorului în jurul poziţiei de echilibru pentru a realiza poziţionǎri precise la frecvenţe de comandǎ cât mai ridicate. R U =
D1
Rf; Lf
R Rf; Lf
D1.1 T1
D2
R Rf; Lf
D2.1 T2
D3
R
D4
Rf; Lf D3.1
T3
Fig. 3.89. Modul de forţǎ unidirecţional
D4.1 T4
R1
T2
U1 =
D2
U;I U1 I(U1)
R2 T3
D1 Rf; Lf T
t1
faza 1 Monostabil
Un
D1.1
T1
In I(Un)
Un =
t2
t t1
t2
T
a.
b.
Fig.3.90. Forţarea în tensiune a curentului în fazele MPP: a. schema electronicǎ de forţǎ pentru o fazǎ; b. diagramele de tensiune şi curent iB T2
Uc
T2
Comparator cu histerezis
U;I U1
R1 Imax
D2 Rf1, L T1
faza 1 t2
In D1
Imin U1 =
D3
t C
Uc
t2
R2
R3 a.
b.
Fig.3.91. Forţarea în tensiune a curentului în fazele MPP cu control PWM: a. schema electronicǎ de forţǎ pentru o fazǎ; b. diagramele de tensiune şi curent
M Mrez
R U =
R
Rf; Lf T1
C
R
Rf; Lf
Rf; Lf
T2
T3
R
Mfaza1
B
Rf; Lf
A
T4
Mfaza2
C Uf2
0
t1
t2
t3
Fig. 3.92. Modul de forţǎ unidirecţional cu circuit de amortizare electronicǎ a vibraţiilor rotorului
t
SPP Registru Date
D7 9 8
22K 33nF
6
GND
5 4
D1
3
ENABLE CLOCK
D1
OSC 2
16
12
10
4
18
6
CW/CCW
D0
+36 V
C
7
D2
+5V
R
2
17
7
+5V
2
9
C
8
19
5
2
D4
O1
F1
7
10
3
L298
D
1
O2
1 O
6
F2
INH 2
15 11
4
D3
INH 1
VREF
RI
B
9 5
L297
RESET HALF/FULL
A
D2
1
3
13
14
1
8
1
15
SENS 1 CONTROL
1
O D5
D6
D7
D8
SENS 2 HOME SYNC
RS1
RS2
Fig. 3.93. Distribuitor de energie bidirecţional în buclǎ deschisǎ MPP(1,1,400); comandǎ axa1, sens pozitiv, 400 paşi MPP(2,1,200); comandǎ axa2, sens pozitiv, 200 paşi MPP(3,0,800); comandǎ axa3, sens negativ, 800 paşi … void MPP(int motor, int sens, int paşi) funcţia de comandǎ a motorului {int n; if(motor==1) condiţie comandǎ motor axa1(D2 = 1) if(sens)==1 condiţie rotire sens pozitiv(D0 = 1) for(n=0; n<=paşi; n++) buclǎ generare impulsuri programate {outport(lpt,6); setare registru date ptr. impuls(D1=1): delay(1); setare duratǎ impuls outport(lpt,4); setare registru date ptr. pauzǎ impuls(D1=0): delay(1); setare durata pauzǎ impuls }
}…
D0 D1 D2… 0 1 1
D7
D0 D1 D2… 0 0 1
D7
5. Modelarea roboţilor
MODELAREA ROBOŢILOR Modelarea sistemului mecanic al roboţilor reprezintǎ etapa de bazǎ ce permite elaborarea comenzii axelor în conformitate cu obiectivul de mişcare impus prin program. Realizarea modelului mecanic presupune determinarea unui set de ecuaţii ce descriu într-o mǎsurǎ cât mai corectǎ comportarea tuturor componentelor sistemului articulat al robotului din punct de vedere al poziţiilor, vitezelor şi acceleraţiilor în interacţiunea lor cu mediul de lucru. Majoritatea roboţilor industriali au o structurǎ mecanicǎ deschisǎ, consideratǎ rigidǎ şi în funcţie de complexitatea sarcinii, pot fi comandaţi pe baza urmǎtoarelor modele: modelul geometric, permite calculul în regim static al poziţiilor structurii mecanice consideratǎ ca fiind formatǎ din corpuri elementare rigide de formǎ regulatǎ, cu dimensiuni şi mase cunoscute; modelul cinematic, permite calculul în regim static al vitezelor structurii mecanice consideratǎ ca fiind formatǎ din corpuri elementare rigide modelul dinamic, permite calculul în regim dinamic al cuplurilor şi forţelor active şi rezistente având în vedere forţele de inerţie, gravitaţionale, exterioare şi admiţând o serie de ipoteze simplificatoare: inflexibilitatea segmentelor şi articulaţiilor mecanice, se neglijeazǎ efectul forţelor Coriolis.
REPERAREA UNUI PUNCT ÎN SISTEME DE COORDONATE Pentru a descrie matematic deplasǎrile mecanice este necesar ca acestea sǎ fie raportate la un sistem de referinţǎ astfel ales încât ecuaţiile rezultate sǎ fie cât mai simple. Poziţia unui reper – punct într-un sistem de referinţǎ cartezian OjXjYjZj, de versori
rep1 Px, y, z
i, j, k
este determinatǎ de trei coordonate carteziene
Zj z
P k
Oj
j
y
Yj
i
x Xj Fig. 5.1. Reperarea unui punct într-un sistem de referinţǎ de coordonate carteziene Vectorul de poziţie
OjP
ce determinǎ poziţia punctului P se determinǎ cu relaţia:
Oj P x i y j z k
(5.1)
Acest sistem de coordonate este cel mai utilizat în descrierea proceselor tehnice dar nu poate fi utilizat direct decât pentru modelarea roboţilor cu structurǎ mecanicǎ cartezianǎ. Pentru modelarea roboţilor cu structurǎ mecanicǎ cilindricǎ este preferat din punct de vedere al volumului de calcule sistemul de referinţǎ de coordonate cilindrice rep 1 P r , , z , conform figurii 5.2.:
Zj z
P
y
Oj x
Yj
r
Xj Fig. 5.2. Reperarea unui punct într-un sistem de referinţǎ de coordonate cilindrice Pentru a facilita exploatarea rezultatelor de cǎtre utilizator acestea se pot exprima la alegere în coordonate carteziene dupǎ realizarea transformǎrii de coordonate:
r x2 y 2 ; y arctg ; x z z
x r cos ; y r sin ; z z
(5.2)
P , ,
Reperarea unui punct într-un sistem de referinţǎ de coordonate sferice rep rep 1 conform figurii 5.3., în funcţie de raza de poziţie
şi unghiurile de azimut şi elevaţie
se face
:
Zj
Oj
P Yj
Xj
Fig. 5.3. Reperarea unui punct într-un sistem de referinţǎ de coordonate sferice Transformarea de coordonate sferice în coordonate carteziene se realizeazǎ cu relaţia:
x sin cos ; y sin sin ; z cos
(5.3)
5. Modelarea roboţilor
În cazul roboţilor industriali existǎ câteva puncte de interes ale cǎror coordonate trebuiesc cunoscute pentru a se putea controla eficient axele robotului şi realiza operaţiile impuse de procesele tehnologice. Unui robot industrial li se pot ataşa urmǎtoarele sisteme de referinţǎ, în coformitate cu figura 5.4.: sistemul de referinţǎ absolut WCS (World Coordinate System), este sistemul de referinţǎ legat de baza robotului, într-un punct stabilit de constructor şi în raport cu care se determinǎ toate poziţiile sistemului mecanic; sistemul de referinţǎ al sculei TCS (Tool Coordinate System), este sistemul de referinţǎ ataşat în punctul activ al dispozitivului de prehensiune sau sculei (ex.: vârfului electrodului de sudurǎ); sistemul de referinţǎ al senzorului SCS (Sensor Coordinate System), este sistemul de referinţǎ legat uzual de un senzor de viziune care are în câmpul sǎu vizual sau de mǎsurǎ efectorul ale cǎrui poziţii le determinǎ; sistemul de referinţǎ al programatorului PCS (Program Coordinate System), este un sistem de referinţǎ judicios ales, definit de programator în raport cu WCS, pentru a simplifica operaţiile de calcul a traiectoriilor de lucru majoritare.
TCS PCS
SCS TCP câmp vizual
=
qj ;
=
=
j=1…m
z0
WCS y0 x0
O0
Fig. 5.4. Sistemele de referinţǎ uzuale ataşate unui robot
TRANSFORMĂRI DE VECTORI ŞI COORDONATE 5.2.1. Reperarea solidului în sistemele de coordonate Pentru a caracteriza deplasarea spaţialǎ a unui solid, acestuia i se asociază un sistem de referinţǎ orientat dupǎ o direcţie particularǎ şi având originea (de preferat) în centrul sǎu de greutate:
Fig. 5.5. Posibilitǎţi diverse de asociere a sistemului de referinţǎ unui corp solid
În raport cu sistemul de coordonate absolut WCS legat de baza robotului O0X0Y0Z0, poziţia unui solid în spaţiul cartezian este determinatǎ dacǎ este cunoscutǎ poziţia originii Oi a sistemului de coordonate asociat solidului şi orientarea axelor sistemului de coordonate OiXiYiZi în raport cu sistemul de coordonate absolut WCS:
Zi Yi rep(i)
Oi Zj
OiOj Z0
O0Oi
Xi rep(j)
WCS
Oj
k
O0
j
Yj
Xj
Y0
i
X0 Fig. 5.6. Reperarea solidului în sistemul de coordonate absolut WCS
Oi O j a11 ii a12 ji a13 k i unde
ii , ji , k i
sunt vectorii unitari ai sistemului de referinţǎ OiXiYiZi.
Matricea de poziţie Vij care dă coordonatele originii noului reper rep(j) în raport cu sistemul de referinţǎ OiXiYiZi, este de forma:
a11 Vij a12 a13 Metoda cosinusurilor directoare. Vectorii unitari ai noului sistem de referinţǎ OjXjYjZj se pot exprima în funcţie de vechiul sistem de referinţǎ OiXiYiZi cu relaţia matricialǎ:
i j t11 j j t12 k t j 13 unde:
t11 cos 1 t 21 cos 2 t31 cos 3
t12 cos1 t22 cos 2 t32 cos3
t 21 t 22 t 23
t 31 ii t 32 ji t 33 k i
t13 cos 1 t 23 cos 2 t33 cos 3
sunt cosinusurile directoare ale unghiurilor formate de fiecare axǎ a noului sistem (al doilea indice) în raport cu axele vechiului sistem de referinţǎ (primul indice).
5. Modelarea roboţilor
Matricea cosinusurilor directoare transpusǎ se numeşte matricea de rotaţie Rij şi defineşte orientarea reperului rep(j) în raport cu vechea poziţie rep(i):
t11 Rij t 21 t 31
t13 t 23 t 33
t12 t 22 t 32
Matricea de rotaţie are proprietatea:
RijT Rij1 R ji Cunoaşterea celor două matrici caracteristice (5.5, 5.7) permite determinarea completă a poziţiei unui reper în raport cu altul prin intermediul matricei de trecere neomogene:
Matrice de trecere omogenă ( 4 4 ):
t11 Aij t 21 t 31
t12 t 22
t13 t 23
t 32
t 33
t11 t Tij 21 t 31 0
t12
t13
t 22 t 32
t 23 t 33
0
0
a11 a12 a13 a11 a12 a13 1
Tin TijT jj 1 ... Tkk 1 ... Tn1n unde Tk,k+1 sunt matricile de trecere omogene corespunzătoare unei treceri de la rep(k) la rep( k
1 ).
Exemplul 1. Translaţia după o axă cu valoarea d Z0
Z1
Y0
WCS
Y1 X0
O0
X1
O1
d
Fig. 5.5. Translaţia dupǎ axa X cu valoarea d Valorile cosinusurilor directoare:
1 X 1 X 0 0
1 Y1 X 0 90 cos 1 0
1 Z1 X 0 90 cos 1 0
2 X 1Y0 90 cos 2 0
2 Y1Y0 0
cos 2 1
2 Z1Y0 90 cos 2 0
3 X 1 Z 0 90 cos 3 0
3 Y1 Z 0 90 cos 3 0
3 Z1 Z 0 0 cos 3 1
cos1 1
(5.12)
Matricea de trecere omogenă:
1 0 Trans x, d 0 0
0 0 d 1 0 0 0 1 0 0 0 1
Exemplul 2. Rotaţia după o axă cu unghiul
WCS
Z0 Z1
+
Y1
Y0
-
X0
O0 O1
X1 Fig. 5.6. Rotaţia dupǎ axa X cu unghiul
Valorile cosinusurilor directoare:
1 0
cos1 1
1 90
cos 1 0
cos 2 0
2
cos 2 cos
3 90
cos 3 0
3 90
cos 3 sin
2 90
1 90
cos 1 0
2 90
3
cos 2 sin cos 3 cos
Matricea de trecere omogenă:
0 1 0 cos Rot x, 0 sin 0 0
0 sin cos 0
0 0 0 1
Exemplul 3. Rotaţie şi translaţie după aceeaşi axă În cazul mişcărilor succesive, poziţia finalǎ se obţine din produsul matricial al matricilor de trecere omogene corespunzătoare fiecărei mişcări. Matricea de trecere omogenă finalǎ: 0 1 0 cos T02 Trans x, d Rot x, 0 sin 0 0
0 sin cos 0
d 0 0 1
5. Modelarea roboţilor
Exemplul 4. Rotaţie şi translaţie după axe diferite
O0 X 0Y0 Z 0 Trans O1 X 1Y1Z1 Trans O2 X 2Y2, Z 2 Rot O3 X 3Y3 Z 3 X ,d Z ,d Y , 90 0
1
1
2
2
Z2
90
X3 Y2
-90
Y3 Z0
Z1 X2 O2O3
Z3
WCS
Y0
Y1
d2
X0
O0
X1
O1 d1
Fig. 5.7. Rotaţii şi translaţii dupǎ axe diferite Matricea finalǎ de trecere omogenǎ este de forma:
TO 3
1 0 0 0
0 0 d 1 1 1 0 0 0 0 1 0 0 0 0 1 0
0` 0 1 0 0 0 0 1 d 2 1 0 0 1 0 0 0
0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0
0 1 d1 1 0 0 0 0 d2 0 0 1
Metoda unghiurilor Euler. Poziţia axelor noului reper rep(j) poate fi definitǎ în raport cu vechiul reper rep(i) în funcţie de trei unghiuri rezultate prin trei rotaţii succesive realizate în urmǎtoarea ordine:
O X Y Z O i
i i
i
Rot Zi ,
i1
Xi1Yi1Zi1 Oj1X j1Yj1Z j1 Oj X jYj Z j Rot X , RotY , i1
j 1
Zj-1
Zj-1
Zi Zi+1
Zj
Zi+1
Yj-1
Yj-1 Yj
Yi+1 OiOi+1
Yi
Oi+1Oj-1
Yi+1
Oj-1Oj
Xi
Xi+1
Xi+1 Xj-1 Fig. 5.8. Unghiurile lui Euler
Xj-1
Xj
cos Rij sin 0
sin cos 0
0 cos sin sin cos 0
0 1 0 0 0 cos 1 0 sin
sin cos 0
0 0 1
Corespunzǎtor unei deplasǎri în spaţiu a sistemului OjXjYjZj ataşat unui corp solid, se determinǎ matricea de trecere omogenǎ (Euler), având în vedere şi matricea de poziţie:
cos cos sin cos sin cos sin sin cos sin sin sin sin cos cos cos sin sin sin cos cos cos cos sin Tij sin sin sin cos cos 0 0 0
xi yi zi 1
Metoda Denavit – Hartenberg.
Determinarea poziţiei unui solid orientat rep(j) în raport cu alt solid orientat rep(j-1) poate fi determinatǎ prin intermediul a patru parametri de poziţie j, aj, dj, j definiţi astfel:
O j 1 X j 1Y j 1 Z j 1 Rot ( Z, O j X j Y j Z j ) Trans ( X , a ) Trans ( Z , d ) Rot ( X , ) j 1
j 1
j
j 1
j
j
j 1
j
(5.22)
cupla j+1
Zj
j
Zj-1
Xj-1 Oj Oj-1
cupla j
Xj Yj Yj-1
Zj-1
Zj-1
dj
Xj-1 cupla j-1
Xj-1
Oj-1
j
Oj-1
Yj-1 Yj-1 aj
Fig. 5.9. Reperarea unui solid conform convenţiei Denavit - Hartenberg
5. Modelarea roboţilor
Matricea de trecere omogenǎ Denavit - Hartenberg corespunzǎtoare cuplei de ordin j este de forma:
DH j 1 j
cos j sin j 0 0
sin j
DH j 1 j
cos j 0 0 cos j sin j 0 0
0 0 1 0 0 0 1 0 0 0 1 0
0 0 a j 1 0 1 0 0 0 cos j 0 1 d j 0 sin j 0 0 1 0 0
sin j cos j
sin j sin j
cos j cos j sin j
cos j sin j cos j
0
0
0 sin j cos j 0
0 0 (5.23) 0 1
a j cos j a j sin j dj 1
(5.24)
MODELUL GEOMETRIC AL ROBOŢILOR Modelul geometric direct Modelul geometric direct permite determinarea poziţiei şi orientǎrii dispozitivului efector (TCP, sculǎ) date de coordonatele operaţionale xi în funcţie de coordonatele articulare qj furnizate de traductoarele de poziţie montate pe axele robotului. Determinarea modelului geometric direct presupune utilizarea unor ipoteze de calcul simplificatoare: baza robotului este fixǎ şi acesteia i se ataşeazǎ sistemul de referinţǎ global WCS de axe O0X0Y0Z0; structura mecanicǎ este formatǎ din segmente rigide; cuplele cinematice sunt fǎrǎ frecǎri, neelastice şi fǎrǎ jocuri; nu existǎ obstacole în volumul de lucru al robotului; pentru execuţia sarcinilor de lucru este suficient controlul poziţiei şi orientǎrii dispozitivului efector. În baza celor menţionate se poate reprezenta modelul geometric direct al robotului conform figurii 5.13.: q1 q2 . . qm
Model geometric direct
xi
Fig. 5.13. Modelul geometric direct al robotului
Modelul geometric direct se reduce la un set de ecuaţii algebrice (sau o ecuaţie matricialǎ) ce dau în mod explicit valorile coordonatelor operaţionale în funcţie de poziţia spaţialǎ a axelor robotului definitǎ de coordonatele articulare: xi f i q1 , q2 , ...qm ;
X F Q
(5.37)
Modelul geometric direct poate fi obţinut prin urmǎtoarele metode: metoda analizei geometrice directe, este o metodǎ indicatǎ numai în cazul structurilor mecanice simple, cu numǎr redus de grade de libertate (maxim trei); metode matriciale (metoda cosinusurilor directoare, metoda DH, metoda vectorilor de rotaţie), sunt metode de analizǎ sistematice ce permit rezolvarea structurilor mecanice cu un numǎr mare de grade de libertate.
5.3.4. Modelul geometric invers Modelul geometric invers permite determinarea configuraţiei în care trebuie sǎ ajungǎ structura mecanicǎ a robotului (a vectorului coordonatelor articulare qj) astfel încât dispozitivul efector sǎ fie poziţionat în poziţia doritǎ xi, în conformitate cu modelul prezentat în figura 5.19.:
xi
Model geometric invers Fig. 5.19. Modelul geometric invers
q1 q2 . . qm
Modelul geometric invers este utilizat în programarea deplasǎrilor dispozitivului efector al roboţilor pe traiectorii continuii, direct în sistemul de coordonate al sculei TCS. Determinarea vectorului de comandǎ qm a articulaţiilor robotului presupune determinarea soluţiilor ecuaţiei:
q m f m1 x1 , x2 , ...xi ;
Q F X 1
(5.65)
Rezolvarea ecuaţiei (5.65) se poate face pe cale geometricǎ în cazul structurilor mecanice simple, respectiv analitic pe baza modelului geometric direct sau prin metode numerice în cazul structurilor complexe. Soluţiile matematice multiple oferǎ pentru o poziţie xi impusǎ a dispozitivului efector diverse configuraţii teoretic posibile ale structurii mecanice, în conformitate cu figura 5.20.a., b.:
xi
xi
xi qjmax
qj
O
O
a.
b.
c.
Fig. 5.20. Soluţii multiple ale structurii mecanice pentru aceeaşi poziţie a dispozitivului efector
Pentru a alege soluţia optimǎ dintre soluţiile analitice posibile, algoritmul de comandǎ a axelor robotului trebuie sǎ realizeze o serie de filtrǎri având în vedere urmǎtoarele aspecte: se eliminǎ acele soluţii care nu se încadreazǎ strict între limitele constructive de mişcare ale fiecǎrei axe, în conformitate cu figura 5.20.c.:
q j min q j q j max
(5.66)
se alege soluţia care conduce la deplasarea optimǎ a fiecǎrei axe astfel încât timpul de execuţie a mişcǎrii sǎ fie minim.
Determinarea modelului geometric invers pe baza analizei geometrice Pentru a exemplifica aceastǎ metodǎ se considerǎ o structurǎ mecanica purtǎtoare de tip sferic (vezi figura 5.14) cu trei grade de libertate care se poate reprezenta simplificat în funcţie de coordonatele articulare 1, 2, d3, conform figurii 5.21. Se presupune cunoscutǎ poziţia impusǎ prin program [XO3, YO3, ZO3], a punctului terminal O3, în sistemul de referinţǎ WCS şi se urmǎreşte determinarea vectorului de comandǎ q a axelor.
Z0 O3
d3 Y0 ZO3
2 O3’
YO3 r 1
X0
O0 XO3
Fig. 5.21. Modalitatea geometricǎ de determinare a modelului geometric invers pentru o structurǎ mecanicǎ purtǎtoare de tip sferic
r X O2 YO2
1 arctg
YO
3
XO
3
; 2 arctg
(5.67)
3
3
ZO r
3
; d 3 r 2 Z O2
(5.68)
3
Rezultǎ vectorul de comandǎ a axelor în funcţie de poziţia impusǎ punctului terminal O3 pe traiectorie:
YO arctg XO 1 ZO q 2 arctg X O2 YO2 d 3 X 2 Y 2 Z 2 O O O 3
3
3
3
3
3
3
3
(5.69)
Metoda geometricǎ de determinare a modelului geometric invers (vectorului de comandǎ) este operabilǎ în cazul roboţilor cu maxim 3 grade de libertate, pentru structuri mecanice mai complicate rezultǎ ecuaţii laborioase dificil de utilizat practic.
6. COMANDA ROBOŢILOR Sistemul de comandǎ al unui robot are rolul de a controla în timp real operaţiile executate de acesta în baza unui program, în strânsǎ corelaţie cu modificǎrile din spaţiul sǎu de lucru. Sistemele de comandǎ ale roboţilor actuali s-au dezvoltat foarte mult faţǎ de începutul anilor ’80, când s-au implementat primii algoritmi funcţionali de inteligenţǎ artificialǎ (IA), dar sunt încǎ departe de performanţele de analizǎ şi decizie ale unui operator uman. Pentru roboţii industriali sarcinile impuse de procesele de producţie nu implicǎ decât foarte rar utilizarea unor sisteme de comandǎ sofisticate specifice roboţilor inteligenţi şi al cǎror raport performanţǎ/preţ rǎmâne încǎ prohibitiv pentru un mediu de producţie industrial.
6.1. ARHITECTURA MATERIALǍ A SISTEMULUI DE COMANDǍ A ROBOŢILOR 6.1.1. Funcţiile sistemului de comandǎ Principalele funcţii pe care trebuie sǎ le asigure sistemul de comandǎ al unui robot indiferent de soluţia constructivǎ utilizatǎ sunt urmǎtoarele: - funcţia de procesare a datelor interne de la programe şi externe de la senzori, dispozitivele periferice; - funcţia de elaborare a comenzilor cǎtre sistemele distribuite de comandǎ şi control. Sistemul de comandǎ trebuie conceput astfel încât sǎ permitǎ rezolvarea urmǎtoarelor sarcini specifice: Calibrarea robotului.
X 4 X. a.
a.
3
0 0 0. 0 0 0 b.
6 1. 1 2 0 c.
1 3 5. 0 0 0 d.
Fig. 6.1. Calibrarea unei axe echipate cu traductor de poziţie incremental: deplasare cu vitezǎ lentǎ din poziţia iniţialǎ; b. activare senzor final cursǎ axǎ, resetare contor poziţie; c. deplasare controlatǎ spre poziţia de referinţǎ; d. poziţie de referinţǎ (HOME)
Învǎţǎrea punctelor ce jaloneazǎ traiectoria. Pentru a realiza o anumitǎ sarcinǎ, efectorul robotului trebuie sǎ urmeze anumite traiectorii şi în puncte bine definite sǎ efectueze o serie de operaţii programate.
252
6. Comanda roboţilor punct de trecere
3
punct de oprire 2
2 1
1
Fig. 6.2. Puncte de trecere şi de oprire
Înainte de a se putea executa o anumitǎ traiectorie este necesar sǎ fie definite punctele de oprire şi trecere care vor impune în final profilul traiectoriei dorite. Punctele unei traiectorii pot fi definite în douǎ moduri: prin învǎţare directǎ; prin introducerea de la tastatura de programare a valorilor rezultate în urma unor calcule geometrice.
Generarea traiectoriilor. Traiectoriile dispozitivului efector depind de tipul sarcinii solicitate care poate să permită deplasări libere (fără constrângeri) între două puncte sau poate solicita deplasări impuse după o linie sau arc de cerc cu respectarea anumitor parametri cinematici de deplasare pe traiectorie. În funcţie de aceste cerinţe sistemele de comandă sunt proiectate să genereze unul din urmatoarele tipuri de traiectorii: traiectorie punct cu punct TPP; traiectorie continuă TC. Deoarece forma traiectoriei la deplasarea între două puncte nu poate fi cunoscută de utilizator numai anumite aplicaţii se pot realiza cu roboţii dotaţi cu astfel de sisteme de comandă şi în plus sunt necesare precauţii suplimentare pentru prevenirea coliziunilor, figura 6.3.:
punct de oprire
punct de oprire
punct de oprire
2
2
3
4
4 3
1
puncte de trecere
1
a.
b.
Fig. 6.3. Traiectorii punct cu punct: a. traiectorie cu coliziune; b. prevenirea coliziunii prin adăugarea unor puncte suplimentare de trecere
Generarea traiectoriilor cu geometrie impusă (operaţii de sudură pe contur, debitări de materiale, etc.) se poate realiza numai cu sisteme de comandă dotate cu un interpolator de traiectorie care să permită interpolări liniare şi circulare între punctele de plecare şi destinaţie. Astfel de interpolatoare generează prin calcul, în funcţie de precizia sistemului de comandă, coordonatele spaţiale pentru un
253
6.1. Arhitectura materialǎ a sistemului de comandǎ
anumit număr de puncte de trecere situate între punctul de plecare şi destinaţie astfel încât pe ansamblu dispozitivului efector să i se asigure o deplasare liniară sau circulară (cu o anumită rază).
3
punct de oprire
punct de oprire
r1
2
punct de oprire
2 r2
1 1
a.
b.
puncte de trecere
interpolare liniară interpolare circulară
c. Fig. 6.4. Traiectorii continue: a. cu interpolare liniară; b. cu interpolare circulară; c. generarea unei traiectorii oarecare
Execuţia operaţiilor de intrare – ieşire. Ca parte a unui sistem de producţie automatizat robotul poate fi conectat prin intermediul unui modul de intrări – ieşiri la sistemele de comandă ale maşinilor unelte CNC, dispozitivelor auxiliare şi de transfer, cu alţi roboţi. Asigurarea securităţii. În vederea asigurării securităţii personalului de exploatare dar şi al echipamentului, sistemul de comandă trebuie să asigure întreruperea de urgenţă a sarcinii derulate de robot în cazul apariţiei unui eveniment excepţional: acţionarea butonului de oprire de urgenţă de către un operator sau a unui senzor de securizare al perimetrului spaţiului de lucru; defectarea sistemului de acţionare a unei axe, cu pierderea contolului; atingerea neprogramată a cursei maxime permise la nivelul unei axe; depăşirea cuplului maxim dezvoltat de o axă ca urmare a unei coliziuni.
256
6. Comanda roboţilor
6.1.2. Arhitectura generală a sistemului de comandă Arhitectura sistemului de comandă a roboţilor nu diferă foarte mult de cea a unui sistem de calcul pentru controlul proceselor fiind în general formată din următoarele elemente de bază în conformitate şi cu figura 6.5.: unitatea centrală de procesare a datelor numerice CPU realizată cu un procesor capabil să execute instrucţiuni complexe şi calcule matematice în virgulă mobilă; memorie de program (EPROM) şi de date (RAM); magistrale de date, adrese şi control; porturi de intrare/ieşire prin care se asigură legătura directă cu mediul de lucru; porturi de comunicaţie adaptate unor echipamente cu care robotul se conectează; sistemul de comandă a elementelor de acţionare a axelor mecanice a robotului; module de interfaţare cu diverse echipamente periferice ce facilitează exploatarea sistemului: consolă de programare, monitor, imprimantă, unitate floppy-disk, etc.
Unitatea centrală de procesare P
Generator semnale ceas
RAM
EPROM sau HDD
Memoria de date centrală
Programe firmă şi aplicaţii
magistrala de date D0…Dx
magistrala de control
magistrala de adrese A0…Ay
Porturi I/O digitale, analogice
Elemente externe de execuţie
Interfaţă comunicaţie RS232, I2C, LPT, USB, LAN
Sistem control acţionări axe
floppy-disk; imprimantă; consolă programare; calculator central.
Senzori inteligenţi sonar, CCD, forţă
Interfaţă video terminal SVGA, afişor LCD
Meniu control robot
Senzori externi cu ieşiri digitale, analogice TP
M
Fig. 6.5. Arhitectura generală a unui sistem de comandă pentru roboţi
257
6.2. Arhitectura generalǎ a sistemului de comandǎ
În sistemele robotizate complexe (celule de fabricaţie flexibile) care necesită un număr foarte mare de canale I/O, funcţiile porturilor I/O sunt preluate de echipamente mult mai performante de tipul automatelor programabile (Programmable Logic Controler) cărora li se transferă funcţia de comandă şi control a echipamentelor auxiliare (maşini - unelte, sistem de transfer a semifabricatelor, sistem de securizare a perimetrului etc.) ce deservesc postul robotizat. 1 – unitatea centrală a PLC; 2 – modul I/O; 3 – conector universal; 4 – Bus sistem (fund de sertar); 5 – borne conexiuni modul I/O; 6 – capac de protecţie cu etichete.
6 1
5
2
4 3
Fig. 6.6. Automatul programabil din sistemul de comandă a roboţilor GE Fanuc
Deoarece postul robotizat este un integrator de sisteme digitale, caracterul schimbului de date între echipamentele care sunt interconectate este foarte diversificat şi adesea sunt necesare multiple suporturi de comunicaţie ce lucrează după standarde (protocoale de comunicaţie) diferite.
PLC PLC
Data Highway 0,23 Mb/s
ISA/ PC104
Profibus – DP (12 Mb/s)
a.
b.
Device Net (0,5Mb/s)
c.
Fig. 6.7. Module de comunicaţie pentru reţele industriale: a. modul pentru reţea DH; b. modul pentru reţea Profibus – DP; c. modul pentru reţea Device Net
Controlul sistemului de acţionare numeric a axelor robotului este asigurat de un sistem cu microcontoler (slave) ce pilotează un număr de 4…6 unităţi de acţionare (extensibil până la 10..16). Controlul simultan al axelor robotului se efectuează ciclic pe baza unui algoritm de comandă ce are în vedere prescrisele de poziţie, viteză ale efectorului şi valorile măsurate, furnizate de traductoare, pentru poziţiile şi vitezele axelor.
258
6. Comanda roboţilor
a.
b.
Fig. 6.8. Module inteligente pentru acţionări numerice în robotică: a. modul de comandă pentru motoare Brushless DC; b. modul de comandă pentru MPP
Pentru a facilita dialogul operator – robot sistemul de comandă este dotat cu un terminal care în funcţie de complexitate poate cumula unele din următoarele funcţii: terminal de control manual (teach pendant) este utilizat cu precădere la roboţii din generaţia I pentru a facilita operatorului, aflat în spaţiul de lucru al robotului, comanda şi controlul vizual al deplasărilor la nivelul fiecărei axe, în faza de învăţare a punctelor traiectoriei; consolă de programare este un terminal inteligent ce permite comunicaţia cu procesorul master al sistemului de comandă, tratarea şi afişarea locală a informaţiilor; în scopul simplificării operaţiilor de implementare a aplicaţiilor asigură următoarele funcţii principale: - calibrarea axelor robotului; - oprirea de urgenţă, activarea sistemului de acţionare în modul manual numai dacă există confirmarea că terminalul este ţinut de operatorul uman; - învăţare poziţii prin operaţii de poziţionare în mod manual cu programarea parametrilor de deplasare: tip de deplasare, viteză, acceleraţie; - editarea instrucţiunilor programelor utilizator în scopul corectării şi finisării acestora în conformitate cu parametrii reali ai procesului de automatizare; - realizarea operaţiilor de intrare - ieşire prin citirea intrărilor, forţarea ieşirilor şi afişarea stării acestora; - încărcarea din şi salvarea în memoria sistemului de comandă a programelor de firmă (sistemul de operare, drivere) şi aplicaţie; - testarea programelor aplicaţie în modul automat: pas cu pas sau în ciclu continuu cu analizarea automată a ciclului de lucru programat şi furnizarea caracteristicilor principale ale acestuia în vederea optimizării; - monitorizarea stării variabilelor din program pentru facilitarea operaţiilor de depanare a programelor aplicaţie; - furnizarea unor scheme logice de diagnoză avansată a erorilor raportate şi datate de sistemul robotizat cu posibilitatea accesării on – line a documentaţiei tehnice (scheme electronice, conexiuni conectori, setări parametri, etc.) sau a oricărei baze de date necesare, prin navigare pe Internet.
259
6.2. Arhitectura generalǎ a sistemului de comandǎ
8
1
2
Fereastra diagnoză erori
3
4 7
1 – afişaj multi – windows; 2 – selectare funcţii; 3 – taste navigare în meniu; 4 – taste alfanumerice; 5 – selector nivel viteză; 6 – rotaţie efector X, Y, Z; 7 – translaţie efector X, Y, Z; 8 – buton STOP de urgenţă.
6
5
Fig. 6.9. Consolă de programare GE Fanuc Robotics
Toate echipamentele electrice şi electronice ce compun sistemul de comandă, mai puţin consola de programare, sunt protejate într-un dulap de comandă ce asigură un grad de protecţie adecvat mediului industrial (minim IP54), figura 6.10. Încălzirea sau răcirea aerului din interiorul dulapului de comandă se realizează prin schimbarea controlată a polarităţii tensiunii continui de alimentare a celulelor. 6
5
1
4
1 – dulap de comandă; 2 – suport dulap; 3 – schimbător termic sistem climatizare; 4 – selector mod de lucru; 5 – consolă de programare portabilă; 6 – panou general alimentare, semnalizări.
3 2
Fig. 6.10 Dulap de comandă pentru roboţi din generaţia III, GE Fanuc Robotics
6.1.4. Arhitecturi de comandă monoprocesor Arhitectura cu microcontroler. Aceast tip de arhitectură este utilizat cu precădere pentru comanda roboţilor industriali din generaţia I a căror traiectorie este generată punct cu punct. Sistemul de comandă, figura 6.17., este format dintr-un calculator IBM/PC cu resurse relativ modeste (minim 386, HDD 120 Mb, RAM 4 Mb) la care se conectează prin portul serial RS232 controlerul robotului ce poate fi la rândul său conectat cu un terminal de comandă manuală a axelor:
Sistem control supervizor comandă
- LAN; - Ethernet; - radio; - GSM.
Magistralǎ de comunicaţie industrialǎ
Porturi comunicaţie RS 232 USB IrD
Imprimantǎ
Floppy-disk
IBM/PC Unitate centralǎ P Program utilizator
Program firmǎ
ROBOT qr Controler robot C instrucţiuni/date
Comandǎ axe RS232C Modul I/O I O
Control manual axe programare
+
Spaţiu lucru robot
q*
eforturi parazite
Sistem acţionare
Mecanică axe
Traductoare axe
Fig. 6.17. Arhitectura sistemului de comandă cu controler (elementele marcate)
6.1.5. Arhitecturi de comandă multiprocesor Consideraţii generale privind necesitatea procesării paralele. Pentru procesarea numărului important de instrucţiuni şi date necesar unui control în timp real există teoretic două soluţii: utilizarea unui sistem monoprocesor foarte performant în raport cu cerinţele fiecărui proces controlat secvenţial; utilizarea unui sistem format din mai multe procesoare cu performanţe mult mai modeste şi mai ieftine dar perfect adaptate fiecărui proces controlat în mod independent. Capacitatea de procesare a unui sistem paralel este determinată de posibilitatea acestuia de a identifica porţiunile de program care pot fi executate în paralel şi de a planifica execuţia acestora în sistem în funcţia de resursele disponibile la un moment dat. Unitatea elementară de planificare este numită proces. Pentru crearea unui proces este necesar un sistem de operare (Unix, Windows NT) capabil să îndeplinească următoarele acţiuni: crearea şi iniţializarea structurilor de date referitoare la proces; alocarea unui spaţiu de memorie; încărcarea procesului în spaţiul de memorie alocat; trecerea procesului în coada listei cu procesele planificate pentru execuţie. Pe durata execuţiei unui program, un proces poate fi în următoarele stări: Rezident în memorie
Procesor k activ
Planificat
Pregătit în aşteptare
În execuţie
Procesor k în operaţie I/O
Cerere I/O
Eveniment I/O
Blocat în aşteptare
Suspendat după talocat În aşteptare după I/O Fig. 6.26. Diagrama de stări a unui proces După creare un proces este în starea de aşteptare până când planificatorul decide trecerea procesului în execuţie pe un procesor k. Dacă procesul în execuţie conţine o instrucţiune de intrare – ieşire, operaţie lentă, consumatoare de timp, procesul trece în starea blocat. După finalizarea operaţiei I/O procesul este deblocat şi trece în starea de aşteptare pentru a fi planificat la execuţia instrucţiunilor rămase. Procesul mai poate trece din starea de execuţie în starea de aşteptare dacă spaţiul de timp t alocat alocat procesorului k, în mod discontinuu la nivelul sistemului paralel, a expirat. Arhitecturi MIMD cu memorie distribuită. Procesor 1
Unitate de procesare
Unitate de procesare
Procesor n ……..
Memorie n
Memorie 1 Interfaţă 1
I/O
Interfaţă n receive
send
Reţea de interconectare Fig. 6.28. Arhitectură multiprocesor MIMD cu memorie distribuită
P1
P1
P1
P2
Pn
P2
Pn
P2
Pn
Pk
P3
Pk
P0 P3
Pk
P3
Pj
Pj
Pj
a.
b.
c. P0
P6 P1
P4 P1
P2
P3
P0
C1
P2 P3
P5
C3
C2
P4
P6
P5
P7
P8
e.
d.
Fig. 6.29. Topologii ale reţelelor de interconectare multiprocesor
Arhitecturi MIMD cu memorie partajată. Procesor 1
……..
Procesor n
Interfaţă 1
I/O
Interfaţă n
Reţea de interconectare
semnale control reţea Busy, Request, Grant
Arbitru de reţea
Memorie partajată
Fig. 6.30. Arhitectură multiprocesor MIMD cu memorie partajată
Arhitecturi multiprocesor pentru roboţi. Arhitectura sistemului de comandă trebuie să corespundă funcţilor cerute unui robot din generaţiile II sau III, funcţii ce tind să devină tot mai complexe. Ca urmare a volumului foarte mare de date ce trebuiesc prelucrate în timp real de sistemul de comandă, în prezent se utilizează arhitecturi de comandă cu funcţii distribuite, figura 6.31., ce permit execuţia locală a sarcinilor de către microprocesoare specializate, mult mai rapide şi care pot
lucra în paralel astfel încât schimbul de date cu procesorul central se face numai la nivel de informaţii prelucrate respectiv sarcini generale de executat. Pentru integrarea robotului în mediul industrial de producţie se utilizează reţele industriale de comunicaţie ce fac legăturile cu nivelele de conducere ierarhic superioare sau cu alţi roboţi, automate programabile ce conlucrează la realizarea unei sarcini comune.
Sistem control supervizor comandă - LAN; - Ethernet; - radio; - GSM.
Reţea de comunicaţie industrialǎ
Porturi comunicaţie industriale USB 802.11a/b/c
Imprimantǎ
Floppy-disk
IBM/PC
Unitate centralǎ P Programe firmǎ
Program utilizator
Programe IA
Interpolator traiectorie
Sistem senzorial DSP
ROBOT
Consolǎ programare P
q1 O1 . . . . q m Ok
qr -
Comandǎ axe C
Modul I/O C
O
+
q*
eforturi parazite
Sistem acţionare
I Spaţiu lucru robot
Mecanică axă
- camerǎ video; - traductor forţǎ
Traductoare axă Fig. 6.31. Arhitectura multiprocesor a sistemului de comandă a roboţilor (elementele marcate) Sisteme multiprocesor de comandă a roboţilor mobili. Aflate în plină dezvoltare, sistemele robotizate mobile trebuie să execute sarcini pe care omul nu le poate îndeplini în medii cu un nivel mare de periculozitate sau inaccesibile: căutarea persoanelor în zone de dezastru, construcţii submarine, explorare terestră sau extraterestră sunt câteva dintre exemplele sarcinilor complexe şi
ambianţelor ostile în care roboţii sunt de dorit să funcţioneze cu un nivel înalt de autonomie şi fiabilitate. 1 5
1 – cameră video stereoscopică; 2 – panouri solare; 3 – braţ pentru recoltare probe ; 4 – sistem de acţionare integrat ; 5 – antenă transmisie imagini.
2 3
4 Fig. 6.32. Robot mobil Mars Rover, Jet Propulsion Laboratory, NASA
video
TV tuner
IBM/PC USB
2,4 GHz
receptor UHF
control manual
video cameră panoramică
20 MHz
emiţător UHF
receptor radio
video
interfaţă relee
RS232
platformă mobilă 433 MHz D/A radio
A/D radio RCS RS232
micro coliziune PWM
BS2p LCD
master
C slave RCS
RCS
Camera 1 C slave
Busolă
C slave
Sonar1
reţea I2C
C slave
Sonar2
C slave
cameră control local
Fig. 6.34. Schema de principiu a sistemului de comandă multiprocesor pentru un robot mobil
5 4 6
3
7 8
1
2
Fig. 6.35. Robot mobil autonom Universitatea Ştefan cel Mare, Laboratorul de roboţi
1 – unitatea centrală; 2 – afişaj LCD; 3 – sonar; 4 – camera video; 5 – busolă digitală; 6 – emiţător 2,4 GHz; 7 – interfaţă cu relee; 8 – bus I2C.
6.2. MODALITĂŢI DE GENERARE A TRAIECTORIEI 6.2.1. Generarea traiectoriilor cu ajutorul limitatorilor de poziţie Cea mai simplă şi ieftină modalitate de control a deplasărilor unei axe robotizate este utilizarea unui ansamblu de came montate pe partea mobilă a axei controlate, a căror poziţii se pot regla în raport cu două microîntrerupătoare fixate pe partea mecanică fixă.
+V
S1; 2
I1
Sistem comandă
I2
d1
d2
4 1
d2
d1
2 3
1 – riglă cu canale; 2 – camă reglabilă; 3 – microîntreruptor multiplu; 4 – cablaj electric.
2
Fig. 6.35. Contolul deplasărilor axei cu limitatori de poziţie Această metodă de control este adecvată manipulatoarelor şi roboţilor pneumatici care lucrează după un ciclu simplu, care se modifică foarte rar, fără să necesite precizie mare şi constă în general în manipulări de obiecte în cursul operaţiilor de încărcare – descărcare.
6.2.2. Generarea traiectoriilor de tip punct cu punct Dacă în spaţiul de lucru al robotului se consideră două puncte A0 de plecare şi A4 de sosire, pentru a parcurge spaţiul dintre ele există teoretic o infinitate de traiectorii. Dintre acestea o posibilă variantă acceptabilă o constituie cea care asigură „drumul cel mai scurt” din punct de vedere al timpului şi care poate fi realizată având în vedere posibilităţile sistemului de comandă şi limitele de deplasare la nivelul fiecărei axe. Generarea mişcării pe traiectorii punct cu punct (TPP) se face în spaţiul coordonatelor articulare prin memorarea în faza de învăţare a unui şir de puncte care ulterior sunt parcurse în mod secvenţial. Memorarea unui punct ce corespunde poziţiei selectate a efectorului implică memorarea unui vector care conţine valorile coordonatelor articulare ce definesc implicit poziţia selectată. Timpul de calcul pentru generarea mişcării TPP este minim deoarece sistemul de comandă trebuie să asigure pentru fiecare axă doar controlul vitezei şi poziţiei, la deplasarea de la un punct la altul, prin măsurarea datelor furnizate de traductorii de poziţiei ai axelor implicate în mişcare şi compararea acestora cu coordonatele articulare memorate.. În funcţie de strategia de comandă a
axelor, la deplasarea între punctele selectate, există următoarele posibilităţi de generare a triectoriilor punct cu punct: traiectorie punct cu punct de tip secvenţial; traiectorie punct cu punct nesincronizată; traiectorie punct cu punct sincronizată. Traiectoria de tip punct cu punct secvenţială este generată prin comanda secvenţială a fiecărei axe. Sistemul de comandă nu poate controla în timp real decât viteza şi poziţia unei singure axe la un moment dat. A2 A0
A2
A3
A3 A0
A1
A1
Fig. 6.36. Generarea traiectoriei prin comandă punct cu punct secvenţială Traiectoria de tip punct cu punct nesincronizată este generată prin comanda simultană a tuturor axelor robotului respectânduse criteriul timpului minim de mişcare la nivelul fiecărei axe, figura 6.37.b. amk
vm1 t
0
t
0
vmk
vm2 t
0
t
0
vm3 x3k x2k t
0
x1k
t
0
t ak
tpk a.
tfk
vm4 t
0
t3
t1
t4
t2
b.
Fig. 6.37. Evoluţia principalilor parametri de mişcare în cazul TPP nesincronizate: a. parametrii de mişcare la nivelul unei axe; b. evoluţia vitezelor axelor Sistemul de comandă trebuie să calculeze pentru fiecare axă durata mişcării tk precum şi momentele de comutaţie ce corespund modificării profilului vitezei astfel încât să nu fie depăşite limitele maxime de viteză vmk şi acceleraţie amk. Şi în acest caz viteza şi traiectoria dispozitivului efector între punctele de deplasare nu pot fi controlate, ca urmare traiectoria este de tip liber, nereversibilă dar deoarece toate axele pleacă simultan aceasta
are o formă mult mai regulată apropiiduse mai mult de traseul optim, figura 6.38.. Ca urmare timpul de deplasare între puncte este mult mai scurt. A2 A1
A2
A1
A3
A3 A4
A0
A4 A0
x2
Fig. 6.38. Generarea traiectoriei prin comandă punct cu punct nesincronizată Traiectoria de tip punct cu punct sincronizată se obţine prin comanda simultană a axelor la viteze astfel calculate încât toate axele să ajungă la destinaţie simultan (sincronizat).
vm1 v1c
S1 t
0
vm2
0
S1
t
vm2 S2
0
t
0
S2
t
vm3
S3
v3c t
0
vm4 0
S4
t t3
t1
t4
0
v4c 0
S3
t
S4
t
t2
ts
b. a. Fig. 6.39. Strategia de comandă în cazul comenzii TPP: a. nesincronizată; b. sincronizată Soluţiile trebuie să satisfacă condiţia
vic v mi :
a mi t s a mi2 t s2 4 xi a mi vic ; i 1...n 2
(6.8)
Această strategie de comandă este cea mai utilizată în cazul roboţilor din generaţia I deoarece mişcările fiind simetrice în ambele sensuri de deplasare se obţin traiectorii reversibile, deplasarea axelor conduce teoretic către optimul de traiectorie posibil de generat cu un sistem de comandă fără
interpolator, figura 6.40.: A4
A4
A1
A2
A3 A4
A4
A4
A0
A0
Fig. 6.38. Generarea traiectoriei prin comandă punct cu punct sincronizată
6.2.3. Generarea traiectoriilor de tip continuu Generarea unei traiectorii continuii apare ca necesitate în cazul unor sarcini complexe ce presupun deplasarea dispozitivului efector după un profil complex iar procesul tehnologic impune un control avansat cu respectarea strictă a parametrilor de mişcare: viteză, acceleraţie, eroare. Pentru a răspunde acestor cerinţe este necesar ca sistemul de comandă să genereze coordonatele de mişcare în spaţiul coordonatelor operaţionale urmând ca acestea să fie transformate, pe baza modelelor inverse, în coordonate articulare pentru a se asigura prescrisele de poziţie şi viteză sistemului de acţionare a axelor. Transformările de coordonate necesită calcule complexe ceea ce impune creşterea performanţelor sistemului de comandă multiprocesor care trebuie să dispună de procesoare matematice capabile să execute operaţii în virgulă mobilă. Sistemul de comandă memorează coordonatele punctelor de trecere şi oprire care jalonează traiectoria. Între aceste puncte traiectoria poate să fie impusă astfel încât, dispozitivul efector se va deplasa: liniar, circular după o rază dată sau va urmări o funcţie precizată analitic. Sarcina generării traiectoriei impuse revine interpolatorului de traiectorie care are rolul de a genera între două jaloane ale traiectoriei un set de puncte de trecere prin a căror parcurgere să se asigure deplasarea dispozitivului efector pe o traiectorie cât mai apropiată de forma impusă.
Jk
Z
traiectorie cu interpolare liniară
J3 Y X
traiectorie interpolată reală
J1 puncte de trecere
J2
Fig. 6.41. Generarea traiectoriei continui cu interpolare liniară în cazul roboţilor cu axe de rotaţie Datorită performanţelor pe care le ating roboţii cu traiectorie continuă (generaţia II şi III) sunt utilizaţi în operaţii de sudură pe contur, debitare, vopsire, operaţii de ansamblare complexe ce implică complianţă activă, controlul de calitate al produselor, operaţii de debavurare.
Traiectorii continuii generate prin urmărirea unui obiect ţintă. Sistemele de control a tariectoriei prezentate au fost dezvoltate pentru aplicaţii în care dispozitivul efector al robotul execută anumite operaţii deplasânduse în raport cu o piesă fixă. În funcţie de modul în care piesele sosesc în flux se pot utiliza două soluţii: Montarea bazei robotului pe o axă suplimentară de translaţie aşezată paralel cu banda transportoare şi care se deplasează cu aceeaşi viteză astfel încât pe durata operaţiilor să nu existe mişcare relativă între robot şi piesă, figura 6.42.a. Programarea dinamică a mişcărilor dispozitivului efector, în funcţie de datele locale furnizate de sistemul de analiză video, prin adăugarea unei mişcări relative fiecarui jalon predefinit al traiectoriei de prelucrare astfel încât să se compenseze mişcarea piesei, figura 6.42.b.
vrobot= vbandă
zona de sincronizare vbandă
a.
vbandă
b.
Fig. 6.42. Generarea traiectoriilor continuii cu urmărirea unui obiect ţintă: a. metoda axei de translaţie sincronizată; b. metoda compensării dinamice a deplasării piesei
6.2.4. Interpolatoare de traiectorie Roboţii avansaţi din punct de vedere al comenzii utilizează modele cinematice sau dinamice care operează cu vectorul de poziţie
. . . . s X , Y , Z , , , sau cu vectorul viteză s X , Y , Z , x , y , z
(vezi subcapitolul 5.4). Algoritmul de interpolare trebuie să rezolve două probleme: generarea traiectoriei impuse prin calculul unei succesiuni de puncte intermediare
s j i
al efectorului
între punctul de
plecare s(i) şi cel de sosire s(i+1) care în mod obligatoriu trebuie să aparţină spaţiului de lucru şi să respecte resticţiile de viteză şi acceleraţie impuse structurii mecanice; rezolvarea problemei cinematice inverse prin care, pentru fiecare punct intermediar s j i definit al
traiectoriei se determină vectorii coordonatelor articulare de poziţie
qi
sau viteză
qi
ce devin prescrise
pentru sistemul de acţionare a axelor pentru a conduce astfel efectorul în punctul calculat. Roboţii din generaţia II utilizează un algoritm de interpolare direct care urmăreşte numai realizarea parametrilor traiectoriei în timp ce, roboţii din generaţia III ce beneficiază de elemente de inteligenţă artificială utilizează un algoritm de interpolare adaptiv mult mai versatil prin care, dispunerea punctelor intermediare şi elementele traiectoriei sunt modificate în timp real în funcţie de datele furnizate de traductorii inteligenţi asociaţi:
Program principal interpolare directă
s(i)* s(i)*
Terminal control manual
Programe IA interpolare adaptivă
Condiţionări traiectorie
sj(i)*
Algoritm interpolator
cameră video
Elaborare traiectorie
CCS
sj(i)*
Model invers qj(i)*
TCS
sj(i)
qj(i)* qj1(i)*
Controler acţionări axe
qjm(i)*
WCS
Acţionări m axe robot
qj(i) Fig. 6.43. Nivele de control ierarhic la generarea traiectoriilor cu interpolare Datele finale de la traductorii inteligenţi prelucrate de programele de inteligenţă artificială (IA) servesc la calculul următorului jalon al traiectoriei cu o periodicitate TIA ce depinde de capacitatea de calcul a procesoarelor din această buclă. Traiectoria este aleatore nefiind definită în programul principal decât la nivel de obiectiv, ea se modifică în permanenţă în funcţie de datele senzorilor (ex. în operaţiile de debavurare a pieselor turnate
traiectoria se adaptează în funcţie de nivelul optim al forţei de apăsare dintre piatră şi piesă). Pentru a asigura deplasarea efectorului între punctele intermediare sistemul de acţionare trebuie să controleze precis deplasările axelor, în funcţie de datele dela traductorii de poziţie, cu o periodicitate Ta ce nu trebuie să depăşească câteva zeci de milisecunde astfel încât să se respecte condiţia: Ta Ti TIA . Algoritmul de elaborare a traiectoriei calculează acceleraţiile şi vitezele de palier ale efectorului pe diferitele segmente ale traiectoriei astfel încât deplasarea acestuia între jaloane să se facă în timp optim cu respectarea datelor din program şi a constrângerilor impuse de limitele sistemului mecanic, conform figurii 6.44.:
s(i) punct trecere eroare de traiectorie
zona de frânare 1 zona de racordare
sj(i)=ct.
zona de accelerare 2
sj(i+1)=ct.
sj+1(i)
sj(i) zona de accelerare 1
zona de frânare 2 punct de oprire
s(i-1)
s(i+1)
punct de oprire
s sj(i+1) sj(i) t s(i-1)
s(i)
s(i+1)
s
Fig. 6.44. Generarea traiectoriei efectorului cu puncte de trecere şi oprire şi a profilului de viteză optim Algoritmii de interpolare directă se realizează în două variante: algoritm de interpolare cu comandă în poziţie, ce transformă vectorul de poziţie s al efectorului într-un vector de comandă în poziţie a axelor q;
.
algoritm de interpolare cu comandă în viteză, ce transformă vectorul viteză
s
al efectorului într-un vector
de comandă în viteză a axelor
q.
Algoritm de interpolare cu comandă în poziţie (absolut). Dacă se consideră o deplasare a efectorului între jaloanele traiectoriei
s i
şi
s i 1 ,
acest tip de
interpolator calculează cu o rată de eşantionare Ti prescrisa vectorului de poziţie a punctelor intermediare
s j i
*
şi pe baza modelului geometric invers determină vectorul prescriselor de poziţie pentru buclele de acţionare ale axelor robotului
q j i
*
.
q j i
Poziţie axă qjk
q 1j 1i * q j i q j 1i ; q j 1i ... q mj 1i Viteză axă qjk
traiectoria programată traiectoria realizată
qk (i)*
(6.9)
qk j(i)*
profil ideal de viteză
qk n-1(i)* qk j(i)*
kj(i)
profil viteză calculat
qkj(i) qk j-1(i)
qk j-1(i)* qk1(i)*
qk (i-1)*
t
t 1
n
Ti
1
a.
n
Ti b.
Fig. 6.45. Generarea comenzii la nivelul axei cu un algoritm de interpolare în poziţie: a. poziţia axei; b. viteza axei
q j i *
q j i
(6.10)
Ti
Algoritm de interpolare cu comandă în viteză (incremental). Algoritmul are ca mărime de intrare din programul principal prescrisa de poziţie a efectorului
si
*
la
deplasarea între jaloanele traiectoriei. Pe intervalele de eşantionare interpolatorul definineşte vitezele de
*
deplasare pe traiectorie
s j i
ale axelor de acţionare
q j i
*
care sunt transformate de modelul cinematic invers (5.87) în prescrise de viteză . Deplasarea între punctele intermediare la nivelele de viteză prescrise permite
obţinerea unor deplasări elementare ale axelor calculabile cu relaţia:
q j i q j i Ti q j i q j 1i *
(6.12)
Poziţia axelor pe durata parcurgerii celor n puncte intermediare este:
q j i q j i Ti q j 1 i unde
q j 1 i
*
j 1...n
(6.13)
este vectorul de poziţie a axelor calculat la pasul anterior.
Conform algoritmului de calcul prezentat interpolatoarele incrementale sunt sensibile la erorile de calcul şi
model deoarece prin concepţie cumulează erorile de la paşii intermediari.
Viteză axă qjk
Poziţie axă qjk
profil viteză calculat
qk j(i)*
qk j-1(i)*
traiectoria realizată
qk (i)
traiectoria programată
profil ideal de viteză
kj(i)
qk j(i) qk j-1(i)
qk n-1(i)*
qk (i-1)
qk1(i)*
t
t
n
1
1
n
Ti
Ti b.
corecţie
a.
Fig. 6.46. Generarea comenzii la nivelul axei cu un algoritm de interpolare în viteză: a. viteza axei; b. poziţia axei corectată la depăşirea erorii admisibile Îmbunătăţirea performanţelor interpolatorului se poate face prin introducerea unor algoritmi de corecţie capabili să elaboreze un semnal de corecţie atunci când eroarea de urmărire a traiectoriei depăşeşte valoarea maxim admisă conform figurii 6.47.:
Elaborare traiectorie sj+1(i)*
sj(i) calculat C1
sj(i) măsurat
M. cinematic invers
sj(i) M. geometric direct
M. geometric invers qj(i) Bloc derivare
qj(i)
qj+1(i)* C2
qj+1(i)*corectat qj(i)
TP
Sistem acţionare
Fig. 6.47. Algoritmul de corecţie a erorii de poziţie pentru interpolatorul incremental
314
6. Comanda roboţilor
6.4. UTILIZAREA AUTOMATELOR PROGRAMABILE PENTRU COMANDA DISPOZITIVELOR AUXILIARE ALE SISTEMELOR ROBOTIZATE Automatul programabil (Programable Logic Controler) a apărut ca o alternativă flexibilă, ieftină şi sigură la panourile cu logică cablată (cu relee). Automatele programabile s-au dezvoltat şi diversificat continuu astfel încât în prezent acestea realizează o multitudine de funcţii: logice, de temporizare, numărare, calcule aritmetice, analiză de date, de comunicaţie cu alte echipamente ale sistemului de automatizare. AP este un echipament electronic digital, construit pentru a controla în timp real procese logice secvenţiale în medii industriale eterogene. Automatul programabil a fost dezvoltat ca urmare a solicitărilor din industria americană a automobilelor, aflată în plină dezvoltare în anii ’60, de a dezvolta benzi de fabricaţie automatizate. Pentru a reduce preţul de producţie producătorii au solicitat un sistem numeric de control fiabil şi flexibil care să poată fi utilizat în medii industriale, să poată fi uşor de programat şi de întreţinut de personalul tehnic şi să fie reutilizabil. În cazul liniilor clasice de producţie de fiecare dată când era schimbat modelul de maşină, sute de panouri cablate cu relee, proiectate să deservească un proces de automatizare specific erau dezafectate. Agresiunile mediului industrial perturbator se datorează următorilor factorii: mediului fizic şi mecanic caracterizat prin vibraţii, şocuri (care solicită contactele, sudurile componentelor electronice), umiditate (un procent mai ridicat de 80% provoacă condensaţii şi accelerează coroziunea, iar unul inferior valorii de 35% favorizează crearea de potenţiale electrostatice), temperatură ridicată a mediului ambiant local (50…60 C), prin vecinătatea cu cuptoare, reactoare, furnale fierbinţi care pot duce la funcţionarea la limita de toleranţă admisă de unele componente; poluării chimice, concretizate prin existenţa unui număr important de factori particulari distructivi cum ar fi gazele corozive (Cl2, H2S, SO2), vaporii de hidrocarburi, pudre metalice (degajate în secţiile de prelucrări mecanice, turnătorii) sau minerale (degajate în betoniere); ca mijloace de protecţie împotriva poluării chimice producătorii utilizează lăcuirea circuitelor imprimate şi instalarea filtrelor, cu rolul de a elimina praful sau gazele; perturbaţiilor electrice, dintre care o incidenţă mai mare o au interferenţele electromagnetice ca rezultat a cuplajelor capacitive sau inductive, paraziţi de origine electrostatică şi fenomenele termoelectrice (prin efectul Peltier). Divizia Hydramatic de la General Motors a elaborat primul controler logic programabil în anul 1968. Piaţa dădea naştere produselor a două dintre cele mai mari întreprinderi: Modicon şi Allen – Bradley. În Franţa, primele automate programabile au apărut pe piaţă în anul 1971 la întreprinderile: Merlin – Gérin şi Alspa. [MICH 89]. Avantajele automatelor programabile sunt multiple şi pe diferite planuri: flexibilitate în configurare, automatul programabil poate conduce procese diferite, iar modificările procesului de producţie se realizează de această dată la nivel software (funcţii logice), modificările de program sunt mai uşor de implementat decât modificările la nivel hardware;
315
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
siguranţă, dispozitivele electronice sunt mai sigure şi mai uşor de întreţinut decât releele mecanice; cost scăzut, sistemele numerice sunt capabile să realizeze software funcţii complexe la un cost scăzut; facilităţi de exploatare şi depanare, echipamentul de programare al automatelor poate furniza informaţii asupra funcţionării sistemului, listarea circuitelor cu probleme, soluţii de remediere a avariilor. Printre aplicaţiile ce se pot realiza cu automatele programabile se numără: – automatizarea liniilor şi fluxurilor de fabricaţie şi de montaj, a bancurilor de probă şi control a calităţii produselor, gestiunea mecanizată a depozitelor, împachetarea şi încărcarea produselor finite, etc.; – automatizarea utilajelor (maşini unelte, compresoare, maşini de sudare, ascensoare roboţi de manipulare); – optimizarea proceselor tehnologice: automatizarea turnătoriilor, dozarea şi amestecul produselor, controlul debitelor în instalaţiile de pompare, uscarea controlată, tratamente termice. – aplicaţii SCADA (Supervisory Control and Data Aquisition).
6.4.1. Arhitectura automatelor programabile Structura unui automat programabil este formată în principal din unitatea centrală, sursa de alimentare, module de intrare/ieşire numerice şi analogice ce asigură schimbul de date cu procesul controlat, module de control a axelor de acţionare numerică, modulul de comunicaţie şi consola de programare: Proces tehnologic Traductoare numerice: microîntreruptoare, senzori de proximitate, poziţie, viteză
Elemente execuţie: motoare de c.c., motoare pas cu pas
Elemente execuţie: distribuitoare de comandă, contactoare, relee, c-dă. PWM
Sursa de alimentare
Unitatea centrală
AP
Traductoare analogice: senzori de nivel, distanţă, forţă, resolvere
Modul Modul Modul I/O comandă numerice comunicaţie numerică axe
Elemente execuţie: (servo)distribuitoare proporţionale, prescrise analogice
Modul I/O analogice
RS 232
Consola de programare
IBM/PC
LAN, Internet, CAN, Modbus, RS 485
Fig. 6.44. Arhitectura automatelor programabile
Rezerve
316
6. Comanda roboţilor
Unitatea centrală este dezvoltată în jurul unui microprocesor în cazul microautomatelor programabile (cu maxim 128 I/O) respectiv a două microprocesoare, master şi supervizor, în cazul automatelor de talie medie (până la 1024 I/O) şi mare (peste 4096 I/O). Pentru a-şi îndeplini sarcinile, unitatea centrală trebuie să prelucreze numeroase informaţii. Aceste prelucrări constau în transferuri de date, comparaţii, puneri în format (conversii), calcule matematice, operaţii pe bit, sincronizare. Magistralele sistemului trebuie să permită schimbul rapid şi eficient al informaţiilor (10 Mocteţi/secundă). Capacitatea magistralei este adaptată informaţiilor care circulă prin ea: lungimii cuvintelor, adreselor, numărului semnalelor de control, etc. Viteza de transfer a magistralelor, condiţionează în sens larg performanţele generale ale unităţii centrale. Memoria AP este formată din memoria rezervată programelor sistemului şi memoria rezervată programelor utilizatorului. Sistemul de operare al automatului programabil este stocat într-o memorie EPROM şi conţine toate informaţiile necesare funcţionării sistemului şi exploatării sale (sistemul de operare este un program care serveşte aceluiaşi scop ca şi DOS sau Windows într-un calculator). O parte este rezervată logicii de bază, creată, dezvoltată şi furnizată de constructor (firmware). Capacitatea memoriei variază în funcţie de volumul bazei logice de la câţiva Ko în cazul microautomatelor la 1…10 Mo în cazul automatelor multiprocesor prevăzute cu algoritmi sofisticaţi de funcţionare şi diagnoză. Programul utilizatorului este stocat după finalizare într-o memorie (E)EPROM a cărei capacitate (8 Ko…256 Ko) depinde de tipul automatului şi complexitatea aplicaţiei. În faza de dezvoltare a programului acesta este stocat şi rulat din memoria RAM a calculatorului sau consolei de programare utilizate pentru editare şi depanare. Programul constă dintr-o succesiune de operatori care permit realizarea funcţiilor logice cerute. Instrucţiunile sunt stocate în adresele consecutive ale memoriei (E)EPROM şi executate automat, în ordine, prin adresarea consecutivă a locaţiilor memoriei, prin intermediul unui contor al programului. Formatul tip a unei instrucţiuni a automatului programabil este prezentat în figura 6.45. pentru un cuvânt de 32 biţi: registrul cel mai semnificativ 32
registrul cel mai puţin semnificativ 17 16
8 biţi codul operaţiei
1 adresă operand
3 biţi tip adresare 3 biţi tip operand
Fig. 6.45. Formatul instrucţiunilor automatelor programabile
În funcţie de posibilităţile oferite de sistem, prin formatul instrucţiunii se rezervă o zonă de 6…8 biţi pentru codificarea operaţiei sau funcţiei ce urmează să fie executată. Următorii 3 biţi definesc tipul de variabilă: intrare I, ieşire O, memorie M, canal temporizare T, contor numărare C, bloc date D, funcţii speciale F. Modul de adresare a spaţiului de memorie disponibil este definit de următorii 3 biţi: adresare absolută, indirectă, indexată, imediată sau relativă. Ultima zonă este rezervată adresei operandului care se poate găsi în memoria RAM a sistemului sau în regiştrii de lucru ai
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
317
procesorului. Datele folosite de AP pe parcursul rulării programului sunt stocate automat în memoria RAM a sistemului (independent de acţiunile utilizatorului). Zona de date este organizată în subzone care stochează un anumit tip de date dintre care cele mai semnificative sunt: imaginea stării intrărilor I, stochează starea (1 sau 0) a intrărilor de la senzorii şi traductoarele digitale din proces; imaginea stării ieşirilor O, stochează datele binare (1 sau 0) care vor activa sau dezactiva dispozitivele de execuţie din proces; starea variabilelor de memorie, utilizate pentru păstrarea unor rezultate parţiale; starea numărătoarelor C, stochează tipul (cu numărare înainte, înapoi, înainte/ înapoi), valoarea curentă, valoarea setată; starea canalelor de temporizare T, stochează tipul (temporizare la acţionare, revenire, monostabil), valoarea curentă, valoarea setată; date numerice D, stochează datele utilizate pentru conversiile de numere, compararea blocurilor de date etc. funcţii F, stochează starea şi datele funcţiilor speciale folosite de programul utilizator. Informaţia stocată în memoria RAM a automatului este temporară şi poate fi menţinută un timp limitat cu ajutorul surselor auxiliare: supercapacitor (2…4 luni) sau acumulator (1…2 ani). Pentru a asigura schimbul de informaţii cu procesul controlat, AP pot fi prevăzute cu o mare varietate de module I/O care prezintă particularitatea de a fi special proiectate pentru un mediu industrial puternic poluat electromagnetic. Modulele de intrări digitale pentru a realiza în bune condiţii funcţia principală de achiziţie trebuie mai întâi să efectueze adaptarea semnalului industrial prin: aducerea la o formă cât mai apropiată de semnalele digitale standardizate, eliminarea informaţiilor parazite, decuplarea circuitului de forţă (din proces) de circuitul de procesare al automatului. Formatarea semnalului industrial constă într-o succesiune de operaţii în urma cărora se obţine un semnal calibrat, utilizabil. Deoarece semnalele de intrare pot proveni din circuite electrice de curent continuu (uzual) dar şi din circuite de curent alternativ mai întâi se realizează o redresare bialternanţă şi filtrare urmată de o calibrare prin care semnalul este adus în limitele admise de semnalele logice digitale cu ajutorul unor circuite electronice de tip Trigger-Schmidt, varistor sau diodă Zenner, figura 6.46.a. Intrările digitale pot lucra în logică pozitivă sau negativă. Eliminarea informaţiilor parazite de înaltă frecvenţă cu caracter pasager, care încadrându-se în nivelul logic au trecut de circuitele de formatare, se face cu ajutorul unui filtru trece jos (exponenţial) ce acţionează numai în funcţie de energia semnalului. Constanta de timp a filtrului se alege în intervalul 5…20 ms, fiind de aproximativ două ori mai mare decât timpul de rulare a programului. Prezenţa filtrului are dezavantajul creşterii timpului minim de achiziţie a datelor de la canalele de intrare şi implicit determină scăderea performanţelor sistemului prin scăderea vitezei de rulare a programului utilizator. Din acest motiv majoritatea producătorilor oferă posibilitatea dezactivării (hard) a filtrului în cazul intrărilor neperturbate electromagnetic ceea ce permite scăderea timpului de achiziţie la valori de 0,5…1 ms. Nivelul tensiunilor de intrare standardizate este de 24, 48, 110, 220 V c.c. sau c.a. în cazul semnalelor provenite de la microîntreruptoare, senzori inductivi de
318
6. Comanda roboţilor
proximitate sau 5V (TTL) respectiv 15 V (CMOS) în cazul semnalelor achiziţionate de la senzorii şi traductoarele digitale inteligente, cu prelucrare locală a informaţiei. Pentru a se preveni avarierea circuitelor digitale ale AP (5 V) în cazul unor defecte de izolaţie în circuitele electrice din proces, este obligatorie separarea galvanică a acestor circuite prin dispozitive optoelectronice. Proces
Automat programabil
+5 V R3
R2 R1
LED1
P1
Unitatea centrală
O1
IN1
S1
Filtru D1
T=5…20 ms
MOV
V1 c.c. sau c.a.
COM
a. +5 V R3
+V1
R2 R1
LED1 Unitatea centrală
Proces
Automat programabil
O1
HSC Filtru
D1
T=100 s
COM
MV1
b. Fig. 6.46. Canale de intrare: a. intrare digitală de c.c. şi c.a.; b. intrare digitală pentru semnale de mare viteză
Pentru procese rapide intrările automatului programabil pot fi configurate să lucreze ca numărătoare de mare viteză HSC (High Speed Counter) cu operare pe frontul pozitiv/negativ al impulsului standardizat (5..15 V, factor umplere 20% ÷ 80%), figura 6.46.b. Fiecare numărător realizează procesarea directă a semnalului tip impuls, cu frecvenţa maximă de 10 kHz, pentru implementarea aplicaţiilor de control industrial ca: măsurarea debitelor, a vitezei motoarelor de acţionare, contorizarea operaţiilor rapide de încărcare/descărcare a materialelor, memorarea poziţiei în buclele de reglaj în poziţie. Datorită costului ridicat canalele de intrare se realizează grupat pe module de intrari, echipate cu 8 sau 16 canale. Canalele de ieşire au rolul de a asigura comanda elementelor de execuţie din proces cu asigurarea separării galvanice şi a nivelului de putere solicitat. În funcţie de curentul solicitat canalele de ieşire se realizează în următoarele variante constructive: cu ieşire pe tranzistor, pentru c.c. curenţi de maxim 1A, tensiune U = 5…24 V c.c.; cu ieşire pe releu, pentru alimentarea consumatorilor c.c. şi c.a., curent maxim pe
319
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
contact 2A pe sarcină rezistivă, tensiune U = 24…240 V; cu ieşire pe triac, pentru alimentarea consumatorilor de curent alternativ de putere, curent maxim de 10 A pe sarcină rezistivă, tensiune U = 24…240 V. Ieşirile pe tranzistor se utilizează numai în curent continuu ca ieşiri standard pentru curenţi mici (maxim 1 A) şi în special pentru ieşiri de mare viteză tip PWM, cu timp mic de răspuns 0,1 ms. Etajul de putere este realizat cu tranzistor bipolar (npn sau pnp) sau cu tranzistor MOSFET pentru puteri mai mari. Prin utilizarea facilităţii PWM este posibilă generarea unui profil particularizat de viteză pentru comanda unui motor de c.c de mică putere sau comanda în poziţie a unei vane de reglare a debitului, figura 6.47.: Automat programabil
Element execuţie
+24Vint J1
+5 V R2
R3
R1
LED1 Unitatea centrală
+5…24 V
+24Vext
T1
D1 F1
OUT1
O1
PWM
Rs DZ1
=
COM1
Fig. 6.47. Canal de ieşire pe tranzistor
Alimentarea sarcinii comandate se poate face la alegere de la sursa internă a automatului în cazul unui curent de maxim 1…2 A (pe toate ieşirile) sau de la o sursă externă adaptată consumatorilor comandaţi, prin setarea conexiunii J1. Fiabilitatea şi durata de viaţă a ieşirilor pe tranzistor este mult mai mare decât a ieşirilor pe relee dar deoarece au o capaitate redusă de suprasarcină ieşirile trebuie protejate obligatoriu prin siguranţe fuzibile rapide montate în exteriorul automatului. Ieşirile pe releu, cu contacte normal deschise, pot controla aplicaţii precum pornirea motoarelor, comanda bobinelor contactoarelor, electromagneţilor distribuitoarelor de comandă, lămpilor de semnalizare. Element execuţie
Automat programabil
+5 V
OUT1 R3
K1
F1
Rs
K1 U
LED1
D1
Unitatea centrală
COM1
Fig. 6.48. Canal de ieşire pe releu
c.c. sau c.a.
320
6. Comanda roboţilor
Timpul de răspuns este relativ mare datorită constantei electromecanice a releului (15 ms), ca urmare pot fi comandate numai dispozitive de execuţie lente. Capacitatea fiecărui contact este de 2…10 A, dispozitivele comandate fiind alimentate de la o sursă externă de c.c. sau c.a. Anduranţa mecanică tipică a contactelor este de 20.000 operaţii în timp ce anduranţa electrică este de aproximativ 200.000 de operaţii şi depinde de tipul şi valoarea sarcinii comutate. Ieşirile trebuie prevăzute în exterior cu siguranţe pentru a proteja contactele în cazul unui scurtcircuit pe sarcină. Canalele de ieşire pe triac sunt mai puţin uzuale fiind folosite numai pentru comanda sarcinilor de curent alternativ, figura 6.49.: Element execuţie
Automat programabil
+5 V
COM1 R3
F1
R2
U ~
LED1
Rs
Unitatea centrală
OUT1
110…220 V c.a.
OT1 Fs
Fig. 6.49. Canal de ieşire pe triac
Pentru a asigura o mai mare flexibilitate de exploatare în prezent producătorii de AP realizează module I/O ale căror canale sunt configurabile software ca intrări sau ieşiri în funcţie de necesităţile sistemului controlat. Numărătoarele utilizate de automatele programabile sunt de trei tipuri: cu numărare înainte (CTU), cu numărare înapoi (CTD) şi cu numărare înainte/înapoi (UDC). Numărătoarele de mare viteză HSC sunt realizate hardware spre deosebire de numărătoarele uzuale care sunt implementate software şi ca urmare au funcţionarea dependentă de durata ciclului AP. Majoritatea producătorilor recomandă utilizarea numărătoarelor normale (software) dacă perioada evenimentelor ce trebuiesc contorizate este mai mare decât dublul ciclului AP şi numai numărătoare HSC pentru aplicaţiile care nu se încadrează în această condiţie. Majoritatea AP actuale utilizează numărătoare pe 16 biţi ca urmare limitele de numărare depind de modul de afişare a variabilei contorizate: 0…9.999 (numărător zecimal 16 biţi BCD), -32.768…32.767 (numărător binar 16 biţi cu semn), 0…65.535 (numărător binar 16 biţi). Forma generală a unui numărător înainte (înapoi) este prezentată în figura 6.50.: IN0
IN2
IN0 COUNT UP (DOWN)
C00 003 RESET
C00 N=3 IN2
Fig. 6.50. Numărător înainte (înapoi)
t
321
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
Numărătorul este identificat prin litera C urmată de un număr nnn a cărui valoare maximă depinde de tipul AP, funcţionează cu două semnale de intrare: IN0 pentru numărare înainte sau înapoi (COUNT) şi IN2 pentru ştergerea conţinutului registrului de numărare (RESET). Numărătorul mai conţine un registru în care este memorată valoarea setată până la care sau de la care se numără evenimentele (exemplu C00 numără înainte până la 3). La atingerea valorii setate variabila C00 ia valoarea 1 logic. Numărătoarele înainte/înapoi utilizează trei canale de intrare: IN0 pentru numărare înainte (COUNT UP), IN1 pentru numărare înapoi (COUNT DOWN) şi IN2 pentru ştergerea conţinutului registrului de numărare (RESET). Conţinutul registrului de numărare creşte sau scade în funcţie de semnalele de intrare şi numai la atingerea valorii setate (exemplu valoarea 4), variabila C02 ia valoarea 1 logic, conform diagramelor de semnal prezentate în figura 6.51.: IN0
IN0 IN1
COUNT UP
COUNT DOWN
C02 004 IN2
RESET
IN1 IN2 C02
t C02=3
C02=1
C02=4
Fig. 6.51. Numărător înainte/înapoi
Canalele de temporizare sunt utilizate cel mai frecvent pentru a genera un interval de timp controlabil înainte de a se executa un anumit eveniment. Pentru realizarea acestei funcţii generale (cu implementare software) se pot utiliza următoarele tipuri de canale de timp: canal de timp cu temporizare la acţionare TON (Timer On-Delay); canal de timp cu temporizare la revenire TOFF (Timer Off-Delay); canal de timp de tip monostabil TMON (Timer Monostabile); canal de timp cu acumulare TAC (Timer Accumulating); Canalele de timp cu temporizare la acţionare sunt cele mai utilizate deoarece realizează o întârziere programabilă faţă de un semnal de lansare, fiind echivalentul software al releelor de timp cu aceeaşi funcţie. Canalul de timp este setat prin program la valoarea temporizării dorite şi care pentru canalele pe 16 biţi este un număr din intervalul 0…65535. În funcţie de baza de timp generată de la unitatea centrală (uzual x0,1 s sau x0,01 s) se pot obţine întârzieri maxime de până la 6.553,5 s, valoare care poate fi mărită prin cascadarea unui număr corespunzător de canale de timp TON. Controlul funcţionării se realizează cu o variabilă de intrare care poate fi un canal de intrare (control hardware) sau un canal de ieşire, timp, o variabilă de memorie, etc. (control software). Dacă condiţia logică de intrare este adevărată (exemplu IN0 = 1), canalul de timp TON este lansat şi se începe măsurarea timpului programat a cărui valoare curentă este accesibilă utilizatorului prin intermediul consolei de programare. După scurgerea timpului setat variabila de timp T00 de tip TON este validată automat şi rămâne în această stare atâta timp cât condiţia logică de intrare rămâne adevărată.
322
6. Comanda roboţilor
Dacă semnalul de control devine fals înainte de trecerea timpului setat, canalul de temporizare TON este resetat urmând să fie lansat din condiţii iniţiale imediat ce condiţia de intrare redevine adevărată, conform graficelor de semnal prezentate în figura 6.51.: t = 20x0,1 s
CLK
IN0
START IN0
TON T00 020 ceas intern x0,1s; x0,01s
T00
TON t T00=2 s T00=0 s (Reset)
T00=0 s
Fig. 6.51. Canal de timp cu temporizare la acţionare TON
Canalele de timp cu temporizare la revenire TOFF realizează funcţia de temporizare opusă unui canal TON. Pentru lansarea temporizării este mai întâi necesară îndeplinirea condiţiei logice de intrare (exemplu IN0 = 1), se validează automat variabila de timp T001 iar din momentul schimbării stării condiţiei de intrare, pe frontul descrescător, începe măsurarea timpului. La atingerea valorii setate variabila de timp T01 trece în starea 0 logic. Activarea variabilei de intrare pe durata temporizării determină ştergerea registrului de timp iar temporizarea se reia de la zero imediat ce condiţia logică de intrare devine falsă, conform figurii 6.52.: t = 15x0,1 s
CLK
IN0
START IN0
TOFF T01 015 ceas intern x0,1s; x0,01s
T01
TOFF Start
T01=0 s (Reset)
t T01=1,5 s
Fig. 6.52. Canal de timp cu temporizare la revenire TOFF
Canalele de timp de tip monostabil se utilizează pentru generarea unei temporizări cu durată impusă şi care, pe durata acestui interval de timp, nu este afectă de modificarea condiţiei logice de intrare. Această funcţie este deosebit de utilă în cazul aplicaţiilor ce utilizează semnale de la traductoare a căror durată este foarte scurtă datorită specificului procesului sau care sunt însoţite de numeroase semnale perturbatoare: exemplu comutaţia mecanică a unui microîntrerupător. În acest mod se realizează o filtrare a semnalului de intrare şi în plus se poate reţine starea intrării un timp suficient pentru ca unitatea centrală să identifice modificarea stării logice. Lansarea temporizării se face din momentul în care condiţia logică de intrare devine adevărată (exemplu IN0 = 1), se validează automat variabila de timp T002 care blochează acţiunea eventualelor semnale de intrare, conform figurii 6.53.:
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
323
t = 15x0,1 s
CLK
IN0
START IN0
TMON T02 015
T02
ceas intern x0,1s; x0,01s
TMON
t T02=1,5 s
T02=0 s (Start)
Fig. 6.53. Canal de timp de tip monostabil TMON
Canalele de timp cu acumulare măsoară durata totală a un eveniment repetitiv până la apariţia unei comenzi de ştergere. Funcţionarea în acest mod necesită două canale de intrare: unul IN0, pentru declanşarea contorizării impulsurilor de la baza internă de timp şi unul IN1, pentru ştergerea conţinutului registrului acumulator al duratei evenimentului monitorizat. Canalul de timp poate fi setat pentru o anumită valoare (exemplu 1 s) şi atunci când durata cumulată a evenimentului urmărit atinge această valoare, variabila de timp T03 este validată şi poate fi utilizată în program. Dacă condiţia logică de intrare devine falsă înainte de atingerea valorii setate, valoarea curentă a timpului este reţinută şi contorizarea reîncepe de la această valoare imediat ce condiţia de intrare redevine adevărată. Procesul de contorizare continuă (dacă se atinge limita de timp procesul se reia din nou de la valoarea zero) până la apariţia unui semnal de ştergere. Semnalul de ştergere forţează automat şi variabila setată la valoarea zero. t = 10x0,1 s
CLK
IN0 START
IN1
IN0 RESET
TAC ceas intern x0,1s; x0,01s
IN1
T03 010 T03
TAC T03=0,5 s
T03=1,4 s T03=1,8 s
t T03=0,4 s
T03=1 s
Fig. 6.54. Canal de timp cu acumulare TAC
Conducerea numerică a acţionărilor electrice dintr-o celulă flexibilă robotizată poate fi realizată cu ajutorul automatelor programabile AP multiprocesor sau a comenzilor numerice asistate de calculator CNC în cazul aplicaţiilor pretenţioase. Arhitectura AP multiprocesor permite prelucrarea informaţiilor la nivelul unor module specializate ce funcţionează după un program propriu. Nivelul înalt de specializare a acestor module dotate cu microprocesor şi memorie proprie asigură prelucrarea locală a datelor, micşorarea timpilor de transfer a datelor deoarece pe magistrală sunt vehiculate doar rezultate finale, figura 6.55. Rezultatele finale sunt transmise în zona
324
6. Comanda roboţilor
de memorie comună de unde sunt puse la dispoziţia unităţii centrale sau a celorlalte module specializate ce pot accesa şi utiliza aceste date conform unui protocol intern. magistrala de control
Unitatea centrală
Magistrale AP
magistrala de date D0…Dx magistrala de adrese A0…Ay
Modul specializat
P
PROCES Motoare c.c. MPP Traductoare poziţie I/O analogice Reţele industriale
INTERFAŢĂ DEDICATĂ PROCES
Adrese
Control
Controler magistrale
magistrale interne 32 biţi
Date
RAM Date locale
D0…D31
EPROM
A0…A10 Program modul
specializat
Figura 6.55. Arhitectura modulelor specializate utilizate în AP multiprocesor
Programarea modulelor specializate se limitează la selectarea parametrilor de lucru prin utilizarea, la nivelul consolei de programare, a unor casete de dialog interactiv. Unitatea centrală controlează modul de desfăşurare secvenţială a aplicaţiei şi supervizează funcţionarea modulelor specializate. Cele mai utilizate module sunt: modul intrări – ieşiri numerice; modul intrări – ieşiri analogice; modul intrări analogice cu prag reglabil; modul reglare PID; 2 modul de comandă autoadaptiv PIDD ; modul control acţionări axe. Modulele de intrări – ieşiri numerice nu echipează decât AP de nivel superior ce pot prelucra date numerice a căror mărime este uzual de 16 biţi. Un modul este format prin reunirea a 16 intrări sau ieşiri digitale care sunt multiplexate în bloc pentru a se putea conecta astfel un număr mai mare de elemente I/O fără a creşte excesiv preţul automatului. Pentru separarea variabilelor binare de cele numerice se utilizează codificarea diferită a operanzilor astfel încât cuvântele de 16 biţi să fie interpretate ca un ansamblu. Modulele de intrări – ieşiri analogice se utilizează în aplicaţiile care necesită prelucrarea unei mărimi analogice sub formă numerică sau invers. Ieşirile analogice sunt simplu de realizat cu ajutorul convertoarelor digital – analogice a căror tehnologie
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
325
este bine pusă la puct şi nu ridică probleme tehnice sau de preţ deosebite. Intrările analogice sunt mult mai dificil de realizat şi au preţuri de cost ridicate (100...150 €/canal). Marea majoritate a convertoarelor analog – numerice lucrează pe 10…12 biţi cea ce limitează valoarea minimă a semnalului analogic ce poate fi prelucrat numeric şi necesită timpi de conversie de 1...2 μs. Din acest motiv pentru adaptarea semnalului de intrare se utilizează amplificatoare performante cu câştig programabil iar pentru reducerea costurilor, canalele analogice sunt multiplexate ceea ce conduce la o întârziere suplimentară de încă 1 μs şi limitează frecvenţa maximă a semnalelor achiziţionate la 100 kHz. Modul ieşiri digitale
Unitatea centrală
Modul intrări digitale
Modul specializat de comunicaţie RS232, DeviceNet, Ethernet
Sursa de alimentare
Modul specializat intrări/ieşiri analogice
Borne de conexiuni cu procesul
Fig. 6.56. Echiparea standard a unui automat programabil de clasa medie GE Fanuc
Modulul cu intrări analogice şi prag reglabil asigură modificarea stării logice a unei variabile asociate intrării atunci când, semnalul analogic monitorizat depăşeşte o valoare prestabilită. Aplicaţiile tipice ale acestor module sunt realizarea protecţiilor acţionărilor la: suprasarcină, depăşirea temperaturii maxim admise, supraturaţie, limită curent pornire, etc. Modulele de control a acţionărilor, figura 6.57.a., asigură comanda în viteză şi poziţie a uneia sau a mai multor axe (4…14), cu posibilităţi de interpolare, după o lege de mişcare ce variază în timp în conformitate cu cerinţele procesului tehnologic controlat. Aceste module asigură acţionării poziţionări în limita unui nivel de eroare admis cu respectarea parametrilor cinematici de mişcare. Modulele de acţionare sunt special echipate pentru acţionări cu motoare de curent continuu sau motoare pas cu pas, figura 6.57.b. Măsurarea poziţiei şi vitezei axei se realizează cu traductoare incrementale, absolute sau de tip resolver, figura 6.57.c., conectate la intrări specializate care pot achiziţiona date de la 1…4 traductoare cu o rată de 0,8 ms pentru controlul poziţiei şi 32 ms pentru controlul vitezei. Modulele de acţionare actuale permit controlul parametrilor de mişcare (poziţie, viteză, acceleraţie, pantă acceleraţie – frânare, limite deplasare axă) în funcţie de timp prin programarea unui număr de 200…500 puncte de control (set point). Pentru obţinerea unor sisteme de acţionare
326
6. Comanda roboţilor
numerică performante este necesară cunoaşterea modelului sistemului de acţionare inclusiv a sarcinii acţionate. Modulele permit calculul şi identificarea parametrilor sistemului prin aplicarea la intrări a unor semnale de excitaţie şi analiza semnalelor de ieşire. Se identifică astfel un model real pe baza căruia se calculează parametrii optimizaţi ai regulatoarelor în funcţie de semnalele perturbatoare variabile. Controlul precis al parametrilor acţionării este realizat cu regulatoare numerice PID sau regulatoare numerice adaptive de tip PIDD2, care se pot programa prin instrucţiuni speciale. Timpul de calcul afectat unei bucle de reglare este de 5…10 ms ceea ce este satisfăcător pentru majoritatea sistemelor de acţionare a căror constantă de timp este uzual de ordinul sutelor de ms. Module specializate cu funcţii de reglare PID sunt disponibile şi separat, un modul asigurând controlul pentru maxim 20…30 bucle de reglare într-un timp de 250 ms.
a.
b.
c.
Fig. 6.57. Module specializate: a. modul acţionare motoare c.c. (GE Fanuc); b. modul acţionare motoare pas cu pas (Allen-Bradley); c. Modul traductori poziţie (GE Fanuc)
Numărul de module specializate care pot lucra pe o platformă comună de AP multiprocesor depinde capacitatea unităţii centrale, posibilităţile de control şi transfer a datelor pe magistrale, ca urmare majoritatea producătorilor oferă sisteme ce pot lucra cu maxim: 31 module specializate (Telemecanique TSX87), 64 module specializate (GE Fanuc 90-70 PLCs).
6.4.2. Funcţionarea automatelor programabile Caracteristica unică a automatelor programabile o reprezintă funcţionarea după un ciclu închis, în care instrucţiunile programelor de sistem şi aplicaţie sunt executate succesiv până la ultima după care ciclul de parcurgere a instrucţiunilor se reia cu prima instrucţiune. Un ciclu de funcţionare cuprinde două faze: faza de realizare a funcţiilor de sistem, care implică rularea subprogramelor interne prin care este asigurată funcţionarea UC, funcţia de autodiagnoză, schimburile de date cu exteriorul şi între modulele sistemului; faza de rulare a programului utilizator, în care sunt executate funcţiile logice, calculele matematice solicitate prin instrucţiuni.
327
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
Tciclu
Timpul de execuţie a unui ciclu în ipoteza parcurgerii tuturor instrucţiunilor (nu se execută instrucţiuni de salt) este determinat în principal de următorii factori: capacitatea de procesare, numărul de canale I/O, mărimea programului utilizator. Capacitatea de procesare a unităţii centrale este exprimată prin timpul necesar de execuţie a unei secvenţe de program de 1 kcuvânt de memorie (uzual 0,6 ms…0,22 ms/k). Timpul de acces la un modul I/O digital cu 16 canale este în medie de 0,1…0,5 ms, timp necesar pentru achiziţia sau transferul unui cuvânt de 16 biţi. Având în vedere caracteristicile tehnice ale unui AP performant pe 16 biţi cu maxim 80 module I/O, 240 kocteţi memorie utilizator şi o capacitate de procesare de 0,22 ms/K, rezultă durata maximă a ciclului automatului de: Tciclu 80 0,5 120 0,22 66 ,40 ms , valoare care este în principal determinată de timpul necesar efectuării operaţiilor de intrare – ieşire. Tendinţa în controlul industrial este de a utiliza automate programabile cu configuraţii simplificate, plasate lângă proces, în locul celor centralizate cu multe canale I/O, al căror program este mai dificil de implementat în practică şi eventual de reconfigurat. Ca urmare în realitate chiar AP performante utilizează un număr mult mai mic de module I/O (uzual 6…10) ceea ce limitează şi necesarul de memorie pentru programul utilizator la 8…32 Ko iar timpul real al ciclului de funcţionare scade la 6…10 ms. Modul general de execuţie al programelor (sistem operare + utilizator) începe cu faza de achiziţie a stării intrărilor, a căror valori sunt transferate în memoria RAM de date, urmează execuţia instrucţiunilor din programul utilizator iar rezultatele ecuaţiilor logice, calculelor matematice sunt stocate în subzonele corespunzătoare din memoria de date. În faza finală valorile variabilelor de ieşire din memoria RAM sunt transferate canalelor de ieşire, după care ciclul se reia în conformitate cu figura 6.58.a.:
Citeşte intrări
Citeşte intrări
Citeşte intrări la cerere
Execuţie program
Execuţie program
Execuţie program
Scrie ieşiri
Scrie ieşiri la cerere
Scrie ieşiri la cerere
Execuţie program Scrie ieşiri la cerere
Citeşte intrări la cerere Execuţie program Scrie ieşiri la cerere
a.
b.
c.
Fig. 6.58. Tipuri de cicluri de funcţionare ale automatelor programabile: a. ciclu standard; b. ciclu cu intrări achiziţionate grupat şi ieşiri activate la cerere; c. ciclu distribuit cu activare I/O la cerere
Pentru o viteză mai mare de răspuns canalele de ieşire se pot activa la cerere adică
328
6. Comanda roboţilor
imediat ce o funcţie logică de ieşire a fost rezolvată, figura 6.58.b. sau pentru o interactivitate îmbunătăţită cu procesul, se achiziţionează numai intrările şi se activează numai ieşirile care intervin în secvenţa de program aflată în derulare curentă, figura 6.58.c. Scăderea timpului ciclului AP se poate face şi la nivel de programare prin utilizarea în cadrul programului principal a unui număr de subrutine (maxim 60…200) care simplifică programarea şi reduc semnificativ numărul de instrucţiuni care se repetă (memoria utilizată). Organizarea ciclului de funcţionare devine mult mai complicată în cazul în care intervin instrucţiunile de salt (ne)condiţionat respectiv în cazul AP multiprocesor echipate cu module specializate ce efectuează şi calcule numerice (mari consumatoare de timp). În astfel de situaţii durata ciclului de funcţionare nu mai este constantă şi pentru a nu se perturba derularea secvenţială a programului principal, calculele numerice se derulează separat pe procesoare specializate, interogate periodic de procesorul supervizor, urmând ca la finalizarea rezultatelelor acestea să fie folosite. Deoarece în AP multiprocesor ciclul de funcţionare este aleator, în funcţie de cerinţele din proces, o măsură eficientă de control a derulării secvenţiale a programului principal constă în utilizarea unui punct de control (watchdog timer) care verifică reluarea ciclului într-un timp maxim permis şi evită blocarea programului (subrutinelor) într-o eventuală buclă infinită prin activarea programului de autodiagnoză. Acest program este un program de sistem conceput să asigure supravegherea funcţionării corecte a procesorului, transferurilor de date, alimentărilor. Este lansat la alimentarea automatului şi la începutul fiecărui ciclu de funcţionare, trecerea testelor de securitate permite lansarea în execuţie a programului utilizatorului, conform schemei de principiu din figura 6.59.: Program autodiagnoză
Subrutină 1
Reset instrucţiune de salt
Watchdog timer
Program principal secvenţial
Subrutină 2 Subrutină 1
Fig. 6.59. Ciclu de funcţionare cu durată aleatoare
Schimbul de informaţii între diversele module ale automatului se face pe magistrala de date, fiind sincronizat în funcţie de semnalul de ceas intern prin comenzi transmise de procesorul central pe magistrala de control. În faza de achiziţie a intrărilor, procesorul rulează un subprogram al sistemului de operare prin care adresează succesiv, prin magistrala de adrese, pentru o perioadă de timp determinată, modulele de intrări conectate la senzorii din proces. Stările senzorilor sunt transferate pe magistrala de date în memoria RAM a sistemului. Există o corespondenţă riguroasă între adresele imaginilor biţilor asociaţi intrărilor şi ieşirilor şi bornele de racordare a cablurilor la regleta automatului. Programul utilizator este executat de unitatea centrală
329
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
sub controlul subprogramelor sistemului de operare. Execuţia unei instrucţiuni de program utilizator începe prin adresarea locaţiei curente a memoriei de program (E)EPROM. Adresa instrucţiunii curente este păstrată de contorul de program până când logica de control îl incrementează/încarcă la/cu următoarea adresă executabilă. Instrucţiunea curentă este transferată pe magistrala de date într-un buffer de instrucţiuni (o instrucţiune poate avea unul, două sau mai multe cuvinte de memorie). Formatul instrucţiunii din registrul de instrucţiuni corespunde formatului general: primii 8 biţi codifică operaţia de executat, următorii 3 biţi indică tipul operandului (subzona din memoria de date) iar ultimii conţin adresa operandului căruia i se aplică operaţia în execuţie. În funcţie de codul operaţiei şi tipul operandului, decodorul de instrucţiuni va conţine adresa de început a subrutinei asociate operaţiei ce trebuie executată de automat şi care este stocată în memoria EPROM aferentă sistemului de operare. Procesarea microinstrucţiunilor subrutinei asigură execuţia operaţiei curente al cărei rezultat este transferat în subzona corespunzătoare memoriei de date. După procesarea logică a ultimei instrucţiuni a programului utilizator, unitatea centrală execută subrutina sistemului de operare prin care noile stări ale variabilelor de ieşire sunt transferate succesiv din memoria de date spre canalele modulelor de ieşire pentru a controla stările elementelor de execuţie din proces. magistrala de control
Magistrale AP
magistrala de date D0…Dx magistrala de adrese A0…Ay
Unitatea centrală
Adrese/Date
Control
Buffer instrucţiuni 0000 00001 00110010010
Controler magistrale
00110 00110010010 Registru instrucţiuni 32 biţi 00110001 100 10010 0000000000000000
Decodor instr. 2.048 00001 00110010010 Memorie program utilizator
00110001100
P central
A0…A10
EPROM Sistem operare D0…D31 AP microinstrucţiuni Logică comandă subrutine
magistrale interne 32 biţi
00110 00110010010
Fig. 6.45. Execuţia instrucţiunilor în unitatea centrală
Contor program
RAM Imagini I Imagini O Variabile M Variabile T Variabile C Date numerice D Funcţii F
339
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
Tranziţia este o barieră ce separă două etape succesive şi care permite desfăşurarea unisens a procesului. Fiecărei tranziţii i se asociază o funcţie booleană numită receptivitate care exprimă condiţia logică necesară pentru trecere. Pentru ca tranziţia de la o etapă la alta să fie autorizată sunt necesare două condiţii: receptivitatea să fie îndeplinită; etapa precedentă să fie activă.
etapă
Temporizare la acţionare TON cu valoarea de 3 s
Temporizare la intrare T007=3 s
2
receptivitate
Ttranziţie activă dacă etapa 2 este activă şi T007=1
T007=1
etapă
Pornire transportor motor M1
3
Activarea etapei 3 cu o întârziere de 3 s de la activarea etapei 2
Fig. 6.53. Condiţia de activare a unei tranziţii
Dacă mai multe etape concurente sunt condiţionate de aceeaşi tranziţie (ŞI Convergent), această situaţie se reprezintă prin două linii orizontale paralele şi condiţia de realizare a etapei următoare este determinată de activarea tuturor etapelor reunite şi îndeplinirea receptivităţii asociate tranziţiei unice. Regulile de funcţionare a metodei Grafcet impun ca după efectuarea unei tranziţii etapa anterioară să treacă în stare inactivă:
2
2
2
2
2
2
C1=1
C1=0
C1=1
3
3
3
a.
b.
c.
Fig. 6.54. Tranziţia în cazul etapelor concurente (ŞI Convergent): a. tranziţie neautorizată; b. tranziţie autorizată; c. etapa următoare activă
Dacă o etapă şi receptivitatea asociată tranziţiei condiţionează activarea simultană a unor etape divergente (următoare) atunci se foloseşte opţiunea ŞI Divergent , figura 6.55.a. Dacă în procesul de automatizare există două variante independente pentru activarea unei etape atunci se utilizează opţiunea SAU Convergent, figura 6.55.b., iar
340
6. Comanda roboţilor
dacă procesul comportă la un moment dat o ramificaţie logică în care ambele ramuri independente sunt condiţionate de aceeaşi etapă se foloseşte opţiunea SAU Divergent, figura 6.55.c.: 2
5
C1=1
3
8
C2=1
C1=0
C7=1
7
6
4
a.
C4=0 9
b.
15
c.
Fig. 6.55. Structuri concurente: a. ŞI Divergent cu activare simultană; b. SAU Convergent; c. SAU Divergent cu activare independentă Exemplul 8. Realizarea saltului condiţionat în program respectiv repetarea în buclă a unei secvenţe de program. Salt condiţionaţ la etapa 11 dacă etapa 8 este activă şi dacă tranzitivitatea C9=0. Dacă C9=1 derulare normală a etapelor 9,10,11
8
Reluare condiţionată a etapelor 9,10 atât timp cât etapa 10 rămâne activă şi tranzitivitatea C11=0
8
C9 C9=0
C9=1 9
9
C10 10
C10
C11=1
10
C11
11-18
C11 11
Fig. 6.56. Structuri Grafcet concurente
Pentru a reprezenta în program secvenţe de cod care se repetă de mai multe ori este suficient ca secvenţa să fie prezentată explicit într-o zonă de program şi apoi de câte ori este necesar, aceasta poate fi înlocuită cu un bloc de tip etapă care prezintă două
341
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
bare verticale şi o eticheta care precizează numărul etapelor ce sunt incluse în acesta (numărul etapei de început şi de sfârşit). Pentru scrierea instrucţiunilor AP în conformitate cu structura logică creată prin Grafcet se asociază fiecărei etape o variabilă internă de memorie care va fi imaginea stării etapei în program şi se respectă regulile menţionate anterior care conduc la ecuaţia generală:
E i E i 1 E i 1 C i Ei
(6.24)
unde Ei este etapa următoare etapei Ei-1 considerată activă; Ei+1 – etapa următoare etapei Ei considerată inactivă; Ci – receptivitatea asociată tranziţiei de la etapa Ei-1 la etapa Ei. Exemplul 9. Se consideră un post robotizat format dintr-un robot, o masă rotativă indexată cu patru puncte de lucru P0-P3 şi două transportoare tip bandă rulantă, figura 6.57. Robotul preia semifabricatele încălzite la 300 C de pe transportorul 1 şi le depune pe masa indexată dacă postul P0 este liber. Masa rotativă permite rotiri cu câte 90 astfel încât semifabricatul trece succesiv prin posturile: P1 – presare la cald, P2 – găurire, P3 – poansonare cod fabricaţie. Blocarea mesei rotative în poziţie de lucru se realizează cu un cilindru pneumatic. Piesele prelucrate sunt preluate de robot din postul P0 şi depuse pe transportorul 2. Controlul postului este asigurat de un automat programabil cu 32 I/O, ce controlează funcţionarea mesei rotative şi a transportoarelor şi care lucrează în ciclu sincronizat cu robotul. Y5.1 Y4.2 Y4.1 Y5.2
S4.1
S4.2
S5.2 S3.2
P2
S5.1
Y3.2 Y3.1
90
S6.2 S6.1
Y6.1 Y6.2
S8
S3.1
S6.1
P1 S2.1
P3 S2.2 S1.2 Y1.1
S1.1
Y1.2
P0 M1
M2
S9
S7
Robot Flux semifabricate
Flux piese prelucrate
Fig. 6.57. Elementele auxiliare ale unui post de prelucrări mecanice robotizat
Y2.2 Y2.1
342
6. Comanda roboţilor
Modul de alocare a variabilelor de intrare – ieşire şi funcţiile îndeplinite de senzorii şi elementele de execuţie din sistem sunt prezentate în Tabelul 6.12.: Tabelul 6.12. Alocare variabile I/O Simbol în Variabilă Funcţie în proces schema electrică I/O S1.1. I000 Confirmare rotire masă indexată cu 90 S1.2. I001 Confirmare retragere cilindru rotire masă S2.1. I002 Confirmare indexare (blocare) masă în poziţia de lucru S2.2. I003 Confirmare deblocare masă rotativă S3.1. I004 Confirmare presă ridicată S3.2. I005 Presostat confirmare presiune maximă de presare S4.1. I006 Confirmare post presare avansat (în poziţie de lucru) S4.2. I007 Confirmare post presare retras S5.1. I008 Confirmare post găurire avansat S5.2. I009 Confirmare post găurire retras S6.1. I010 Confirmare post poansonare avansat S6.2. I011 Confirmare post poansonare retras S7 I012 Confirmare prezenţă semifabricat la încărcare S8 I013 Confirmare prezenţă piesă în post P0 după încărcare/ la descărcare S9 I014 Confirmare prezenţă piesă prelucrată pe transportor după descărcare I020 Confirmare robot în poziţie de aşteptare Y1.1. O000 Comandă distribuitor pneumatic rotire masă rotativă Y1.2. O001 Comandă retragere cilindru rotire masă Y2.1. O002 Comandă indexare (blocare) masă în poziţia de lucru Y2.2. O003 Comandă deblocare masă rotativă Y3.1. O004 Comandă ridicare presă Y3.2. O005 Comandă presare semifabricat Y4.1. O006 Comandă avans post presare (în poziţie de lucru) Y4.2. O007 Comandă retragere post presare Y5.1. O008 Comandă avans post găurire Y5.2. O009 Comandă retragere post găurire Y6.1. O010 Comandă avans post poansonare Y6.2. O011 Comandă retragere post poansonare M1 O012 Comandă motor acţionare transportor semifabricate M2 O013 Comandă motor acţionare transportor piese prelucrate O020 Autorizare ciclu 1 robot (încărcare semifabricat) O021 Autorizare ciclu 2 robot (descărcare piese prelucrate) T000 Temporizare TMON=6s, timp funcţionare transportor 2 Pentru desfăşurarea în bune condiţii a ciclului de automatizare este necesar ca programul AP să respecte următoarele condiţii: comanda rotirii mesei O000=1 nu poate fi făcută până când nu există confirmarea că s-a facut deblocarea sa I003=1 şi unităţile de prelucrare sunt retrase I007, I009, I011=1; avansul unităţilor de prelucrare nu poate fi făcut decât dacă masa este indexată şi este confirmată de către unitatea de comandă a robotului poziţia de aşteptare a acestuia I020=1; încărcarea pieselor semifabricat în postul P0 nu poate fi făcută decât dacă masa rotativă este blocată, există confirmarea că s-a depus piesa prelucrată anterior pe banda transportoare, I014=1, nu există piesă semifabricat I013=0, s-a emis de către AP autorizarea pentru ciclul de manipulare piese O020=1 şi există piesă semifabricat pe banda transportoare I012; Având în vedere condiţiile menţionate, în figura 6.68. se prezintă programul de control al dispozitivelor auxiliare prin utilizarea metodei Grafcet. S-a prezentat numai modulul de funcţionare în ciclu automat.
343
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
0 I020 Fază iniţializare: O003, O004, O007, O009, O011=1
1
I003I007I009I011I012 Rotire masă O000=1 (Y1.1)
2
I000I003 Indexare masă O002=1 (Y2.1)
3
I000I002 I013
I013I014
4
Autorizare ciclu 2 robot O021=1 (M1) I014I020 Pornire transportor2 O013=1 (M2)
5
Pornire transportor1 O012=1 (M1)
6 I012
7
T000
6-7
Oprire transportor O012=0; Autorizare ciclu 1 robot O020=1 I013I020
Încărcare semifabricat în P0
I013I020
1-3
Rotire – indexare masă rotativă
I000I002
8
Avans presă O006=1
9
10
I008
I004I006
11
Avans găurire O008=1
Avans poanson O010=1 I010
Presare O005=1 I005
12
Ridicare O004=1 I004
13
Retragere presă O007=1
11
I007
Retragere găurire O009
Retragere poanson O011=1 I011
I009
16
15
Reset Watchdog timer
Fig. 6.58. Digrama Grafcet pentru modulul de funcţionare în ciclu automat (parţial) Modulele de funcţionare în ciclu manual şi avarie necesită definirea unui număr suplimentar de variabile şi în general pot avea o complexitate mai mare decât a modulului aferent funcţionării în ciclu automat deoarece trebuie să răspundă unui număr mult mai mare de situaţii (faze) posibil de întâlnit în practica de exploatare.
330
6. Comanda roboţilor
6.4.3. Principii de programare a automatelor programabile Rularea ciclică a programului aplicaţie în automatele programabile a impus folosirea unor principii de programare diferite de cele utilizate în mod curent de informaticieni chiar dacă, în prezent, setul de instrucţiuni al ambelor sisteme este foarte apropiat Automatele programabile dispun de un set de instrucţiuni de bază foarte puternic (chiar pentru seriile microAP) care totalizează 100…150 funcţii, la care se adaugă în funcţie de clasă şi echipare noi instrucţiuni specifice modulelor specializate. Primul limbaj de programare dezvoltat de constructorii de AP a fost limbajul cu contacte care este utilizat şi în prezent datorită similitudinilor cu schemele electrice de acţionare, fapt ce facilitează exploatarea şi înţelegerea programului de un personal fără pregătire superioară. Funcţiile logice realizate tradiţional prin conexiuni complexe între diversele contacte ale echipamentelor electrice sunt înlocuite prin funcţii logice stabilite între variabile de program, cărora li se asociază stările mărimilor fizice din procesul controlat. Mărimile din proces sunt variabile de intrare I, variabie de ieşire O, variabile interne de memorie M, contoare de evenimente C, canale de temporizare T, regiştri de date R, la care se adaugă variabilele de sistem S proprii automatului, fiecare având un rol funcţional bine precizat şi stabilit de proiectant în tabelul de alocare variabile conform exemplului prezentat în Tabelul 6.5.: Exemplul 1. Modul de organizare şi asociere a variabilelor din programul AP. Tabelul 6.5. Tabel alocare variabile Simbol aparat Variabilă Date în schema asociată variabilă electrică S1 I000 1 bit (hard) … … S23 I035 1 bit (hard) I035…I048 K1 O000 1 bit (hard) … … Y1 O011 1 bit (hard) O012…O016 C000… 16 biţi (soft) C008…C255 T000… 16 biţi (soft) M000… 1 bit (hard) S50 R000… 10 biţi (hard) P1 V6 …
S000… AI001… AO001… …
1 bit 16 biţi (hard) 16 biţi (hard)
Rol funcţional în proces/program
Selector ciclu funcţionare în mod Manual … Senzor confirmare prezenţă piesă în post găurire Neutilizat Contactor trifazat pornire motor bandă rulantă M1 … Distribuitor hidraulic rotire masă transfer flux1 Neutilizat Contor (înainte) numărare piese bune Neutilizat Temporizator (acţionare) impuls ungere ghidaj Stare intermediară avarie sistem ventilaţie Valoare digitală poziţie masă indexată1 (freze) de la traductor absolut poziţie Indică baterie descărcată CPU – setări firmă Intrare analogică senzor temperatură cuptor1 Ieşire analogică prescrisă turaţie motor avans6 Continuare
Tehnica limbajului cu contacte conduce la diagrame în scară (Ladder Diagram) simplu de înţeles, de urmărit ca funcţii logice şi în consecinţă uşor de depanat. Scrierea programului se face linie cu linie de la stânga la dreapta şi în ordinea execuţiei. Pentru
331
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
editarea programului se utilizează programe de firmă (firmware) care au capacitatea de detectare a erorilor, permit inserarea de comentarii pentru a facilita înţelegerea intenţiilor programatorului şi pot efectua translarea automată a schemelor logice cu contacte în instrucţiuni specifice automatului (Instructions List). Principalele funcţii logice (Bit Operation Functions) şi semnificaţia lor sunt prezentate în Tabelul 6.6. Tabelul 6.6. Principalele funcţii logice utilizate pentru programarea AP Simbol electric Simbol AP Simbol AP Semnificaţie în program Ladder Diagram Instructions List S1
S4
S1
I001
LOAD I001
Încărcare acumulutator cu starea variabilei (de tip I, O, C, T, M, R, S)
I004
LOAD NOT I004
Încărcare acumulutator negată a variabilei
S1
I001
KT2
T002 I001
K2
condiţie R001 R002
E
OK
IN1
M001
SHIFTL WORD
OK
IN
B1
condiţie R001 NB 3 (R042)
B2
M002
ROR WORD
E
NB 5
R002
Q
N
condiţie R001
R003
Q
LOAD I001 AND M002 LOAD R001 XOR R002 OUT R003
starea
SAU logic între varibile binare (word), rezultatul memorat în acumulator (registru date) ŞI logic între variabile binare (word), rezultatul memorat în acumulator (registru date) SAU EXCLUSIV între variabile word, rezultatul memorat în registrul R003
IN2
E NB 3
M002
XOR WORD
condiţie R001
LOAD I001 OR T002
cu
IN
OK Q
R002
LOAD condiţie SHIFTL R001 003 OUT R002
LOAD condiţie ROR R001 005 OUT R002
N
SET BIT WORD
E
OK
IN BIT
LOAD condiţie SETBIT R001 003 CLEARBIT R001 005
Activare în 1 logic/ştergere 0 logic, a bitului variabilei word de la intrarea IN, menţionat prin valoarea constantei sau conţinutul registrului de la intrarea BIT.
vezi exemplul 3
Comutator secvenţial cu deplasare în funcţie de intrarea DIR. Bitul precizat de valoarea intrării STEP este setat în 1 iar ceilalţi biţi ai registrului de lucru de la ST sunt setaţi în 0. Deplasarea bitului activ în R006 se face în limita valorii registrului de control R031=10
BIT SEQ 10
condiţie E OK M001 R M002 DIR NB2 STEP R006 ST R030…R032
Deplasare stânga/dreapta a biţilor unei variabile word (16 biţi) prezente la intrarea IN cu un număr de poziţii dat de constanta de la intrarea N. Starea bitului ce intră în registru este la B1 iar a ultimului bit ieşit este la B2. Rezultatul este memorat în R002. Rotire stânga/dreapta a biţilor variabilei word de la intrarea IN cu un număr de poziţii dat de constanta de la intrarea N. În cazul ROR, bitul ce iese din registru (LSB) este introdus prin partea opusă a acestuia (MSB). Rezultatul este memorat în R002.
332
6. Comanda roboţilor
Exemplul 2. Blocul reprezentat de funcţia logică XOR WORD realizează funcţia SAU EXCLUSIV între cuvintele de memorie aflate la adresele R001 şi R002, de fiecare dată când condiţia I001= 1 este adevărată. Rezultatul procesat este memorat în locaţia de memorie cu adresa R003. De la un ciclu la altul conţinutul locaţiilor de memorie aflate la adresele R001 şi R002 se poate schimba.
XOR WORD
I001 E
R001 R002
Conţinut memorie RAM
OK
IN1
R001 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 R002 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 1
R003
Q
R003 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0
IN2
Fig. 6.46. Funcţia logică SAU EXCLUSIV Exemplul 3. Realizarea unui comutator secvenţial pas cu pas ce setează succesiv, în mod sincron, biţii registrului de lucru R006 care activează canalele de ieşire asociate elementelor de execuţie ce comandă un manipulator. Blocul comutator este activat de un semnal de tact Q000 provenit de la un generator de impulsuri cu frecvenţa reglabilă (vezi exemplul 6). Semnalul de pornire în ciclu este dat de intrarea I000 activată la apăsarea butonul de start (fără reţinere) şi care produce resetarea biţilor registrului de lucru R006 mai puţin a bitului 1 care este setat în starea 1 logic. Modul de parcurgere a sucesiunii de mişcări este determinată de activarea/dezactivarea variabilei de memorie M002, care asigură incrementarea/decrementarea pasului curent, memorat în registrul de control pas curent R030. Acest registru poate fi setat ca retentiv astfel încât la oprirea manipulatorului, poziţia curentă (numărul pasului) este salvată în memoria de date. La pornire, valoarea acestui registru este transferată automat intrării STEP prin care se setează numărul pasului de pornire (prin definiţie este 1). Numărul de paşi este stabilit de valoarea registrului de control mărime secvenţă paşi R031=10. Q000
I001 – confirmare rotire stânga axa 1; I002 – confirmare ridicare axa 2; I003 – confirmare avans axa 3; … I010 – confirmare rotire dreapta axa 1.
BIT SEQ 10
E
OK
I000 R
M002 DIR STEP
R006
R006.1
I001
ST
R030…R032 Q001 Rotire stânga axa 1
R006.2
I002
Q002 Ridicare axa 2
R006.3
I003
Q003
R006.10
I010
Q010
Avans axa 3
Rotire dreapta axa 1 6.47. Comutator secvenţial pas cu pas utilizat pentru comanda unui manipulator automat
333
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
Funcţiile de ieşire (Relay Functions) asigură activarea canalelor de ieşire prin intermediul cărora sunt comandate elementele de execuţie: bobine contactoare, relee, bobine distribuitoare hidraulice, pneumatice, servomotoare, lămpi semnalizare. În procesul de automatizare este uneori necesar să se menţină starea variabilelor de ieşire şi la apariţia unei situaţii de avarie determinată de întreruperea alimentării cu energie sau la modificarea modului de funcţionare Run – Stop – Run. Pentru aceste situaţii este posibil să se reţină starea variabilelor de ieşire prin setarea acestora de tip retentiv. Starea curentă a variabilelor retentive (numai de tip O, M, R, AO) este salvată în memoria de date protejată, prin alimentarea de la o sursă suplimentară sau supercapacitor ce asigură o autonomie de câteva luni. Tabelul 6.7. Principalele funcţii de ieşire utilizate pentru programarea AP Simbol electric Simbol AP Simbol AP Semnificaţie în program Ladder Diagram Instructions List
K1
TIP
OUT O001
Activare variabilă ieşire asociată (O, M, S, R, G) fără reţinere stare în memorie după oprire sau defect PLC
OUT R001
Activare variabilă ieşire asociată cu reţinere stare în memorie după oprire sau defect PLC (variabilă tip retentiv)
OUT O001
Activare variabilă ieşire asociată dacă în ciclul anterior condiţia de activare a fost 0 iar în ciclul curent este 1
O001
M R001
Word data
Traductor poziţie
O001
Activare variabilă ieşire asociată dacă în ciclul anterior condiţia de activare a fost 1 iar în ciclul curent este 0 Activare variabilă ieşire asociată pe condiţia de activare şi menţinere până la o comandă RESET Dezactivare variabilă ieşire asociată pe condiţia de activare şi menţinere până la o comandă SET
OUT O001 O001 S H1
Avarie răcire
R H1
Avarie răcire
SET M003
M003
RST M003
M003
Exemplul 4. Comanda şi protecţia termică a unui motor electric de curent continuu. Pornirea motorului se face prin acţionarea butonului S1 căruia i s-a asociat variabila de intrare I000 şi activarea ieşirii O000 ce alimentează bobina contactorului K1. Oprire motorului se face la acţionarea butonul S2 (I001) sau la suprasarcină când se activează automat protecţia termică F2(I002). I000 S1
K1
I001
I002
O000
F1 O000
S2
K1
F2
F2 K1
M =
M1
00 LOAD I000 01 OR O000 02 AND NOT I001 03 AND NOT I002 04 OUT O000
Acţionare buton pornire S1 (intrare I000); SAU automenţinere prin ieşire O000; ŞI neacţionare buton stop S2 (intrare I001); ŞI neacţionare protecţie termică F2 (intrare I002); Alimentare bobină releu K1 (activare ieşireO000).
Fig. 6.46. Diagrama cu contacte şi secvenţa de cod pentru programul de comandă a unui motor
334
6. Comanda roboţilor
Dezvoltarea programelor complexe necesită utilizarea unor funcţii de control a derulării fluxului de instrucţiuni (Control Functions). Acestea au rolul de a simplifica operaţiile de programare, oferă claritate şi posibilităţi sporite de implementare şi depanare a aplicaţiilor. Tabelul 6.8. Principalele funcţii de control utilizate pentru programarea AP Simbol electric Simbol AP Simbol AP Semnificaţie în program Ladder Diagram Instructions List Funcţia asigură citirea la cerere, pe DO IO parcursul unui ciclu, a unui grup de condiţie intrări sau ieşiri începând de la adresa OK I007 indicată la ST şi până la cea indicată ST DO IO la END. Dacă este specificată o adresă I011 END la ALT noile valori ale intrărilor sunt M001 ALT memorate aici, sau pentru ieşiri sunt (R001) transferate de aici. Execuţia unei subrutine Sub1 urmată CALL LOAD I001 de revenirea în program la Sub1 CALL Sub1 I001 instrucţiunea următoare Salt codiţionat de starea variabilei >> eticheta1 LOAD I001 I001, peste un număr de instrucţiuni, JMP eticheta1 I001 până la adresa menţionată Lansarea condiţionată în execuţie a MCS 4 LOAD I002 secvenţei de control numărul 4 (set MCSn Secvenţă MCS 4 instrucţiuni), la activarea variabilei de I001 automatizare n = 0…7 intrare I002 Secvenţă … Marcarea sfârşitului secvenţei de ENDMCSn automatizare OUT O022 control numărul 4 n = 0…7 ENDMCS 4 ENDMCS 4 END
END
Marcarea sfârşitului de program
Exemplul 5. Secvenţa de control MCS0 este activată de intrarea I000 şi determină execuţia condiţionată a instrucţiunilor care urmează până la ENDMCS0. În lipsa condiţiei de validare, instrucţiunile sunt executate cu dezactivarea ieşirilor (Q001 = 0) mai puţin pentru canalele de ieşire cu stare setată care îşi menţin starea (dacă Q002 este setată activă, rămâne Q002 = 1). I000
MCS 0
Condiţie activare secvenţă MCS0, I000=1 Q001
I001
Q001=I000*I001 I002
Q002
T003
S ENDMCS 0
Q002=1 Sfârşit secvenţă control MCS0
Fig.6.49. Diagrama cu contacte pentru o secvenţă de control
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
335
Pentru controlul unor etape ale proceselor de automatizare foarte important este controlul precis al timpului cât acestea sunt active sau inactive. Din acest motiv automatele programabile dispun de diverse tipuri de canale de temporizare a căror bază de timp poate fi setată într-un interval larg: 0,01 s…1 (60) s. Pentru numărarea evenimentelor din proces (număr de cicluri, piese bune, piese rebut, , etc.) se utilizează contoare de evenimente cu numărare într-o singură direcţie (înainte sau înapoi) respectiv cu numărare în ambele direcţii (la evaluarea numărului de paşi elementari efectuaţi în operaţiile de poziţionare a axelor ). Tabelul 6.9. Principalele funcţii de temporizare, numărare utilizate pentru programarea AP Simbol electric/ Simbol AP Simbol AP Semnificaţie în program Ladder Diagram Instructions List Semnal T_xxxx
Tciclu AP
T1
T2
LOAD T001_10MS Impuls cu durată fixă şi DA = 50 %: OUT Q011 (5 ms) 0,01 s; 0,1 s; 1 s; 60 s. Q011 T001_10MS Impuls activat pe frontul D LOAD I020 crescător/descrescător al unei D Q011 I020 Q011 variabile (senzor activ un timp foarte scurt – risc să nu poată fi citit). DNOT LOAD I020 Impulsul este valid numai pe durata D NOT Q011 I020 Q011 ciclului în desfăşurare. TON Canalele de temporizare (TON, 0,1x40 LOAD I003 condiţie TOFF, TMR, TMON) generează un TON T001 Q anumit tip de întârziere, faţă de condiţie 40 R momentul validării condiţiei de 17 40 LOAD T001 PV CV declanşare, dat de baza de timp OUT Q005 T001 selectată şi valoarea presetată PV. Contoarele cu numărare înainte, înapoi sau în inel, numără CTU LOAD I008 evenimentele pînă la valoarea (CTD;CTR) condiţie CTU C001 presetată PV, moment în care este UP/D Q M003 10 activată ieşirea Q. Resetarea R 3 10 LOAD C001 contorului se face la activarea intrării PV CV OUT Q005 R sau la depăşirea valorii setate C001 (CTR). Ieşirea CV contorizează valoarea curentă din numărător. CTUD
condiţie1
Q
UP
condiţie2 D M004 20
R PV
CV
8
LOAD I000 AND NOT I001 CTUD C002 20 LOAD C002 OUT Q005
Contoarele cu numărare înainte şi înapoi, numără evenimentele într-un sens sau celălalt în funcţie de condiţia de intrare activată. Dacă valoarea presetată PV este egală cu valoarea numărată se activează ieşirea Q.
LOAD I001 HSC Q001
Numărătoarele de mare viteză HSC utilizează o intrare de numărare C pentru semnale de frecvenţă ridicată (10 kHz) şi o ieşire Q activată în funcţie de modul de lucru setat prin programarea registrelor: limite de numărare LL, HL, valoare activare ieşire ONP, valoare dezactivare OFFP, bază timp TB, presetare PV
C002
condiţie R001 R002 R003
HSC
C Q R004 LL ONP R005 HL OFFP R006 PV TB AR030
336
6. Comanda roboţilor
Exemplul 6. Realizarea unui generator de semnal cu factor de umplere reglabil prin utilizarea unui canal de timp cu temporizare la acţionare T001 (reglează timpul t1) şi a unui canal de timp cu temporizare la revenire T002 (reglează t2). T001 T002
I000
TON 0,1x40
Q condiţie
T002
T001
TOFF 0,1x20
40
R PV
CV
Q condiţie 40
R PV
CV
Q001
T002
LOAD I0 ANDNOT T2 TON T1 40 LOAD T1 TOFF T2 20 LOAD T2 OUT Q1 END
Validare generator semnal; Condiţie lansare temporizare T1; Setare parametri canal temporizare T1 la 4 s; Citire stare canal timp T1; Setare parametri canal temporizare T2 la 2 s; Citire stare canal timp T2; Validare ieşire dacă T2=1; Sfârşit program.
END Fig.6.50. Diagrama cu contacte şi secvenţa de cod pentru un generator de semnal
Operaţiile matematice sunt indispensabile în realizarea programelor complexe care necesită efectuarea unor calcule pentru determinarea deplasărilor reale, calculul adaptiv al parametrilor de proces prin utilizarea unor formule fizice, etc. Unitatea centrală a automatelor programabile actuale dispune de funcţii matematice suficient de puternice astfel încât să execute calculele solicitate în controlul proceselor de automatizari industriale. Tabelul 6.10. Principalele funcţii de matematice utilizate pentru programarea AP Simbol electric Simbol AP Simbol AP Semnificaţie în program Ladder Diagram Instructions List Funcţiile matematice standard sunt: Adunarea (ADD) , Scăderea (SUB), ADDINT Înmulţirea (MUL), Împărţirea (DIV), condiţie Calcul rest (MOD). La validarea QK LOAD I005 R003 condiţiei se efectuează operaţia asupra IN1 R023 ADD 10 operanzilor de la intrările IN1 şi IN2. Q IN2 Dacă rezultatul calculelor de la ieşirea Q se încadrează în domeniul de calcul se activează ieşirea OK. Funcţiile matematice speciale ASIN acţionează asupra unui singur condiţie operand: Radical (SQRT), Sinus QK LOAD I001 (SIN), Cosinus (COS), Tangentă ASIN (0.2) (TAN) şi inversele lor, Logaritm R023 0.2 Q IN (LOG), Exponenţială (EXPT), Conversie (RAD/DEG). SCALEINT
condiţie QK R120 IHI R121 ILO R122 R023 OHI Q R123 OLO AI004 IN
Funcţia Scalare (SCALE) măsoară domeniul de variaţie OHI, OLO, al unei mărimi analogice ce acţionează asupra intrării IN. Domeniul de lucru este definit de valorile IHI, ILO. Ieşirea Q conţine valoarea curentă.
6.4. Utilizarea automatelor programabile pentru comanda dispozitivelor auxiliare
337
Funcţile matematice operează numai cu operanzi de acelaşi tip (16 sau 32 biţi) iar rezultatele trebuie memorate în zone de memorie sau regiştri cu aceeaşi mărime, pentru care s-a precizat tipul de variabilă: tip întreg cu semn (INT), tip întreg cu semn în dublă precizie (DINT), tip real (REAL). Exemplul 7. Calculul restului REST împărţirii numărului de piese sortate şi verificate NSORT, aflate în containerul de ambalare, la numărul de piese dintr-o cutie de ambalaj NCUTIE. Rezultatul împărţirii este memorat în registrul R023 utilizat ca valoare presetată pentru numărătorul înainte C001 care numără (intrarea I022) cutiile ambalate ce trec spre magazia de stocare. Valoarea curentă a cutiilor ambalate este stocată în memoria cu reţinere M041. Sfârşitul fazei de ambalare este semnalizat de activarea ieşirii Q021 care permite trecerea la faza următoare a procesului. DIVINT
MODINT
T001 NSORT NCUTIE
NSORT
IN1 IN2
NCUTIE
REST
Q
IN1 IN2
Q
R023
Q021
CTU
I022
Calculul numărului de cutii R023 şi al piselor bune neambalate REST;
QK
QK
Q
Sfârşit fază curentă de ambalare;
UP M003 R023
M041
R PV
4
CV
M
Numărare cutii ambalate stocate în magazie;
C001
END Fig.6.51. Diagrama cu contacte pentru o secvenţă de calcule matematice
Utilizarea senzorilor inteligenţi, a modulelor inteligente, a sistemelor de comunicaţie prin reţele industriale presupune şi realizarea schimbului de date, procesate în diverse formate, între aceste module şi unitatea centrală. Funcţiile care facilitează şi controlează transferurile de date sunt Funcţiile de Transfer Date (Move Data). Tabelul 6.11. Principalele funcţii pentru transferul datelor utilizate la programarea AP Simbol electric Simbol AP Simbol AP Semnificaţie în program Ladder Diagram Instructions List condiţie
R020
condiţie CON1 CON2 CON3 CON4 CON5 CON6 CON7
MOVE WORD 2
QK
IN
Q
R030
LOAD I005 MOV R020 R030
Funcţia Deplasează date (MOVE xxxx), copie o dată (în format bit) dintr-o locaţie de memorie specificată la intrarea IN în locaţia de destinaţie specificată la ieşirea Q.
BLKMVINT
QK IN1 IN2 IN3 IN4 IN5 IN6 IN7
Q
R023
LOAD I001 BLKMV R023
Funcţia Deplasează bloc (BLKMV INT) copie un bloc de date format din şapte constante, de la intrările IN1...IN7, în locaţiile de memorie corespunzătoare, începând cu locaţia de memorie indicată la ieşirea Q.
338
6. Comanda roboţilor
condiţie R020
BLKCLR WORD
LOAD I001 BLKCLR R020
QK IN
Bloc comandă (IN): COMM REQ
condiţie
adr lungime bloc adr+1 cu/fără confirmare adr+2 stare pointer mem. adr+3 offset adr+4 timp stare activă adr+5 timp comunicaţie adr+6 date transmise … adr+133
C R001 R002 R003
IN
FT
SYSID TASK
Funcţia Şterge bloc (BLKCLR WORD) şterge datele din memorie începând de la adresa indicată la intrarea IN, pe o lungime egală cu valoarea de definiţie a variabilei. Această funcţie asigură comunicaţia UC cu modulele specializate. La validarea funcţiei, blocul de comandă a cărui adresă de început se găseşte la intrarea IN este transmis către modulul a cărui adresă (rack/slot) este specificată la intrarea SYSID. Portul utilizat pentru comunicaţie este specificat la intrarea TASK. O eroare de comunicaţie activează ieşirea FT.
Programarea automatelor programabile cu GRAFCET. Funcţiile prezentate reprezintă baza minimă de plecare în programarea automatelor programabile. Utilizarea convenabilă a acestora permite rezolvarea majorităţii problemelor legate de contolul proceselor simple de automatizare. În cazul proceselor complexe care utilizează AP din clasa superioară cu sute sau mii de canale I/O, metodele de sinteză minimală a funcţiilor logice (metoda Huffman), aplicabile în cazul proceselor simple, devin inoperabile datorită faptului că preţul calculelor de minimizare nu este justificat prin căştigul realizat la nivelul economiei de resurse sau al simplificării înţelegerii funcţiilor de comandă. În plus, în prezent AP lucrează la viteze mari, dispun de o multitudine de funcţii performante (implementate software) care simplifică foarte mult sarcina programatorului, constrângerile acestuia şi conduc implicit la realizarea unor scheme simple, uşor de urmărit şi puţin probabil susceptibile unor operaţii de minimizare. Din păcate metodele intuitive de programare, utilizate de practicieni, sunt bazate pe experienţa acumulată şi ca urmare imposibil de generalizat sau transmis. Grafcet este o metodă grafică neminimală, sistematică, simplă şi operaţională de programare a AP bazată pe conceptul de etapă şi tranziţie. Prin etapă se defineşte o fază a procesului automat căreia i se poate asocia o acţiune stabilă asupra sistemului. O etapă este reprezentată printr-un dreptunghi numerotat şi un dreptunghi ce conţine un text care descrie acţiunea asociată. O etapă este activată dacă este îndeplinită condiţia din amonte, lucru marcat printr-un cerc plin, poziţionat în interiorul dreptunghiului numerotat ce indică faza, conform figurii 6.52.: I002M023T007
6
10
a.
b.
6
Pornire transportor motor M3
c.
Fig. 6.52. Tipuri de etape: a. etapă inactivă; b. etapă iniţială; c. etapă activă şi acţiunea asociată