automatizari proiect-teorie

86
PROIECTAREA UNUI SISTEM DE ACŢIONARE CU MOTOR DE CURENT CONTINUU..........2 INTRODUCERE...............................................................2 SISTEME DE ACŢIONARE ELECTRICĂ. GENERALITĂŢI..............................2 LANŢURI CINEMATICE........................................................2 Caracteristicile lanţurilor cinematice..................................3 Asocierea lanţurilor cinematice.........................................5 MAŞINI ELECTRICE..........................................................7 ACŢIONĂRI CU MAŞINI SINCRONE..............................................8 Generalităţi............................................................ 8 MOTORUL SINCRON...........................................................9 Pornirea motorului sincron..............................................9 Frânarea motorului sincron.............................................10 Motoare sincrone speciale..............................................10 Motoare sincrone reactive (MSR)........................................10 Motoarele pas cu pas (MPP).............................................11 ACŢIONĂRI CU MAŞINI ASINCRONE............................................12 Generalităţi.............................................................12 MOTORUL ASINCRON.........................................................12 Pornirea motorului asincron trifazat...................................12 Pornirea motorului asincron monofazat..................................13 ACŢIONĂRI CU MOTOARE DE CURENT CONTINUU..................................13 DESCRIEREA ŞI FUNCŢIUONAREA MOTORULUI DE CC..............................14 Ecuaţiile de funcţionare...............................................14 Caracteristicile de funcţionare ale motorului de curent continuu.......15 A. Motorul cu excitaţie în derivaţie..................................15 Motorul cu excitaţie serie...............................................18 La acest motor înfăşurarea rotorică este în serie cu înfăşurarea de excitaţie, (fig. 1.5).................................................18 Motorul cu excitaţie mixtă...............................................18 Pornirea motoarelor de curent continuu...................................19 Regimul de frânare la motorul de curent continuu.......................21 Regimul de frânare la motorul de curent continuu cu excitaţie în derivaţie.............................................................21 Frânarea cu recuperare................................................22 Frânarea în contracurent..............................................22 Frânarea dinamică.....................................................23 Regimul de frânare la motorul de curent continuu cu excitaţie serie....23 Frânarea cu recuperare de energie.....................................23 Frânarea dinamică.....................................................23 Frânarea în contracurent..............................................24 REGLARE A TURAŢIEI MOTORULUI DE CURENT CONTINUU..........................25 Reglajul turaţiei mcc cu excitaţie derivaţie.............................25 Reglajul turaţiei motorului de curent continuu cu excitaţie serie......27 Sisteme de reglare a vitezei m.c.c. alimentate prin impulsuri..........29 PROIECTUL TEHNIC.........................................................32 Generalităţi.............................................................32 Părţile componente ale schemei...........................................33 Microcontroller PIC16F874................................................35 ALGORITMUL DE PROGRAMARE.................................................59 Schema algoritmului.................................................... 59 1

Upload: vlad-curavale

Post on 25-Nov-2015

28 views

Category:

Documents


3 download

TRANSCRIPT

STUDIUL SI PROIECTAREA UNUI STAND DE ACTIONARE CU MOTOR DE CURENT CONTINUU DE PUTERE MICA

2PROIECTAREA UNUI SISTEM DE ACIONARE CU MOTOR DE CURENT CONTINUU

2INTRODUCERE

2SISTEME DE ACIONARE ELECTRIC. GENERALITI

2LANURI CINEMATICE

3Caracteristicile lanurilor cinematice

5Asocierea lanurilor cinematice

7MAINI ELECTRICE

8ACIONRI CU MAINI SINCRONE.

8Generaliti

9MOTORUL SINCRON

9Pornirea motorului sincron

10Frnarea motorului sincron

10Motoare sincrone speciale

10Motoare sincrone reactive (MSR)

11Motoarele pas cu pas (MPP)

12ACIONRI CU MAINI ASINCRONE

12Generaliti

12MOTORUL ASINCRON

12Pornirea motorului asincron trifazat

13Pornirea motorului asincron monofazat

13ACIONRI CU MOTOARE DE CURENT CONTINUU

14DESCRIEREA I FUNCIUONAREA MOTORULUI DE CC

14Ecuaiile de funcionare

15Caracteristicile de funcionare ale motorului de curent continuu

15A. Motorul cu excitaie n derivaie

18Motorul cu excitaie serie

18La acest motor nfurarea rotoric este n serie cu nfurarea de excitaie, (fig. 1.5).

18Motorul cu excitaie mixt

19Pornirea motoarelor de curent continuu

21Regimul de frnare la motorul de curent continuu

21Regimul de frnare la motorul de curent continuu cu excitaie n derivaie

22Frnarea cu recuperare

22Frnarea n contracurent

23Frnarea dinamic

23Regimul de frnare la motorul de curent continuu cu excitaie serie

23Frnarea cu recuperare de energie

23Frnarea dinamic

24Frnarea n contracurent

25REGLARE A TURAIEI MOTORULUI DE CURENT CONTINUU

25Reglajul turaiei mcc cu excitaie derivaie

27Reglajul turaiei motorului de curent continuu cu excitaie serie

29Sisteme de reglare a vitezei m.c.c. alimentate prin impulsuri

32PROIECTUL TEHNIC

32Generaliti

33Prile componente ale schemei

35Microcontroller PIC16F874

59ALGORITMUL DE PROGRAMARE

59Schema algoritmului

PROIECTAREA UNUI SISTEM DE ACIONARE CU MOTOR DE CURENT CONTINUUINTRODUCERESISTEME DE ACIONARE ELECTRIC. GENERALITI

Un sistem de acionare electric reprezint o mulime de obiecte interconectate i interdependente n scopul realizrii conversiei electromagnetice a energiei pentru un anumit proces tehnologic.

Componentele principale ale unui sistem de acionare electric sunt : motorul electric, maina de lucru, transmisia si elementul de execuie (fig.1).

Figura 1. Componentele unui sistem de acionare

Motorul electric realizeaz transformarea puterii electrice n putere mecanic.

Maina de lucru ML este antrenat de motorul electric M i realizeaz anumite operaii dintr-un proces tehnologic.

Transmisia T reprezint legtura mecanic dintre motor i maina de lucru, cu rolul de a realiza transferul de putere mecanic, i eventual, de a schimba parametrii acestei puteri (viteza unghiular, cuplu).

Elementul de execuie EE are drept scop alimentarea cu energie electric a motorului si comanda funcionarii motorului n conformitate cu anumite cerine.

Realizarea si funcionarea optim a unui sistem de acionare electric presupune, n primul rnd, cunoaterea foarte exact a procesului tehnologic i a mainii de lucru folosite, funcie de care se vor alege sau calcula si construi motorul electric, elementul de execuie i elementul de transmisie, avndu-se n vedere asigurarea unui cost ct mai redus i a unei mari fiabiliti n funcionare.LANURI CINEMATICE

n lanului cinematic. schemele cinematice structurale mecanismele care realizeaz funcii identice, dar sunt de naturi diferite se reprezint prin acelai simbol convenional.

Schema fluxului cinematic este o reprezentare intuitiv a modului de transmitere a micrii prin mecanismeleCaracteristicile lanurilor cinematice

Ecuaia de transfer:

Figura 2. Schema bloc-Funcia de transfer

unde:

i raport de transfer

xi mrime de intrare

xe mrime de ieire

Figura 3. Mecanismul urub-piuli

xe = vav =ns psc

unde:

vav viteza de avans

ns turaia urubului

psc pasul urubului conductor

;

Figura 4. Cinematica micrii

Figura 5. Raportul de transfer

;

Notm:

;

;

Rezult:

unde:

iT raport total de transfer

iC raport constant

iR - raport reglabil

iD raport dimensional

Ecuaia de transfer a lanului cinematic:

Ecuaia de reglare a lanului cinematic:

Mrimile de ieire a lanurilor cinematice pot s aib la o anumit main-unealt valori diferite:

ye1

Raportul de reglare a mrimii de ieire:

Domeniul de reglare a mrimilor de intrare:

yi1

Raportul de reglare al mrimilor de intrare:

Capacitatea de reglare a lanului cinematic:

sau

Mrimea capacitii de reglare CR a lanurilor cinematice caracterizeaz complexitatea mecanismului de reglare a lanurilor cinematice.

Asocierea lanurilor cinematice

Pentru a putea asocia lanurile cinematice se impune ca dou viteze ale mrimilor de ieire din lanurile cinematice s pstreze un anumit raport ntre ele.

Condiia economic, dar i condiiile de precizie i fiabilitate, impun ca ntr-un lan cinematic s existe un numr minim de mecanisme.

Exist trei moduri de asociere:

Asocierea serie:

Figura 6. Metode de asocierea lanurilor cinematice

Dou sau mai multe lanuri cinematice sunt asociate sau legate n serie (fig.6) atunci cnd, prin intermediul unui mecanism C, se transmite mrimea de ieire ye1 dintr-un lan cinematic sub form de mrime de intrare yi2 n lanul cinematic urmtor.

Datorit raportului de transfer iC al mecanismului C de legtur, ntre cele dou mrimi exist relaia:

b) Asocierea paralel:

Figura 7. Asocierea n parallel a lanurilor cinematice

Dou sau mai multe lanuri cinematice sunt asociate n paralel (fig.7) atunci cnd ntre mrimile de ieire trebuie s existe anumite relaii, sau cnd ntre mrimile de intrare exist anumite relaii.

Lanurile cinematice asociate n paralel se pot subgrupa, n ceea ce privete legtura dintre mrimile de ieire, ca fiind:

lanuri cinematice cu legtur condiionat cinematic (fig.7.a) lanuri cinematice care asigur micarea de rotaie i de translaie pentru obinerea directoarei elicoidale, ale cror viteze s satisfac raportul vT / vA = tg.

lanuri cinematice cu legtur necondiionat cinematic lanuri cinematice care asigur viteza de achiere i de avans, ntre care nu exist o condiionare ca n cazul precedent.

n figura 7.b este prezentat o variant de asociere n paralel rezult din considerente economice.

Asocierea mixt:

Figura 8. Asocierea mixt a lanurilor cinematice

Asocierea mixt a lanurilor cinematice reprezint o asociere ntre lanurile cinematice legate n serie i lanurile cinematice legate n paralel.

n funcie de numrul mrimilor de ieire furnizate la captul de ieire avem: asociere mixt cu o mrime de ieire (fig.8.a); asociere mixt cu dou sau mai multe mrimi de ieire (fig.8.b)

Asocierea mixt cu o singur mrime de ieire (fig.8.a), const n lanuri cinematice asociate n paralel, ale cror mrimi se nsumeaz pentru a furniza o singur mrime de ieire lanului urmtor, care este legat n serie cu precedentele, ceea ce ar permite i denumirea de asociere paralel-serie.

