curs 3 - tehnologie si educatie mecatronica.dezvoltare durabila

Upload: radu-sala

Post on 18-Jul-2015

258 views

Category:

Documents


3 download

TRANSCRIPT

CUPRINSA Activiti de predare A1 - Sisteme mecatronice Conceptul de mecatronic Structura hard a unui sistem mecatronic Microcontrolere A2 - Interfaarea sistemelor periferice Porturi, modaliti de scriere i citire Afiajul cu 7 segmente Butoane A3 - Interfaatea senzorilor i comunicaii de date Comunicaia serial. Codificarea datelor i controlul erorilor Controlerul de comunicaie USART Afiajul alfanumeric cu cristale lichide LCD Convertorul analog digital (ADC) Interfaarea senzorilor i traductoarelor. Clasificare Traductoare i senzori de poziie. Poteniometrul Senzori incrementali Traductoare de lumin. Fotorezistena. Traductoare de temperatur. Termistorul A4 - Actuatori Noiuni generale.Sistematizarea actuatorilor utilizai in mecatronic Motorul de curent continuu. Interfaarea motoarelor de curent continuu la microcontroler. ntreruperi. Tratarea intreruperilor. Principiul de funcionare al unui Timer. Semnale PWM. Motorul pas cu pas Servomecanismul A5 - Algoritmi de control Generaliti. Controlul n bucl deschis. Controlul n bucl nchis. Clasificarea regulatoarelor. Analiza sistemelor de control n bucl nchis Controlerul bipoziional Controlerul proporional (P) Controlerele PI i PD Controlerul PID. Acordarea controlerului PID

B - Aplicaii B2 - Interfaarea sistemelor periferice Comanda LED-urilor. Astabili cu dou sau mai multe LED-uri. Semafor cu LED-uri Afisarea unei cifre. Astabil cu dou cifre. Afiarea multiplexat Buton cu LED. Numrtor 0...9 cu buton B3 - Interfaatea senzorilor i comunicaii de date Trimiterea i recepionarea unui caracter cu ajutorul interfeei seriale. Afiarea textelor pe LCD. Afiarea pe LCD a textelor receptionate pe interfaa serial Citirea ADC-ului i afiarea valorii pe 8 LED-uri Citirea ADC-ului i afiarea valorii pe LCD Interfaatea traductorului poteniometric Interfaarea encoderului incremental Citirea valorii unei fotorezistene Citirea valorii unui termistor NTC B4 - Actuatori Comanda bidirecional a motorului de curent continuu Variator de turaie pentru motorul de curent continuu Comanda motorului pas cu pas cu turaie variabil Comanda servomecanismelor Comanda unui bra robotic cu trei grade de mobilitate B5 Algoritmi de control Studiul controlerelor P i PID Controlul poziiei unui motor de curent continuu Comanda deplasrii in linie dreapt a unei platformei mobile Organizarea activitilor A - Activitati B - Activitati teoretice aplicative A1, A2 B1, B2 A2 , A3 B2, B3 A3 B3 A4 B4 A5 B5 Evaluare

Ziua 1 Ziua 2 Ziua 3 Ziua 4 Ziua 5 Ziua 6

1

OBIECTIV

Exploatarea platformelor educaionale n scopul stimulrii transferului de cunoatere, a creativitatii, a gndirii integratoare, a flexibilitii i capacitii de adaptare a cursantului, respectiv elevului pentru a rspunde cu operativitate nevoilor n continu schimbare ale pieei muncii (vizeaz exploatarea/programarea unor sisteme mecatronice modulare utile n sustinerea activitilor de curs i laborator, pentru diverse discipline: fizic, mecatronic, electronic, informatic, tehnologii etc.)

COMPETENE GENERALE

Cunoaterea i nelegerea conceptelor fundamentale impuse de tehnologia mecatronic. Exploatarea platformelor educaionale n scopul stimulrii transferului de cunoatere a capacitii de adaptare a cursantului la dinamica pieei muncii (programarea funcionalitii sistemelor mecatronice, cunoaterea, dezvoltarea i implementarea tehnicilor de control) Gndirea sistemic, integratoare i deprinderea de a lucra n echip

2

Conceptul de mecatronicConceptul de mecatronic s-a nscut n Japonia la nceputul deceniului al optulea al secolului trecut. Termenul n sine a fost brevetat de ctre concernul Yaskawa Electric Co. i a fost utilizat pentru a descrie fuziunea tehnologic: mecanic - electronic informatic. Coloana vertebral a mecatronicii o constituie tehnologia mecanic, care s-a dezvoltat ctre mecanizare. Progresele n domeniul tehnologiei electronice, apariia circuitelor integrate, mici ca dimensiuni, ieftine i fiabile, au permis includerea electronicii n structurile mecanice. Se realizeaz astfel integrarea electromecanic. Urmtorul pas n integrare a fost determinat de apariia microprocesoarelor. Cu aceleai caracteristici constructive, ca i circuitele integrate, microprocesoarele au putut fi integrate n structurile electromecanice realizate anterior. Mecatronica este tehnologia mecanic cerut de societatea informaional. n tehnologia tradiional, elementele de baz sunt materialul i energia. n mecatronic, acestor dou elemente li se adaug informaia. Practic, problemele privind informaia vizeaz: culegerea, prelucrarea, stocarea sau transmiterea acesteia, i folosirea ei pentru a controla produsele, procesele i sistemele.

3

Structura hard a unui sistem mecatronicSistemul de programare a sarcinilor, genereaz micrile dorite i secvenele acestora n concordan cu cerinele sau comenzile transmise. Acest modul este materializat de microcontrolere Controlerul de secvee i micare compar parametrii cureni ai micrii cu cei impui i realizeaz corecturile necesare. Cel mai des ntlnit algoritm de control este cel Proporional-Integral-Derivativ (PID). Amplificatorul de putere amplific concordan cu cerinele actuatorului; semnalul n

Actuatorul transform semnalul corectat n semnal de intrare (moment, for, vitez) n acord cu cerinele procesului; Mecanismele i transmisiile mecanice realizeaz adaptarea parametrilor actuatorului la cerinele impuse de procesul tehnologic Senzorii prelucreaz informaii privind parametrii procesului i transmit semnale corespunztoare spre controlerul micrii; Dispozitivul de condiionare a semnalelor cuprinde filtre, amplificatoare, etc. care, prelucreaz semnalele n concordan cu cerinele impuse de intrarea n controlerul micrii.

4

MicrocontrolereUn microcontroler este n esen o configuraie minimal de sistem de calcul, capabil s execute la o vitez foarte mare instruciunile unui program stocat n memorie; acest program este o secven logic de operaii ce poate implementa algoritmii necesari pentru controlul proceselor. Microcontrolerul are integrat pe acelai chip: oscilatorul, memoria (RAM, ROM, EEPROM), numrtoare, blocuri analogice, interfee de comunicaie i porturi de intrare-ieire. Microcontrolerele sunt caracterizate prin: - dimensiune redus a memoriei program i a memoriei de date; - conin module pentru interfaarea att digital ct i analogic cu senzori i actuatori; - rspund rapid la evenimente externe; - sunt de o mare varietate pentru a putea fi satisfcute cerinele diverselor aplicaii la un raport pre / performan corespunztor.

5

Ceea ce deosebete fundamental un microcontroler de un circuit integrat analogic sau digital, este faptul c el nu poate face nimic dac nu este programat. Programul software confer microcontrolerului, abilitatea de a realiza funcii diferite cu aceeai configuraie hardware

.

Scrierea programului se realizeaz de obicei intr-un editor ce permite salvarea liniilor de comand introduse. Exist mai multe opiuni pentru scrierea programului de control al aplicatiei i anume: cod masin (cod hexadecimal):10009000C0EEE8ED4E2E80E18EBFD0E1F0E15F2EA4 :1000A000EEEFFFE0A0E0B1E0A89584B7082E877FCF :1000B00084BF88E1992781BD91BD88278D933197B1 :1000C000E9F783E389B980E08093900088E18AB9F9 :1000D00066248FEF87BB8FEF81BB8FEF82B980E003 :1000E0008093610080E08ABBEAEDF7E00E94AD03F7

limbaj de asamblare, limbaj de nivel inalt (C, Pascal, Basic etc) Comenzile recunoscute de microcontroler sunt cele scrise n cod masin. Limbajul de asamblare i limbajele de nivel nalt sunt mai evoluate, contin instructiuni ce sunt usor de retinut, dar pentru transformarea acestora in cod masin avem nevoie de un compilator. Compilatorul este program software, de obicei oferit gratuit de productorii microcontrolerelor. Pentru a transfera codul hexadecimal rezultat n urma compilrii, n memoria ROM (memoria program) a microcontrolerului este nevoie de un programator. Programatorul este compus dintr-un modul electronic care asigur interfaarea ntre aplicaia ce conine microcontrolerul i calculator (PC), i un program software ce ruleaz pe PC

6

Microcontrolerul ATMega16Famila AVR de la Atmel este format din microcontrolere cu arhitectura pe 8 biti i set redus de instructiuni (RISC). Memoriile ROM, EEPROM i SRAM sunt integrate n acelai chip, nlturnd nevoia de memorie extern. Cifra din numele microcontrolerului indic mrimea memoriei de program (ROM); de exemplu ATMega16 are 16kB de memorie ROM Majoritatea instructiunilor se execut ntr-un singur ciclu de ceas

Caracteristici: tensiune alimentare 2,7...5 Vcc frecvena max. 16Mhz 512 bytes SRAM 16K bytes ROM 512 bytes EEPROM ADC 10bii cu 8 intrri 4 porturi I/O pe 8 bii 3 numrtoare: dou pe 8 bii i unul pe 16 bii 3 ntreruperi externe 1 interfa comunicare serial 1 interfa SPI 1 interfaa I2 C

7

Placa de dezvoltare

1 Microcontroler ATMega16 2 Conector USB pt comunicaie i/sau programare 3 Conector servomotoare 4 Muf alimentare 5 Circuit integrat L293 6 Conector motoare 7 Afiaj 7 segmente 8 LED-uri 9 Jumper activare afiaj 7 segmente 10 Conectori module de expansiune 11 Poteniometru semireglabil 12 Encoder 13 Push button

8

9

Interfaarea dispozitivelor perifericeButoanele, tastatura, LED-urile, afiajul cu 7 segmente cu LED-uri sau cristale lichide, buzere etc. sunt denumite generic dispozitive periferice. n aplicaiile urmtoare, va fi utilizat portul C al microcontrolerului. Acesta este un port bidirecional de 8 bii. Fiecare din pinii portului programat ca i ieire poate absorbi un curent de 20mA i poate genera un curent de 3 mA.

Pentru comanda portului sunt utilizai 3 regitrii: - Registrul de date PORTx (unde x reprezint portul); - Registrul pentru direcia de transfer DDRx (ddrx:=$00 pt. intrare , ddrx:=$FF pt. ieire ); - Registrul de citire intrare pin PINx; Regitrii PORTx i DDRx pot fi citii i scrii iar registrul PINx poate fi doar citit.

10

Interfaarea dispozitivelor perifericeDe exemplu pentru a scrie pe portul C valoarea 108 trebuie parcurse urmtoarele etape: - se seteaz registrul DDR ca ieire: ddrc:=$FF - se atribuie registrului PORT valoarea 108: - n binar: portc.2:=1 portc.3:=1 portc.5:=1 portc.6:=1 - sau n hexazecimal: portc:=$6C Pentru a citi portul C : - se seteaz registrul DDR ca intrare: ddrc:=$00 - se verific starea fiecrui pin citind registrul PINx

Portul poate fi imprit in dou adic primii 4 pini s fie intrri iar restul s fie ieiri caz n care registrul DDR are valoarea ddrc:=$F0; sau invers i atunci ddrc:=$0F

11

