Sunteți pe pagina 1din 22

4.3 Traductoare de curent si tensiune Trad de crt ~ se realiz pe princ transf de crt.

Crt mas trece prin bob de pe un miez magn toroidal. Crt obt in bob este o masura a crt de masurat. Ptr a putea fi fol crt din bob este transf intr-o tens cont fol 2 amplif op notate AO1 si AO2. [desen] Caract statica a traduct: U = k * I. Rap de transf al tr.: kI = I/I0; U0 = R1 * I0. Cu ajut AO1 se obt mar de iesire U. AO2 are rol de intermediar. R3 RR RR U 0 = 1 3 I ; k = 1 3 ; U = k * I. U= R2 k I R2 k I R2 La variatii ale crt intre 0 10A, U ce se obt la iesire variaza intre 0 10V. Coef de transfer k poate fi reglat din potentiometrele R1 si R3. Ptr mas c.c. se utiliz 2 met: - fie prin mas caderii de U pe o rezistenta - fie fol un senzor hall Trad cu efect hall se pot fol atat in c.c. cat si in c.a atat ptr mas crt cat si a tens. Aceste trad sunt cele mai fol in prezent si se prod intr-o gama f larga de val de la cativa A la cateva sute de A si de la cativa V mii de V. 4.4 Encodere optice Encoderul sau codificatorul optic converteste depl unghiulara sau binara in impulsuri. Fiecarui impuls ii coresp o anumita depl. Numarand imp putem numara deplasarea. Encoderele sunt de 2 categ: - incrementare - absolute Encoderul de rotatie incremental este format dintr-un disc ce contine un nr de fante de masura dispuse pe circumferinta. Rezolutia encoderului este data de un nr de pulsuri ptr o rotatie sau de nr de pulsuri pe grad sau radiani. N r_ f a n _t e i s c d Rez = [imp] nr. impulsuri / grad la 1 rot 360 Cand lumina trece prin fantele transparente se detecteaza un semnal de iesire. Pt o rez mai > sursa de lumina este focalizata printr-o lentila iar intre disc si detector este plasata o masca. Discul si masca prod un efect de diafragma a.i lumina trece spre detector doar atunci cand sect transparente ale anslamblelor disp sunt aliniate. [desen] SL sursa lumina; L lentila; DS disc cu fante; M masca; Det detector Un encoder incremental genereaza un puls ptr fiecare rotire a axului cu un increment fixat ( encoderul de rotatie ) sau in plus [tr fiecre translatie pe o dist fixata (encoderul liniar). Elem sau principal este un disc cu fante montat pe un ax care se roteste cu fantele intre o sursa de lumina si un detector mascat. SL poate fi o dioda fotovoltaica. Caract statica prez dep U de iesire sinusoidala pe rot axului . Prez si un deplasament de c.c. dependent de temperatura ceea ce este un dezavantaj. [grafic] Un encoder de rot incrementor are in realitate pe langa fantele de mas si o fanta de aducere la 0 a numaratorului. [desen]

Discul D se misca in fata a 2 fotodetectoare FD0, FD1. In acest mod imp furnizate sunt numarate dand info despre unghiul de rot. Imp dat de FD0 serveste drept semnal de reset RES ( trecere prin 0 a num ). Encoderul de rot absolut este un disp de verif a poz care furnizeaza pt fiecare poz a axului o info unic determinata. La un encoder absolut exista cateva piste concentrice. Fiecare pista are o sursa de lumina independenta. Cand lumina trece printr-o fanta Se genereaza un semnal logic 1. Daca lumina nu trece se genereaza un semnal logic 0. Poz axului poate fi astfel definita prin comb de cifre 0 si 1. Rez = nr. coduri / 360. Nr de coduri este date de 2p unde p = nr de piste. Nr de piste uzuale poate fi 8, 10 sau 12. Daca discul are 10 piste rez encoderului va fi 210. 4.5 Traduct. de viteza Traduct. de vit. mai sunt num. si tahometre si pot fi de 2 tipuri: analogice si numerice. Tahom analogice (de c.c) furnizeaza info despre rot si sensul acesteia. Este caract prin sch de principiu a); caract statica b); si schema bloc c). [desen a)]; [desen b)]; [desen c)]. viteza unghiulara; flux magn; Ra rez. indusului; e tens de iesire Daca rotorul se roteste cu viteza in fluxul statoric la iesirea tahom se obt U cont. e exprim prin rel: e = ke* * ; = ct.; k = ke * ; e = k * ; k = tg Caract statica e = f() y = ax dupa care trece prin origine. Tahom numerice sunt realiz pe princ encoderelor. De fapt un encoder se poate fol in calit de traduct numeric de viteza. Semnalul de iesire in acest caz poate fi o unda dreptunghiulara sau sinusoid sau se poate furniza o poz absoluta. Tahom num se clasif in 2 tipuri de baza: absolute si incrementoare. Tahom numeric absolut furniz o adresa specifica ptr fiecare poz a axului 0 360 grade. Ptr detect poz utiliz disp cu contacte (perii) sau fara contacte. Tipul cu contacte contine un ansambl de perii ptr realiz contactului direct cu caile conduct el ale discului codat. Tipurile fara contacte utiliz detectia fotoel ptr sesiz poz discului codat. 4.6 Rezolverul Dpdv constructiv un rezonator este o masina el ce funct pe princ inductiei electromag fiind de fapt un traduct rotitor. Consideram 2 infas A si B cf. fig urmatoare unde notam prin unghiul normalei planului A cu pl B. [desen] Alim infas A cu tens ~ si atunci in infas B va fi indusa o tem ~. Daca rotim infas tens indusa va avea tens max atunci cand planurile celor 2 infas sunt || ( = 90 ) si va avea val min cand sunt perpendic ( = 0). De asemeni tens indusa in B va varia sinusoidal cu frecv de rotire a lui A a.i: EOB = Ei * sin Daca introd o a 3-a infas C poz perpendic pe infas B atunci pe masura ce rotim infas A va fi indusa o tens si in aceasta infas C care variaza cu cos: EOC = Ei * cos Reprez unui rezolv se face ca in fig urmatoare: [desen] Se pune in evidenta bob de excit A alim in c.a. si cele 2 bob B si C ortogonale ptr obt tens defazate cu 90. Mar de iesire ale rezonat sunt 2 tens ~ defazate cu 90.