nsumarea algebric a mrimilor de ieire se obine printr-un mecanism de nsumare, care poate fi: mecanism diferenial, mecanism cu clichet, cuplaj cu role, etc. ca mecanisme mecanice sau diferite tipuri de sertrae hidraulice care permit nsumarea debitelor, precum i orice alt mecanism care permite nsumarea a dou mrimi de aceeai natur sau de natur diferit.

Asocierea mixt cu dou sau mai multe mrimi de ieire (fig.8.b), const n asocierea de lanuri cinematice n serie cu lanuri cinematice n paralel, astfel aceasta poate fi denumit i asociere serie-paralel.

MAINI ELECTRICE

Prin main electric se nelege o main, n general, rotativ, care transform puterea mecanic n putere electric sau invers. Mainile electrice se mpart n maini de curent continuu i maini de curent alternativ, dup felul energiei electrice ce ia parte n conversia electromecanic realizat de main.

Orice main electric este reversibil din punct de vedere al conversiei energiei realizate; ea poate funciona fie ca generator, fie ca motor. Prin generator electric se nelege o main electric, care transform puterea mecanic n putere electric. Prin motor electric se definete o main electric care transform puterea electrica n putere mecanic. Unele maini pot funciona si ca frna electric i n aceast situaie maina primete att putere mecanic ct i putere electric, pe care le transform n timp n cldur, realiznd n acelai timp un cuplu electromecanic realizat la arbore.

Mainile de curent alternativ se mpart n doua mari clase: sincrone si asincrone. Maina sincron se caracterizeaz prin faptul c n regim permanent frecvena curentului schimbat cu reeaua de curent alternativ se afla n raport constant cu viteza unghiular de rotaie a mainii, indiferent de gradul de ncrcare al mainii. Maina asincron se caracterizeaz printr-o vitez unghiular care nu se menine n raport constant cu frecventa reelei electrice, ci variaz odat cu schimbarea regimului de funcionare sau cu modificarea gradului de ncrcare al mainii.ACIONRI CU MAINI SINCRONE.Generaliti

Maina sincron se cunoate n dou forme constructive: 1) cu poli apareni; 2) cu poli plini. n cazul mainii sincrone cu poli apareni se manifest anizotropia magnetic pe dou axe i anume: a) pe axa longitudinal d care este axa polilor inductorului; b) pe axa transversal q care este axa interpolar i prin urmare este ortogonal electric fa de axa longitudinal.

Schemele echivalente i diagramele fazoriale simplificate ale MS prin neglijarea rezistenei pe faz a indusului pentru factor de putere inductiv sunt reprezentate n figurile urmtoare. Semnul minus n faa lui E semnific regimul de motor cnd tensiunea este contraelectromotoare.

Figura 9. Schema electric a indusului i diagramele fazoriale pentru maina sincron cu poli apareni

Figura 10. Cu poli plini

Maina sincron cu poli apareni dezvolt un cuplu de anizotropie magnetic chiar i dac maina nu este excitat (E0 = 0), care st la baza funcionrii mainii sincrone reactive.

Maina sincron dezvolt un cuplu numai dac rotorul se rotete sincron cu cmpul magnetic nvrtitor rezultant i n acelai sens. n concluzie: maina sincron nu poate porni singur pentru c nu dezvolt cuplu.

Exist urmtoarele tipuri constructive de MS:

a) cu excitaie electromagnetic, format din bobine concentrate pe miez de fier alimentate n curent continuu i piese polare pentru fiecare pol, asemntoare constructiv cu excitaia motorului de curent continuu. n construcie normal excitaia mainii este n rotor, dar exist i construcii inversate;

b) excitat static cu magnei permaneni. Se renun la cele dou perii i inelele colectoare necesare pentru alimentarea rotorului n curent continuu. Mainile sincrone excitate cu magnei permaneni (MSMP ) sunt la fel de robuste ca i MAS.

c) cu reluctan variabil (MSRV), (bariere nemagnetice); rolul barierelor nemagnetice este de a mri anizotropia magnetic pe cele dou axe ale mainii.

Problemele MSMP sunt: deprecierea proprietilor magneilor permaneni odat cu creterea temperaturii i compensarea reaciei indusului pentru a pstra punctul de funcionare optim al magnetului permanent.

Problemele MSRV sunt legate de realizarea unei construcii rigide a rotorului n condiiile extinderii barierelor nemagnetice.MOTORUL SINCRONPornirea motorului sincron

Motoarele sincrone nu dezvolt cuplu de pornire. Metodele de pornire sunt:

a) cu motor auxiliar;

b) n asincron;

c) prin convertor de frecven.

Ca motor auxiliar se poate utiliza fie un MCC fie un MAS.

Pornirea n asincron se poate face dac maina are n tlpile polare o nfurare n scurtcircuit.

Figura 11. Pornirea n asincron a MS

Pentru pornirea n asincron se realizeaz schema principial din fig.10. Ct timp rotorul este antrenat de un cuplu asincron excitaia nealimentat este conectat (contactul K1 nchis) pe un rezistor Rp sau este scurtcircuitat.

Cnd alunecarea s VN , caracteristica se deplaseaz n sus cu (01 = (V1 VN)/K > 0, dac V2 < VN , deplasarea se realizeaz n jos cu (02 = (V2 VN)/K < 0.

n cazul figurii 17, b, prin slbire de flux 2 < 1 caracteristica de tensiune se deplaseaz prin translaie n sus i invers.

n cazul figurii 1.4, c, prin intercalare de rezistene se obin caracteristici din ce n ce mai moi, ajungnd s frneze i s opreasc motorul.Motorul cu excitaie serie

La acest motor nfurarea rotoric este n serie cu nfurarea de excitaie, (fig. 18).

Figura 18. Caracteristicile universale ale mcc serie

Ca urmare a fenomenului de saturare magnetic, nu este posibil studiul analitic al caracteristicilor mecanice. Aceste caracteristici sunt prezentate n cataloage pentru fiecare serie de motoare sub form de caracteristici raportate care indic dependena dintre viteza de rotaie, puterea i randamentul mainii n funcie de cuplul de sarcin sau de curentul absorbit de la reea. n figura 1.6 sunt date caracteristicile universale ale unui tip constructiv de main de curent continuu cu excitaie serie constnd din:

viteza relativ = (/(N = f (i), unde i = I / IN;cuplul redus m = f (i), puterea redus = P/PN = f (i)

randamentul redus /N = f (i).

Formal, caracteristica mecanic este identic cu cea a motorului de curent continuu derivaie, cu observaia c mrimea K = k nu mai este o constant.

O proprietate esenial a motorului serie const n aceea c funcioneaz la putere constant, astfel c nu exist posibilitatea de suprancrcare, motorul serie fiind autoreglator.

Motorul cu excitaie mixt

Motoarele de curent continuu cu excitaie mixt au comportare intermediar ntre MCC cu excitaie derivaie i MCC cu excitaie serie.

Turaia are expresia:

(11)

Aceast expresie ilustreaz diversitatea caracteristicilor ce pot fi obinute, cuprinse ntre caracteristicile motorului serie i caracteristicile motorului derivaie. Caracteristica mecanic este semimoale, scznd cu creterea cuplului la solenaii de acelai semn (compund) i crescnd la solenaii opuse ale nfurrilor de excitaie (anticompund).

n figura 19 s-au reprezentat sintetic urmtoarele caracteristici mecanice: 1 - motor cu excitaie mixt; 2 motorul serie; 3 motorul derivaie

Figura 19. Caracteristica mcc cu excitaie mixtPornirea motoarelor de curent continuuPornirea motoarelor de curent continuu se face manual sau prin comand automat, prin controlul uneia din mrimile care pot fi msurate i care variaz n acest interval: curent, vitez, timp.

Figura 20. Comanda pornirii a mcc cu excitaie independent funcie de viteza) schema de for; b) schema de comand.

Se prezint n figura 20 schema de for i de comand n funcie de vitez. Vitezele (1 , (2 , (3, indicate n diagram sunt proporionale cu tensiunile electromotoare e1 = K(i , i =1, 2, 3, tensiuni care pot fi evideniate de releele de tensiune d1, d2 i d3, care anclaneaz la atingerea acestor nivele. Se apas pe butonul a1, contactorul c nchide contactele principale 1c i 2c din circuitul rotoric i maina pornete. La atingerea vitezei (1 anclaneaz d1 i astfel contactorul c1 anclaneaz i scurtcircuiteaz prin contactul su 1d1 tronsonul R3 al reostatului, .a.m.d. Releele termice d4 i d5 au rol de protecie la suprasarcin.

Pornirea motorului de curent continuu serie se realizeaz utiliznd trepte de rezistene conectate n serie cu circuitul rotoric, ca i la motorul derivaie.

Acest motor este utilizat cu precdere n acionrile electromecanice din traciunea minier, urban i feroviar.Pornire prin conectare direct la reea: este cea mai simpl metod de pornire.

n procesul pornirii:

UA = RAIA + Ken

UA = RAIA + LA + Ken n care:

LA, RA, reprezint parametrii electrici ai ntregului circuit al rotorului.

Ecuaia de cupluri n regim dinamic este:

M - Mr = J

n care:

Mr = Mr + Mm + MFe reprezint cuplul rezistent total la arbore.

Ecuaiile de funcionare n regim dinamic dovedesc c procesul de pornire al motorului este caracterizat de dou regimuri tranzitorii:

regimul tranzitoriu electromagnetic determinat de variaia n timp a mrimilor electrice prin circuitele motorului (indus plus excitaie).

regimul tranzitoriu mecanic determinat de creterea turaiei n.

Motoarele cu excitaie serie pornesc cel mai repede pentru c odat cu curentul indusului crete i fluxul de excitaie.

Pornirea motoarelor cu excitaie mixt se face similar cu a motoarelor cu excitaie n derivaie.Pornire cu reostat: este utilizat la motoare de puteri medii i mari i const din nscrierea unui reostat de pornire n circuitul rotoric, care se scoate treptat din circuit pe msur ce motorul se tureaz. Reostatul este metalic, cu ploturi, deci cu rezisten variabil n trepte, i numai n cazuri speciale prezint o rezisten variabil continuu.

n studiul procesului pornirii cu reostat se neglijeaz regimul tranzitoriu electric, deci se admite c la modificarea rezistenei indusului se modific brusc curentul prin indus, dar turaia i pstreaz valoarea anterioar, dei se modific lent.

Pornirea oricrui motor se poate efectua n sarcin sau n gol.

La pornirea n gol cu reostat se restrnge domeniul de variaie al curentului n timpul pornirii, iar la pornire n sarcin se utilizeaz dimensionarea rezistenei de pornire.Pornirea prin alimentare cu tensiune progresiv corespunztoare: se utilizeaz la maini de mare putere sau instalaii speciale. Instalaia electric necesit acelai aparataj ca i la reglarea turaiei.

n traciunea electric se utilizeaz conectarea n serie a mai multor motoare de curent continuu. Dup intrarea n turaie motorul de curent continuu se conecteaz automat la tensiunea reelei.

Regimul de frnare la motorul de curent continuu

Regimul de frnare la motorul de curent continuu cu excitaie n derivaie

Mainile electrice posed nsuirea de a funciona n regim de motor sau n regim de frn, dup cum produc micarea sau se opun micrii. n regim de motor cedeaz putere mecanic : P = M > 0, n regim de frn primete putere mecanic pe care o transform n cldur : P = M < 0

Figura 21. Regimurile de funcionare n cele patru cadrane a) i funcionarea n regim de motor la: b) mecanism de ridicare-coborre i c) mecanismul de translaie. Se deosebesc urmtoarele metode de frnare:

1. Frnare cu recuperare

2. Frnare n contracurent

3. Frnare reostatic

Frnarea cu recuperare

Se presupune c vehiculul coboar n sens direct pn la > 0, iar curentul prin indus i modific sensul de circulaie:

IA < 0

M = KIA < 0

n consecin cuplul electromagnetic i schimb sensul iar efectul este de frnare.

La frnarea n sens direct P = EAIA < 0, deci este cedat n reea, iar motorul de curent continuu funcioneaz n regim de generator.

La mecanismul de ridicare-coborre frnarea cu recuperare se realizeaz la coborrea greutii. Dac se inverseaz sensul (polaritatea) tensiunii de alimentare a indusului rezult i au sensurile inverse, deci .

Prin urmare curentul din indus IA are sens invers, deci M = KIA < 0 are sens invers. Regimul de funcionare este de motor cu sens invers.Frnarea n contracurent

Cuplul rezistent opus de mecanismele de lucru la arborele motorului poate fi de dou tipuri:

a) potenial (de exemplu: mecanismul de ridicare - coborre)

b) reactiv (de exemplu: mecanismul de translaie).

a) La mecanismul ridicare coborre, frnarea se comand prin mrirea rezistenei conectat n serie cu indusul. Cuplul electromagnetic i curentul i pstreaz sensul, dar se inverseaz sensul tensiunii electromotoare rezultnd:

Curentul de frnare IAF scade odat cu creterea rezistenei de frnare RF.

b) La mecanismul de tip reactiv frnarea se realizeaz prin inversarea polaritii tensiunii U = UA de alimentare a indusului (rotorului) concomitent cu nserierea unei rezistene RF. Frnarea n contracurent este foarte puternic dar poate produce ocuri n transmisie care pericliteaz prile mecanice ale instalaiei.