Aplicaie - Comanda unui LEDCel mai simplu mod de a urmri starea logic a unui port este legarea unor diode LED pe pinii corespunztori portului respectiv. LED-ul se va aprinde dac bitul are valoarea logic 1, corespunzatoare unei tensiuni de 5V i va fi stins pentru starea logica 0. Generaliti Diodele LED sunt dispozitive realizate prin doparea unui element semiconductor pentru a realiza o jonctiune p-n. La trecerea unui curent electric prin aceast jonctiune se elibereaz energie sub form de fotoni. LED-urile emit ntr-o band foarte restrans de lungimi de und, facnd ca lumina generat sa aib o singur culoare. Lungimea de und a luminii emise poate sa varieze n funcie de tipul semiconductorului i de modul n care se realizeaz doparea. Astfel se pot fabrica LED-uri care s emit n orice lungime de und a spectrului, de la infrarou la ultraviolet.

Cel mai simplu mod de polarizare este inserierea LED- ului cu o rezistenta. Valoarea acesteia se calculeaz cu relaia:

R

US ULED I

unde: US reprezint tensiunea de alimentare ULED reprezint cderea de tensiune pe LED cuprins ntre 1,8V i 4V funcie de culoarea acestuia I este curentul absorbit de LED (I = 1020mA) Exemplu: pentru un LED cu ULED= 2V i I = 20mA alimentat la o tensiune de US = 9V rezult:R 9V 2V 350 0,02 A

12

Un LED poate fi conectat la microcontroler in dou moduri: - ntre un pin al microcontrolerului i mas (0V); comanda pe anod - ntre un pin al microcontrolerului i +U; comanda pe catod

Pentru a putea comanda aprinderea LED-urilor, trebuie mai nti setat n microcontroler direcia pinilor la care acestea sunt legate. Directia se seteaz folosind registrul DDRx, x fiind unul din porturile A, B, C, D Pe placa de dezvoltare LED- urile sunt legate ntre pinii portului C i mas. LED- ul rou este conectat la pinul 7 iar ultimul LED verde, la pinul 0 al portului.

13

Aplicaie - Comanda unui LEDScopul aplicaiei este aprinderea unui LED la alegere din cele 8 conectate la portul C al microcontrolerului.

ETAPE: 1 Se deschide un nou proiect: Meniul Project New Project

2 Se parcurg cele 6 etape prezentate in continuare

14

ETAPE (continuare): 3 Se alege din list tipul microcontrolerului : ATMega16

4 Se specific, frecventa cristalului de cuart (semnalul de ceas): 16 MHz

15

ETAPE (continuare): 5 Se specific directorul unde va fi salvat proiectul. De exemplu: c:\flexform\

6 Se adaug fisiere noi la proiectul existent. (Nu este cazul)

16

7 Se selecteaz opiunea de a include toate librriile disponibile. (Module software utilizate pentru: accesarea unor componente ale microcontrolerului i/sau comunicaia cu dispozitive periferice, memorii, dispozitive de afiare etc)

8 La final se apas butonul Finish

17

9 Structura programului begin ddrc:=$FF; - se seteaz registrul de intrare/ieire DDR aferent portului C - se scrie pe bitul 0 al portului C valoarea 1 logic

portc.0:=1; end.

10 Pentru compilarea programului se apas butonul Build Project sau combinaia de taste Ctrl+F9

18

Aplicaia 2 Aprinderea LED-urilor de culori diferiteStructura programului este urmtoarea: 1. Pentru LED-urile roii begin ddrc:=$FF; portc:=$92; end. begin ddrc:=$FF; portc.1:=1; portc.4:=1; portc.7:=1; end.

2. Pentru LED-urile galbene begin ddrc:=$FF; portc:=$48; end. begin ddrc:=$FF; portc.3:=1; portc.6:=1; end.

2. Pentru LED-urile verzi begin ddrc:=$FF; portc:=$25; end. begin ddrc:=$FF; portc.0:=1; portc.2:=1; portc.5:=1; end.

19

Aplicaia 3 LED care pulseazScopul aplicaiei este aprinderea intermitent la un anumit interval de timp a unui LED . Structura programului este urmtoarea - se seteaz portul C ca ieire cu instruciunea ddrc := $FF - ct timp condiia 1=1 este ndeplinit, se execut umtorul ciclu: pinul 0 al portului C rmne n 1 logic o perioad de timp de 500ms dup care trece n 0 logic, tot 500ms. - efectul este aprinderea intermitent la un interval de 500ms a LED-ului conectat la pinul 0 al portului C. - Starea pinului instruciunea: 0 poate fi schimbat utiliznd

portc.0 = 1 respectiv portc.0 = 0

sau: portc = $01 respectiv portc = $00

20

Aplicaia 4 Grup de LED-uri care pulseazScopul aplicaiei este aprinderea intermitent la un anumit interval de timp a mai multor LED-uri de aceeai culoare. Structura programului este aceeai ca i n exemplul precedent.

1. LED-uri roii

2. LED-uri galbene

3. LED-uri verzi

21

Aplicaia 5 Astabil cu dou LED-uriScopul aplicaiei este aprinderea alternativ la un anumit interval de timp a dou LED-uri de culori diferite. De exemplu, pentru a aprinde alternativ un LED rou i unul verde programul poate fi scris astfel:

sau

Tem: 1. Scriei programul pentru a aprinde alternativ la un interval de 800 ms un LED rou i unul galben 2. Scriei programul pentru a aprinde alternativ la un interval de 1 s un LED verde i unul galben

22

Aplicaia 6 Astabil cu grupuri de LED-uriScopul aplicaiei este aprinderea alternativ la un anumit interval de timp a dou grupuri de LED-uri de culori diferite Pentru a aprinde alternativ LED-uri roii i galbene programul poate fi scris astfel:

Pentru LED-uri roii i verzi:

Tem: 1. Scriei programul pentru a aprinde alternativ la un interval de 800 ms un LED-uri galbene i verzi. 2. Scriei programul pentru a aprinde alternativ la un interval de 600 ms un LED-uri roii i un LED galben 3. Scriei programul pentru a aprinde alternativ la un interval de 1 s un LED rou i dou verzi

23

Aplicaia 7 Semafor cu trei LED-uriScopul aplicaiei este simularea unui semafor cu trei culori. Culorile rou i galben rmn aprinse 1 secund iar culoarea verde 2,7 secunde, dup care ciclul se repet. Programul poate fi scris dup cum urmeaz:

sau:

Tem: Scriei programul pentru simularea unui semafor cu trei culori la care culoarea roie rmne aprins 2 secunde, culoarea galben se aprinde intermitent 1,5 secunde, iar culoarea verde rmne aprins 4 secunde.

24

Afiajul cu 7 segmenteUnul din principalele tipuri de afioare este cel cu diode LED dispuse pe 7 segmente, acesta fiind numarul minim de segmente pe care se pot afisa cifre de la 0 la 9. Segmentele sunt notate cu litere de la a la g. Fiecare afiaj cu 7 segmente materializeaz un digit al unui afiaj complet. Fiecare digit are 8 terminale, cte unul pentru fiecare segment plus unul pentru conexiunea comun. n unele cazuri n afiaj se introduce si un punct zecimal denumit p (sau dp), in acest caz fiind 9 terminale.

Din punct de vedere al conexiunii LEDurilor ce formeaz segmentele afiajului, se ntlnesc afioare cu anod comun i cu catod comun, denumirea provenind de la tipul terminalului diodelor care se conecteaz mpreun.

Mai multe afioare (de ex. 4) se pot conecta la un microcontroler prin multiplexare. Numerele se afieaz prin aprinderea succesiv a cte unui afior din cele 4 existente, la o vitez att de mare nct las impresia c toate cele 4 afiaje sunt aprinse simultan

25

Afiajul cu 7 segmenteCele 7+1 segmente ale afiajelor sunt legate n paralel si conectate la portul C al microcontrolerului. Pinii 4...7 ai portului A comand, prin intermediul unor tranzistori, cte un afiaj.

Pentru a afia o cifr pe unul din afioare, acesta se activeaz prin intermediul pinului de comand corespunztor, pe portul C fiind scris apoi numrul hexazecimal corespunztor cifrei dorite

26

Aplicaia 8 Afiarea unei cifreScopul aplicaiei este afiarea unei cifre ntre 0 ... 9 pe unul din cele 4 afiaje De exemplu pentru a scrie cifra 1 pe primul afiaj programul are urmtoarea form: - Se seteaz portul C si jumtate din portul A ca ieiri cu instruciunile: ddrc := $FF ddra := $F0 - Se scrie pe portul C valoarea corespunztoare cifrei 1: portc := $06 - Se activeaz primul afiaj conectat la pinul 4 al portului A cu instruciunea: porta.4 := 1

Cifra 2 pe al doilea afiaj

Cifra 3 pe al treilea afiaj

Cifra 4 pe ultimul afiaj

27

Aplicaia 9 Astabil cu dou cifre ( I )Scopul aplicaiei este afiarea alternativ a dou cifre pe un afiaj. De exemplu pentru a afia alternativ cifrele 0 i 1 pe primul afiaj, programul are urmtoarea form:

Cifrele 2 i 3 pe primul afiaj

Cifrele 0 i 9 pe primul afiaj

Tem: 1. Scriei programul pentru afiarea alternativ a dou cifre pe ultimul afiaj

28

Aplicaia 10 Astabil cu dou cifre IIScopul aplicaiei este afiarea alternativ a dou cifre pe afiaje diferite. Ex: Cifrele 0 i 1 pe afiajele 1 i 2

Cifrele 0 i 1 pe afiajele 1 i 4

Cifrele 0 i 1 pe afiajele 2 i 3

29

Aplicaia 10 Afiarea multiplexat a unui numr din 4 cifrePentru a uura scrierea programului se poate defini iniial o constant de tip ir care s conin codurile n hexazecimal corespunztoare celor 10 cifre de la 0...9. const cifra: array [09] of byte = ($3F, $06, $5B, $4F, $66, $6D, $7D, $07, $7F, $6F) Pentru a afia de exemplu cifra 9, se va scrie: portc: = cifra[9] unde 9 este ultimul termen din irul definit iniial adic $6F Numerele se afieaz succesiv pe cte un afiaj, la o vitez suficient de mare, nct las impresia c toate cele 4 afiaje sunt aprinse simultan. Pentru aceasta fiecate afiaj va ramne aprins un timp definit prin constanta pauza. In exemplul prezentat fiecare afiaj rmne aprins 2 ms

30

ButoaneCel mai simplu mod de interactiune al utilizatorului cu un microcontroler l constituie folosirea butoanelor. Butonul pe care l vom utiliza n cadrul aplicaiilor este cel din figur, acesta este conectat pe portul A, bitul 0.

Pentru citirea strii bitului 0 se folosete comanda: DDRA.0 := 0; n figura de mai jos este reprezentat un buton conectat la pinul PA.0 al C. La apsarea butonului, intrarea PA.0 va fi legat la mas, deci va fi n starea logic 0.

DDRA.0 := 0; PORTA.0 := 1; PINA.0 este n aer

Atunci cnd butonul nu este apsat intrarea e n stare de impedan mrit, ca i cum ar fi lsat n aer, ea nefiind conectat nici la mas (0 logic), nici la Us (1 logic). Aceast stare nu poate fi citit de ctre circuitele interne ale C, pentru c un bit dintr-un registru poate s ia doar valorile 0 sau 1.

31

Butoane (continuare)Corect butonul se conecteaz folosind o rezisten de pull-up ntre pinul de intrare i US. Aceasta rezisten are rolul de a aduce intrarea n starea 1 logic atunci cnd butonul este liber prin ridicarea potenialului liniei la US

DDRA.0 := 0; PORTA.0 := 0; PINA.0 va fi 1

DDRA.0 := 0; PORTA.0 := 0; PINA.0 va fi 0

Pentru a economisi spaiu exterior, aceste rezistene au fost incluse n interiorul circuitului integrat. Iniial ele sunt dezactivate iar activarea acestora se poate face prin software scriind o valoare n registrul de ieire (PORTn) al unui port care a fost configurat drept intrare

