Sunteți pe pagina 1din 12

256 6.

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.

Unitatea centrală de Generator RAM EPROM sau


procesare semnale HDD
ceas Memoria de date Programe firmă
P centrală şi aplicaţii

magistrala de date D0…Dx

magistrala de control

magistrala de adrese A0…Ay

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

Fig. 6.5. Arhitectura generală a unui sistem de comandă pentru roboţi


6.2. Arhitectura generalǎ a sistemului de comandǎ 257

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.

1 – unitatea centrală a PLC;


6 2 – modul I/O;
3 – conector universal;
1 4 – Bus sistem (fund de sertar);
5
5 – borne conexiuni modul I/O;
2 6 – capac de protecţie cu etichete.

Fig. 6.6. Automatul programabil din sistemul de comandă a roboţilor GE Fanuc


258 6. Comanda roboţilor

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.

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
6.2. Arhitectura generalǎ a sistemului de comandǎ 259

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. Pentru asigurarea unui comportament dinamic şi a unei precizii
adecvate a mişcărilor axelor este necesar ca acest algoritm să fie parcurs cu o rată de ordinul
milisecundelor ceea ce necesită un volum de calcul apreciabil. Ca urmare procesorul master este
încărcat numai cu calculele ce vizează determinarea prescriselor de poziţie şi viteză pentru dispozitivul
efector astfel încât să se asigure deplasarea pe traiectoria dorită, ducerea punctuală la îndeplinire a
fiecărei sarcini elementare de deplasare revenind sistemului cu microcontroler (numit şi controler de
robot).

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

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;
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

Fig. 6.17. Arhitectura sistemului de comandă cu controler (elementele marcate)


6.2. Arhitectura generalǎ a sistemului de comandǎ 261

Controlerul robotului. Este un sistem cu microcontroler dezvoltat să lucreze sub


controlul unui calculator care conţine un program interpretor ce realizează translarea
instrucţiunilor program de nivel înalt în microinstrucţiuni în limbaj maşină ce pot fi
astfel executate de microcontroler.
Controlerul are rolul de a asigura controlul deplasărilor axelor în conformitate cu
vectorul de comandă q1 ...q m  , de a comanda diferitele elemente de execuţie şi de a
T

prelua starea traductorilor ce conlucrează cu robotul în cadrul procesului de


automatizare precum şi de a realiza comunicaţia cu terminalul de comandă manuală a
axelor respectiv cu nivelul ierarhic superior, calculatorul IBM/PC. Controlerul
robotului este realizat în jurul unui microsistem cu microcontroler. Deoarece resursele
de calcul şi memorie ale acestor microsisteme sunt limitate este necesar să se utilizeze
suplimentar un calculator (nu este livrat cu robotul) pe care să se ruleze programul de
firmă al robotului şi programul de aplicaţie al utilizatorului, programe stocate pe
unitatea hardisk. Calculatorul permite în plus (re)programarea robotului (realizarea
programului executabil al utilizatorului PRUTIL.exe) care constă în realizarea
fişierului de date DATA.var, ce conţine datele referitoare la punctele de oprire şi de
trecere precum şi a fişierului cu programul sursă PRUTIL.cod ce conţine instrucţiunile
specifice de limbaj înalt ce trebuiesc executate pentru realizarea sarcinilor cerute
sistemului de automatizare cu robot. Programarea robotului într-un limbaj de înalt
nivel, printr-o interfaţa de programare versatilă, un set de instrucţiuni apropiat
limbajelor uzuale (Pascal, C) facilitează accesul unor utilizatori cu cunoştinţe minime
de programare la resursele sistemului robotizat. Echipamentele periferice ale
calculatorului simplifică exploatarea sistemului de comandă permiţând şi legături cu
nivelele ierarhice superioare, prin intermediul magistralei de comunicaţie industrială,
pentru descărcarea din baza de date centrală a unor programe realizate şi testate în
afara sistemului prin simularea postului de producţie robotizat prin tehnici CAD.
Microcontrolerele dispun uzual de 4…6 porturi de intrări/ieşiri digitale pe 8 biţi şi
eventual de un port de intrări analogice pe 8 sau 10 biţi. Porturile digitale pot fi
programate ca porturi de intrare pentru a citi date de la senzori sau ca porturi de ieşire
pentru a se comanda diferite elemente de execuţie în mod direct sau prin intermediul
unor module adaptoare.
+5 V +V1 +V2
Interfaţă
T1
R1 Rs D1
A1 R2 IN1 A1
O1 R3
T1 OUT1
D1

Controler Senzor Controler Element execuţie

a. b.
Fig. 6.20. a. Canal de intrare; b. canal de ieşire
262 6. Comanda roboţilor

Canalele porturilor de intrare pot fi grupate pentru a permite preluarea datelor de la