[desen] Schema bloc a unui rezolver digit este:

Mar de iesire furnizate de bob B si C ale rezolverului propriu-zis sunt convertite din forma analogica in forma digit ptr a fi fol intr-un sist numeric de pozitionare. In plus in afara de poz se obt info privind viteza si sensul. Rotatiile uzuale ptr acest tip de sist sunt de 65536 numarari / rotatie. Cap 5. Sist de comanda al robotilor 5.1 Struct si functiile sist de comanda al unui robot Fct de cmd a robotului are rolul de a genera un set de date sist de actionare in scopul deplasarii cuplelor cinematice ptr a realiza un anumit obiectiv. Fct de cmd este realiz de catre fct de cmd a rob care este un echip de calcul cel mai adesea un automat programabil numit PLC (programable logic controller) . Cmd rob poate fi secventiala, continua, manuala sau autom, in circ deschis sau in bucla. In fig prez sch bloc a unui sist de cmd de tip SCARA:

Teach pad este o tastatura ptr cmd manuala. Este fol la invatare. Sist de cmd reprez o structierarhizata pe urm elem:

1 - decizional: stab pl de act al rob coresp sarc primite de la operatorul uman si baza modelului ambiant. 2 - nivelul strategic care imparte pl de act stab inainte pe dif op sau grupe de op 3 - nivelul tactic: descompune op in misc elem ale cuplelor cinematice. 4 - nivelul de exec care gen semnalul de cmd ptr fiecare act in parte. Toti rob cuprind primele 2 niv: decizional si strategic. Rob din gen I au niv de exec si tactic. Rob de gen a II-a au in plus si niv 3; Rob de gen a III-a au in plus niv decizional. Info de decizie circula de la niv ierarhic superior la niv de exec, adica de sus in jos. Info de ctrl despre modul in care au fost exec dec circula de jos in sus. Prezentam sch bloc a sist de cmd ierarhizat:

Lumea reala asupra careia act mediul este legata de acesta prim sist mecanic manipulator precum si senzorii de ctrl si blocul de vedere artificiala prin camera videocaptoare. Sist de act ce misca cuplele poate fi comandat la niv ierarh N1 din butoane care se conecteaza printr-o interfata de butoane. Ptr conect la niv ierarh N2 se utiliz o interfata de act. N2 realiz programarea rob si contine testarea de comenzi ce genereaza semnale de cmd spre interfara de act PLC. Din G1 s-a notat generatia 1 ce contine N1 si N2. La acest niv programarea este in limbaj de asamblare. Niv urm N3 contine blocul de repartizare, pl de op, bl conectat

printr-o interfata PC cu un calculator PC. Aceasta perm program la limbaj de nivel inalta misc rob: basic si pascal. Uneori se alege si un compromis intre un limbaj de asm si de nivel inalt -> C++. Rob cu acest gen de comenzi sunt din gen II avand mai multi senzori. La niv ierarh IV rob disp de senzori de vedere artificiala prin intermed unei camere video. 5.2 Struct sist de cmd a rob inteligenti Rob inteligenti se realiz pe princ masinilor inteligente care tre sa contina elem preluate din 3 discipline stiintifice: teoria intel artificiale; teoria sistemelor; teoria PULII. Se n mas inteligenta un sist tehnic cu struct ierarhizata ce are ca scop realiz unui obiectiv pe princ cresterii inteligentei de jos in sus si cresterea preciziei de sus in jos. In fig se prez min de cmd ale unui rob intel:

PULA XEROX La niv 4 clasificatorul primeste info de cmd Ci de la operator. Ele sunt afectate de zgomotul ni, esantionate si discriminate obt destinatia Ci** a comenzii care va declansa vectorul de cmd clasificat uc. Niv 3 de organizare primeste vectorul uc pe baza caruia se stab un esantionament care va planif sarc si va elabora dec de conducere. Niv 2 de coord realiz un plan de sarcici ce se transm la dispecer care intocmeste o planif in tp sarc care se transmite coord de activ. Niv 1 de exec primeste ptr fiecare tip de dispozitiv activitatea ce urmeaza a fi exec si genereaza info sau exec sarc. Info se transmite spre dispecer si mem de scurta durata iar aceasta dupa prelucr le transmite spre dispoz de invatare care poate completa mem de lunga durata.

5.3 Utiliz portului || standard ca interfata PC-robot Portul ||afost proiectat ptr a comunic cu imprimanta si este legat la un conector de 25 pini la PC. El se imparte in 3 sect: prima are 8 biti, 5 biti si 4 biti. Prima sec de 8 biti este dest ptr trimiterea de date (output). A 2-a sect de 5 biti este de stare a imprimantei (input). A 3-a de 4 biti este de ctrl (output). In cz cand portul || este fol ptr conectarea impr se n LPT (line printer) si in acest cz cele 3 sect sunt fol in modul std SPT (standard printer port). Pt a accesa cele 3 sect au fost atribuite adrese plecand de la o adresa de baza. Adresa de baza ptr portul LPT1 este in domeniul 378h 37Fh. De regula este aleasa prima 378h. Portul || a fost std in 1994 in 5 moduri: - mod compatibilitate - mod semioctet (nibble) - mod octet (byte) - mod EPP (enhanced paralel port) - mod ECP (extended compatibility port) Modurile 1,2,3 fol portul cu hardware std denumit port SPP adica std paralel port iar modurile 4 si 5 fol hardware suplimentar asig o viteza mai mare de transfer. Cele mai fol moduri sunt 1,4,5. Sch unei interfete capabile sa accepte comenzi prin portul || cu 2 iesiri si 5 intrari este urm:

Folosirea modului 2 semioctet: se poate fol un octet fol bitii D4, D5,D6,D7 ai portului de stare. Vom fol un multiplexor 2:1 care va transmite succesiv cate 4 biti rap de stare. Cei 2 semiocteti sunt apoi impachetati intr-un octet prin soft. In fig urm prezentam partea de hard care realiz multiplexarea: [desen] Multiplexarea se realiz prin MUX respectiv prin semnalul care ia val Strobe = 0 cand citeste semioctetul A si la Strobe = 1 cand citeste semioctetul B. 5.4 Utilizarea portului || extins ca interfata PC-robot Porturile || moderne sunt de tip EPP sau ECP. Modurile EPP si ECP au diverse variante si anume: 1) EPP 1,7 si SPP 2) EPP 1,9 si SPP 3) ECP

4) ECP si EPP 1,7 5) ECP si EPP 1,9 Modul de lucru EPP cu cele 2 variante EPP1,7 si EPP 1,9 au fost realiz sub forma de std de INTEL in 94. Modul EPP difera esential de SPP prin faptul ca transferul se face printr-un protocol Handshaking. Adresele reg EPP sunt prezentate in tabelul urmator ptr primele 2 moduri: ADRESA NUME PORT R/W Baza+0 Port de date SPP W Baza+1 Port de date SPP R +2 Port de ctrl SPP R/W +3 Port de adr ECP R/W +4 Port de date ECP +5 Transfer 16/32 biti +6 Transfer 16 biti +7 Transfer 32 biti Portul EPP are 8 registrii din care primii 3 sunt reg SPP de adrese Baza+0, +1, +2. Daca dorim sa lucram in EPP 1,7 atunci vom folosi reg Baza +3, +4. Ultimii 3 reg Baza+5, +6, +7 se utiliz ptr transf a 16 sau 32 viti. Modul de lucru ECP a fost definit de Hewlett Packard si Microsoft si fol un hard suplimentar. Dif esentiala fata de portul EPP consta in modif protocolului handshaking in acest cz, in orice mom portul poate face activ sau scriere prin faptul ca datele se pot trimite sau recepriona dupa fiecare ciclu. Acest protocol permite trimiterea de info in orice mom inainte sau inapoi. Adresele de config ale portului 1 in mod ECP sunt prezentate in tabelul urmator: ADRESE NUME PORT R/W Port de date SPP Baza+0 W Adr-FIFOECP ECP +1 Port de stare (toate mod) R/W +2 Port de ctrl (toate mod) R/W FIFO date (FIFO) R/W FIFO date (ECP) R/W Baza+4004 FIFO test (test) R/W Reg A de config (cfg) R/W Baza+4014 Reg B de config (cfg) R/W Baza+4024 Reg de ctrl R/W Primii 3 reg au aceeasi semnif ca si la portul SPP cu deosebirea ca in modul ECP pe liniile de date se poate transmite si adresa FIFO. Urmatorii 3 reg incep la adresa Baza+4004 si sunt coresp numai modului de lucru ECP. Cel mai imp reg este cel de la adr Baza+4024 denum ECR (extended control register) care permite setarea eficienta a acestui mod de lucru. 5.5 Afisaje cu diode LED utiliz in cmd rob Cele m simple afisaje fol LED-uri de forma unor segmente dispuse adecvat formand celule de afisaj. Ce mai simpla varianta de dispunere a segm fol celule cu 7 segmente sub forma cifrei 8, celula mai are si un pct zecimap DP (digital point) Celula cu 7 segm are alim din fig a) si dispunerea segmentelor din fig b)

[desen a), b)] Comanda a 4 celule cu 7 segm este prezentata in fig: [desen] In fig este numaratorul ce realiz selectia uneia din celule A1,A2,A3,A4. Intrarile D0D7 constituie cadrul de afisare dintre celule iar A0, A1 constituie intrarile de adrese ale celulelor. Intrarea S0 este ptr selectie adrese. A1 A0 Q CELULA A 0 0 Q4 AI 0 1 Q5 A II 1 0 Q6 A III 1 1 Q7 A IV Se activeaza afisajul segmentelor b,c,f,g ce coresp la intrari logic 1 ptr D1,D2,D5,D6 si logic 0 in rest. Se obt codul 01100110 = 66h Afisajele cu 14 segm au in plus 7 segmente dispuse in forma de stea in interiorul celulei cu 7 segmente. Afisajele cu 14 segm se alim ca in figura: [desen] M m celule se con intre ele formand display cu 2,4,8,16 celule. Comanda a 2 celule cu 14 segm se face cf figurii urmatoare: [desen] Celulele cu 14 segm permit formarea de caractere alfa-numerice si anum prima jumatate din codul ASCII coresp numerelor, literelor mari si alte caractere grafice. 5.6 Display-uri inteligente cu led utiliz in cmd rob Un display se n intel daca este dotat cu electronica proprie inteligenta in display permitand realiz tuturor operatiilornecesare generarii caracterelor, memorarii, multiplexarii si afisarii in celula. Cele mai simple au 16 segmente ptr a se reliz mai usor atat caractere cat si simboluri semigrafice. Cele 2 segm suplimentare se obt prin afisaj cu 14 segm prin diviziunea in 2 a segmentelor a, b obt 4 segm codificare a1,a2, D1, D2. In fig. se prezinta o celula cu 16 segm: [desen] Prezentam in fig urmatoare display cu 4 celule cu 16 segmente de tip HPDR-1414 realizat de HP. Aceasta are un ROM, generator de caractere si mem de afisare a caracterelor ce se afisaza: [desen] Afisarea caracterelor se face f simplu pornind de la codul ASCII pe intrarile D0 D6 apoi selectand adresa celulei prin adr A0, A1 si aplicand un impuls logic 0 pe intr! W/R. Un afisaj intel mult mai flexibil este realiz printr-o matrice de pct luminoase. Matricea este formata din C coloane si L linii si poate avea 5 x 7 puncte sau 8 x 8 puncte. Display-ul intel avand 8 celule de 35 pct fiecare de tip PDSP 2111 realiz de Siemens. [desen] 5.7 Afisaje LCD utiliz in cmd robotilor O alternativa la celulele cu diode LED dispuse in segm o constituie celulele cu cristale lichide LCD.