DDRA.0 := 0; PORTA.0 := 0; PINA.0 va fi 1

DDRA.0 := 0; PORTA.0 := 0; PINA.0 va fi 0

32

Aplicaia 11 LED cu butonScopul aplicaiei este aprinderea unui LED pe perioada ct butonul este apsat. Programul are urmtoarea structur : - se seteaz portul C al microcontrolerului ca ieire: ddrc:=$FF - dac pinul a.0 are valoarea 0 logic adic butonul este apasat, primul bit al portului C ia valoarea 1 logic (Led ON) - dac pinul a.0 are valoarea 1 logic, primului bit al portului C i se atribuie valoarea 0 logic (Led OFF)

33

Aplicaia 12 LED cu buton ON/OFFScopul aplicaiei este aprinderea unui LED la prima apsare a butonului i stingerea la urmtoarea apsare Stuctura programului este urmtoarea: se seteaz portul C al microcontrolerului ca ieire cu instruciunea ddrc:=$FF primului bit al portului C i se atribuie valoarea 0 logic portc.0:=0 (LED stins) In primul ciclu while programul ateapt apsarea butonului (pina.0 = 0) n al doilea ciclu se ateapt eliberarea butonului (pina.0 = 1) Dup eliberarea butonului, primul bit al portului C ia valoarea 1 logic portc.0:=1 (LED aprins) dup care ciclul se repet

34

Aplicaia 13 Numrtor 0...9 cu butonScopul aplicaiei este realizarea unui numrtor de la 0 la 9 care se incrementeaz la fiecare apsare a butonului - se definete iniial o constant de tip ir care s conin codurile n hexazecimal corespunztoare celor 10 cifre de la 0...9: const cifra: array [09] of byte = ($3F, $06, $5B, $4F, $66, $6D, $7D, $07, $7F, $6F) - se activeaz primul afiaj conectat la pinul 4 al portului A cu instruciunea: porta.4 := 1 - se scrie pe portul C valoarea corespunztoare cifrei 0 adic : portc := cifra [i] unde i este primul termen din sirul definit iniial - la fiecare apsare a butonului valoarea lui i crete cu o unitate de la 0 pn la 9 dup care ciclul se reia.

35

36

Comunicaia serialComunicaia serial este cea mai ntlnit metod de interfaare ntre sistemele ce conin microcontrolere. Principalele avantaje sunt: numrul mic de linii necesare (minim una, de obicei dou sau trei), distana relativ mare, viteza de comunicaie suficient de ridicat pentru cele mai multe aplicaii. Pentru a permite compatibilitatea echipamentelor realizate de diferii productori, n 1960 s-a adoptat standardul numit RS232 realizat de EIA (Electronics Industries Association). Interfaarea microcontrolelor cu calculatorul personal (PC) poate fi realizat utiliznd comunicaia serial conform standadrului RS232. In general comunicaia serial poate fi realizat n trei variante: - Simplex, n care numai un echipament emite iar cellalt recepioneaz; - Half-duplex n care pe rnd fiecare echipament transmite n timp ce echipamentul opus recepioneaz; - Full-duplex unde simultan fiecare echipament transmite i recepioneaz date. Viteza de comunicaie se msoar n bps (bit per second) i reprezint numrul de bii ce poate fi transmis ntro secund. Ratele de transfer standardizate pentru RS232 sunt: 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800,115200, 230400, 460800 912600 bps.

n comunicaiile actuale cel mai frecvent sunt utilizate semnalele: RxD-intrare recepie date, TxD-ieire transmisie date i GND-mas de semnal.

37

Deoarece standardul RS232 a fost adoptat nainte de apariia familiei logice TTL, standardul nu este compatibil cu acestea. Nivelul 1 logic este reprezentat de o tensiune electric cuprins ntre -3V i -25V iar nivelul logic 0 este reprezentat de o tensiune electric cuprins ntre +3V i +25V. Zona situat ntre -3V i 3V fiind nedefinit. Pentru conversia de nivele TTL RS232 se utilizeaz circuite specializate Dup modul de transfer al informaiei comunicaia serial poate fi: Asincron emitorul insereaz un impuls de tact, cunoscut ca bit de Start, n faa fiecarui octet transmis. Astfel, pentru fiecare caracter ASCII avem o transmisie independent, cu adugarea biilor de Start, Stop i Paritate. Viteza de lucru se stabileste manual la inceputul transmisiei. Pentru ca aceast metod s functioneze, trebuie s existe, o perioada de pauz ntre caractere, realizat cu bitul de Stop. Sincron caracterele sunt transmise rapid, unul dup altul, fr bii de Start i de Stop. Pentru sincronizare, mesajul transmis este precedat de caractere speciale de sincronizare, care pot fi detectate de receptor. Acestea sunt transmise ncontinuu chiar i cnd nu sunt date de transmis. Transmisiile n mod sincron folosesc aceeai pereche de fire pentru semnalele de date i semnale de ceas. Acest tip de transmisie, este folosit n reelele Ethernet. Comunicaia serial RS232 este asincron. Pentru sincronizare, fiecare octet transmis este nsoit de bii de START, STOP.

Bitul de STOP are rolul de a da timp att transmittorului ct i receptorului timp pn la sosirea urmtorului pachet de date. Uneori naintea bitului de STOP se introduce un bit de paritate. Acesta este un decodor de eroare de 1bit indicnd dac datele au fost receptionate corect sau nu.

38

Codificarea datelor i controlul erorilorErorile de comunicaie pot s apar atunci cnd circuitele i cablurile folosite pentru conexiune sunt afectate de interferene electrice. Aceste interferene sunt induse n firele de comunicaie care se comport ca nite antene. Deoarece tensiunile cu care se lucreaza sunt mici, efectul interferenelor este important. Metodele de detectie i corecie a erorilor implic introducerea de informaie neesential, pe lng datele utile, n transmisia datelor. La oricare din metode, emitorul prelucreaz o parte din date i genereaz un fel de semnatur pe care apoi o transmite impreun cu datele utile. Cnd mesajul ajunge la receptor, acesta prelucreaz datele primite i genereaz o semnatur pe care o compar cu cea primit. Dac cele dou semnturi nu coincid, atunci datele au fost alterate. Metoda bitului de paritate se poate aplica pentru date binare de orice lungime. Pentru fiecare cuvnt este adaugat un bit de paritate (semnatur). Paritatea poate fi par sau impar. Calcularea paritii se poate face cu operatorul XOR (SAU exclusiv) ntre biii cuvntului. Prin aceast metod este posibil doar detecia erorii singulare, cand sunt afectai un numar impar de bii. Suma de control la nivel de bloc este alt mecanism de detecie a erorilor de transmisie. Datele sunt mprite n blocuri, care apoi se nsumeaz i se obine o sum care va fi trunchiat, inversat i adaugat la sfrit. La receptie, blocurile primite, care includ i suma, se adun pe masur ce sosesc, i dac suma obinut nu este 0 atunci nseamn c datele sunt eronate i secvena trebuie retransmis. Alt metod de detecie a erorilor este CRC (Cyclic Redundant Check). n acest caz secventa de bii este imprit cu un numr special ales. Imprtirea se face n modulo 2, adic folosind operatorul XOR. Restul impririi reprezinta semntura care va fi adaugat la sfrsit, dup biii utili. La receptie, se recalculeaz restul imprtirii i dac nu coincide cu cel primit, atunci secventa este eronat. CRC-ul se poate calcula i prin metode hardware, folosind registre cu deplasare i porti logice XOR.

39

Controlerul de comunicaie USARTDin perspectiva microcontrolerului, comunicaia serial se bazeaz pe: linia pentru transmisie, notat cu Tx i linia pentru receptie, notat cu Rx. Microcontrolerul ATMEGA16 include un controler USART (Universal SynchronousAsynchronous Receiver/Transmitter) pentru interfaa serial, care este controlat de regitrii prezentai in continuare. Registrul UDR:

RXB i TXB sunt bufferele de recepie, respectiv transmisie. Ele folosesc aceeai adres de I/O. Deci RXB este accesat citind din registrul UDR iar TXB scriind n UDR. Bufferul de transmisie poate fi scris numai atunci cnd bitul UDRE din portul UCSRA este 1. n caz contrar, scrierea nu este posibil Registrul UCSRA:

UCSRA este primul registru de stare al controlerului de comunicaie. Biii cei mai importani sunt: RXC Receive Complete: devine 1 cnd exist date primite i necitite. Cnd buffer-ul de recepie este gol, bitul este resetat automat, TXC Transmit Complete: devine 1 cnd bufferul de transmisie devine gol, UDRE Data Register Empty: devine 1 cnd bufferul de transmisie poate accepta noi date .

40

Controlerul de comunicaie USARTRegistrul UCSRB:

UCSRA este al doilea registru de stare al controlerului de comunicaie. Biii cei mai importani sunt: RXEN Receiver Enable: dac este 0, nu se pot recepiona date, TXEN Transmitter Enable: dac este 0, nu se pot transmite date, UCSZ2 mpreun cu UCSZ1 i UCSZ0 din portul UCSRC, selecteaz dimensiunea unui cuvnt de date. Registrul UCSRC:

UMSEL Mode Select: 0 pentru funcionare asincron, 1 pentru funcionare sincron UPM1, UPM0 Parity Mode: PM1 1 1 UPM0 0 1 Even Parity Odd Parity

USBS Stop Bit Select: 0 pentru un bit de stop, 1 pentru doi bii de stop UCSZ1, UCSZ0 mpreun cu UCSZ2 din portul UCSRB, stabilesc dimensiunea unui cuvnt de date UCSZ2 UCSZ1 0 0 0 0 0 1 0 1 UCSZ0 0 1 0 1 5 bit 6 bit 7 bit 8 bit

Registrul UBRR: Are 12 bii i este registrul care stabilete viteza de comunicaie (baud rate-ul).

41

Aplicaia 1 Trimiterea unui caracter cu ajutorul interfeei serialeAplicaia are drept scop realizarea comunicaiei seriale ntre PC i microcontroler. La apsarea unui buton microcontrolerul va trimite pe serial cifra 1. La eliberarea butonului va fi trimis cifra 0. Pentru iniializarea controlerului USART se utilizeaz urmtoarea instruciune:

UARTx_Init(baud_rate: longint);

unde: baud_rate reprezint viteza de comunicaie (de ex: 9600 bps). Pentru a trimite i/sau recepiona caractere pe 8 bii sau texte, se vor utiliza instruciunile:

UARTx_Read(): byte; UARTx_Read_Text(Output, Delimiter, Attempts ); UARTx_Write(data_:byte); UARTx_Write_Text(uart_text);

42

Aplicaia 1 Trimiterea unui caracter cu ajutorul interfeei serialeStuctura programului este urmtoarea: la inceputul programului se iniializeaz controlerul USART i se stabilete viteza de comunicaie la 9600bps. Dac este apsat butonul conectat la pinul 0 al portului A se trimite caracterul 0 Dac butonul nu este apsat atunci se trimite caracterul 1

-

Pentru vizualizarea caracterelor trimise, se utilizeaz aplicaia Usart Terminal din mediul de programare MikroPascal

43

Aplicaia 2 Recepionarea unui octet cu ajutorul interfeei serialeAplicaia are drept scop realizarea comunicaiei seriale intre PC i microcontroler i afiarea octetului recepionat pe 8 LED-uri. Pentru generarea numerelor intre 0 i 255 se va utiliza aplicaia creat n acest scop n mediul LabVIEW.

44

Afiajul alfanumeric cu cristale lichide LCD

Afioarele alfanumerice cu cristale lichide pot afia simboluri i caractere formate din matrice de puncte (dot matrix). Dup vizibilitatea caracterelor se deosebesc afiaje cu vizibilitate standard (unghiul de vizare 30...40 grd), respectiv afioare cu unghi de vizare dublu. Dup modul de formare a imaginii exist module transreflective care nu necesit iluminare i reflective cu backlight care dispun de o surs proprie de iluminare cu LED sau folie electroluminiscent. Dup culoarea imaginii sunt afioare normale cu matricea de puncte ntunecate pe fond luminos sau inverse. Majoritatea afioarelor de acest tip folosesc ca driver circuitul integrat Hitachi HD44780. Interfaa de comunicaie este una paralel pe 8 bii, permind astfel s se efectueaze scrieri sau citiri de date ntr-un mod simplu i rapid.