traductoare digitale complexe cu ieşire pe mai mulţi biţi (ex.: traductoare de poziţie,
distanţă, busolă digitală).
Program 2. Program de citire a poziţiei unei axe (furnizate de un traductor de poziţie absolut 12 biţi
cod Grey cu ieşire serială pentru date)
+Vcc
DATA 8 A – 1010
P1.2 2 Traductor
B – 1011
4 de poziţie
6FX2001- C – 1100
CLOCK 6 5FS12 D – 1101
P1.3 7;9
E – 1110
F – 1111

Fig. 6.21. Schema de conexiuni a traductorului absolut de poziţie 6FX2001-5FS12

//Pini traductor poziţie: Data conectat la P1.2.şi Clock conectat la P1.3.

RSEG Poziţie axă ;Returnează poziţia traductorului în regiştrii R6:R7 (msb:lsb)


EQU WMCON 096H ;Adresa vector subrutină citire traductor poziţie

PositionRead: ;Subrutină citire traductor poziţie


CLR A ;Şterge conţinut acumulator
ANL P1,#0F7H ;Setare linie ceas P1.3 = 0 (stare port 11110111)
MOV B,#4 ;Încarcă în registrul B valoare contor ciclu (4 biţi traductor)
adr1: ORL P1,#0FCH ;Setare linie ceas P1.3 = 1 pentru transfer date serial la P1.2
MOV C,P1.2 ;Transfer stare linie date de la P1.2 în registrul C(arry)
ANL P1,#0F7H ;Setare linie ceas P1.3 = 0 (stare port 11110111)
RLC A ;Încărcare acumulator dreapta-stînga cu valoare C (în 4 paşi)
CPL C ;Complementare registru C=0
DJNZ B,adr1 ;Decrementează B cu o unitate şi salt la adr1 dacă B0
MOV R6,A ;Salvare (msb 4 biţi) în registrul R6 (RAM intern)

CLR A ;Şterge conţinut acumulator pentru încărcare date următoare


MOV B,#8 ;Încarcă în registrul B valoare contor ciclu (8 biţi traductor)
adr2: ORL P1,#0FCH ;Setare linie ceas P1.3 = 1 pentru transfer date
MOV C,P1.2 ;Idem pentru următorii 8 biţi (lsb)
ANL P1,#0F7H
RLC A
CPL C
DJNZ B,adr2 ;Decrementează B cu o unitate şi salt la adr2 dacă B0
MOV R7,A ;Salvare (lsb 8 biţi) în registrul R7 (RAM intern)
RET ;Revenire din subrutina citire poziţie traductor
END

La achiziţia mărimilor analogice de la traductoare sunt utilizate canale analogice


multiplexate şi conectate la un convertor A/D. Pentru conversie este folosită metoda
aproximărilor succesive iar controlul funcţionării se face prin programarea a trei
registre cu funcţii speciale: ADCON (registrul controlului convertorului A/D), ADDAT
(registrul de date care memorează rezultatele conversiei) şi registrul DAPR pentru
programarea referinţelor interne de tensiune. VAREF şi VAGND .
6.2. Arhitectura generalǎ a sistemului de comandǎ 263

Pentru a facilita implementarea aplicaţiilor ce necesită controlul precis al unor


intervale de timp sau contorizarea unor evenimente, microcontrolerele dispun în mod
obişnuit de 2 sau 3 canale de temporizare/numărare (pe 16 biţi) ce îndeplinesc funcţii
multiple. Modul de lucru al fiecărui canal (temporizator/numărător) şi funcţia
îndeplinită este determinat de setarea biţilor regiştrilor de control TMOD, TCON
(pentru canalele 0 şi 1) respectiv T2CON (pentru canalul 2). Fiecare canal conţine
două registre de 8 biţi (THx şi TLx) care sunt incrementate la fiecare ciclu de maşină
(funcţionare ca temporizator pe 16 biţi) sau tranziţie de semnal survenită la intrările
externe dedicate (funcţionare ca numărător pe 16 biţi). La funcţionarea ca
temporizator/numărător pe 8 biţi cu autoîncărcare se foloseşte registrul THx (canale 0
sau 1) pentru a încărca (preseta) software valoarea dorită respectiv registrele CRCL şi
CRCH (canal 2) pentru temporizator/numărător pe 16 biţi cu autoîncărcare. Aceste
valori sunt comparate cu valorile curente ale registrului TLx (canale 0 sau 1) respectiv
cu a registrelor TL2, TH2 (canal 2) şi la coincidenţă se generează o cerere de
întrerupere prin care se reia ciclul de funcţionare. Funcţionarea în modul comparare
este posibilă numai la nivelul canalului 2 şi se face prin încărcarea software a
registrelor de comparare CCLx, CCHx cu valorile specificate, urmată de compararea
conţinutului acestora cu cel al registrelor TL2, TH2, ce sunt incrementate fie de
semnalul de ceas divizat fie de un eveniment extern. La coincidenţă se emite câte o
cerere de întrerupere (la pinii P1.0…P1.3) corespunzător fiecărui modul de comparare.

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