Frnarea dinamic

Indusul se deconecteaz de la reea i se conecteaz pe o rezisten de frnare RF. Motorul de curent continuu funcioneaz n regim de generator, deci curentul din indus i schimb semnul.

Regimul de frnare la motorul de curent continuu cu excitaie serie

Frnarea cu recuperare de energie

Funcionarea unui motor de curent continuu cu excitaie n serie nu poate trece din cadranul I n cadranul II prin mrirea vitezei pentru a se obine tensiunea electromotoare E > U, deoarece odat cu creterea vitezei cuplul va scdea, deci i curentul prin indus va scdea, va scdea i fluxul de excitaie, i tensiunea electromotoare, prin urmare viteza de rotaie se va menine aproximativ constant. Excitaia se poate conecta separat la reea printr-o rezisten tampon sau se poate alimenta de la o surs de tensiune redus.

n cazul motorului de curent continuu cu excitaie mixt nfurarea de excitaie n derivaie permite frnarea cu recuperare. Deoarece curentul prin indus i schimb sensul nfurarea de excitaie serie va avea aciune demagnetizant. n practic se aplic dou soluii:

a) la frnare se inverseaz conexiunea bornelor nfurrii de excitaie serie;

b) nfurarea de excitaie serie se deconecteaz de la alimentare;

Frnarea dinamic

Indusul se deconecteaz de la reea i se conecteaz pe o rezisten, iar motorul de curent continuu trece s funcioneze n regim de generator. Se aplic dou metode:

a) excitaia rmne conectat n serie, dar se pstreaz sensul curentului n regim de motor (se inverseaz legarea bornelor nfurrii de excitaie la indus);

b) excitaia se alimenteaz separat de la reea printr-o rezisten de limitare a curentului.Expresia caracteristicii mecanice este:

Frnarea n contracurent

Are modaliti diferite de realizare, dup cum sarcina este de tip potenial sau rezistiv.

a) Pentru sarcini reactive la frnarea n contracurent se schimb bornele de alimentare ale indusului, iar sensul fluxului de excitaie se menine neschimbat. Rezistena RF conectat n serie cu indusul va limita curentul de frnare. Caracteristica mecanic are ecuaia:

b) Pentru sarcini poteniale: rezistena de frnare este: RF > RF0. Rezistena de frnare limit este rezistena pentru care caracteristica mecanic intersecteaz axa cuplului la M=MR. Ecuaia caracteristicii mecanice este:

REGLARE A TURAIEI MOTORULUI DE CURENT CONTINUU

n industrie exist maini care lucreaz cu vitez variabil. Reglajul vitezei mainii se realizeaz de multe ori cu dispozitive mecanice, de exemplu cutii de viteze, dar reglajul prin variaia turaiei motorului este de cele mai multe ori avantajos tehnologic i economic. Spre exemplu automatizarea unor procese industriale este foarte greu de conceput cu folosirea metodelor mecanice de reglaj a vitezei.

Principalele criterii de apreciere a metodei de reglaj a turaie motoarelor sunt:

1. Intervalul de reglaj;

2. Fineea reglajului;

3. Economicitatea reglajului;

4. Stabilitatea funcionrii la turaia dorit;

5. Sensul reglajului;

1. Intervalul de reglaj reprezint raportul turaiei maxime i minime ce se poate obine prin metoda abordat.

2. Fineea reglajului exprim posibilitatea de a modifica cu valori mici turaia de lucru. Astfel la motorul asincron cu inele nu se poate obine o finee prea mare a reglajului cu rezistene n circuitul rotoric, pentru c numrul acestor rezistene nu poate fi prea mare.

3. Economicitatea reglajului se refer la cheltuielile necesare punerii n practic a metodei de reglaj, ct i la cheltuielile legate de consumul de energie i ntreinere a dispozitivelor de reglaj.

4. Stabilitatea reglajului reprezint capacitatea motorului de a menine turaia dorit atunci cnd sarcina variaz. Acest lucru se exprim prin factorul:

Expresia reprezint panta caracteristicii mecanice n = f(M), unde M reprezint diferena ntre momentul motor i cel de sarcin pentru o turaie dat. Dac presupunem c momentul de sarcin nu variaz prea mult odat cu turaia, stabilitatea reglajului se poate aprecia dup nclinarea caracteristicii mecanice.

5. Sensul reglajului precizeaz dac modificarea turaiei prin metoda analizat se face prin creterea sau scderea turaiei fa de funcionarea pe caracteristica natural a motorului. Reglajul turaiei mcc cu excitaie derivaie

Metodele de reglaj a turaiei motoarelor de curent continuu cu excitaie derivaie sunt:

a) reglajul cu ajutorul rezistenelor n circuitul rotoric;

b) reglajul prin modificarea fluxului;

c) reglajul prin varierea tensiunii de alimentare;

a) Intervalul de reglaj depinde de valoarea rezistenelor i a cuplului de sarcin. Fineea nu este prea mare deoarece numrul de rezistene ce se pot utiliza este limitat de obicei 3 4. Economicitatea este slab datorit pierderilor mari de putere pe rezistene, stabilitatea este mic turaii mici, reglajul vitezei se face n dauna stabilitii funcionrii, turaia poate fi doar micorat. Caracteristicile mecanice n cazul folosirii rezistenelor adiionale n circuitul rotoric sunt ca n fig. 22.

Figura 22. Caracteristicile mecanice ale motorului de curent continuu cu excitaie derivaie pentru diferite rezistene Rp nseriate n rotor la tensiune i flux constant.

b) Metoda de reglaj cu variaia fluxului este mai avantajoas sub toate aspectele, dat fiind c reglajul se face n circuitul de excitaie unde trece cam a zecea parte din curentul motorului. Reglajul se face n sensul creterii turaiei, dar aceasta nu poate depii 1,6 2 ori turaia nominal, fiind posibil distrugerea motorului. Caracteristicile mecanice sunt acelea din fig. 2.2.

Figura 23. Caracteristicile mecanice ale motorului de curent continuu cu excitaie derivaie obinute prin scderea curentului statoric pentru tensiunea U constant i fr rezistene nseriate rotorului

c) Metoda de reglaj prin variaia tensiunii de alimentare este superioar celorlalte n ce privete intervalul de reglaj, la fineea i stabilitatea reglajului apar dificulti n asigurarea sursei de tensiune variabil. Caracteristicile mecanice sunt de forma unor drepte paralele aflate sub caracteristica natural, ca n fig. 24.

Figura 24. Caracteristicile mecanice ale mcc cu excitaie derivaieReglajul turaiei motorului de curent continuu cu excitaie serie

Metodele de reglaj a turaiei motoarelor de curent continuu cu excitaie serie sunt:

a) metoda de introducere de rezistene nseriate;

b) metoda variaiei tensiunii;

c) untarea indusului;

a) n fig.25 sunt trasate caracteristicile mecanice ale motoarelor de curent continuu cu excitaie serie, obinute prin nserierea de rezistene. Din punct de vedere al indicatorilor calitii, aceast metod nu se deosebete de reglajul turaiei motoarelor derivaie cu ajutorul rezistenelor n circuitul rotoric.

Figura 25. Caracteristicile mecanice ale motorului de curent continuu cu excitaie serie obinute introducnd rezistene n circuitul rotoric

b) Reglarea tensiunii de alimentare a motoarelor serie se face prin legarea lor n serie sau n paralel la reea sau prin alimentarea acestora de la o surs de tensiune reglabil. Intervalul de reglaj i fineea n aceast situaie nu sunt prea bune, ns economicitatea i stabilitatea reglajului sunt bune. Caracteristicile mecanice sunt prezentate n fig 26.

Figura 26. Caracteristicile mecanice ale mcc serie variaiile tensiunii

c) Reglajul turaiei prin untarea indusului produce mrirea fluxului de excitaie la momente de sarcini mici.

Figura 27. Caracteristicile mecanice ale mcc prin suntarea indusului

Rs reprezint o rezisten cu posibilitatea modificrii valorii acesteia, ea poate lua valorile Rs1, Rs2, Rs3 etc., (fig.27).

Intervalul de reglaj, fineea i economicitatea sunt sczute deoarece reglajul se face n cureni mari. Stabilitatea reglajului este mai bun dect n cadrul folosirii rezistenelor nseriate.