Pe cele 8 fire de date se transmit octei (grupuri de 8 biti), aceti octei reprezentnd coduri interne ale LCD-ului (n modul de instruciuni) sau coduri ASCII ale caracterelor ce se doresc a fi afiate (n modul de date). Din punct de vedere hardware interfaarea se efectueaz pin la pin cu microcontrolerul.

45

n cazul n care se dorete interfaare pe 8 fire este suficient s se conecteze toi pinii D0-D7 la acelai port i cei de control RS, RW i EN pe un alt port i s se scrie programul innd cont de aceast structur. Pinii VSS i GND se conecteaz la alimentare i mas Pinul 3, VLC, se conecteaz direct la masa, pentru contrast maxim, sau ntr-un poteniometru pentru a putea regla contrastul. Exist i o variant de interfaare economic pe 4 bii de date +2 bii pentru comenzi. Daca nu intenionm s citim informaia provenit de la LCD ci doar s scriem date pe el, atunci pinul RW se leag la mas.

Din punct de vedere al modului de comunicaie se parcurg urmtorii pai: - Se seteaz dac se dorete a se trimite o instruciune sau un caracter de date (pinul R/S) - Se trimit cei mai importani 4 biti din octet, - Se activeaz o perioad de timp pinul EN - Se trimit cei mai puin semnificativi 4 bii din octet - Se activeaz din nou o perioad de timp pinul EN In varianta de interfaare pe 4 bii, timpul necesar scrierii in modulul LCD crete semnificativ fa de varianta de interfaare standard.

46

Aplicaia 3 Afiarea unui text pe LCDPentru a fi mai uoar interfaarea unui modul LCD a fost conceput o librarie numit flexunit care include toate instruciunile necesare pentru afiarea caracterelor, numerelor etc. Pentru a scrie un text pe LCD sunt suficiente dou instruciuni: - Lcd_Init care iniializeaz comunicaia cu LCD-ul - Lcd_text (x,y, TEXT) unde : text indic faptul ca pe LCD va fi afiat un text x reprezint rndul y reprezint coloana TEXT este textul care se doreste a fi afiat (max. 16 caractere)

47

Aplicaia 4 Afiarea pe LCD a unui text recepionat pe serialAplicaia are drept scop realizarea comunicaiei seriale intre PC i microcontroler i afiarea datelor receptionate pe LCD.

48

Convertorul analog digital (ADC)

Pentru a putea fi utilizate ntr-un sistem de calcul digital, semnale analogice trebuiesc convertite n valori numerice discrete. Un convertor analog digital (ADC) este un circuit care convertete o tensiune analogic de la intrare ntr-o valoare digital. Aceasta poate fi reprezentat n mai multe feluri n funcie de codificarea datelor: n binar, cod Gray etc Conversia semnalelor analogice n semnale digitale poate fi realizat prin: - Metode hardware: - convertoare tensiune frecven sau tensiune timp - convertoare cu pant simpl dubl sau multipl - convertoare cu eantionare (sample & hold) - convertoare sigma-delta (convertoare pe 1bit) - Metode software: - aproximaii succesive - msurarea timpului de ncrcare al unui condensator

49

O caracteristic important a unui ADC o constituie rezoluia acestuia. Rezoluia indic numrul de valori discrete pe care convertorul poate s le furnizeze la ieirea sa n intervalul de msur. Deoarece rezultatele conversiei sunt de obicei stocate intern sub form binar, rezoluia unui convertor analog-digital este exprimat in bii

De exemplu, dac rezoluia unui convertor este de 10 bii atunci el poate furniza 210 = 1024 valori diferite la ieire. Dac gama de msurare este de 0-5V, rezoluia de msurare va fi:

O alt caracteristic important a unui convertor analog-digital o constituie rata de eantionare. Aceasta depinde de timpul dintre dou conversii succesive i afecteaz modul n care forma de und original va fi redat dup procesarea digital. Care este rata minim de eantionare pentru a reproduce fr pierderi un semnal de o frecvena data? Teorema lui Nyquist spune c o rat de eantionare de minim dou ori mai mare dect frecvena semnalului msurat este necesar pentru acest lucru, teorema aplicndu-se i pentru un semnal compus dintr-un intreg spectru de frecvene, cum ar fi vocea uman.

50

Limitele maxime ale auzului uman sunt 20Hz 20kHz dar frecvenele vocii sunt n gama 80 - 4000 Hz, de aceea, centralele telefonice folosesc o rat de eantionare a semnalului de 8000Hz. Rezultatul este o reproducere inteligibil a vocii umane, suficient pentru transmiterea de informaii ntr-o convorbire obinuit. nregistrarea pe un CD audio are o rat de eantionare de 44100Hz ceea ce este mai mult dect suficient pentru reproducerea fidel a tuturor frecvenelor audibile.

Convertorul analog-digital inclus n microcontrolerul Atmega16 este un ADC cu aproximri succesive. Are o rezoluie de 10 bii i poate msura orice tensiune din gama 05V de pe opt intrri analogice multiplexate. Dac semnalul de la intrare este prea mic n amplitudine, convertorul are facilitatea de preamplificare a acestuia in dou setri, de 10x sau de 200x Relaia dintre valoarea pus n registrul ADC i tensiunea msurat este urmtoarea:

unde Vin este tensiunea msurat iar Vref este tensiunea aleas ca referin

51

Aplicaia 5 Citirea ADC-ului i afiarea valorii pe 8 LED-uriScopul aplicaiei este citirea unui semnal analogic i afiarea valorii acestuia pe 8 LED - uri. Pentru generarea semnalului analogic se va utiliza poteniometrul semireglabil de pe placa de dezvoltare. Pentru a citi semnalele de pe convertorul analog digital se utilizeaz instruciunea: Adc_Read (x) unde: x reprezint numrul canalului ADC (0....8) Valoarea citit pe ADC-ului este un numr reprezentat pe 10 bii (max 1024). Pentru a putea afia acest numr pe 8 LED-uri (max 255) se imparte valoarea citit pe ADC la 4 a div 4 adic 1024/4=255

52

Aplicaia 6 Citirea ADC-ului i afiarea valorii pe LCDScopul aplicaiei este citirea unui semnal analogic i afiarea valorii acestuia pe LCD. Pentru generarea semnalului analogic se va utiliza poteniometrul semireglabil de pe placa de dezvoltare. Pe primul rnd al LCD-ului va fi afiat valoarea citita de pa canalul 0 al convertorului analog digital iar pe al doilea rnd va fi afiat un text. (ex: FLEXFORM). Pentru afiarea valorii ADC-ului care este un numr pe 10 bii folosim instruciunea: Lcd_word (x,y,k) , unde word reprezint formatul numrului care va fi afiat x reprezint rndul y reprezint coloana k este valoarea numrul care este afiat, n acest caz va fi valoarea citit pe ADC Pentru afiarea textului vom folosi instruciunea : Lcd_text (x,y, TEXT)

53

Interfaarea traductorilor i senzorilor. Introducere

Rolul senzorului este de a transforma o mrime fizic de intrare (energie), provenit din mediu, ntr-o mrime electric de ieire, mrime ce poate fi msurat, prelucrat i afiat. n diferite discipline, pe lng noiunea de senzor, se utilizeaz noiunea de traductor. Un traductor este un dispozitiv elementar, capabil ntrun anumit domeniu de msurare, s converteasc o mrime fizic de intrare ntr-o mrime electric de ieire. Traductorul n sine nu conine elemente de procesare, scopul lui este doar realizarea conversiei. Un senzor este un dispozitiv bazat pe un traductor, capabil s converteasc o mrime neelectric ntr-o mrime electric i s o proceseze n concordan cu un algoritm dat, cu scopul de a furniza o ieire uor interfaabil cu un sistem de calcul. Principala diferen fa de noiunea de traductor const n natura neelementar a senzorului prin faptul c el este capabil s posede i alte funcii pe lng cea de conversie de energie ntr-un sistem mecatronic, senzorii i traductorii permit modulului de procesare obinerea de informaii despre proces i mediu. Fr aceste dispozitive, sistemul nu poate funciona. De multe ori, calitatea sistemului mecatronic este n cea mai mare parte dependent de calitatea sistemului de senzori i traductoare.

54

Clasificare

Senzorii i traductorii pot fi clasificai n raport cu caracteristicile lor de intrare/ieire. Corespunztor mrimii fizice de intrare, aceste dispozitive pot fi : absolute: cnd pentru o origine fixat, semnalul electric de ieire poate reprezenta toate valorile posibile ale semnalului de intrare; incrementale: cnd o origine nu poate fi fixat, oricare ar fi valoarea semnalului fizic de intrare, fiecare punct de msur fiind luat drept origine pentru urmtorul punct de msur. Natura semnalului de ieire determin dac dispozitivul este: analog: cnd semnalul de ieire este continuu i depinde liniar sau neliniar de mrimea fizic de intrare; digital: cnd, pentru o mrime fizic de intrare continu semnalul de ieire poate lua un numr discret de valori. Din punct de vedere energetic putem avea dispozitive: active: realizarea conversiei mrimii fizice de intrare n semnal electric se face fr aport de energie auxiliar (termocupluri, dispozitive fotoelectrice etc.); pasive: realizarea conversiei mrimii fizice de intrare n semnal electric se face cu aport de energie auxiliar (termorezistene, traductoare tensometrice etc.). Principalele caracteristici statice sunt: liniaritatea: se definete ca msura n care legtura ntre mrimea fizic de intrare i semnalul electric de ieire poate fi exprimat printr-o funcie liniar; precizia: se definete ca tolerana cu care o mrime poate fi repetat (adic abilitatea dispozitivului de a da aceeai valoare de ieire pentru aceeai valoare de intrare); rezoluia: se definete ca minimul variaiei semnalului de ieire, produs ca urmare a variaiei continue a unui semnal fizic de intrare.

-

-

-

-

55

Traductoare i senzori de poziieMsurarea cu precizie a deplasrilor (implicit a poziiei) este necesar n multe aplicaii de mecanic fin, robotic etc. De exemplu, n cazul roboilor, sistemul de control trebuie s primeasc date despre poziia fiecrei articulaii n scopul calculrii poziiei finale Cel mai simplu traductor de poziie este poteniometrul. Acesta convertete o deplasare mecanic ntr-un semnal electric, pe baza principiului divizorului de potenial.

Regula divizorului de tensiune se poate aplica pentru a determina tensiunea la iesirea unui circuit, fr sarcin la iesire. n acest caz ambele rezistoare sunt parcurse de acelai curent I, determinat cu legea lui Ohm:

56

Traductoare i senzori de poziieUn poteniometru este alctuit in principal dintr-un material rezistiv de forma unui arc de cerc i un cursor care gliseaz pe materialul rezistiv. Ca i material rezistiv se folosesc de obicei pelicule de carbon, oxizi metalici sau metalo-ceramice (cermet). Cursorul se realizeaz din bronz fosforos sau aliaje rezistente la uzur Legea de variaie a rezistenei, care indic variaia valorii rezistenei electrice n funcie de poziia unghiular a cursorului poate fi: - liniar, - logaritmic, - exponenial, - invers exponenial etc. Din punct de vedere constructiv poteniometrele pot fi: - simple, echipate cu un singur element rezistiv i care la randul lor pot fi circulare, rectilinii, multitur, cu intreruptor etc

- multiple, dou sau mai multe seciuni comandate de un singur ax pe care sunt fixate cursoarele

57