Consideram o celule LCD cu 7 segmente la care se pot distinge cele 7 segmente a,b, g punctul decimal DP precum si pinul comun de alimentare EC. Dat inertiei cristalelor LCD, pe pinul comun trebuie aplicat un semnal de nivel mai ridicat avand forma periodica dreptunghiulara numit STROBE. Acest semnal mentine alim display-ul doar 1/30 1/200 sec. Tp suficient insa ptr afisarea continua dat inertiei cristalelor. Pt cmd celulei se poate fol circ CMOS integrat de tip MMC-4055 care contine toate elem necesare ptr o celula LCD.

Pt alim pinului comun DC pe intrarea DI se aplica un semnal dreptunghiular cu f=30200Hz iar pe intrarile a,b,c,d, codul hex care tre; afisat cf tabelului: A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 semnal 0 1 2 3 4 5 6 7 8 9 L H P A M m celule de acest tip se pot conecta intre ele formand un display LCD. Sa consideram un display cu 4 celule LCD cu 7 segmente de uz general. Cmd unui asemenea display se poate face cu cipuri ce realiz toate fct denumit C ptr LCD. Unul din acestea este HD44780 produs de Hitachi.

Codul caracterului afisat se plaica pe intr. ABCD iar pe intr. PULII se aplica adresa celui pe care se va afisa caracterul respectiv. Caracterele Afiste se mentin si dupa disparitia comenzii pe intrarile ABCD dat mem acesteia in RAM-ul C. si baleerii celulelor cu semnalele DF1DF3. 5.8 Afisaje inteligente cu LCD in cmd robotilor In cz necesitatii afisarii cu caractere se utiliz celule LCD formate din matrici de puncte 5 x 7. Celulele sunt dispuse in afisaje avand 4 40 celule. Exista si afisaje grafice sau ecrane LCD ptr afisare de imagine. Afisajele LCD contin 16, 20, 24, 32 sau 40 celule si sunt f complexe dpdv al comenzii. Se utilizeaza C programabile ptr a realiza toate aceste op de afisare si in plus anumite facilitati suplimentare pe care utilizatorul le poate alege. Un asemenea afisaj se n display inteligent cu LCD. Display-ul are celulele dispuse pe 1 sau m multe randuri iar poz curenta de operare a celulei este semnalizata printr-un curosr. Consideram un display inteligent de tip M1641 avand 16 celule pe un rand realiz de SEIKO. Schema bloc este prez in gig a) iar conex externe in fig b)

Generatorul de caractere al display-ului afisaza 192 caractere 5 x 7 in codul japonez Kata-Kana. In general display-ul intel LCD este conectat la un C sau PC. Schimbul de informatii facandu-se la nivel de octet. Exista o alta proprietate al acestui LCD: lucrul in modul semioctet nibble. Schimbul facandu-se pe 4 biti. In mom punerii sub tens acesta trebuie initializat. Fie in modul de lucru octet, comunic facandu-se la nivel de octeti, fie nibble comunic facandu-se la niv de semiocteti. In cz setarii la niv nibble datele se transmit succesiv sub forma a 2 semioceti (primul LSB urmat de MSB) pe bitii D4, D5, D6, D7 ai magistralei. Ceilalti biti D0, D1, D2, D3 nu sunt folositi. In fig urmatoare prez un ex de secventa de programare in modul de lucru nibble pt un display de tip m1641.

1) Alim LCD +5V 2) Se trimite codul 38h in 2 secv de cate 4 biti: 3h: 0011(D7,D6,D5,D4) 8h:1000( la fel) 3) Se repeta codul 38h 4) Se trimite 28h in 2 secv 2h: 0010 si 8h: 1000; 28h -> mod 4biti, 2 linii 5) Se trimite codul 06h: 0h: 0000 si 6h: 0110; 06h -> increment mod, display off 6) Se trim 0Eh: 0h: 0000 si Eh: 1110; 0Eh -> display on, underline off, blink on. 7) 01h: 0h: 0000 ( D7 D4) si Eh: 0001; 01h -> Clear display 8) 80h: 8h: 1000 si 0h: 0000; 80h -> adresa primei celule LCD 5.9 Interfatarea display-urilor LCD cu C Vom interfata un LCD de tip M1641 avand un rand de 16 caractere realizate prin matrice de puncte de 5 x 7 cu un C de tip PIC16C84 (DIP cu 18 terminale si dispune de 2 porturi, 1 de 8 biti cu iesirile RB0 RB7 si unul de 4 biti RA0 .. RA3). Circuitul are 2 intrari de pilotare OSC1, OSC2 cu cristal de cuart precum si intrarea de reset !MCLR. Alim se face cu +5V fata de masa pe intrarile VDD si GND. Interfatarea dintre LCD de tip M1641 si C PIC16C84 o prezentam in figura: [desen] Reglarea luminozitatii display-ului se face prin pot 5 10K conectat intre +5V si masa alimentarii. Circuitul RC conectat pe intrarile MCLR si OSC1 asigura o frecventa de clock de cca 2MHz. Fol limbajul de asamblare a C 16C84 se poate scrie un program care sa afiseze pe display mesajul HELLO. Mesajul este general si poate fi upgradat ptr orice alta sarcina. La inceput dupa reset C ramane pozitionat cu registrii pe input. Pt afisaj trebuie programati pe output. Fiecare instructiune a C PIC este un cuvant pe 14 biti impartit intr-un opcode (care specifica tipul instructiunii) si apoi 1 sau m multi operanzi care specifica op realiz de catre instruct. Programul este urmatorul: message clrf 0D ; sterge registru movf 0D,w ; pune val contor in w call text ; ia un caracter din tabela text bsf 05,02 ; pune RS in 1 ( port A, bit 2 ) bcf 05,01 ; R/W = 0 movwf 06 ; pune caracter pe liniile de date call pulse_e ; apeleaza pulse_e prin care aduce linia E = 1 call short_delay ;apeleaza rutina de intarziere incf 0D,W ; incrementeaza reg contor