Se poate proceda i la untarea excitaiei prin care se obin turaii mai mari dect pe caracteristica natural.

Figura 28. Reglajul turaiei motorului serie prin untarea excitaiei

Aceast metod are economicitate mai mare dar se sporete pericolul atingerii unor turaii prea mari, (fig.28).

Sisteme de reglare a vitezei m.c.c. alimentate prin impulsuri

Instalaiile de reglare automat a vitezei cu limitare de curent sunt realizate pe aceleai principii ca i instalaiile cu redresoare comandate, reglarea efectundu-se prin variaia duratei relative de conectare a tiristorului principal prin care se alimenteaz indusul motorului.

Schema de reglare cuprinde (fig.29) un regulator de vitez RW, care primete la intrare tensiunea de referin de la poteniometru P i tensiunea de reacie furnizat de tahogeneratorul T. Curentul iA din circuitul rotoric, msurat prin untul f, este controlat de regulatorul de curent RI. Reglarea duratei relative de conectare este realizat de generatorul de tact GT i de dou formatoare de impulsuri FI1 i FI2.

Figura 29. Schema de reglare

Generatorul de tact d la ieire impulsuri dreptunghiulare de tensiune, cu perioada T (fig.30 a) care se aplic formatorului de impulsuri FI1. Aceasta comand aprinderea tiristorului auxiliar de stingere TS ori de cte ori tensiunea uGT ncepe cu un nou impuls. Acelai dispozitiv FI1 genereaz i un semnal de referin ur, n form de dini de fierstru, avnd aceeai frecven ca a generatorului de tact. (fig.30 c). Acest semnal este introdus prin blocul logic BL n formatorul FI2 mpreun cu mrimea de comand uc obinut de la regulatorul de curent. Formatorul FI2 produce un impuls de comand u1 pentru aprinderea tiristorului principal TP, ori de cte ori semnalul ur este egal cu tensiunea de comand uc.(fig.30 d). n felul acesta, prin variaia semnalului de comand uc se regleaz momentul de amorsare al tiristorului principal determinnd variaia duratei de conducie a acestuia i obinerea unor tensiuni dreptunghiulare, cu durat de acionare reglabil, care se aplic indusului motorului. (fig.30 e).

Figura 30. Formele de und ale semnalelor de reglare

PROIECTUL TEHNICGeneraliti

n figura 31 este prezentat schema de principiu a standului. Acest circuit pstreaz constant viteza unui motor de curent continuu cu ajutorul unui microcontraller PIC16F874, chiar dac sarcina acestuia variaz. n circuit, pe lng motorul principal M1, se mai folosete un motor M2 pe post de generator, care are rolul de a detecta viteza de rotaie a lui M1.

Figura 31. Pstrarea constant a vitezei unui motor de curent continuu cu ajutorul microcontrolerului PIC16F874.

Microcontrollerul are rolul de a compara tensiunea circuitului de intrare, adic tensiunea dat de motorul M2 cu tensiunea de referin. Dac valoare comparat este mai mic PIC ul trimite curent motorului M1 pn se ajunge la vitez constant, iar dac valoarea este mai mare PIC ul scade curentul trimis motorului M1 pn viteza devine constant

Dac se dorete o modificare a vitezei de rotaie a motorului principal, se regleaz poteniometrul VR1, astfel se modific tensiunea circuitului de intrare, adic cea care este comparat de microcontroller. Prin modificarea acestei tensiuni PIC ul crete sau scade curentul trimis motorului M1 i astfel se obine mrirea sau micorarea vitezei de rotaie a motorului principal.

Valoarea vitezei de rotaie a motorului va fi afiat n binar pe cele 8 leduri ale microcontrollerului. Astfel, dac motorul nu este pornit toate ledurile sunt stinse, iar dac motorul funcioneaz la vitez maxim toate ledurile sunt aprinse.

Aprinderea ledurilor ncepe cu ledul 1 i crete odat cu creterea curentului trimis motorului principal.Prile componente ale schemeiControlul tensiunii de intrare

Figura 32. Circuitul de intrare

Acesta este circuitul care controleaz tensiunea de intrare n PIC, tensiune creat de rotirea motorului M2. Aceast tensiune este convertit de un convertor A/D. Modificarea tensiunii se face PWM de CCP (capture, compare, PWM) i ajut la controlul funcionrii motorului.

Tensiunea de intrare n microcontroller se modific proporional cu numrul de rotaii fcute de motor.

Microcontrollerul controleaz curentul electric transmis motorului, astfel dac tensiunea de intrare este mare, PIC-ul scade curentul transmis motorului, acesta scade numrul de rotaii pn se ajunge la viteza dorit. Dac tensiunea de intrare este mic, PIC-ul crete curentul trimis motorului i astfel crete numrul de rotaii ale motorului i se menine constant viteza la valoarea dorit.

Dioda D1 are un rol protector pentru PIC, mai ales n momentul cnd tensiunea de intrare este mare. Din poteniometrul VR1 se poate modifica numrul de rotaii ale motorului astfel dac poteniometrul este n poziia 1 tensiunea de intrare va deveni minim, iar PIC-ul crete curentul transmis motorului pentru a-i pstra constant viteza, dar de fapt prin creterea curentului transmis motorului el mrete numrul de rotaii i astfel mrete viteza motorului principal. Dac poteniometrul este n poziia 3 tensiunea de intrare va fi maxim, iar PIC-ul va scade curentul transmis motorului avnd acelai scop de a pstra viteza constant, dar de fapt prin micorarea curentului transmis motorului el scade numrul de rotaii i astfel se micoreaz viteza.Funcionarea motorului n circuit

Figura 33. Schema de alimentare a motorului

Funcia PWM este folosit pentru controlarea funcionrii motorului n circuit, control care se face n funcie de curentul electric. PWM poate s schimbe durata pulsului de ieire din CCP1 n funcie de date. Cnd timpul nivelului H al pulsului este scurt, timpul nivelului L devine lung n tranzistorul 2, adic valoarea curentului electric transmis motorului crete. n sens invers, cnd timpul nivelului H este mare, timpul de deschidere al tranzistorului 2 devine scurt i valoarea curentului transmis motorului scade, (fig.33).

Durata pulsului din CCP1 este controlat n tensiune n funcie de tensiunea circuitului de intrare. Cnd valoarea tensiunii de intrare este mai mare dect valoarea comparat, timpul nivelului H este mai mare i astfel numrul de rotaii ale motorului este micorat. Cnd valoarea tensiunii de intrare este mai mic dect valoarea comparat, timpul nivelului H este mic i astfel crete numrul de rotaii ale motorului.

Figura 34. Comanda tranzistorilor

Dac valoarea curentului din motor este mare exist gravitatea ca motorul s nu mai poat detecta viteza. De aceea se pune n circuit un rezistor legat n serie pentru micorarea curentului electric.

Figura 35. Rezonator de 10 MHz

n circuit se folosete un rezonator de 10 MHz, dar acesta nu este direct implicat.

Figura 36. Legarea ledurilor la PIC

Ledurile au rolul s te in la curent cu funcionarea motorului. Trei bii de rang superior ai datelor de control PWM sunt folosii pentru aprinderea ledurilor.

n condiia n care motorul nu este pornit, toate ledurile sunt oprite. Numrul de aprinderi a ledurilor crete de la ledul 1 o dat cu creterea curentului. Cnd motorul ajunge la turaie maxim sunt aprinse toate ledurile.

Figura 37. Regulator cu trei terminale

Acest regulator cu trei terminale este folosit pentru operarea tensiunii de intrare n microcontroller. Aproximativ 70 mA sunt consumai cnd toate ledurile sunt aprinse, adic motorul funcioneaz la turaie maxim.

Microcontroller PIC16F874Descriere general

PIC 16F8XX este un grup n familia microcontrollerelor PIC16CXXX, caracterizat prin costuri reduse, performane nalte, structur de tip CMOS i operare static. Toate aceste microcontrollere folosesc arhitectura de tip RISC (Reduced Instruction Set Computing).

Caracteristic pentru aceast familie este arhitectura intern n care bus-urile de instruciuni i de date sunt separate, cel de instruciuni cu lrgime de 14 bii, iar cel de date cu lrgimea de 8 bii. Aceast arhitectur permite execuia ntr-un singur ciclu main al instruciunilor cu excepia ramurilor de program care necesit dou cicluri. Sunt disponibile un numr total de 35 de instruciuni. O alt caracteristic important pentru dezvoltarea de aplicaii este existena a dou tipuri de memorie program pentru acelai tip de circuit. Primul tip de memorie este de tip FLASH i permite scrierea ei de un numr foarte mare de ori, facilitate util n dezvoltarea de aplicaii. Al doilea tip este o memorie CMOS inscriptibil o singur dat, util pentru lucrul n serie de produse cu aplicaie. Caracteristica de baz a acestui microcontroller este reprogramarea electric a acestuia de un numr infinit de ori.

Caracteristici principale:

( frecvena maxima de operare

20MHz

( memoria program (FLASH)

8KB

( memoria de date (RAM)

368B

( memoria de date EEPROM

256B

( ntreruperi

14

( porturi intrare - ieire

5 (A,B,C,D,E)

( timer-e

3

( module captur / comparare / PWM 2

( interfa serial

USART, MSSP

( interfa paralel

PSP (parallel slave port)

( convertor analog digital (10bii) 8 canale de intrare

( set de instruciuni

35 instruciuni (RISC)

Microcontrollerul conine o unitate aritmetic logic ALU de 8 bii i un registru de lucru. ALU efectueaz funcii aritmetice i booleene ntre datele din registrul de lucru i oricare alt registru. Registrul de lucru este notat cu w. Acumulatorul nu este un registru adresabil. n funcie de instruciunea executat, unitatea aritmetico logic (ALU) afecteaz valorile biilor CARRY (C), DIGIT CARRY (DC) i ZERO (Z) din registrul de stare (STATUS).

Microcontroller-ul PIC16F874 este disponibil ntr-o capsul de 40 pini:

Numele pinuluiPin capsulTipul pinuluiTipul Buffer -uluiDescriere

OSC1\CLKIN13IST\CMOSIntrarea oscilatorului

OSC2\CLKOUT14O-Ieirea oscilatorului

1ISTIntrare de iniializare (reset)

RA0/AN02I/OTTLPoate fi folosit i ca intrare analogica (canalul 0)

RA1/AN13I/OTTLPoate fi folosit i ca intrare analogica (canalul 1)

RA2/AN2/VREF-4I/OTTLPoate fi folosit i ca intrare analogica (canalul 2) sau ca referin negativ de tensiune

RA3/AN3/VREF+5I/OTTLPoate fi folosit i ca intrare analogica (canalul 3) sau ca referin pozitiva de tensiune

RA4/TOCK16I/OSTPoate fi folosit i ca intrare de ceas pentru Timer 0. Ieirea este de tip open drain.

RA5/AN47I/OTTLPoate fi folosit i ca intrare analogica (canalul 4)

RB0/INT33I/OST/TTLPoate fi folosit ca ntrerupere extern

RB134I/OTTL

RB235I/OTTL

RB3/PGM36I/OTTL

RB437I/OTTLGenereaz o ntrerupere la schimbarea valorii

RB538I/OTTLGenereaz o ntrerupere la schimbarea valorii

RB6/PGC39I/OST/TTLPin de ceas pentru programarea serial a microcontroller-ului.

Genereaz o ntrerupere la schimbarea valorii

RB7/PGD40I/OST/TTLPin de date pentru programarea serial a microcontroller-ului.

Genereaz o ntrerupere la schimbarea valorii

RC0/T1OSO/T1CKI15I/OSTIntrare de ceas pentru TIMER1 sau ieirea oscilatorului TIMER1

RC1/1OSI/CCP216I/OSTIeirea oscilatorului TIMER1, intrarea de captur 2, ieirea de comparare 2 sau ieirea PWM 2

RC2/CCP117I/OSTIntrarea de captur 1, ieirea de comparare 1 sau ieirea PWM 1

RC3/SCK/SCL18I/OSTIntrare/Ieire de ceas pentru portul serial SPI sau

RC4/SDI/SDA23I/OSTIntrare de date pentru SPI sau intrare/ieire de date pentru

RC5/SDO24I/OSTIeire de date pentru SPI

RC6/TX/CK25I/OSTTransmisie asincrona USART sau ceas pentru modul sincron

RC7/RX/DT26I/OSTRecepie asincrona USART sau date pentru modul sincron

RD0/PSP019I/OST/TTLBit 0 de date pentru portul paralel

RD1/PSP120I/OST/TTLBit 1 de date pentru portul paralel

RD2/PSP221I/OST/TTLBit 2 de date pentru portul paralel

RD3/PSP322I/OST/TTLBit 3 de date pentru portul paralel

RD4/PSP427I/OST/TTLBit 4 de date pentru portul paralel

RD5/PSP528I/OST/TTLBit 5 de date pentru portul paralel

RD6/PSP629I/OST/TTLBit 6 de date pentru portul paralel

RD7/PSP730I/OST/TTLBit 7 de date pentru portul paralel

8I/OST/TTLControlul citirii pentru PSP (portul paralel)

Poate fi folosit i ca intrare analogica (canalul 5)

9I/OST/TTLControlul scrierii pentru PSP (portul paralel)

Poate fi folosit i ca intrare analogica (canalul 6)

10I/OST/TTLCS (cip select) pentru PSP (portul paralel)

Poate fi folosit i ca intrare analogica (canalul 7)

VSS12,31P-masa

VDD11,32P-Potenialul de alimentare +5V

I intrare; O ieire; I/O intrare/ieire; TTL intrare TTL; TS intrare Trigger Schmitt (cu histerezis); P alimentare (power)

Schema bloc a microcontroller-ului

Figura 38. Structura unui microcontrolerOrganizarea memoriei

Memoria acestui microcontroller este mprit n dou pri:

( memoria program

( memoria de date

Fiecare din aceste blocuri de memorie are propriul su bus. Acest lucru permite aducerea ntr-un singur ciclu a instruciunilor respectiv datelor din memorie.

Memoria de date se mparte n:

( regitri cu funcii speciale (SFR)

( memoria RAM general

( memoria EEPROM

Organizarea memoriei program (FLASH)

PIC16F874 are un PC (program counter) de 13 bii, capabili s adreseze 8kx14 spaii de memorie program (0000h 1FFFh),

Vectorul de reset este 0000h i vectorul de ntreruperi este 0004h.

Figura 39. Memoria de dateObservaie: Adresa instruciunilor de salt (GOTO, CALL) este codificat pe 11 bii. Ceilali 2 bii trebuie setai manual (dac este cazul) n registrul PCLATH.

Organizarea memoriei de date

Descriere general

Memoria de date este organizat n 4 bancuri. Selecia bancului cu care se lucreaz se face cu ajutorul biilor RP1 i RP0, aparinnd registrului STATUS, al regitrilor SFR. Fiecare banc este mprit n dou zone: prima zon este alocat regitrilor cu funciuni speciale (SFR), n timp ce a doua zon este alocat regitrilor cu funciuni generale (GFR).

RP1 RP0Banc

0 00

0 11

1 02

1 13

Primele locaii din fiecare banc sunt rezervate regitrilor cu funcii speciale (SFR):

00h ( 1Fh pentru bancul 0

(32octei)

80h ( 9Fh pentru bancul 1

(32octei)

100h ( 10Fh pentru bancul 2 (16octei)

180h ( 18Fh pentru bancul 3 (16octei)

Ei sunt folosii de PC i periferice pentru a controla diferite operaii.

Restul memoriei de date este alocat regitrilor de uz general:

20h ( 7Fh pentru bancul 0 (96octei)

A0h ( EFh pentru bancul 1

(80octei)

110h ( 16Fh pentru bancul 2 (96octei)

190h ( 1EFh pentru bancul 3 (96octei)

Regitri din memoria de date sunt implementai fizic ca memorie RAM statica (bistabili).

Regitri cu funcii speciale

Figura 40. RegitriiDescriere general a funciilor

AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

Bancul 0

00hINDFFolosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului FSR

01hTMR0Registrul TIMER0 (8 bii)

02hPCLCei mai puin semnificativi 8 bii ai PC

03hSTATUSIRPRP1RP0

ZDCC

04hFSRAdresarea indirecta a memoriei de date

05hPORTA--Portul A

06hPORTBPortul B

07hPORTCPortul C

08hPORTDPortul D

09hPORTE-----Portul E

0AhPCLATH---Cei mai semnificativi 5 bii ai PC

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

0ChPIR1 PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF

0DhPIR2--EEIFBCLIF--CCP2IF

0EhTMR1LCei mai puin semnificativi 8 bii ai registrului TIMER1

0FhTMR1HCei mai semnificativi 8 bii ai registrului TIMER1

10hT1CON--T1CKPS1T1CKPS0T1OSCENT1SYNCTMR1CSTMR1ON

11hTMR2Registrul TIMER2 (8 bii)

12hT2CON-TOUTPS3TOUTPS2TOUTPS1TOUTPS0TMR2ONT2CPS1T2CPS0

13hSSPBUFBuffer-ul portului serial sincron

14hSSPCONWCOLSSPOVSSPENCKPSSPM3SSPM2SSPM1SSPM0

15hCCPR1LCaptur1 / comparare1 / PWM1 (LSB)

16hCCPR1HCaptur1 / comparare1 / PWM1 (MSB)

17hCCP1CON--CCP1XCCP1YCCP1M3CCP1M2CCP1M1CCP1M0

18hRCSTASSPENRX9SRENCRENADDENFERROERRRX9D

19hTXREGRegistrul de transmisie USART

1AhRCREGRegistrul de recepie USART

1BhCCPR2LCaptur2 / comparare2 / PWM2 (LSB)

1ChCCPR2HCaptur2 / comparare2 / PWM2 (MSB)

1DhCCP2CON--CCP2XCCP2YCCP2M3CCP2M2CCP2M1CCP2M0

1EhADRESHCei mai semnificativi 8 bii ai rezultatului conversiei A/D

1FhADCON0ADCS1ADCS0CHS2CHS1CHS0GO-ADON

Bancul 1

80hINDFFolosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului FSR

81hOPTION

_REG

INTEDGTOCSTOSEPSAPS2PS1PS0

82hPCLCei mai puin semnificativi 8 bii ai PC

83hSTATUSIRPRP1RP0

ZDCC

84hFSRAdresarea indirecta a memoriei de date

85hTRISADirecia datelor prin portul A (intrare/ieire)

86hTRISBDirecia datelor prin portul B (intrare/ieire)

87hTRISCDirecia datelor prin portul C (intrare/ieire)

88hTRISDDirecia datelor prin portul D (intrare/ieire)

89hTRISEIBFOBFIBOVPSPMODE-Direcia datelor prin portul E (I/O)

8AhPCLATH---Cei mai semnificativi 5 bii ai PC

8bhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

8ChPIE1PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IE

8DhPIE2--EEIEBCLIE--CCP2IE

8EhPCON------

8Fh-Registru neimplementat fizic

90h-Registru neimplementat fizic

91hSSPCON2GCENACKSTATACKDTACKENRCENPENRSENSEN

92hPR2Perioad TIMER 2

93hSSPADDAdresa portului serial sincron (n mod )

94hSSPSTATSMPCKED/APSR/WUABF

95h-Registru neimplementat fizic

96h-Registru neimplementat fizic

97h-Registru neimplementat fizic

98hTXSTACSRCTX9TXENSYNC-BRGHTRMTTX9D

99hSPBRGGenerator baud rate

9Ah-Registru neimplementat fizic

9Bh-Registru neimplementat fizic

9Ch-Registru neimplementat fizic

9Dh-Registru neimplementat fizic

9EhADRESLCei mai puin semnificativi 8 bii ai rezultatului conversiei A/D

9FhADCON1ADFM---PCFG3PCFG2PCFG1PCFG0

Bancul 2

100hINDFFolosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului FSR

101hTMR0Registrul TIMER0 (8 bii)

102hPCLCei mai puin semnificativi 8 bii ai PC

103hSTATUSIRPRP1RP0

ZDCC

104hFSRAdresarea indirecta a memoriei de date

105h-Registru neimplementat fizic

106hPORTBPortul B

107h-Registru neimplementat fizic

108h-Registru neimplementat fizic

109h-Registru neimplementat fizic

10AhPCLATH---Cei mai semnificativi 5 bii ai PC

10BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

10ChEEDATARegistrul de date EEPROM (cei mai puin semnificativi 8 bii)

10DhEEADRRegistrul de adrese EEPROM (cei mai puin semnificativi 8 bii)

10EhEEDATH--Registrul de date EEPROM (cei mai semnificativi 6 bii)

10FhEEADRH---Registrul de adrese EEPROM (cei mai semnificativi 5 bii)

Bancul 3

180hINDFFolosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului FSR

181hOPTION

_REG

INTEDGTOCSTOSEPSAPS2PS1PS0

182hPCLCei mai puin semnificativi 8 bii ai PC

183hSTATUSIRPRP1RP0

ZDCC

184hFSRAdresarea indirecta a memoriei de date

185h-Registru neimplementat fizic

186hTRISBDirecia datelor prin portul B (intrare/ieire)

187h-Registru neimplementat fizic

188h-Registru neimplementat fizic

189h-Registru neimplementat fizic

18AhPCLATH---Cei mai semnificativi 5 bii ai PC

18BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

18ChEECON1EEPGD---WRERRWRENWRRD

18DhEECON2Registru control EEPROM (nu este un registru fizic)

18Eh-Registru neimplementat fizic

18Fh-Registru neimplementat fizic

Memoria EEPROM

Microcontroller-ul PIC16F874 are 256B de memorie reprogramabil electric (EEPROM). Aceast memorie este necesar atunci cnd se dorete pstrarea unor valori i dup ce cip-ul nu mai este alimentat, ns are urmtoarele dezavantaje:

- memoria nu este direct adresabil, fiind nevoie a se lucra indirect, prin ase regitri din SFR (EECON1, EECON2, EEDATA, EEADR, EEDATH, EEADRH).

- are o laten mult mai mare dect memoria RAM

Registrul EEDATA pstreaz 8 bii de date pentru citire / scriere, iar registrul EEADR pstreaz adresa de la locaia EEPROM ului. La scrierea unui cuvnt n memorie se terge automat locaia i se scrie noua dat (se va terge nainte de scriere), iar timpul de scriere este controlat de un timer.

Registrul EECON1 este registru de control cu cinci bii mai puini semnificativi, implementai fizic, iar cei mai semnificativi trei bii, nu exist, fiind citii ca zero.

Registrul EECON2 nu este un registru fizic. El este utilizat exclusiv n secvene de scriere a memoriei de date EEPROM

AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

18BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

18ChEECON1EEPGD---WRERRWRENWRRD

18DhEECON2Registru control EEPROM (nu este un registru fizic)

10ChEEDATARegistrul de date EEPROM (cei mai puin semnificativi 8 bii)

10DhEEADRRegistrul de adrese EEPROM (cei mai puin semnificativi 8 bii)

10EhEEDATH--Registrul de date EEPROM (cei mai semnificativi 6 bii)

10FhEEADRH---Registrul de adrese EEPROM (cei mai semnificativi 5 bii)

0DhPIR2--EEIFBCLIF--CCP2IF

8DhPIE2--EEIEBCLIE--CCP2IE

Citirea memoriei de date EEPROM

Pentru a citi o locaie a memoriei de date EEPROM, utilizatorul trebuie s scrie adresa n registrul EEADR i apoi s seteze pe 1 bitul RD (EECON1) (RD=1 ( iniializarea citirii n EEPROM). EEDATA va pstra valoarea pn la o nou citire sau pn este scris de ctre utilizator (de-a lungul operaiei de scriere).

Exemplu:

BCF

STATUS, RP0

BSF

STATUS, RP1;bancul 2 de regitri

MOVLWadresa

;adresa de la care citesc

MOVWFEEADR

BSF

STATUS, RP0;bancul 3 de regitri

BCF

EECON1, EEPGD

BSF

EECON1, RD

;pornesc operaia de citire din EEPROM

BCF

STATUS, RP0;bancul 2 de regitri

MOVF

EEDATA, w

Scrierea memoriei de date EEPROM

Pentru a scrie o locaie a memoriei de date EEPROM, utilizatorul trebuie s scrie adresa n registrul EEADR i data n registrul EEDATA. Apoi utilizatorul trebuie s urmeze nite secvene speciale pentru a iniializa, scrierea, pentru fiecare bit.

Exemplu:

BSF

STATUS, RP0

BSF

STATUS, RP1;bancul 3 de regitri

TEST

BTFSCEECON1,WR;atept sa se ncheie ciclul anterior de scriere

GOTO

TEST

BCF

STATUS, RP0;bancul 2 de regitri

MOVF

adresa_eeprom, w

MOVWFEEADR

MOVF

data_eeprom, w

MOVWFEEDATA

BSF

STATUS, RP0

;bancul 3 de regitri

BCF

EECON1, EEPGD

BSF

EECON1, WREN

MOVLW0x55

MOVWFEECON2

MOVLW0xAA

MOVWFEECON2

BSF

EECON1, WR

BCF

EECON1, WREN

BCF

STATUS, RP0

BCF

STATUS, RP1

;bancul 0 de regitri

Observaie: adresa_eeprom i data_eeprom sunt doi regitri de uz general din bancul 2 unde scriu adresa, respectiv data care trebuie scris n memoria EEPROM.Porturile de intrare / ieire

PIC16F874 are cinci porturi: PORTA, PORTB, PORTC, PORTD i PORTE

PORT APORTA este bidirecional i are 6 bii. Selectarea intrare/ieire se face setnd respectiv resetnd n registrul TRISA biii corespunztori portului. Intrrile portului A, cu excepia RA4, pot fi configurate i ca intrri analogice, portul A fiind asociat cu un convertor analog - digital.

Funcionarea portului A:Numele pinuluiPin Tip pinTip

Buffer Descriere

RA0/AN02I/OTTLPoate fi folosit i ca intrare analogica (canalul0)

RA1/AN13I/OTTLPoate fi folosit i ca intrare analogica (canalul1)

RA2/AN2/VREF-4I/OTTLPoate fi folosit i ca intrare analogica (canalul2) sau ca referin negativ de tensiune

RA3/AN3/VREF+5I/OTTLPoate fi folosit i ca intrare analogica (canalul3) sau ca referin pozitiva de tensiune

RA4/TOCK16I/OSTPoate fi folosit i ca intrare de ceas pentru Timer 0. Ieirea este de tip open drain.

RA5/AN47I/OTTLPoate fi folosit i ca intrare analogica (canalul4)

Regitri asociai portului A:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

05hPORTA--Portul A

85hTRISA--Direcia datelor prin portul A (intrare/ieire)

9FhADCON1ADFM---PCFG3PCFG2PCFG1PCFG0

Exemplu:

CLRF

PORTA; iniializarea portului A

BSF

STATUS, RP0; selectm bancul 1

MOVLW0X0F; w ( 00001111

MOVWFTRISA; setm RA ca fiind intrri i RA; ca fiind ieire. ntotdeauna TRISA< 7: 5 > sunt ;citite ca fiind pe zero. PORT B

PORTB este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor este TRISB. Un 1 pe oricare din biii registrului TRISB, pune ieirea corespunztoare n modul de lucru de nalt impedan, setnd bitul ca bit de intrare. Intrarea este de nivel TTL, iar ieirea de tip CMOS. Biii RB4 ( RB7 pot genera ntreruperi la schimbarea strii.

Funcionarea portului B:Numele pinuluiPin Tip pinTip Buffer Descriere

RB0/INT33I/OST/TTLPoate fi folosit ca ntrerupere extern

RB134I/OTTL

RB235I/OTTL

RB3/PGM36I/OTTL

RB437I/OTTLGenereaz o ntrerupere la schimbarea valorii

RB538I/OTTLGenereaz o ntrerupere la schimbarea valorii

RB6/PGC39I/OST/TTLPin de ceas pentru programarea serial a microcontroller-ului.

Genereaz o ntrerupere la schimbarea valorii

RB7/PGD40I/OST/TTLPin de date pentru programarea serial a microcontroller-ului.

Genereaz o ntrerupere la schimbarea valorii

Regitri asociai portului B:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

06hPORTBPortul B

86hTRISBDirecia datelor prin portul B (intrare/ieire)

81hOPTION

_REG

INTEDGTOCSTOSEPSAPS2PS1PS0

PORT C PORTC este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor este TRISC. Un 1 pe oricare din biii registrului TRISC, pune ieirea corespunztoare n modul de lucru de nalt impedan, setnd bitul ca bit de intrare.

Funcionarea portului C:Numele pinuluiPin Tip pinTip BufferDescriere

RC0/T1OSO/T1CKI15I/OSTIntrare de ceas pentru TIMER1 sau ieirea oscilatorului TIMER1

RC1/1OSI/CCP216I/OSTIeirea oscilatorului TIMER1, intrarea de captur 2, ieirea de comparare 2 sau ieirea PWM 2

RC2/CCP117I/OSTIntrarea de captur 1, ieirea de comparare 1 sau ieirea PWM 1

RC3/SCK/SCL18I/OSTIntrare/Ieire de ceas pentru portul serial SPI sau

RC4/SDI/SDA23I/OSTIntrare de date pentru SPI sau intrare/ieire de date pentru

RC5/SDO24I/OSTIeire de date pentru SPI

RC6/TX/CK25I/OSTTransmisie asincrona USART sau ceas pentru modul sincron

RC7/RX/DT26I/OSTRecepie asincrona USART sau date pentru modul sincron

Regitri asociai portului C:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

07hPORTCPortul C

87hTRISCDirecia datelor prin portul C (intrare/ieire)

PORT DPORTD este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor este TRISD. Un 1 pe oricare din biii registrului TRISD, pune ieirea corespunztoare n modul de lucru de nalt impedan, setnd bitul ca bit de intrare. Portul D poate fi folosit i ca port paralel.

Funcionarea portului D:Numele pinuluiPin Tip pinTip BufferDescriere

RD0/PSP019I/OST/TTLBit 0 de date pentru portul paralel

RD1/PSP120I/OST/TTLBit 1 de date pentru portul paralel

RD2/PSP221I/OST/TTLBit 2 de date pentru portul paralel

RD3/PSP322I/OST/TTLBit 3 de date pentru portul paralel

RD4/PSP427I/OST/TTLBit 4 de date pentru portul paralel

RD5/PSP528I/OST/TTLBit 5 de date pentru portul paralel

RD6/PSP629I/OST/TTLBit 6 de date pentru portul paralel

RD7/PSP730I/OST/TTLBit 7 de date pentru portul paralel

Regitri asociai portului D:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

08hPORTDPortul D

88hTRISDDirecia datelor prin portul D (intrare/ieire)

89hTRISEIBFOBFIBOVPSPMODE-Direcia datelor prin portul E (I/O)

PORT E PORTE este un port bidirecional pe 3 bii. Registrul corespunztor direciei datelor este TRISE. Un 1 pe oricare din biii registrului TRISE, pune ieirea corespunztoare n modul de lucru de nalt impedan, setnd bitul ca bit de intrare. Portul E poate fi folosit i ca port de control atunci cnd portul D este folosit ca port paralel.

Funcionarea portului E:Numele pinuluiPin Tip pinTip BufferDescriere

8I/OST/TTLControlul citirii pentru PSP (portul paralel)

Poate fi folosit i ca intrare analogica (canalul5)

9I/OST/TTLControlul scrierii pentru PSP (portul paralel)

Poate fi folosit i ca intrare analogica (canalul6)

10I/OST/TTLCS (cip select) pentru PSP (portul paralel)

Poate fi folosit i ca intrare analogica (canalul7)

Regitri asociai portului E:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

09hPORTE-----Portul E

89hTRISEIBFOBFIBOVPSPMODE-Direcia datelor prin portul E (I/O)

9FhADCON1ADFM---PCFG3PCFG2PCFG1PCFG0

Timer-e

PIC16F874 are 3 timer-e:( Timer0

( Timer1

( Timer2

Timer0

( numrtor \ cronometru pe 8 bii (registrul TMR0)

( poate fi scris i citit

( asociat cu un divizor programabil pe 8 bii (1 - 256)

( sursa de tact intern (CLKOUT sau WDT) sau extern (oscilator extern)

( genereaz o ntrerupere la trecerea de la FFh la 00h

( atunci cnd se lucreaz cu un oscilator extern se poate selecta tranziia pe front pozitiv sau pe front negativ

Regitri asociai cronometrului Timer0:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

81hOPTION

_REG

INTEDGTOCSTOSEPSAPS2PS1PS0

01hTMR0Registrul TIMER0 (8 bii)

Timer1

( numrtor \ cronometru pe 16 bii (TMR1H i TMR1L)

( poate fi scris i citit

( asociat cu un divizor programabil (1,2,4,8)

( sursa de tact intern (fosc/4) sau extern (oscilator extern conectat la RC1,RC2)

( poate genera o ntrerupere la trecerea de la FFFFh la 0000h

Regitri asociai cronometrului Timer1:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

0ChPIR1 PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF

8ChPIE1PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IE

0EhTMR1LCei mai puin semnificativi 8 bii ai registrului TIMER1

0FhTMR1HCei mai semnificativi 8 bii ai registrului TIMER1

10hT1CON--T1CKPS1T1CKPS0T1OSCENT1SYNCTMR1CSTMR1ON

Timer2

( cronometru pe 8 bii (registrul TMR2)

( poate fi scris i citit

( asociat cu un divizor programabil (1,4,16)

( sursa de tact intern (fosc/4)

( poate fi folosit ca baz de timp pentru modulul PWM

( asociat cu un registru care i stabilete perioada de resetare (PR2)

( poate genera o ntrerupere la 1(16 perioade

Regitri asociai cronometrului Timer2:AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

0ChPIR1 PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF

8ChPIE1PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IE

11hTMR2Registrul TIMER2 (8 bii)

12hT2CON-TOUTPS3TOUTPS2TOUTPS1TOUTPS0TMR2ONT2CPS1T2CPS0

92hPR2Perioad TIMER 2

Modulul de generare a tensiunii PWM

PWM = Pulse Width Modulation (modularea impulsurilor n durat). Microcontroller-ul genereaz o tensiune dreptunghiular a crei valoare medie este proporional cu factorul de umplere

Umed =5V Fu

PIC16F874 are doua module PWM identice. Tensiunea de ieire poate avea o rezoluie de pana la 10 bii.

Figura 41. Structur-funcionarePerioada PWM = [(PR2)+1]*4*[valoarea divizorului asociat cu Timer2]

Frecvena PWM = 1/ Perioada PWM

Atunci cnd sunt folosite ambele module PWM tensiunile de ieire vor avea aceeai frecven.

Regitri asociai modulului PWM:

AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

0ChPIR1 PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF

8ChPIE1PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IE

11hTMR2Registrul TIMER2 (8 bii)

12hT2CON-TOUTPS3TOUTPS2TOUTPS1TOUTPS0TMR2ONT2CPS1T2CPS0

92hPR2Perioad TIMER 2

8DhPIE2--EEIEBCLIE--CCP2IE

0DhPIR2--EEIFBCLIF--CCP2IF

15hCCPR1LCaptur1 / comparare1 / PWM1 (LSB)

16hCCPR1HCaptur1 / comparare1 / PWM1 (MSB)

17hCCP1CON--CCP1XCCP1YCCP1M3CCP1M2CCP1M1CCP1M0

1BhCCPR2LCaptur2 / comparare2 / PWM2 (LSB)

1ChCCPR2HCaptur2 / comparare2 / PWM2 (MSB)

1DhCCP2CON--CCP2XCCP2YCCP2M3CCP2M2CCP2M1CCP2M0

87hTRISCDirecia datelor prin portul C (intrare/ieire)

Portul serial. Modulul USART

(Universal Synchronus Asynchronus Reciever Transmitter)

USART, cunoscut i ca interfa serial de comunicaie (SCI), poate fi configurat n trei moduri:

( mod asincron

full duplex

( mod sincron master half duplex

( mod sincron slavehalf duplex

Modul asincron

n acest mod USART folosete un format standard al datelor: un bit de start, 8 sau 9 bii de date i un bit de stop. Cel mai uzual format este cel cu 8 bii de date.

Transmisia ncepe cu cal mai puin semnificativ bit (LSB). Partea de transmisie funcioneaz independent fa de partea de recepie, dar lucreaz la aceeai vitez.

Modul asincron se selecteaz prin tergerea bitului SYNC (TXSTA )

Modulul de transmisie asincron

Partea principal a acestui modul este registrul paralel serie TSR (transmit shift register). Acest registru primete datele de la registrul TXREG care este ncrcat prin program. Dup ce datele au fost transferate din TXREG n TSR circuitul poate genera o ntrerupere.

Transmisia este validat prin setarea bitului TXEN (TXSTA ).

Schema bloc

Figura 42. Schema explicativRegitri asociai transmisiei asincrone

AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

0ChPIR1 PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF

18hRCSTASSPENRX9SRENCRENADDENFERROERRRX9D

19hTXREGRegistrul de transmisie USART

8ChPIE1PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IE

98hTXSTACSRCTX9TXENSYNC-BRGHTRMTTX9D

99hSPBRGGenerator baud rate

Modulul de recepie asincron

Datele sunt recepionate prin pinul RC7 n blocul de recuperare care este un registru serie - paralel de mare vitez.

Partea principal a modulului de recepie este registrul RSR. Dup eantionarea bitului de stop datele sunt transferate n registrul RCREG.

Recepia este validat prin setarea bitului CREN (RCSTA )

Schema bloc

Figura 43. Schema blocRegitri asociai recepiei asincrone

AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

0ChPIR1 PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF

18hRCSTASSPENRX9SRENCREN-FERROERRRX9D

1AhRCREGRegistrul de recepie USART

8ChPIE1PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IE

98hTXSTACSRCTX9TXENSYNC-BRGHTRMTTX9D

99hSPBRGGenerator baud rate

Regitri pentru starea vitezei de comunicare

AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

98hTXSTACSRCTX9TXENSYNC-BRGHTRMTTX9D

99hSPBRGGenerator baud rate

Setarea vitezei de comunicare pentru Fosc = 4MHz

BRGHBAUD RATE

(K)SPBRGEroare

%

00,32070

1,2510,17

2,4250,17

9,666,99

19,228,51

28,818,51

33,6--

57,608,51

10,3--

1,22070,17

2,41030,17

9,6250,16

19,2120,16

28,883,55

33,666,29

57,638,51

ntreruperi

PIC16F874 are 14 surse de ntrerupere:

( ntrerupere extern (RB0/INT)

( ntrerupere Timer0

( ntrerupere Timer1

( ntrerupere Timer2

( ntrerupere la schimbarea valorii de intrare (PORTB)

( ntrerupere la scriere EEPROM

( ntrerupere generat de portul paralel

( ntrerupere generat de convertorul analog numeric

( ntrerupere generat de modulul de transmisie serial asincron

( ntrerupere generat de modulul de recepie serial asincron

( ntrerupere generat de portul serial sincron

( ntrerupere generat de modulul CPP1

( ntrerupere generat de modulul CPP2

( ntrerupere generat la o eroare pe bus-ul de date

Regitri folosii pentru controlul ntreruperilor

AdresaNumeBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

0BhINTCONGIEPEIET0IEINTERBIET0IFINTIFRBIF

0ChPIR1 PSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF

0DhPIR2--EEIFBCLIF--CCP2IF

8ChPIE1PSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IE

8DhPIE2--EEIEBCLIE--CCP2IE

81hOPTION

_REG

INTEDGTOCSTOSEPSAPS2PS1PS0

Schema bloc

Figura 44. Schema logic Oscilatorul

Tipuri de oscilatoare

PIC16F874 poate lucra n patru moduri diferite, de oscilaie:

( LP LOW POWER CRISTAL

( XT CRYSTAL / RESONATOR

( HS HIGH SPEED CRYSTAL / RESONATOR

( RS RESISTOR / CAPACITOR

Selectarea unuia din cele patru moduri se face prin setarea celor doi bii de configuraie FOSC1 i FOSC2 .

Oscilatorul cu cristal de cuar

Oscilatorul de mare vitez HS se conecteaz intre OSC1/CLKIN i OSC2/CLKOUT

Figura 45.

Figura 46. Programarea microcontroller-ului PIC16F874

Pentru scrierea programului n microcontroller este nevoie o interfa hardware specializat i o interfa software care s o controleze. Interfaa hardware se conecteaz la calculator (PC), n funcie de tipul ei, pe un port serial, paralel sau USB. Ca interfa software se folosete un program specializat (Pony Prog, PICSTART Plus, PRO MATE 2, etc.).

Setul de instruciuni

Microcontroller-ul PIC16F874 poate fi programat folosind un set de 35 de instruciuni (limbaj de asamblare). Fiecare instruciune este codificat pe 14 bii.

Cele 35 de instruciuni se mpart n 3 categorii:

( instruciuni la nivel de octet (byte)

( instruciuni la nivel de bit

( instruciuni literale i de control

Instruciunea Descriere

Instruciuni la nivel de octet

ADDWF f,dw + f d (destinaie)

ANDWF f,dw & f d (destinaie)

CLRF fterge f

CLRWterge acumulatorul (w)

COMF f,dComplementul lui f d (destinaie)

DECF f,df -1 d (destinaie)

DECFSZ f,df -1 d (destinaie) daca nu rezult 0

INCF f,df +1 d (destinaie)

INCFSZ f,df +1 d (destinaie) daca nu rezult 0

IORWF f,dw sau f d (destinaie)

MOVF f,df d (destinaie)

MOVWF fw f

NOP f,dNici o operaie (ntrziere)

RLF f,dRotete spre stnga registrul f d (destinaie)

RRF f,dRotete spre dreapta registrul f d (destinaie)

SUBWF f,df w d (destinaie)

SWAPF f,df d i f d

XORWF f,dw sau exclusiv f d (destinaie)

Instruciuni la nivel de bit

BCF f,bterge bitul b al registrului f (0 f )BSF f,bSeteaz bitul b al registrului f (1 f )BTFSC f,bSare o instruciune dac f=0BTFSS f,bSare o instruciune dac f=1Instruciuni literale i de controlADDLW kw + k wANDLW kw & f wCALL kCheam subrutina kCLRWDT -terge watchdog timerGOTO kSalt necondiionat la kIORLW kw sau k wMOVLW kk wRETFIE -Revenire din ntrerupereRETLW kRevenire din ntrerupere i k wRETURN -Revenire din subrutinSLEEP -Standby SUBLW kk w wXORLW kw sau exclusiv k wd=0 destinaia este wd=1 destinaia este fALGORITMUL DE PROGRAMARE Schema algoritmuluiFigura 47. Schema algoritmului de programare Explicarea algoritmului de programareSe seteaz tipul procesorului cu directiva LIST (exemplu p = pic 16F874), iar funciile standard ale procesorului sunt citite cu directiva INCLUDE.Configurarea procesorului se face prin directiva CONFIG.La microcontrolerul pic 16F874 registrul de funcii speciale (SFR) este divizat n patru bank uri de memorie. Eliminarea alertelor de selectare a bank urilor de memorie se face prin error level.Exist funcii speciale care sunt comune unor anumite bank uri, dar exist i funcii speciale care sunt specifice numai unui bank de memorie.Selectarea bank urilor de memorie se realizeaz prin selectarea biilor RP0 i RP1 din registrul STATUS. Chiar dac specificarea bank urilor n registrul STATUS este realizat corect mesajul de specificare a bank lui este afiat.Definirea etichetelorn programul nostru sunt definite trei etichete: speed (vitez); change (schimbare); led.Prima etichet speed este valoarea de referin a vitezei. Este controlat de valoarea obinut din conversia analog numeric a tensiunii date de circuitul de intrare.Eticheta change memoreaz rezultatul comparrii tensiunii circuitului de intrare cu tensiune de control a motorului (tensiunea de referin). n funcie de aceast valoare se modific valoarea registrului CCPR1 (registru care controleaz funcia PWM).Compararea dintre semnalul circuitului de intrare i cel de referin se realizeaz la fiecare 10 ms.Cnd se sesizeaz o diferen ntre valoarea tensiunii de control i cea de intrare, valoarea care a fost specificat de change este adunat sau sczut din valoarea ciclului PWM.Variabila led are rolul de a afia n binar valoarea vitezei de rotaie a motorului i de a te ine la curent cu funcionarea motorului.Program startInstruciunea este executat de la adresa 0 din memoria program cnd pic ul este alimentat cu tensiune. Cnd apare o ntrerupere procesul ncepe de la adresa 4. Fiecare salt n program se face cu instruciunea goto.Procesul de iniializareProcesul de iniializare se realizeaz la pornireIniializarea porturilor A, B i CSe folosete primul pin din portul A ca intrare analogic (RA0). Ceilali pini sunt setai ca ieiri pentru a evita influena altor porturi de intrare.Portul B este setat ca ieire pentru controlul ledurilor.Portul C este setat ca ieire pentru realizarea comparrii dintre valoarea tensiunii de intrare i valoarea de referin.Iniializarea conversiei A/DDeoarece frecvena este de 10 MHz dat de rezonator, rezult c frecvena convertorului A/D este setat la 10 MHz/32.Un canal de intrare este setat la AN0. rezultatul conversiei este setat la stnga pentru a lua cei mai semnificativi 8 bii.Iniializare PWMRegistrul CCP1 este folosit pentru modulul PWM. Acest registru pstreaz valoarea dat de variabila change, adic valoarea care mrete sau micoreaz mrimea pulsului.Iniializarea modului de comparareRegistrul CCP2 este folosit pentru comparare celor dou semnale i genereaz ntreruperi periodice (o dat la 10 ms).Iniializarea ntreruperilorDatorit setrii bitului de validare a ntreruperii din registrul CCP2 este posibil realizarea ntreruperii.Se termin procesul de iniializare.Procesul de ntreruperen momentul n care se realizeaz o ntrerupere se seteaz flegul de ntrerupere pe zero pentru a nu mai putea intra o alt ntrerupere pn nu este terminat aceasta.Se ateapt pn procesul de conversie A/D este complet. Conversia ncepe simultan cu apariia ntreruperii.Compararea cu tensiunea de referinCnd conversia A/D s-a terminat cei mai semnificativi 8 bii ai rezultatului sunt comparai cu valoarea de referin a vitezei. Se obine un rezultat care poate fi mai mare sau mai mic dect valoarea comparat.Procesul de ncetinire a vitezeiDac rezultatul obinut este mai mare microcontrolerul scade curentul trimis motorului i astfel se micoreaz viteza.Procesul de mrire a vitezeiDac rezultatul obinut n urma comparrii este mai mic, microcontrolerul crete curentul transmis motorului i astfel se realizeaz creterea vitezei.Ambele decizii, att cea de cretere a vitezei ct i cea de micorare sunt luate de variabila change. Controlul ledurilorDac motorul nu este alimentat toate ledurile sunt oprite. Aprinderea ledurilor ncepe de la ledul 1 spre ultimul led odat cu creterea curentului transmis motorului.Procesul de terminare a ntreruperiiSfritul procesului de ntrerupere se realizeaz cu instruciunea RETFIE.La sfritul programului se pune instruciunea END.Programul list p=pic16f874 include p16f874.inc __config _HS_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF errorlevel -302 ;Suppress bank warnin;Label Definition speed equ d'8' ;Reference speed (5x8/256=0.156V)change equ d'1' ;Change value (2mV/ms)led equ h'20' ;LED control data save area;Program Start org 0 ;Reset Vector goto init org 4 ;Interrupt Vector goto int; Initial Process init;Port initialization bsf STATUS,RP0; Change to Bank1 movlw b'00000001' ; AN0 to input mode movwf TRISA; Set TRISA register clrf TRISB; Set TRISB to uotput mode clrf TRISC; Set TRISC to output mode bcf STATUS,RP0; Change to Bank0; A/D converter initialization movlw b'10000001' ;ADCS=10 CHS=AN0 ADON=ON movwf ADCON0 ;Set ADCON0 register bsf STATUS,RP0 ;Change to Bank1 movlw b'00001110' ;ADFM=0 PCFG=1110 movwf ADCON1 ;Set ADCON1 register bcf STATUS,RP0 ;Change to Bank0; PWM initialization clrf TMR2 ;Clear TMR2 register movlw b'11111111' ;Max duty (low speed) movwf CCPR1L ;Set CCPR1L register bsf STATUS,RP0 ;Change to Bank1 movlw d'255' ;Period=1638.4usec(610Hz) movwf PR2 ;Set PR2 register bcf STATUS,RP0 ;Change to Bank0 movlw b'00000110' ;Pst=1:1 TMR2=ON Pre=1:16 movwf T2CON ;Set T2CON register movlw b'00001100' ;CCP1XY=0 CCP1M=1100(PWM) movwf CCP1CON ;Set CCP1CON register; Compare mode initialization clrf TMR1H ;Clear TMR1H register clrf TMR1L ;Clear TMR1L register movlw h'61' ;H'61A8'=25000 movwf CCPR2H ;Set CCPR2H register movlw h'a8' ;25000*0.4usec = 10msec movwf CCPR2L ;Set CCPR2L register movlw b'00000001' ;Pre=1:1 TMR1=Int TMR1=ON movwf T1CON ;Set T1CON register movlw b'00001011' ;CCP2M=1011(Compare) movwf CCP2CON ;Set CCP2CON register; Interruption control bsf STATUS,RP0 ;Change to Bank1 movlw b'00000001' ;CCP2IE=Enable movwf PIE2 ;Set PIE2 register bcf STATUS,RP0 ;Change to Bank0 movlw b'11000000' ;GIE=ON PEIE=ON movwf INTCON ;Set INTCON registerwait goto $ ;Interruption wait; Interruption Process int clrf PIR2 ;Clear interruption flagad_check btfsc ADCON0,GO ;A/D convert end ? goto ad_check ;No. Again movfw ADRESH ;Read ADRESH register sublw speed ;Ref speed - Detect speed btfsc STATUS,C ;Reference < Detect ? goto check1 ;No. Jump to > or = check;--- control to low speed --- movfw CCPR1L ;Read CCPR1L register addlw change ;Change value + CCPR1L btfss STATUS,C ;Overflow ? movwf CCPR1L ;No. Write CCPR1L goto led_cont ;Jump to LED controlcheck1 btfsc STATUS,Z ;Reference = Detect ? goto led_cont ;Yes. Jump to LED control;--- control to fast speed --- movlw change ;Set change value subwf CCPR1L,f ;CCPR1L - Change value btfsc STATUS,C ;Underflow ? goto led_cont ;Jump to LED control clrf CCPR1L ;Set fastest speed; LED control Process led_cont comf CCPR1L,w ;Complement CCPR1L bit movwf led ;Save LED data movlw b'00010000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led1 ;No. movlw b'00000000' ;Set LED control data goto int_end ;Jump to interrupt endled1 movlw b'00100000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led2 ;No. movlw b'00000001' ;Set LED control data goto int_end ;Jump to interrupt endled2 movlw b'01000000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led3 ;No. movlw b'00000011' ;Set LED control data goto int_end ;Jump to interrupt endled3 movlw b'01100000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led4 ;No. movlw b'00000111' ;Set LED control data goto int_end ;Jump to interrupt endled4 movlw b'10000000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led5 ;No. movlw b'00001111' ;Set LED control data goto int_end ;Jump to interrupt endled5 movlw b'10100000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led6 ;No. movlw b'00011111' ;Set LED control data goto int_end ;Jump to interrupt endled6 movlw b'11000000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led7 ;No. movlw b'00111111' ;Set LED control data goto int_end ;Jump to interrupt endled7 movlw b'11100000' ;Set compare data subwf led,w ;LED - data btfsc STATUS,C ;Under ? goto led8 ;No. movlw b'01111111' ;Set LED control data goto int_end ;Jump to interrupt endled8 movlw b'11111111' ;Set LED control data END of Interruption Process int_end movwf PORTB ;Set PROTB retfie; END of DC motor speed controller endPAGE 64_70144120.unknown_1163847692.unknown_1178537590.unknown_1179664244.unknown_1179664463.unknown_1179664572.unknown_1178645010.unknown_1178644704.bin_1170670414.unknown_1170674539.unknown_1170853200.unknown_1171537532.unknown_1177764568.unknown_1170853560.unknown_1170853188.unknown_1170673587.unknown_1168343090.dwg_1170669609.unknown_1164105639.unknown_1112814130.unknown_1162664085.dwg_1163582634.unknown_1163584806.unknown_1163580012.unknown_1163579717.unknown_1112857272.unknown_1162646125.dwg_1162647235.dwg_1116918361.unknown_1116918755.unknown_1116918715.unknown_1112857841.unknown_1112814164.unknown_1112855946.unknown_1112797068.unknown_1112798370.unknown_1112798438.unknown_1112798293.unknown_70209656.unknown_1084699726.unknown_66567784.unknown_66730136.unknown_66779504.unknown_66779840.unknown_67714736.unknown_67763944.unknown_67653992.unknown_66779672.unknown_66738328.unknown_66601736.unknown_66658664.unknown_66583728.unknown_53574184.unknown_66499064.unknown_66540776.unknown_66395408.unknown_53500040.unknown_53547016.unknown_53287888.unknown