Aplicaia 7 - Interfaarea traductorului poteniometricObiectivul acestei aplicaii este interfaarea traductorului poteniometric, citirea valorii cu ajutorul convertorului analog digital, afisarea acesteia pe LCD i pe calculator. Schema de conectare la convertorul ADC este cea din figura alturat. Cei doi condensatori au rolul de a atenua zgomotul datorat deplasrii cursorului pe suprafaa peliculei rezistive.

58

Aplicaia 7 - Interfaarea traductorului poteniometricPentru vizualizarea datelor primite de la microcontroler pe interfaa serial, a fost conceput o aplicaie in mediul de programare LabVIEW Aceast aplicaie poate fi utilizat in continuare pentru afisarea grafic a semnalelor obinute de la diversi senzori analogici (fotorezisten, termistor etc)

59

Traductoare i senzori de poziie

Senzori incrementali

Senzorii digitali de poziie ofer la ieire unul sau mai multe trenuri de impulsuri dreptunghiulare de tensiune. De obicei senzorii digitali sunt preferai celor analogici datorit preciziei mai mari i a insensibilitii la zgomote i perturbaii. Senzorii digitali sunt incrementali sau absolui, fiecare existnd n dou variante constructive: liniar, respectiv rotativ. n principiu, un senzor digital ofer la ieire un numr de impulsuri dreptunghiulare pentru fiecare unitate de deplasare parcurs de elementul mobil. Mrimea msurat nu poate fi determinat la un moment dat (nu este o poziie). Contoriznd ns impulsurile de ieire ale senzorului, ntr-un anumit interval de timp, se obine un numr pe baza cruia se calculeaz deplasarea efectuat de elementul mobil n intervalul de timp respectiv. n concluzie, senzorii digitali incrementali permit msurarea unor deplasri relative. Procedeul de sesizare al incrementelor poate fi magnetic sau optic. Procedeul optic este cel mai rspndit datorit relativei simpliti constructive i a unor faciliti de prelucrare a semnalelor. Discul sau rigla contine o retea optic de zone active, alternate cu interstiii de aceeasi lime. Zonele active se disting de interstiii, fie prin transparen (procedeu de msurare de tip diascopic), fie prin puterea de reflecie (procedeu de masurare episcopic). Citirea este realizat de un cap (palpator) cu o gril de urmrire (scanare) prevazut cu ferestre n dreptul fiecrei piste.

60

Senzori incrementaliDiscul incremental conine o reea de zone active intercalate cu interstiii, toate de aceeai lime. Lumina emis de o surs de lumin (LED) poate s treac sau nu spre detectorul de lumin (o fotodiod), funcie de poziia unghiular a discului. Semnalul generat este amplificat i transmis sub form de impulsuri spre dispozitivul de calcul (microcontroler).

Senzorii optici incrementali pot genera implusuri pe: un canal ; in acest caz nu este posibil determinarea sensului de rotaie dou canale ; semnalele sunt decalate cu p/2 unul fa de cellalt fiind posibil astfel determinarea sensului de rotaie i in plus multiplicarea cu 2 sau 4 a numrului de implusuri obinute trei canale; permite generarea unui impuls la o rotaie complet. Deci microcontrolerul poate face corecia necesar dac se pierd impulsuri i ine evidena numrului de rotaii complete.

-

61

Senzori digitali absolui

Un senzor digital absolut, alimentat cu tensiune, ofer la ieire mai multe semnale numerice; nivelele logice ale acestora, citite la un moment dat, codific poziia elementului mobil al traductorului, fat de cel fix, la momentul respectiv. Aceste traductoare se realizeaz n dou variante constructive: liniar i rotativ. Senzorul este compus dintr-un cap de citire i o rigl codificat (care este elementul fix la traductorul liniar) sau un disc codificat (elementul mobil la traductorul rotativ). Rigla i discul sunt realizate din sticl transparent, folosindu-se procedeul optic diascopic pentru citire (zonele active se deosebesc de interstiii prin transparen). Codificarea n cod binar (natural sau zecimal) sau n cod Gray se obine prin trasarea a m piste paralele (pe rigl) sau concentrice (pe disc). Pistele conin zone opace i transparente, cu lrgimile i modul de dispunere dependente de codul utilizat; numrul pistelor dicteaz rezoluia msurrii.

62

Aplicaia 8 Interfaarea encoderului incremental (I)

Obiectivul acestei aplicaii este interfaarea senzorului incremental, determinarea sensului de rotaie i afiarea valori pe 8 LED-uri.

63

Aplicaia 9 Interfaarea encoderului incremental (II)Obiectivul acestei aplicaii este interfaarea senzorului incremental, determinarea sensului de rotaie i afiarea numrului de impulsuri pe afiajul cu LCD. Pe primul rnd al LCD-ului va fi afiat numrul de impulsuri iar pe al doilea rnd va fi afiat un text. (ex: TEST ENCODER)

64

Traductoare de lumin. Fotorezistena

Fotorezistena este un dispozitiv crui rezistent electric descrete cu creterea intensittii luminoase.La baza construirii fotorezistentelor, st efectul fotoelectric n semiconductori:

Dac un semiconductor este supus cmpului electromagnetic al undelor luminoase, energia transportat de fotoni disloc electroni de la nivelul atomilor, rezultnd electroni liberi, ca sarcini negative, si ioni, ca sarcini pozitive. Apar astfel purttori de sarcina, care produc scderea rezistenei electrice a semiconductorului, fenomen numit efect fotoelectric. Fotorezistentele sunt utilizate n subansamblele de msur ale fluxului luminos din aparatele fotografice sau in diverse sisteme de automatizare

65

Aplicaia 10 - Citirea valorii unei fotorezistene

Obiectivul acestei aplicaii este citirea valorii unei fotorezistene, afisarea acesteia pe LCD i pe calculator. Schema de conectare la convertorul ADC este cea din figura alturat.

Afiarea grafic,pe calculator, a valorilor citite se poate face utiliznd programul in LabView prezentat in Aplicaia 7

66

Traductoare de temperatur. Termistorul

Termistorul este un dispozitiv semiconductor, realizat din amestecuri sinterizate din oxizi de mangan, cobalt, nichelul, fier, cupru, a crui rezistent variaz semnificativ n funcie de temperatur. Micorarea sau creterea rezistenei este n strns corelaie cu tipul termistorului, care poate fi: cu coeficientul de temperatur negativ, NTC la care rezistena scade cu creterea temperaturii

- t0

-

cu coeficientul de temperatur pozitiv, PTC la care rezistena crete odat cu creterea temperaturii

+ t0

Legea de variatie a rezistentei in funcie de temperatur pentru un termistor cu coeficientul de temperatur negativ, NTC este dat de relaia:

RT A eunde:

B T

- RT[K] este rezistena termistorului la temperatura T ; - B[K] este o constant de material; uzual B = (20005000)K; - A(RA)[] constant care depinde de tipul termistorului i semnific rezistena termistorului cnd temperatura tinde (ipotetic) spre infinit.

67

Aplicaia 11 - Citirea valorii unui termistor NTC

Obiectivul acestei aplicaii este citirea valorii unui termistor, afisarea acesteia pe LCD i pe calculator. Schema de conectare la convertorul ADC este cea din figura alturat.

68

69

ActuatoriNoiuni generale Pentru dezvoltarea forelor i momentelor i realizarea micrilor n sistemele mecatronice se utilizeaz sisteme de acionare de cele mai diferite tipuri i forme de energie. Pentru cuprinderea tuturor acestor dispozitive tehnice ntr-o singur noiune, se utilizeaz, termenul de actuator (de la verbul englez to act = a aciona)

n general, prin actuator se nelege un subansamblu care convertete o form de energie (electric, pneumatic, termic, chimic etc.) n energie mecanic. Structura acestuia nu mai poate fi descompus n sub-structuri dect cu riscul de a pierde capacitatea de generare a micrii. Micarea simpl, elementar generat de un actuator poate fi utilizat direct pentru un anumit scop sau poate fi transmis, transformat i amplificat, sau corelat cu micarea obinut de la ali actuatori. Acionarea propriu-zis este obinut pe trei ci distincte, interaciunea cmpurilor, interaciune mecanic i deformaii limitate. Interaciunea cmpurilor magnetice, a curentului electric cu cmpuri magnetice precum i interaciunea sarcinilor electrice permit materializarea unor actuatori care au curs teoretic nelimitat sau limitat, putnd fi concepui ca actuatori liniari sau rotativi.

70

Acionarea bazat pe interaciunea mecanic presupune asigurarea fluxului de energie prin intermediul unui agent fizic, de regul un lichid sau un gaz, a crui presiune sau debit determin deplasarea sau deformarea unor elemente active. Astfel, actuatorii cu elemente deplasabile rotative sunt motoarele cu palete cu rotaie parial sau total, turbinele iar actuatorii liniari de acest tip sunt reprezentai de cilindri. Actuatorii liniari cu elemente deformabile sunt cei cu tub flexibil i cei cu tub Bourdon iar cei de rotaie au n structur elemente active sub form de tub rsucit sau tub anizotropic, curbat. Actuatorii a cror funcionare se bazeaz pe deformaiile liniare i unghiulare limitate au n structur unul sau mai multe elemente din materiale "inteligente" - materiale care au capacitatea de a se deforma controlat, confecionate sub form lamelar dreapt sau curbat preformat, cilindric, form de disc, bar, bar de torsiune, membran, arc spiral sau elicoidal, astfel nct se obin att deplasri liniare ct i deplasri unghiulare. O caracteristic esenial a elementelor din structura actuatorilor este faptul c au un triplu rol: - rol structural (de a prelua ncrcrile i sarcinile transmise); - rol senzorial (oferind suplimentar posibilitatea integrrii n structur a senzorilor i traductorilor, pentru a obine un control n bucl nchis); - rol de acionare. n privina integrrii ntr-un sistem, un actuator conecteaz partea de procesare a informaiei din unitatea de control a sistemului cu procesul care trebuie investigat

71

Sistematizarea actuatorilor utilizai n mecatronic

n funcie de semnalul de intrare folosit pentru comanda actuatorilor, acetia pot fi clasificai astfel: a) actuatori comandai termic (prin intermediul unui flux de cldur): - actuatori pe baz de dilatare a gazelor i a materialelor solide: actuatori cu elemente active bimetalice sau actuatori pe baz de transformare de faz; - actuatori cu elemente active din aliaje cu memorie; - actuatori cu cear; b) actuatori comandai electric (prin intermediul intensitii cmpului electric): - actuatori electrostatici; - actuatori piezo, cu elemente active din piezocristale, piezoceramici sau piezo-polimeri; - actuatori electroreologici; c) actuatori comandai magnetic (prin intermediul induciei cmpului magnetic): - actuatori electromagnetici; - actuatori magnetostrictivi; - actuatori pe baz de ferofluide; d) actuatori comandai optic (optoelectric sau optotermic): - actuatori termo sau electro - fotostrictivi; - actuatori piro sau piezoelectrici; e) actuatori comandai chimic: - actuatori polimerici: geluri conductivi, polimeri electrostrictivi; polimerice, polimeri

- actuatori pe baz de reacii chimice nsoite de degajare de gaze; f) alte tipuri de actuatori, bazai pe alte fenomene fizice.

72

Exemple : Motoare de curent continuu

Motoare pas cu pas

Servomecanisme

73

Motorul de curent continuu

Motorul de curent continuu este construit n principal din dou pri componente: stator i rotor

Statorul este partea fix a motorului, n general exterioar, ce include carcasa 1 i magneii permaneni 2. Rotorul este partea mobil a motorului, plasat de obicei n interior. Este format dintr-un ax i o armtur ce susine nfurarea rotoric 3. Pe axul motorului este situat un colector 4 ce schimb sensul curentului prin nfurarea rotoric. Tensiunea de alimentare este aplicat nfurrilor rotorului prin intermediul unui sistem de perii fixate pe capacul 5. ntre stator i rotor exist o distan numit ntrefier . Turaia motorului este proporional cu tensiunea aplicat nfurrii rotorice i invers proporional cu cmpul magnetic de excitaie. Turaia se poate regla prin variaia tensiunii aplicate motorului de la o valoare minim pn la valoarea nominal. Cuplul dezvoltat de motor poate fi reglat prin variaia curentului aplicat infurrii rotorice. Schimbarea sensului de rotaie se face prin schimbarea polaritii tensiunii de alimentare.