Întrerupere la depăşire, TF0=1 din TCON


conţinut T0≡TH0 255
FFFFH

1 ms
PWM0=R7 (A); 221

Conţinut R7 (A) PWM1=R7; 128

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

//Numărul de canale PWM este limitat de numărul porturilor disponibile

//Alocare adrese în zona de memorie internă (low RAM)


PWM_swap equ 7fh ;Adresă variabilă pentru viteza schimb
PWM0 equ 7eh ;Adresă variabilă pentru viteza motor 0
PWM1 equ 7dh ;Adresă variabilă pentru viteza motor 1 …
//Alocare pini port1 pentru ieşirile semnal PWM
cpwm0 bit p1.0 ;Definire ieşire port P1.0 pentru comanda punte H motor 0
cpwm1 bit p1.1 ;Definire ieşire port P1.1 pentru comanda punte H motor 1 …
RAM EQU $F000 ;Adresa de început a memoriei externe de date (RAM)
RAMEND EQU $FFFF ;Adresa de sfârşit a memoriei externe de date
ORG $8000 ;Adresa început program (EPROM)

//Canalul temporizare T1 este folosit de portul serial pentru generarea frecvenţei de comunicaţie –
subrutina nu este prezentată în acest program

//Definire adrese vectori întreruperi


ORG 0H ;Reset microcontroler, iniţializare regiştri (R7=ffh=255)
LJMP begin ;Salt necondiţionat la subprogramul begin
ORG 03H ;Cerere externă de întrerupere la T0, bit IE0 din TCON (00000011)
.... ;Subrutină start/oprire motoare, semnale din programul principal
RETI ;Revenire în program după cererea de întrerupere de la T0
ORG 0BH ;Depăşire la T0, bit TF0 din TCON
LJMP pwms ;Salt necondiţionat la pwms
ORG 13H ;Cerere externă de întrerupere la T1, bit IE1 din TCON
RETI ;Revenire în program după cererea de întrerupere de la T0
ORG 1BH ;Depăşire la T1, bit TF1 din TCON
RETI
ORG 23H ;Cereri întreruperi la transmisie/recepţie, TI şi RI din SCON
RETI
ORG 100H ;Adresa de început în memoria externă

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ă R70
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

Modalitatea de comandă a circuitelor de forţă care asigură alimentarea motoarelor,


este prezentată detaliat în figura 3.22, inversarea sensului de rotaţie al motoarelor este
realizată prin comanda corespunzătoare a biţilor portului P4.x.

Sistem de comandă pentru roboţi cu microcontrolerul SAB80C535. În figura


6.23 este prezentat un sistem de comandă pentru roboţi de mică putere cu precizie de
poziţionare modestă (256 poziţii distincte sau maxim 1 / bit) utilizaţi în operaţii
uzuale de manipulare a obiectelor. Acţionarea axelor este realizată cu motoare de
curent continuu M0…M5 comandate prin circuitele integrate de putere L293D (2 punţi
tip H pe capsulă) care pot debita un curent de maxim 1A. Semnalele de comandă
pentru viteza axelor PWM0…PWM5 sunt furnizate la pinii 0…5 ai portului P1 iar
semnalele de control pentru sensul de mişcare (0 sens pozitiv, 1 sens negativ) la pinii
corespunzători ai portului P4. Controlul poziţiei se face prin citirea cu ajutorul
canalelor analog – digitale AN0…AN5 a nivelului de tensiune furnizat de traductoarele
rezistive de poziţie Tp0…Tp5. Aceste tensiuni sunt convertite în format digital şi
valorile corespunzătoare acestora sunt comparate cu valorile de poziţie memorate în
faza de învăţare şi care au fost transmise, pentru fiecare punct al traiectoriei, în
memoria de date a micrositemului prin intermediul comunicaţiei seriale.
Editarea programelor în limbaj de ansamblare AS535 se face cu ajutorul
calculatorul IBM/PC ataşat microsistemului. Programele sunt descărcate prin portul de
comunicaţie serială realizat cu CI6 în memoria externă RAM, CI3 pentru a fi testate şi
depanate. În memoria de program CI4 sunt rezidente subrutinele sistemului, programul
de comunicaţie serială, constantele sistemului mecanic. Pentru interfaţarea robotului
cu procesul de automatizare se pot folosi microîntrerupătoarele S0…S2 şi canalele I/O
disponibile ale porturilor.
266 6. Comanda roboţilor

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 +
10F
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 1F
MAX232 +
+10V
+
100nF + C1 - + C2- 1F Vcc
1F
VAREF VAGND
+ +
1F 1F

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

Fig. 6.24. Sistem de comandă cu C SAB 80C535,


Universitatea Ştefan cel Mare Suceava, Laboratorul de roboţi

Î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

S-ar putea să vă placă și