xorlw 05 ; testeaza daca s-a ajuns la 5 btfsc 03,02 ; seteaza flag de 0 din reg de stare goto stop incf 0D,t ; inc reg contor goto message stop goto stg ;subrutina si tabela text shortdelay decfsz 0F,f goto shortdelay retlw 0 pulse_e bsf 05,00 nop bcf 05,00 retlw 0 text addwf retlw retlw retlw retlw retlw 02,f H E L L O

5.10 Interfatarea cu placi de achizitie de date Placile de achizitie care accepta numai date numerice poarta numele de placi de achizitie numerice sau digitale. De regula aceste placi de achizitie au un nr de intrari si iesiri numerice precum si semnalele dependente de tp cu care se poate realiza ceasul de timp real. Nr de I/O se poate configura cu ajut unor switchuri de pe placa (cfg hard) sau prin program (config soft). Placa se conecteaza pe magistrala ISA sau PCI iar adresele de acces la placa se pot selecta prin alte switchuri. Placa universala digitala AR16 seste o placa de dezvoltare avand struct sa portul PPI-8255 (port ||) care asig 24 biti de date din care se utiliz numai 16 si timerul PIT-8253 care asig 3 iesiri de timp real. Sch bloc a placii este urmatoarea: [desen] Din sw I/O care are 2 contacte J1, J2 se pot selecta circuite 74LS245, fie intrari fie iesiri. Ceea ce asig fie 8 intrari si 8 iesiri, fie 16 intrari si 16 iesiri. PULA se fixeaza adresele de acces la PPI 8255 sau PIT 8253 in domeniul liber din spatiul de adrese BIOS. De regula acesta este de la 30h 3FFh. Pt a programa circuitul 8255 tre sa cunoastem octetul de control cu care se face cf figurii urmatoare: [desen]

Se fol de regula modul 0: D7 = 1; D5=D6=D2 = 0; GrupA = input; D4=D3 = 1; GrupB = out D0 = 0. 1001 1000 = 98h Programarea timerului se face similar prin alegerea unui octet de control 37h. 5.11 Interfatarea cu placi de achizitie DIA Placile de ach care accepta atat date numerice cat si analogice sunt denum placi de achizitie digital analogice. Vom analiza placa de achizitie produsa de firma RTD ADA 1100 si asta contine 8 canale rapide de conversie A/D de 12 biti si canale de conversie D/A. Aceasta interfata permite PC-ului sa achizitioneze date in timp real din med si sa controleze primirea semnalelor A si D. Sch bloc a pl de ach a placii: [desen] Vom prezenta softul de testare a plactii. Progr de testare a placilor de achizitie ADA este realiz de firma prod a acestor placi RTD real time devices. Acest progr este proiectat ptr a realiz o verif a compon princ a placii ADA si cu urmatorul meniu: Main menu; Description; Interval Check; A-D; DAC; PPI; I/O convertor; Exit. Optiunea Interval Check realiz un set de teste asupra circ interne ale placii. Aceste teste det daca funct corect timerul, portul ||PPI, circuitele de control ale conversiilor A-D si D-A. Testul A-D este folosit ptr a verifica functionarea canalelor A-D. Testul DAC permite trimiterea la conectorul I/O a unor tensiuni prin intermed unuia din DAC. Exista 2 posibilit de mas: o masurare interna si una externa. Testul PPI permite scrierea sau citirea porturilor PPI 8255 in fct de modul de configurare al acestora pe intrare sau iesire. Un ex de fol al placii este prezentat intr-un progr ce va citi portul PA programat ca intrare si va trimite un octet prin portul PB programat ca iesire.: MOV DX,30Fh MOV AL, 90h OUT DX,AL MOV DX,30Ch IN AL,DX MOV AH,AL MOV DX,30Dh MOV AL,5Ah OUT DX,AL Programarea robotilor in limbaj de asamblare In cz unor comenzi simple sau daca tre adaugate unele miscari suplimentare pt cuplele unui robot se poate realiz cmd acestora in limbaj de asamblare. Vom prezenta cmd unei cuple cu motor pas cu pas. Vom considera o cupla de rot pt un elem al mecanusmului de orientare, cupla actionata printr-un mot pas cu pas, unipolar, cu magneti permanenti. Nr. de faze este 4, rezolutia este de 200 pasi / rot. cmd simpla cu 1,8 grade/pas; tens de 5Vcc, R=125/faza, fmax=500 pasi/s. Partea de hard ptr cmd cuplei are sch din figura: [desen] Cele 4 diode sunt necesare pt pot amplif din capsula si pt franarea motorului. Mot este comandat prin portul ||. In acest caz primii 4 biti D0 D3 ai sect de date ai portului || comanda fazele motorului iar pe bitul D4 se realiz cmd start/stop ptr motor. Daca D4 = 0 = start, D4 = 1 = stop. Initializ. programului in limbaj de asamblare:

*code MOV MOV OUT rep0: OUT SET repaus: ENDP sdr: PROC VAR MOV MOV ROL JMP sdr

DX,378h AL,00 DX,AL DX,AL

| | | | | | | | | | | | | | | | | | | | | | |

Portul || trece in 00. Step motor.

DX,378h AL,CMDS AL,1 rep0 endp

Portul || in start dreapta motor