74

Interfaarea motoarelor de curent continuu la microcontrolerDatorit tensiunii i curentului de valori foarte mici furnizate la ieirea microcontrolerelor, este nevoie de circuite de amplificare pentru acionarea motoarelor de curent continuu. O schem simpl i eficient pentru comanda acestor motoare este reprezentat de puntea H (n englez H-bridge).

O punte H este construit din patru ntreruptoare. Cnd ntreruptorul S1 i S4 sunt nchise (i ntreruptoarele S2 i S3 sunt deschise), o tensiune pozitiv va fi aplicat motorului. Prin deschiderea ntreruptoarelor S3 i S4 i nchiderea lui S2 i S3, aceast tensiune este inversat, fcnd posibil rotirea motorului n sensul opus.

Aranjarea de tip punte H este a inversa polaritatea motorului, ns frnarea motorului (motorul se scurtcircuitrii terminalelor sale) sau se roteasc liber pn la oprire

n general folosit pentru poate fi folosit i pentru oprete brusc datorit pentru a lsa motorul s

S1 S2 S3 S4 Rezultat 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 Rotire la dreapta 0 0 1 0 Rotire la stnga Rotire liber Frnare Frnare

75

Punile H pot fi contruite din componente electronice sau se gsesc ntr-un singur circuit integrat.

Circuitul integrat L293D conine 2 astfel de puni care pot comanda motoare alimentate cu max 35V i 600 mA. Fiecare din cele dou puni H are dou terminale de intrare (INput) i un terminal de activare (ENable). Cnd terminalul EN este legat la 5V puntea H este activ. Dac intrarea IN1 este in 1 logic (+5V) iar intrarea IN2 este in 0 logic (0V) motorul se rotete; dac strile celor dou intrri sunt inversate , motorul se va roti n sens contrar. Cnd ambele intrri sunt n 0 logic motorul se oprete iar dac ambele sunt n 1 logic atunci axul motorului este frnat. Un exemplu de conectare a circuitului L293 la microcontroler este prezentat n figura de mai jos

76

Aplicaia 1 Acionarea unui motor de curent continuu n sens orarScopul aplicaiei este acionarea unui motor de curent continuu, la apsarea butonului, n sensul acelor de ceasornic. La eliberarea butonului, motorul se va opri. La inceputul programului se seteaz pinul 5 al portului D i pinul 3 ai portului B ca ieiri; portul A se seteaz ca intrare Dac se apas butonul conectat la pinul 0 al portului A atunci intrarea IN2 conectat la pinul 5 al portului D ia valoarea 1, intrarea IN1 conectat la pinul 3 al portului B ia valoarea 0 i motorul se rotete in sens orar cu turaie maxim Dac se elibereaz butonul conectat la pinul 0 al portului A atunci, intrarea IN2 conectat la pinul 5 al portului D ia valoarea 0, intrarea IN1 conectat la pinul 3 al portului B ia valoarea 0 i motorul se oprete

.

77

Aplicaia 2 Acionarea unui motor de curent continuu n sens trigonometricScopul aplicaiei este acionarea unui motor de curent continuu, la apsarea butonului, n sensul invers acelor de ceasornic (sens trigonometric). La eliberarea butonului, motorul se va opri. La inceputul programului se seteaz pinul 5 al portului D i pinul 3 ai portului B ca ieiri; portul A se seteaz ca intrare. Dac se apas butonul conectat la pinul 0 al portului A atunci intrarea IN2 conectat la pinul 5 al portului D ia valoarea 0, intrarea IN1 conectat la pinul 3 al portului B ia valoarea 1 i motorul se rotete in sens antiorar cu turaie maxim. Dac se elibereaz butonul conectat la pinul 0 al portului A atunci, intrarea IN2 conectat la pinul 5 al portului D ia valoarea 0, intrarea IN1 conectat la pinul 3 al portului B ia valoarea 0 i motorul se oprete.

78

Intreruperi. Tratarea ntreruperilorO ntrerupere reprezint un semnal sincron sau asincron de la un periferic ce semnalizeaz apariia unui eveniment care trebuie tratat de ctre procesor. Tratarea intreruperii are ca efect suspendarea firului normal de execuie al unui program i lansarea n execuie a unei rutine de tratare a intreruperii (RTI) . ntreruperile hardware au fost introduse pentru a se elimina buclele pe care un procesor ar trebui s le fac n ateptarea unui eveniment de la un periferic. Folosind un sistem de intreruperi, perifericele pot ateniona procesorul n momentul producerii unei ntreruperi (IRQ), acesta din urm fiind liber s-i ruleze programul normal n restul timpului i s ii ntrerup execuia doar atunci cnd este necesar nainte de a lansa n execuie o rutin de tratare a intreruperii (RTI), procesorul trebuie s aib la dispoziie un mecanism prin care s salveze starea n care se afl n momentul apariiei ntreruperii. Aceasta se face prin salvarea ntr-o memorie, a registrului contor de program (Program Counter), a registrelor de stare precum i a tuturor variabilelor din program care sunt afectate de execuia RTI. La sfritul execuiei RTI starea anterioar a registrelor este refacut i programul principal este reluat din punctul de unde a fost intrerupt. Perifericele care pot genera ntreruperi la ATMega16 sunt timerele, interfaa serial (USART), convertorul analogdigital (ADC), controlerul de memorie EPROM, comparatorul analog i interfaa serial I2C. Deasemenea, procesorul poate s primeasc cereri de ntreruperi externe din trei surse (INT0, 1 i 2) ce corespund unui numr egal de pini exteriori:

INT0 pinul 16 (PD2) INT1 pinul 17 (PD3) INT2 pinul 3 (PB2)

79

Principiul de functionare al unui TimerTimerul/Counterul, dup cum i spune i numele ofer facilitatea de a msura intervale fixe de timp i de a genera ntreruperi la expirarea intervalului msurat. Un timer, odat iniializat va funciona independent de unitatea central. Acest lucru permite eliminarea buclelor de delay din programul principal.

Principiul de funcionare a unui Timer poate fi descris astfel : - Prescaler-ul divizeaz n funcie de necesitile aplicaiei frecvena de ceas i odat cu divizarea incrementeaz registrul numrtor TCNT . - La fiecare incrementare a registrului numrtor are loc o comparaie ntre acest registru i o valoare stocat n registrul OCR. Aceast valoare poate fi incrcat prin software de utilizator. Dac are loc egalitatea se genereaz o intrerupere, n caz contrar incrementarea continu Timerele sunt prevzute cu mai multe canale astfel c se pot desfura n paralel mai multe numrtori. ATmega16 este prevzut cu 3 uniti de timer: dou pe 8 bii i una pe 16 bii.

80

Semnale PWMPentru a controla turaia motoarelor de curent continuu exist mai multe metode. Cea mai simpl ar fi nserierea unui rezistor variabil in circuitul de alimentare al motorului. Prin modificarea valorii rezistenei se modific tensiunea aplicat motorului. Variaia tensiunii nu este proporional cu variaia rezistenei ci depinde i de curentul absorbit de motor. Aceast metod nu este eficient, avnd in vedere faptul c se pierde foarte mult energie prin disipare de cldur. Cea mai des utilizat metod de control a turaiei este comanda cu impulsuri modulate n lime PWM (Pulse Width Modulation).

Variaia turaiei motorului se face prin creterea sau micorarea timpului n care semnalul de comand are valoarea 1 logic (tON). Astfel la un factor de umplere de 100%, motorul are turaia maxim, deci tON este maxim, iar tOFF este zero. La un factor de umplere de 50 %, motorul are jumatate din turaia nominal deci tON = tOFF. Iar la un factor de umplere de 0 % motorul este oprit deci tOFF este maxim, iar tON este zero.

81

Majoritatea microcontrolerelor pot genera semnale PWM. Pentru msurarea timpului ct semnalul este n 1 logic i al timpului ct st n 0 logic, se folosete un Timer. Pentru a genera un astfel de semnal numrtorul este incrementat periodic i este resetat la sfritul fiecrei perioade a PWM-ului. Cnd valoarea numrtorului este mai mare decat valoarea de referin, ieirea PWM trece din starea 1 logic in starea 0 logic (sau invers) In cazul microcontrolerului ATmega16 pentru a genera semnale PWM, este nevoie de programarea a doi regitrii TCCR1A i TCCR1B. Regitrii de control (TCCR1A/B) sunt regitrii de 8 biti, cu rol de a configura Timerul pentru un anumit mod de functionare.

Pentru a genera un semnal PWM standard, trebuie setai biii COM1A1 i COM1B1 din registrul TCCR1A. Aceasta nseamn c li se va atribui valoarea 1 logic. Pentru stabili numrul de biti corespunztor factorului de umplere al PWM-ul trebuie setai biii WGM10 i WGM12. Dac mrimea factorului de umplere trebuie exprimat printr-un numr intreg pe 10 biti atunci celor doi bii li se atribuie valoarea1. Pentru a stabili frecvena semnalului se poate folosi un divizor de frecven (prescaler) Dac se utilizeaz un prescaler de 8, atunci bitul CS11 are valoarea 1. Astfel, registrul TCCR1A are in final valoarea TCCR1A := 10100001 ; iar TCCR1B: TCCR1B := 00001010 ; sau TCCR1B := $0A. sau TCCR1A := $A1 ;

82

Pentru a uura generarea semnalelor PWM i a elimina necesitatea programrii celor doi regitrii de control, in librria flexunit a fost inclus o procedur care poate fi apelat cu instruciunea Init_pwm. Circuitul L293 de pe placa de dezvoltare permite comanda a dou motoare de curent continuu.

Pentru a comanda instruciunile: unde: -

cele

dou

motoare

se

utilizeaz

Init_pwm care initializeaz cei doi regitii de control TCCR1A i TCCR1B motor0(x) motor1(y)

motor0 reprezint motorul conectat la pinii 3 i 6 motor1 este motorul conectat la pinii 11 i 14 x i y sunt numere cuprinse intre -127 i 127 i semnific valoarea factorului de umplere al semnalului PWM.

Dac x i/sau y au valoarea 127 atunci motorul se va invrti cu turaie maxim de exemplu n sens orar; dac au valoarea 127 se va invrti cu turaie maxim in cellalt sens iar dac au valoarea 0 motorul nu se rotete.

83

Aplicaia 3 Comanda bidirecional a motorului de curent continuuScopul aplicaiei este comanda bidirecional a unui motor de curent continuu cu posibilitatea reglrii vitezei. La inceputul programului iniializeaz comunicaia cu LCD-ul i cei doi regitii PWM Dac se apas butonul conectat la pinul 6 al portului D atunci motorul se rotete in sens antiorar cu o turaie corespunztoare unui factor de umplere de 48, timp de 1,5 secunde, dup care ii va schimba sensul i se va roti cu aceeasi vitez tot 1,5 secunde. Apoi ciclul se repet Dac se elibereaz butonul conectat la pinul 6 al portului D atunci, motorul se oprete. Sensul se rotaie al motorului va fi afiat pe LCD

84

Aplicaia 4 Variator de turaie (I)Scopul aplicaiei este modificarea turaiei unui motor de curent continuu. La inceputul programului iniializeaz comunicaia cu LCD-ul i cei doi regitii PWM Pe canalul 1 al ADC-ului (pinul 39) este conectat un poteniometru. La mijlocul cursei poteniometrului turaia motorului este zero. La rotirea poteniometrului ntr-un sens turaia motorului va crete proporional cu unghiul de rotaie. La schimbarea sensului de rotaie al poteniometrului se schimb i turaia motorului. Pe primul rnd al afiajului LCD va fi afiat textul Variator turaie iar pe al doilea valoarea factorului de umplere al semnalului de comand PWM

