Documente Academic
Documente Profesional
Documente Cultură
Comanda roboţilor
Curs 6
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.
magistrala de control
floppy-disk; Interfaţă
Interfaţă
imprimantă;
comunicaţie consolă programare;
video
Porturi RS232, I2C,
calculator central. SVGA, afişor
LPT, USB, LAN LCD, HMI
I/O digitale,
analogice
Sistem Senzori
control inteligenţi Meniu
Elemente control
externe de acţionări axe sonar, CCD, robot
execuţie forţă
Senzori externi
cu ieşiri digitale,
analogice
TP M
Unitatea centrală de procesare a datelor conţine cel mai important procesor (master) care
coordonează ansamblul sarcinilor executate de robot în timp ce controlul efectiv al unora dintre ele
este cedat total altor procesoare (microcontrolere, DSP) din sistemul de comandă. Caracteristicile
unităţii centrale, care poate fi şi un calculator IBM/PC, în ceea ce priveşte puterea de calcul, memoria,
arhitectura, sistemul de operare, depind esenţial de cerinţele impuse sistemului de comandă prin
sarcinile ce trebuiesc rezolvate de robot: comanda dinamică pe o traiectorie continuă a unui robot
necesită resurse de calcul mult mai importante decât o simplă comandă punct cu punct. Unitatea
centrală comunică cu diversele elemente ale sistemului de comandă prin intermediul magistralelor de
date şi adrese iar controlul şi sincronizarea funcţionării acestora este asigurată prin semnale de control,
emise pe magistrala de control, de şi către procesorul master. Magistralele interne (proprii
procesorului) permit schimbul local de date între blocurile componente ale acestuia iar prin
magistralele externe se asigură legăturile cu modulele de interfaţă specializate ce controlează şi asigură
schimbul de informaţii cu şi din mediul de lucru al robotului. Transferul fluxului de date între
procesorul master şi echipamentele externe se realizează în două etape succesive: procesor – interfaţă
specializată şi interfaţă specializată – echipament extern, conform unui protocol de comunicaţie
specific. Având în vedere diversitatea de echipamente externe cu care poate lucra un sistem robotizat
precum şi complexitatea acestora, modulele de interfaţă sunt uzual realizate în jurul unui procesor
specializat prevăzut cu memorie proprie şi care lucrează pe baza unui program ce asigură prelucrarea
primară a informaţiilor respectiv controlul protocolului de schimb de informaţii. Transferul de
informaţii de la echipamentele periferice către procesorul master se face în urma unor cereri de
întreruperi ale modulelor de interfaţă iar deservirea acestora se face de către procesor pe baza unui
protocol ce depinde de nivelul de prioritate al solicitării (stabilit prin program). Nivelul maxim de
prioritate corespunde semnalelor ce provin de la elementele ce asigură securitatea personalului şi a
robotului.
Porturile I/O asigură preluarea datelor de la senzorii digitali sau analogici şi comanda unor
elemente de execuţie (leduri de semnalizare, relee, distribuitoare pneumatice, motoare) prin
intermediul unor module adaptoare de semnal. Porturile pot fi programate ca porturi de intrare sau ca
porturi de ieşire în funcţie de necesităţile de control ale 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 Computer) 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.
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:
RS 232C este un standard de comunicaţie serial asincron ce utilizează două linii de comunicaţie,
pentru legături în medii industriale, între echipamente situate la distanţe maxime de 15 m şi
pentru viteze de transmisie standardizate de 300,…1.200, 2.400, 4.800, 9.600 şi 19.200 biţi/s
(bauds) [GIOR90];
RS 485 este un standard serial de tip diferenţial simplex (ce permite transmiterea datelor într-un
singur sens şi elimină efectul perturbaţiilor industriale) asigurând conectarea la un emiţător a
maxim 10 receptori printr-o linie cu trei fire cu lungimea maximă de 1.200 m şi pentru viteze de
transmisie de 10 Mb/s;
I2C este un standard dezvoltat de firma Philips pentru interconectarea facilă a unei clase de
circuite integrate specializate (peste 150 de tipuri) dedicate controlului inteligent al aplicaţiilor;
magistrala ce conţine o linie serială de date SDA şi o linie de ceas SCL permite adresarea
software a fiecărui cip şi transferuri bidirecţionale de date la viteze de 100 kb/s;
USB 2.0 este un standard avansat de comunicaţie serială ce simplifică conectarea echipamentelor
periferice, senzorilor inteligenţi şi permite viteze de transmisie de 240 Mb/s prin utilizarea a 4
linii (două pentru alimentare şi două pentru date);
IEEE 488 este un standard de comunicaţie de tip paralel, de mare viteză ce utilizează un număr
de 24 linii (8 pentru date, 8 de control), permiţând interconectarea a maxim 31 periferice (uzual
este portul pentru imprimantă);
reţele industriale de comunicaţie omogene, funcţionează cu un singur protocol de comunicaţie
permiţând racordarea diferitelor echipamente inteligente (elemente de execuţie, senzori,
echipamente de supraveghere şi control) ale aceluiaşi constructor, răspunzând în mod adecvat
cerinţelor unui mediu industrial în ceea ce priveşte protecţia la perturbaţii, posibilitatea de
extindere; dintre cele mai importante standarde de comunicaţie de acest tip se pot enumera:
Modbus (cel mai utilizat standard, dezvoltat de firma Modicon), Jbus (April), Data Highway
(Allen Bradley), Telway 7 (Telemecanique), Genius (General Electric Fanuc);
reţele industriale de comunicaţie heterogene care permit interconectarea, prin intermediul unor
module adaptoare, într-o reţea locală (de întreprindere) a unui număr important de echipamente
de automatizare (echipamente CNC, roboţi, PLC, senzori inteligenţi) de producţie diferită şi
având implementate standarde diferite de comunicaţie; cele mai utilizate standarde de reţea sunt
Ethernet, MAP (Manufacturing Automation Protocol) dezvoltat de General Motors special
pentru utilizare în mediul industrial, Device Net, Control Net, Profibus DP, CANopen.
PLC
PLC
ISA/ Data
PC104 Highway
0,23 Mb/s
Profibus – DP (12 Mb/s) Device Net (0,5Mb/s)
a. b. c.
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)
consolă de programare
260 6. Comanda roboţilor
Sistem control
supervizor
comandă
- LAN;
Magistralǎ de comunicaţie - Ethernet;
industrialǎ - radio;
- GSM.
IBM/PC
Unitate centralǎ P
comunicaţie
Floppy-disk
Imprimantǎ
RS 232
Porturi
USB
IrD
Program Program
utilizator firmǎ
ROBOT
qr
Controler robot C -
+
instrucţiuni/date Comandǎ axe
RS232C q*
Modul I/O
Sistem
I acţionare
eforturi
parazite
O
Control
manual axe
Spaţiu lucru Mecanică
programare
robot axe
Traductoare
axe
a. b.
Fig. 6.20. a. Canal de intrare; b. canal de ieşire
262 6. Comanda roboţilor
Program 3. Acest program este rezident în memoria microcontrolerului. Generarea de semnale PWM
pentru comanda motoarelor de curent continuu ale unui robot prin utilizarea canalului
de temporizare T0
1 ms
PWM0=R7 (A); 221
0000H
P1.0
Viteză motor 0
P1.1
Viteză motor 1
Fig. 6.22. Principiul de generare a semnalelor PWM cu T0 pentru controlul vitezei axelor
264 6. Comanda roboţilor
//Canalul temporizare T1 este folosit de portul serial pentru generarea frecvenţei de comunicaţie –
subrutina nu este prezentată în acest program
begin:
CLR A ;Ştergere conţinut acumulator A=00h
MOV TMOD,#22h ;Setare T0, T1 în mod temporizator pe 8 biţi cu autoîncărcare (mod2)
MOV IE,#10010010b ;Validare cereri întreruperi EA=1,pentru ES=1, ET0=1
SETB TR0 ;set bit TR0=1 din TCON, start timer 0
SETB TR1 ;set bit TR1=1 din TCON, start timer 1 pentru comunicaţie serială
MOV P1,#0h ;Şterge biţi port P1=00000000
CLR cpwm0 ;Şterge bit P1.0=0, canal PWM motor 0
CLR cpwm1 ;Şterge bit P1.1=0, canal PWM motor 1
start:
MOV PWM0,#0ddh ;Transfer în memoria internă valoare viteză motor 0 (11011101=221)
MOV PWM1,#0f0h ;Transfer în memoria internă valoare viteză motor 1 (10000000=128)
SJMP start ;Buclă infinită în aşteptarea cererii de întrerupere de la T0 după 1 ms
pwms:
MOV PWM_swap,A ; PWM_swap=A=0
MOV TH0,#0e4h ;Încărcare TH0 cu val. autoîncărcare 228 (1028 Hz), la 11,059 MHz
DJNZ R7,adr1 ;Decrementează R7 (valoare iniţială 255) cu o unitate şi salt la adr1
dacă R70
SETB cpwm0 ;Setează bit P1.0=1, canal PWM motor 0
SETB cpwm1 ;Setează bit P1.1=1, canal PWM motor 1
6.2. Arhitectura generalǎ a sistemului de comandǎ 265
RETI
adr1: XCH A,R7 ;Schimb date A R7
CJNE A,PWM0,adr2 ;Compară valoare A şi PWM0 şi salt la adr2 dacă sunt diferite
CLR cpwm0 ;Şterge bit P1.0=0, canal PWM motor 0
adr2: CJNE A,PWM1,adr3 ;Compară valoare A şi PWM1 şi salt la adr3 dacă sunt diferite
CLR cpwm1 ;Şterge bit P1.1=0, canal PWM motor 1
adr3: XCH A,R7 ; Schimb date A R7, încarcă R7 cu valoarea anterioară minus 1
MOV A,PWM_swap
POP ACC Revenire la starea iniţială a CPU
POP PSW
RETI Revenire după cererea de întrerupere RETI
END
Structura mecanică A0
A1
R/W
RS
CI 5
11.059MHz C1620H-TR
V CC +5V
VCC VDD
XTAL1 XTAL2 V +5V
V0
Tp0…Tp5 10 K VCC VSS
AN0…AN6 +
10F
RST
5K 100nF P0 DB0…DB7
8.2K
VSS
8x10K
M0…M5 (A0/D0)
PWM0/P1.0 O0…O7
OUT1 IN1 6 . P0
IN2 SENS/P4.0 (A7/D7) CI 3
M0 CI7/2 P1 CI 2
74HC373 27C256
= L293 D
OUT2 E EA A0…A7
T0 CLK
T1
(A8..A15) P2 A8…A14
6
ALE CE
P4 A15 VPP
PSEN OE
CI 1 CI2/A0…A7 A0…A7
2 SAB 80C535
P2/A8…A12 A8…A12
P4
P0 I/O1…I/O8
CI 4
VCC HY6264A
S0…S2 3x10 K
P3.6/WR WE
P5.0 P3.7/RD OE
A15 CE2
P5.1 CE1
P5.2
RS232
P3.0/RxD R1OUT R1IN
P3.1/TxD T1IN T1OUT
VAREF VAGND -10V
Zona de lucru robot CI 6 1F
MAX232 +
+10V
+
100nF + C1 - + C2- 1F Vcc
1F
VAREF VAGND
+ +
1F 1F
Fig. 6.23. Arhitectura de bază pentru controlerul unui robot din generaţia I
6.2. Arhitectura generalǎ a sistemului de comandǎ 267
1
7 1 – afişaj LCD;
2 – memorii RAM, EPROM;
3 – C SAB80C535;
4 – butoane navigare meniu;
2 5 – port comunicaţie RS232;
6 – sursă alimentare;
7 – module interfaţă: intrări
3 analogice, modul ieşiri relee,
drivere motoare c.c.
4
6
5
În figura 6.25. se prezintă un robot din generaţia I, cu cinci axe acţionate de motoare de c.c.
comandate cu un controler monoprocesor (80C31). Poziţia axelor este determinată cu traductoare
incrementale astfel încât precizia robotului este de 0,5 mm. Programul principal (firmware) al
robotului şi programul utilizatorului sunt rulate într-un calculator IBM/PC ce comunică cu controlerul
robotului prin portul serial RS232.
a. b.
Fig. 6.25. Robot din generaţia I, Eshed Robotec:
a. sistemul robotizat; b. controlerul monoprocesor