sst: PROC VAR MOV DX,378h MOV AL, CMDS VAR AL,1 MOV CMDS,AL JMP rep0 sst endp

Portul || start stanga motor

5.13 Traiectorii de miscare a cuplelor robotilor Trecerea bratului manipulatorului intre 2 pct se face printr-o misc avand anumiti param cinetici: acc, viteza si spatiu. Exista m multe posibilit de generare a traiectoriilor dintre care urmatoarele 3 sunt cele mai fol: - traiect cu tp min (Bang-Bang) - traiect cu soc constant - traiectorie sinusoidala Traiectorie cu tp min (Bang-Bang) La o misc unifosr acc cu acc a scriem expr spatiului x =
t min = 2x . a max

a t 2 ;t= 2

2x ; a

Misc Bang-Bang pt care a avea tp min tre sa aiba acc max admisibila amax(cst). De asemenea vit tre sa creasca pana la val max vmax si apoi sa scada de la 0 avand o forma triunghiulara simetrica: a = amax ; 0 <= t <= T/2 a = -amax ; T/2 < t <= T Vom det cst c de integrare:

= amax * t + c ; t=0, v=0, c=0 v = amax * t ; 0 <= t <= T/2 v = -amax * t + c ; t = T, v = 0, c = -amax * T + c ; c = amax * T v = -amax * t + amax * T = amax(T-t) ; T/2 < t <= T Vitezele vor fi date de 2 ec: v = amax * t ; 0 <= t <= T/2 v = amax (T-t) ; T/2 < t <= T Calculam spatiile prin integrarea vitezei: x = vdt = amax * t2/2 + c ; t = 0, x = 0, c = 0. x = amax * t2/2 x=

v = a (t ) d t

mx a

(T-t)dt = -amax * (T-t)d(T-t) = -amax *

(T t ) 2 + c ; t = T ; x = xmax ; c = xmax 2

(T t ) 2 2 x = xmax amax

x = xmax * t2/2 ; Socul va devia acceleratia: S = amax (t) ; t = 0 Dirac x = -2amax (t) ; T/2 = t S = amax (t)

(T t ) 2 2 0 <= t <= T/2 ; x = xmax - amax

; T/2 <= t <= T

[desen]

Traiectoria cu soc cst si cu acc liniara Pt a elimina socul dublu dela mijlocul dist x facem acc = 0 la x = T/2 ceea ce va conduce la o forma a a acc liniar descrescatoare iar socul va fi tot tp cst si negativ avand val S = -S0. Vit va fi sinusoidala iar spatiul dublu parabolic. [desen] 2a max tahograma transm cu soc cst S0 = T Traiectorie cu soc variabil si acc sinusoidala 2 t) a = amax * sin(
T 2a max dx 2 t) S= = = cos ( d t T T 2a max 2 t) S = Smax * cos ( max= T T

Socul are o variatie cosinusoidala, viteza si spatiul au o variatie dublu parabolica. [desen] 5.14 Moduri evoluate de programare a robotilor Singurul si cel mai imp factor in dezv tehn robotizate a fost posibilit progr robotilor avand la baza automate programabile cu uP. Echipamentul necesar pt

conducerea robotilor este deci automatul programabil sau PLC care permite integrarea robotului intr-un sist automat. Automatele programab sunt sist de calcul multiproc care asig 4 fct de baza: 1) generare de traiectorii 2) integrarea misc robotului 3) integrarea op uman 4) integrarea informatiei 1) prezinta 2 aspecte imp.: programarea traiect de manupulare si posibilit de exec controlata a misc programate. Ctrl in tp real al misc cinematice este o necesitate vitala ptr fiecare robot. Fiecare controler de robot prin progr sist de operare converteste datele digitale in misc coord de mare vit si genereaza comenzile individuale pe cuple, comenzi care sunt exec apoi de mot fiecarei cuple. 2) implica met disponibile ptr a coord misc manupulatorului cu senzori biproces sau cu disp de control ale procesului. Cmd robotului trebuie sa poata sa citeasca semnalul de la traductoare si sa realizeze op logice fol aceste semnale. In finalul integrarii procesului controlul rob poate accesa si op in tp real cant mari de date legate de misc. Exp a aratat ca cea mai buna perf se obt prin integrarea rob in sist de prod formand linii flexibile de fabricatie. Cele 3 elem ale controlerului pt interogarea efectiva a op uman sunt disp de I/O cu utilizatorul, interfata grafica si modurile de operare disponibile. Este necesara o consola de invatare ptr accesul la cateva pct avantajoase de poz a robotului. Integrarea info a devenit mai imp pe masura ce tendinta de crestere a flexibilit si agilitatii afecteaza robotii. In prezent multe controlere de roboti au fct de integrare a info prin intermed unor interfete inteligente PC prin porturile de comunic sau prin cmd directa pe magistrala de date a controlerului rob. Pt cmd robotilor au fost concepute limbaje de programare specifice. Limbajul V+ dezvoltat de Adept Tehnologies INC. este un limbaj modern reprezentativ ptr programarea rob. Are cateva sute de instructiuni program. In cadrul limbajului V+ ptr ctrl misc rob se specifica locatia, traiectoria, viteza, acc si evitarea obstacolelor. Princ instruct ale limbajului V+ sunt: MOVE, APPRO, DEPART, DELAY, SPEED, ACCEL, SINGLE, MULTIPLE, OPEN_, CLOSE_, RELAY_. Instruct de ctrl: EDIT, SEE, STORE, COPY, SPEED, EXECUTE, ABOARD, DO, WATCH, WHERE, PEACH, CALIBRATE, STATUS, TIME, ENABLE, DISABLE. Instruct ptr organizarea si ctrl exec programelor robot si ptr interact cu utilizatorul sunt: FOR, WHILE, IF, TYPE, WATCH, WRITE, PARAMETER, PENDANT. Fct specialept a usura programarea robotului include expr matematice si instruct ptr conversii, manipulari, si transformari de date: ABS, COS, BCD, BCB, TRANS, INVERSE, FRAME, SQRT. Organizarea intr-o secventa de instruct executabile necesita programarea sarc comenzilor si subsistemelor si descoperirea erorilor: PCEXECUTE, PCABORT, PCPROCEED, PCRETRY, PCEND. Vom prezenta un exemplu: pick_and_place .PROGRAM move_parts() ;preia obiectele din locatia pick si le depune in palce parts = 100 ;nr de piese ce vor fi procesate