85

Aplicaia 5 Variator de turaie (II)Scopul aplicaiei este modificarea turaiei unui motor de curent continuu cu ajutorul encoderului de pe placa de dezvoltare. Unul din terminalele encoderului este legat la pinul PB2 adic la pinul care corespunde intreruperii externe int_2. Din acest motiv la inceputul programului este o procedur ce trateaz intreruperea extern. Dac pinul 2 al portului B este 1 logic atunci variabila in2 este decrementat cu 5 uniti; dac este in 0 logic atunci variabila va fi incrementat cu 5 uniti. Practic se realizeaz un numrtor care numr din 5 in 5 de la -128 pna la 127 La rotirea encoderului ntr-un sens turaia motorului va crete proporional cu unghiul de rotaie. La schimbarea sensului de rotaie al encoderului se schimb i turaia motorului. Pe primul rnd al afiajului LCD va fi afiat textul PWM test iar pe al doilea valoarea factorului de umplere al semnalului de comand PWM adic valoare obinut prin rotirea encoderului.

86

Motorul pas cu pasMotorul pas cu pas este un convertor electromecanic ce funcioneaz pe principiul reluctanei minime i care realizeaz transformarea unui ir de impulsuri digitale ntr-o micare de rotaie. Micarea rotorului motorului pas cu pas const din deplasri unghiulare discrete, succesive, de mrimi egale, care reprezint paii motorului. Numrul pailor efectuai corespunde cu numrul impulsurilor de comand aplicate fazelor motorului. Deplasarea unghiular total, constituit dintr-un numr de pai egal cu numrul de impulsuri de comand aplicat pe fazele motorului, determin poziia final a rotorului. Aceast poziie este memorat pn la aplicarea unui nou impuls de comand. Univocitatea conversiei impulsuri - deplasare, asociat cu memorarea poziiei, fac din motorul pas cu pas un bun element de execuie, integrat n sistemele de reglare a poziiei n circuit deschis. Viteza unui motor pas cu pas poate fi reglat n limite largi prin modificarea frecvenei impulsurilor de intrare. De exemplu, dac pasul unghiular al motorului este 1,8 numrul de impulsuri necesare efecturii unei rotaii complete este 200, iar pentru un semnal de intrare cu frecvena de 400 impulsuri pe secund turaia motorului este de 120 rotaii pe minut.

Motorul pas cu pas hibrid este o combinaie a primelor dou tipuri, fiind varianta de motor utilizat n marea majoritate a aplicaiilor. Constructiv, rotorul motorului este constituit dintrun magnet permanent cu mai multi poli i un stator din material feromagnetic pe care sunt realizate infurrile. Unghiul de rotaie (pasul motorului) este determinat de relaia existent ntre numrul de poli ai statorului i numrul de poli ai rotorului. La apariia unui semnal de comand pe unul din polii statorici rotorul se va deplasa pn cnd polii si se vor alinia n dreptul polilor opui statorici. Rotirea se va face practic din pol n pol

87

Dup felul n care sunt conectate nfurarile, motoarele pas cu pas pot fi: bipolare sau unipolare

n cazul motoarelor pas cu pas unipolare fiecare dintre cele dou bobine are o priz median care se conecteaz la borna pozitiv a sursei de alimentare. Micarea de rotaie este generat prin legarea succesiv la mas a cte unei nfurri statorice. n cazul motorului bipolar micarea are loc prin schimbarea sensului curentului in nfurrile statorice. Comanda pailor MPP poate realiza n mai multe moduri: - Secven simpl (wave drive), n care este alimentat pe rnd cte o singur faz statoric . n acest caz cuplul motorului este aprox .30% de valoarea nominal Este utilizat n cazurile unde se impune un consum redus de energie

88

- Secven dubl (full step) n care sunt alimentate simultan cte 2 faze. Este cea mai des utilizat metod. Cuplul dezvoltat de motor i frecvena de pire au valori maxime.

- Secven mixt (half step) presupune alimentarea, succesiv a unei faze, urmat de alimentare a 2 faze, amd. n acest caz unghiul de rotaie este jumtate din pasul nominal al motorului.

- Micropire (microstepping) este o metod special de control n poziii intermediare celor obinute prin primele trei metode. De exemplu, pot fi realizate poziionri la 1/10, 1/16, 1/32, 1/125 din pasul motorului, prin utilizarea unor cureni de comand a fazelor cu valori diferite de cea nominal, astfel nct suma curenilor de comand prin cele dou faze alturate, comandate simultan s fie constant, egal cu valoarea nominal. Cu ajutorul acestei metode sunt asigurate att poziionri fine, ct si operri line, fr ocuri, ns cuplul dezvoltat este mai mic dect n primele trei cazuri

89

n cazul motoarelor pas cu pas unipolare fiecare dintre cele dou bobine are o priz median care se conecteaz la borna pozitiv a sursei de alimentare Prin comanda succesiv a fiecarui tranzistor se pune la mas cate o bobin a motorului i se genereaz micarea de rotaie.

Comanda digital a motorului bipolar se face similar cu cea unipolar; diferenta apare la partea de putere unde bobinele motorului sunt alimentate consecutiv i alternativ cu ajutorul unor puni H.

90

Aplicaia 6 Comanda motorului pas cu pas cu turaie variabilScopul aplicaiei este comanda unui motor pas cu pas unipolar cu o turaie variabil, valoarea acesteia fiind stabilit cu ajutorul unui poteniometru. La apsarea butonului conectat la pinul 6 al portului D sensul de rotaie al motorului se schimb.Comada se face in secven simpl de paire (wave drive)

91

Aplicaia 7 Comanda motorului pas cu pas cu turaie variabil (II)Scopul aplicaiei este comanda unui motor pas cu pas unipolar cu o turaie variabil, valoarea acesteia fiind stabilit cu ajutorul unui poteniometru i afiarea pe LCD a numrului de pai efectuat. La apsarea butonului conectat la pinul 6 al portului D sensul de rotaie al motorului se schimb. Comada se face in secven simpl de paire (wave drive) pentru fiecare pas al motorului se va aprinde cte un LED.

92

ServomecanismulUn servomecanism este compus dintr-un motor de curent continuu care prin intermediul unui angrenaj de roi dinate antreneaz un ax de ieire. Pe axul de ieire este montat un poteniometru cu rol de senzor de poziie. Arborele de ieire al servomotoarelor nu face o rotaie complet, ci doar 180 de grade

Circuitul de control are rolul de a modifica parametrii funcionali (poziie, vitez etc.) ai servomotorului n funcie de semnalul de intrare (referin). Determinarea poziiei la care se afl arborele servomotorului se face prin intermediul unui senzor de tip rezistiv (poteniometru). Modificarea unghiului de rotaie al arborelui va determina modificarea poziiei cursorului poteniometrului i implicit tensiunea de ieire a acestuia. Valoarea tensiunii este utilizat de sistemul de control pentru a determina poziia/turaia real a servomecanismului, i comparnd-o cu referina va rezulta semnalul de comand pentru motorul de curent continuu.

Semnal de referinta

Controler

Amplificator

Motor CC

Reductor

Senzor (Potentiometru)

93

Motorul servomecanismului nu este alimentat continuu, ci este controlat printr-o serie de impulsuri de tip ON/OFF. Durata unui ciclu este de 20 ms, din care valoarea standard pentru obinerea poziiei de centru (90) a servomecanismului, este de 1,5 ms n valoarea 1 i 18,5 ms n valoarea 0. In acest interval circuitul de control compar, poziia unghiular a axului servomotorului cu unghiul dorit, unghi dat de factorul de umplere al semnalului PWM. n funcie de valoarea obinut, circuitul de control va alimenta motorul de curent continuu cu o tensiune care s determine rotirea axului servomotorului n vederea anulrii diferenei dintre cele dou valori. Reductorul montat pe axul servomotorului amplific cuplul dezvoltat de acesta. Poziia de minim sau de maxim se obine la valori diferite pentru fiecare tip de servomecanism n parte. Cele mai uzuale valori sunt 1 ms pentru 180 i 2 ms pentru 0.

94

Aplicaia 8 Comanda servomecanismului

Scopul aplicaiei este poziionarea axului de ieire al unui servomecanism in dou poziii distincte, cu ajutorul unui buton. La inceputul programului iniializeaz porturile A i D ale microcontrolerului. Sevomecanismul este conectat la pinul 3 al portului A prin intermediul unui conector. Dac se apas butonul conectat la pinul 6 al portului D atunci axul servomecanismului va fi poziionat la mijlocul cursei, adic la 90 grade. Cnd se ajunge n poziia dorit servomecanismul se oprete. Dac se elibereaz butonul conectat la pinul 6 al portului D atunci, axul servomecanismului va fi poziionat la inceputul cursei adic la 0 grade.

95

Aplicaia 9 Comanda poziiei unui servomecanism

Scopul aplicaiei este controlul poziiei servomecanismului, cu ajutorul unui poteniometru.

axului

La inceputul programului iniializeaz comunicaia cu LCD-ul Pe primul rnd al LCD-ului va fi afiat textul Test servo iar pe al doilea valoarea citit pe ADC Axul servomecanismului va avea o deplasare unghiular proporional cu unghiul de rotaie al poteniometrului conectat la canalul 1 al ADC-ului. Sevomecanismul este conectat la pinul 3 al portului A

96

Aplicaia 10 Comanda poziiei pentru trei servomecanismeScopul aplicaiei este controlul poziiei servomecanisme, cu ajutorul a trei poteniometre. a trei

Poziia fiecrui servomecanism este controlat cu ajutorul a cte unui poteniometru. Acestea sunt conectate la canalele 0, 5 i 6 ale ADC+ului

Cele trei servomecanisme sunt conectate la pinii 1, 2 i 3 ai portului A.

97

Aplicaia 11 Comanda unui bra robotic cu trei grade de mobilitateIntroducere Braul robotic cu trei grade de mobilitate este montat pe o platform mobil antrenat prin intermediul a dou motoare de curent continuu. Principalele elemente componente sunt : 1. Platform 2. Suport 3. Roi 4. Motoare de curent continuu cu reductor 5,6,8. Servomecanisme 7,9. Braele robotului

Cele trei grade de mobilitate ale braului robotic sunt asigurate de cele trei servomecanisme din structur. Pentru asamblarea braului robotic si a platformei mobile se parcurg succesiv etapele prezentate in continuare:

98

Asamblarea braului robotic

Se introduce servomotorul 5 in deschiztura prevazut n platforma 1 i se fixeaz cu ajutorul a patru suruburi M4 cu piuli. Se monteaz rozeta pe axul servomecanismului. La extremitile platformei sunt prevzute patru orificii dreptunghiulare pentru fixarea suporturilor celor dou motoare de curent continuu. Aceste motoare servesc la antrenarea platformei mobile.

99

Se asambleaz cele trei elemente componente ale suportului platformei mobile

Se intoarce platforma 1, avnd deja montate servomecanismul 5 i cele dou suporturi pentru motoare, i se fixeaz cu ajutorul a patru uruburi M4, suportul 2.

100

Se monteaz cele dou motoare de curent continuu cu reductor 4 folosite pentru antrenarea platformei mobile.

101

Se asambleaz cele patru elemente componente ale suportului pentru servomecanismul 6. Acest suport permite conectarea braului mobil la servomecanismul fixat pe platforma mobil

Se fixeaz servomecanismul 6 de suport du ajutorul a dou suruburi M4 cu piuli. Se monteaz rozeta pe axul servomecanismului.

102

Se fixeaz, cu ajutorul uruburilor, braul 9 de servomecanismul 8.

103

Se conecteaz braul 9 i servomecanismul 8 de restul platformei cu ajutorul elementului 7. Se monteaz roile 3 pe cele dou motoare de antrenare

104