height1 = 25 ;inaltimea de pornire la pick height2 = 50 ;inaltimea de abordare / pornire la place parameter.hand.time = 16 ; viteza misc lenta a mainii open ; asigura ca mana este deschisa MOVE start ; muta in locatie sigura ptr pornire FOR i = 1 TO parts ; proceseaza piesele APPRO pick, height1 ; mergi spre locul de preluare MOVES pick ; muta pe piesa CLOSEi ; inchide mana DEPARTS height1 ; indeparteaza APPRO place,height2 ; mergi spre locul de depunere MOVES palce ; muta pe destinatie OPEN ; elibereaza DEPARTS height2 ; indeparteaza END ; sfarsit bucla TYPE ALL DONE, /13, parts, parts processed STOP .END Cap. 6 Analiza misc cuplelor robotilor 6.1 Analiza miscarii cuplelor de rotatie Vom considera cz rot unei cuple in rap cu un sist considerat fix. Sist fix are coord Oxyz, fiecare axa avand vectorii i, j, k iar in urma rotatiei sist de ref va fi Ox1y1z1 cu versorii i1, y1, k1. [desen] Valoarea sens direct sensul acelor de ceasornic. Poz pct M este data de vectorul de poz OM = r. Atat in sist de coord Oxy cat si in sist Ox1y1. r = rxi + ryj + rzk r = rx1i1 + ry1j1 + rz1k1 | rzi + ryj + rzk = rx1i1 + ry1j1 + rz1k1 | i1j1k | i * i = -1, i * j = i * k = 0 | rx = ii1rx1 + ij1ry1 + ik1rz1 | ry = ji1rx1 + jj1ry1 + jk1rz1 | rz = ki1rx1 + kj1ry1 + kk1rz1

axi1 + rj1j1 + rz1k1 = rxi + ryj + rzk | i1, j1, k1 | rx1 = i1irx + i1jry + i1krz | ry1 = j1irx + j1jry + j1krz | rz1 = z1irx + z1jry + z1krz rx1 ii1 r j i y1 = 1 rz1 ik 1 i1 j jj1 jk 1 i1 k rx j1 k * ry kk 1 rz

rx ry r z

ii1 = ji1 ki1

ij1 jj1 kj1

ik1 rx1 jk 1 * ry1 kk 1 rz1

r1 = B * r pentru ca det 3 rot elementare ale vectorului r in jurul axelor x,y,z cu unghiurile , , .
1 Ox, : ROT(x, ) = 0 0 0 cos sin 0 1 0 sin = T(x, ) cos 0 sin 0 = T(y, ) cos 0 0 = T(z, ) 1

cos Oy, : ROT(y, ) = 0 sin cos ROT(z, ) = sin 0

sin cos 0

Oz, :

Misc de rot elementare coresp mecanismului de orientare. In aces caz pct caracteristic M al gripperului va ajunge intr-o poz finala prin compunerea celor 3 misc elementare. Sa consideram cz format din rot in jurul lui x cu , in jurul lui y cu si z cu , rezultatul va fi obt prin produsul celor 3 matrici obt matricii de transf: r(, , ) = r(x, ) * r(y, ) * r(z, ) 6.2 Analiza miscarii in coord omogene

Mec de pozitionare are si cuple de tranzlatie deci este necesar sa introd si misc de translatie in modelul matematic. In cz general un pct material poate fi supus si unei tranzlatii ai coord dx, dy, dz precum si o extindere sau contractie a vectorului de poz cu marimea w, de asemenea este vizualizat diferit in fct de perspectiva data de o marime f. Pt a tine seama de acest fapt matricea de rot R de dim 3x3 tre completata cu o linie si o coloana suplimentara. Noua matrice obt notata T va fi de forma: dx R3 x 3 dy T= dz f2 f3 w f1 Matricea T de dim 4x4 se n matrice de transformare omogena. Iar elem sale suplimentare dx, dy, dz reprez vectorul de tranzlatie. f1, f2, f3 este asa numitul vector de perspectiva in cz vederii artificiale sau utiliz cuple de clasa c5 si care sunt fara vedere artificiala avem doar translatie si rotatie. f1, f2, f3 = 0 ; w = 1 Particularizand T ptr rotatii fata de axe si tranzlatie pana vom avea 4 matrici elementare in coordonate omogene.
1 0 T(x, ) = 0 0 0 cos sin 0 0 sin cos 0 0 0 0 1 cos 0 T(y, ) = sin 0 0 1 0 0 sin 0 cos 0 0 0 0 1

cos sin T(z, ) = 0 0

sin cos 0 0

0 0 1 0

0 0 0 1

T(

1 0 )= 0 0

0 1 0 0

0 0 1 0

dx dy dz 1

Obs ca matricea de rot in cz tranzlatiei pure este matricea unitate Matricea T se mai poate scrie si sub o alta forma:
nx ny T= nz 0 Ox Oy Oz 0 ax ay az 0 px py pz 1

Marimile n, O, a, p sunt vectori si au urmatoarea semnificatie: n pozitia unghiulara a axei Oxi fata de axa Ox0 O poz axei Oyi fata de Oy0 a poz axei Ozi fata de Oz0