Programul de comandProgramul pentru comanda celor trei servomecanisme poate fi cel scris in cadrul Aplicaiei 10 sau unul asemntor cu acesta. La scrierea programului se ine cont de faptul c sevomecanismele sunt conectate la pinii 1, 2 i 3 ai portului A, iar cei trei poteniometrii la canalele 0, 5 i 6 ale ADC-ului

105

106

GeneralitiSistemul reprezint o mulime de elemente aflate n interaciune, care se comport unitar n relaiile sale cu mediul, adic nseamn o unitate complex. Orice obiect sau fenomen poate fi considerat ca un sistem, cu condiia de a-l putea separa de celelalte obiecte i fenomene i de a-l defini riguros i univoc. (Ex: motorul electric, schimbatorul de caldur etc ) Procesul reprezint o transformare a unui sistem, indicat prin modificarea unor mrimi de proces. De exemplu deplasarea mecanic a unor obiecte, transformarile fizicochimice ale unor fluide, modificrile de form ale unor componente, variaiile unor mrimi fizice precum temperatur, nivel, concentraie, etc. sunt exemple de procese. Parametrii unui proces sunt reprezentai de mrimile fizice care caracterizeaz procesul. Pot fi : - Parametri de intrare mrimi fizice msurabile, exterioare procesului, care influeneaz comportarea acestuia; - Parametri de stare - nglobeaz informaia referitoare la evoluia anterioar a procesului ; - Parametri de ieire - mrimi a cror evoluie dorim s o controlm. Studiul analitic al proceselor reprezint stabilirea structurii acestora i a interdependenei dintre mrimile de stare pe baza unor legi cunoscute (modelare) Studiul empiric al unui proces se realizeaz prin stabilirea structurii procesului i a interdependenelor dintre mrimile sale de stare pe baza experienei obinute prin observaii (identificare) Modelul matematic al procesului este o reprezentare a sistemului real prin relaii matematice, ce nglobeaz anumite proprieti ale sistemului considerat. Fiecare model reflect doar anumite proprieti ale "originalului", celelalte fiind neglijate datorit faptului c ele nu pot fi descrise sau nu intereseaz ntr-un anume caz concret Funcia de transfer a unui proces este expresia matematic a dependenei dintre parametrii de ieire, parametrii de stare i parametrii de intrare ai unui proces.

107

Inevitabil prin modelarea matematic procesului se omit o serie de detalii considerate mai puin importante pentru descrierea i mai ales pentru evoluia acestuia. Simplificrile sunt necesare pentru reducerea complexitii sistemului. In mod frecvent se omit condiiile de mediu care influeneaz un anumit proces (frecare, temperatur, umiditate, vibraii, etc.), datorit dificulttii de cuantizare a acestora. Influena cumulativ a factorilor de mediu se modeleaz prin conceptul de zgomot Perturbaiile sau zgomotele sunt mrimile fizice care influeneaz evoluia unui proces, dar a cror mrime i evoluie n timp este necunoscut i/sau necontrolat Informaia cu privire la parametrii de proces se transmite prin intermediul unor semnale. Un semnal este o marime fizic ce este capabil s transmit o informaie. Semnalele asigur legtura ntre sistemul controlat i cel de control. Pot fi: analogice care au un domeniu continuu de valori (ex. variaia tensiunii) digitale care au un numr finit de valori discrete; de cele mai multe ori se folosesc semnale care au dou valori distincte (codificate cu 0 i 1) i care reprezint dou stri diferite ale unui element de proces (ex.: nchis/deschis, valid/invalid, pornit/oprit, etc.) Caracterul continuu sau discret al semnalelor se refer att la evoluia n timp a semnalelor (semnale continue sau eantionate) ct i la modul de variaie a acestora (semnale analogice sau digitale). Controlul este un proces complex care presupune monitorizarea parametrilor unui sistem i intervenia pentru reglarea i meninerea acestora la valori impuse de buna funcionare a sistemului. De exemplu meninerea temperaturii unei ncperi la o valoare stabilit sau deplasarea unui bra robotic ntr-un interval prestabilit reprezint posibile obiective ale unui sistem de control. Dac controlul se realizeaz prin tehnologii digitale, n particular prin folosirea unui microsistem de calcul, atunci vorbim despre un sistem digital de control.

108

Controlul n bucl deschisntr-un sistem de reglare automat, un semnal de intrare numit referin se compar cu semnalul cules la ieirea sistemului numit rspuns. n cazul ideal, semnalul de ieire urmrete fr erori semnalul de intrare. Aceast configuraie este numit control n bucl deschis.

Intr-un sistem n bucl deschis, controlerul calculeaz independent mrimea semnalului de comand necesar actuatorului pentru a indeplini sarcina propusa. In acest mod, controlerul nu primeste nici o informatie din partea actuatorului. n majoritatea cazurilor rspunsul sistemului difer de referina impus, din multiple motive: poate rspunde prea lent la schimbri, sau poate oscila prea mult ca rspuns la schimbrile tranzitorii. Un exemplu l poate constitui controlul poziiei unui bra robotic acionat prin intermediul unui actuator (motor de curent continuu). In acest caz, braul robotului reprezint procesul iar pozitia unghiular a bratului este variabila controlat.

Braul de robot trebuie rotit cu 40 de grade in sens trigonometric, dintr-o poziie considerat iniial. Dac viteza unghiular a motorului este constant i are valoarea de 10 grade pe secund nseamn c durata semnalului de comand pentru actuator va fi de 4 secunde. Datorit perturbaiilor (ex: forta/moment rezistent) bratul de robot se deplasez doar 35 de grade. Apare astfel o eroare de 5 grade. n lipsa unui semnal referitor la poziia curent a braului robotic, controlerul nu va actiona in vreun fel pentru reducerea acestei erori.

109

Controlul n bucl nchisn sistemele de control n bucl nchis, semnalul de ieire, este msurat continuu i comparat cu semnalul de referin. Diferena dintre cele dou semnale se numete eroare. Ideal ar fi ca eroarea s fie ct mai mic, dac este posibil chiar zero.

Informaiile referitoare la semnalul de ieire sau variabila controlat se obin cu ajutorul senzorilor i sunt prelucrate de controler n conformitate cu o anumit lege care definete algoritmul de control. Implementarea unei anumite legi de reglare se poate realiza in mai multe moduri. Modul de implementare definete tipul regulatorului. Acestea pot fi: - mecanice, hidraulice, pneumatice se folosesc componente mecanice, hidraulice sau pneumatice mai mult sau mai puin standardizate; este dificil de implementat o funcie de reglaj, optim din punct de vedere teoretic. - regulatoare electronice sau analogice se folosesc componente electronice active (tranzistor, amplificator operaional) i pasive (rezisten, condensator, bobin); precizia de implementare a funciei de reglaj depinde de precizia componentelor - regulatoare digitale sau numerice utilizeaz componente digitale (pori logice, bistabile, etc.), inclusiv microprocesoare; funcia de reglaj se implementeaz printro schem logic sau prin program; n ultimul caz pot fi implementate funcii complexe de reglaj, iar precizia de reglaj nu depinde de precizia componentelor

110

Clasificarea regulatoarelor (controlerelor)Dup natura semnalului de comand generat: - regulatoare continue semnalul de comand este o funcie continu n raport cu abaterea i cu timpul (ex.: regulatoare P, PI, PID, etc.) - regulatoare discontinue semnalul de comand este o funcie care are discontinuiti n raport cu abaterea (ex.: regulatoare bipoziionale, tripoziionale i n mai multe trepte) - discrete semnalul de comand este o funcie discret n timp, adic se genereaz impulsuri modulate n amplitudine, frecven, factor de umplere sau se genereaz informaii codificate binar Dup mrimea constantelor de timp implicate - regulatoare pentru procese lente constantele de timp ale procesului sunt foarte mari (peste zeci de secunde); exemple: reglare temperatur, nivel, concentraii de gaze - regulatoare pentru procese rapide constantele de timp sunt relativ mici (sub cteva secunde); exemplu: reglarea turaiei motoarelor, poziionare, reglare presiune Dup legea de reglare - regulatoare de prag bipoziionale sau tripoziionale - regulatoare continue, proporionale (P), proporionalderivative (PD), proporional-integrative (PI) i proporional-integrativ-derivative (PID) Dup gradul de adaptabilitate - regulatoare clasice (neadaptive) coeficienii de reglaj se acordeaz manual - regulatoare autoadaptive coeficienii de reglaj se acordeaz automat

111

Analiza sistemelor de control n bucl inchis

Analiza are drept scop evaluarea performanelor mecanismului de control prin prisma rspunsului la diferite semnale de intrare i la perturbaii. Pe baza analizei, la proiectare se urmrete mbuntirea performanelor fr a schimba blocurile eseniale cum ar fi: procesul controlat, actuatorii, amplificatorul, etc. n general, este de dorit ca mbuntirea performanelor s se realizeze pe seama controlerului. .

Parametrii definii n raport cu rspunsul tranzitoriu al sistemului atunci cnd la intrarea acestuia se aplic o mrime de intrare treapt unitar, sunt: - u(t) semnalul de comand (treapta unitar) - s(t) rspunsul sistemului - max eroarea maxim - suprareglajul este raportul dintre eroarea maxim i valoarea de regim staionar ale mrimii de ieire exprimat n procente - tm timpul mort (ntrzierea) - t0 constanta de timp - ttranz regimul tranzitoriu este intervalul de timp care ncepe odat cu semnalul de intrare i dureaz pn cnd rspunsul sistemului intr n intervalul de valori ale erorii staionare - st eroarea stationar care reprezint diferena dintre valoarea referinei i valoarea rspunsului sistemului regim staionar

112

Exemple de sisteme de control n bucl inchis

Unul din primele regulatoare (controlere) a fost utilizat in structura ceasului cu ap proiectat de Ktebios in anul 720 Hr, rolul acestuia fiind asigurarea unui flux constant de ap.

Principalele elemente care intervin in sistemul de control sunt: - u nivelul de referin sau nivelul la care plutitorul obtureaz complet deschiztura din rezervor - h nivelul actual al plutitorului - mrimea deschiderii valvei - p presiunea apei din rezervor (perturbaia) - q debitul de ap care intr in regulator

113

Regulatorul centrifugal (J. Watt 1788)

Sistem automat de reglare al unghiului palelor la morile de vnt (1787)

114

Controlul poziiei unui bra robotic

Considerm un bra de robot care trebuie s execute o micare de rotaie n sens trigonometric n intervalul 0 - 30. Valoarea unghiului la care trebuie poziionat braul robotic va reprezenta pentru controler, referina. Aceasta mrime pentru a putea fi analizat de sistemul de control trebuie n prealabil convertit ntr-un semnal (tensiune, curent etc). Informaia provenit de la senzorul de poziie, montat pe axul motorului, reprezint variabila controlat.

naintea controlerului se gsete un comparator. Acesta efectueaz operaia de scdere ntre semnalul de referin i semnalul primit de la senzor. Valoarea acesteia reprezint eroarea sau abaterea. Controlerul prelucreaz, conform algoritmului de control, eroarea i furnizeaz la ieire un semnal de comand. Pentru a putea fi utilizat semnalul de comand este in prealabil amplificat. La nceputul intervalului de poziionare, diferena ntre valoarea curent i referin, este mare, semnalul de comand va avea valoarea maxim iar motorul va incepe s se roteasc. Rspunsul sistemului este reprezentat de micarea de rotaie a braului i este cuantificat cu ajutorul senzorului de poziie. Pe msur ce motorul rotete braul, semnalul de eroare se va micora iar la un moment dat va fi zero. n acest moment semnalul de comand este nul deci, motorul se oprete. n cazul in care datorit perturbaiilor externe (forte de frecare, moment rezistent la axul motorului etc) braul robotic nu ajunge n poziia dorit, controlerul sesizeaz eroarea i efectueaz coreciile necesare

115

Reglarea automat a debitului ntr-o conduct

Pentru a putea controla automat debitul de fluid ntr-o conduct este necesar montarea unui traductor de debit. Prin intermediul traductorului TR se obin informaii privind debitul real Qm n conduct