p arata coord carteziene ale pct caracteristic fata de originea O 6.3 Analiza miscarii robotului prin met Denarit-Hartenberg Alegerea coord generaliz se poate face utiliz o met propusa de Denait care pt fiecare elem dif 4 coord ai, i, di, i cu urmatoarele semnif: ai lungimea de incrucisare vazuta _|_ comuna intre axele zi-1, zi (xi) i unghiul de incrucisare dintre axele zi-1 si zi di plasarea axiala (dist dintre originile Ti-1, Ti ) i unghiul de rot elementara dintre axele xi-1, xi atunci cand se roteste zi Marimile DH se refera la fiecare elem i comparat cu cel anterior i-1 utilizand coord DH o misc intre 2 elem i-1 si i se poate reduce la 4 misc elementare utilizand matrici omogene. Cele 4 miscari sunt de rotatie dupa axa z cu i de matrice R(z, i); tranzlatie dupa z cu di de matrice T(z, di); tranzlatie dupa x cu ai de matrice T(x, ai) rot dupa x cu i de matrice R(x, i). Se obtine formula: Ti-1, i = R(z, i) * T(z, di) * R(x, i) * T(x, ai)
cos i sin i sin i cos i Ti-1, i = 0 0 0 0 0 0 0 1 0 cos sin 0 i i 0 sin i cos i 0 0 0 1 0 0 1 0 0 0 * 0 1 0 0 1 0 0
0 1 0 0 0 0 1 0 0 1 0 0 * di 0 1 0 0 1 0 0 0 0 1 0 di 0 ** 0 1

Facand produsul matricilor se obtine:


cos i sin i Ti-1, i = 0 0 sin i cos i cos i cos i sin i 0 sin i sin i cos i cos i 0

i cos i i sin i di 1

6.4 Modelarea si simularea robotilor in MATLAB SIMULINK Ptr modelarea robotului se apl met DH in mod sistematic pe baza urmatoarelor 4 etape: a) se alege sist de referinta b) alegerea param DH c) se construieste tabela DH si se scriu matricile elem robotului d) se realiz modelul de simulare a)

1) se alege sist fix O0, x0, y0, z0 centrat in prima cupla C0 a.i. axa z0 sa fie coliniara cu axa de miscare 2) se alege axa z1 coliniara cu axa de misc a cuplei C1. Se alege centrul O1 originea la intersectia z1 cu z0. Daca axele zi, zi-1 sunt || sau coliniare se alege originea O sau Oi in centrul cuplei Ci. 3) se aleg celelalte axe zi ca la pct 2) iar ultima axa va fi in centrul gripperului. In acest cazaxa zn va fi coliniara cu zn-1, yn va fi in sensul de inchidere a gripperului iar xn se alege ca sa se formeze un sistem drept. 4) se alege axa xi de-a lungul perpendicularei comune ce are sensul de la zi-1 la zi. Daca zi-1 si zi se intersect atunci zi este normala la planul pe care il formeaza zi-1 si zi. 5) Se alege yi a.i. sa se formeze un sistem drept. Alegerea lui yi nu prea are imp deoarece fata de acesta axa nu se fac masuratori. b) 1) param DH se aleg comparand perechile de sist de coord O1, x1, y1, z1 si O0, x0, y0, z0 comp facandu-se pana la ultima pereche On, xn, yn. zn si On-1, xn-1, yn-1, zn-1. 2) param ai se masoara pe _|_ comuna dintre axele zi-1 si zi. Daca axlele acestea sunt coliniare si se intersect => ai = 0. 3) param i (unghi de incrucisare) este mas intre axele zi-1 si zi. Daca axele sunt coliniare i = 0. De regula zi-1 si zi sunt ortogonale i = . Sensul se afla rotind axa zi-1
2

peste zi in sens trigonometric sau sensul acelor de ceasornic. 4) Param di (depl axiala) reprez dist dintre originile Oi-1 si Oi masurate pe zi-1. De regula depl axiala exista numai daca sist de coord Oi, x1,y1,z1 este deplasat fata de Oi-1 zi-1 dupa axa zi-1. Param di este variabil la cuplele de tranzlatie si cost la cele de rot. 5) Param i (unghiul de rot elementara) reprez unghiul dintre exele xi-1 si xi. Daca axele xi-1 si xi sunt concentrice => i = 0. c) Pe baza val din tabela si fol formula:
cos i sin i cos i sin i sin i sin cos i cos i cos i i Ti-1, i = 0 sin i cos i 0 0 0 => matricile elementare T0,1; T1,2 Tn-1,n

i cos i i sin i di 1

d) Verif misc rob se face in matlab simulink. Se fol toolbox sim machines al matlab simulink. Se deschide matlab si se incepe cu un nou model prin NewModel -> Toolbox de unde se iau elem necesare. Pt acest bloc se seteaza din prop accessible prin 2x clock pe blocul joint cu port de senzor/activator si axa dupa care se face rotatia (z). Se conecteaza blocul GND pe portul D al joint. Se alege din toolbox un bloc joint activator (motor de actionare) care se con pe al doilea port de intrare al cuplei. Se face 2x click pe joint activator ptr a deschide fereastra de prop a acestuia. In aceasta fereastra se alege tipul de

act motion. Tre conectate pe intrarea activatorului blocul care specifica unghiul de misc, viteza si acc. Ptr a conecta pe un sg port de intrare 3 marimi se alege un mux din libr standard. Ughiul de miscare va fi 1, vit /3, acc 0.2. Conectam glob body pt care setam dim pinului elem D1 dupa axa z. Misc primului elem al robotului. Ptr aceasta accesam meniul simulation and enviorement. In fereastra de dialog alegem eticheta PULII in care setam cele 2 casute de validare. In urma simularii, pe ecran va aparea o fereastra grafica ce prezinta miscarea pinului elem al robotului. Se cont in acelasi mod introd celelalte date ale robotului. Se obt sch finala de simulare. Daca se doreste simularea rob in intreg sp de lucru, se poate completa sch cu global slider gain. Simularea tre sa aiba setat ca tp final INF.

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