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

Automatizari proiect-teorie

Embed Size (px)

Citation preview

Page 1: Automatizari proiect-teorie

PROIECTAREA UNUI SISTEM DE ACŢIONARE CU MOTOR DE CURENT CONTINUU...........................2INTRODUCERE.......................................................................................................................................................2SISTEME DE ACŢIONARE ELECTRICĂ. GENERALITĂŢI..............................................................................2LANŢURI CINEMATICE........................................................................................................................................2

Caracteristicile lanţurilor cinematice....................................................................................................................3Asocierea lanţurilor cinematice.............................................................................................................................5

MAŞINI ELECTRICE..............................................................................................................................................7ACŢIONĂRI CU MAŞINI SINCRONE..................................................................................................................8

Generalităţi............................................................................................................................................................8MOTORUL SINCRON............................................................................................................................................9

Pornirea motorului sincron....................................................................................................................................9Frânarea motorului sincron.................................................................................................................................10Motoare sincrone speciale...................................................................................................................................10Motoare sincrone reactive (MSR).......................................................................................................................10Motoarele pas cu pas (MPP)...............................................................................................................................11

ACŢIONĂRI CU MAŞINI ASINCRONE.............................................................................................................12Generalităţi..............................................................................................................................................................12MOTORUL ASINCRON.......................................................................................................................................12

Pornirea motorului asincron trifazat....................................................................................................................12Pornirea motorului asincron monofazat..............................................................................................................13

ACŢIONĂRI CU MOTOARE DE CURENT CONTINUU..................................................................................13DESCRIEREA ŞI FUNCŢIUONAREA MOTORULUI DE CC...........................................................................14

Ecuaţiile de funcţionare.......................................................................................................................................14Caracteristicile de funcţionare ale motorului de curent continuu.......................................................................15

A. Motorul cu excitaţie în derivaţie................................................................................................................15Motorul cu excitaţie serie........................................................................................................................................18

La acest motor înfăşurarea rotorică este în serie cu înfăşurarea de excitaţie, (fig. 1.5)..................................18Motorul cu excitaţie mixtă......................................................................................................................................18Pornirea motoarelor de curent continuu..................................................................................................................19

Regimul de frânare la motorul de curent continuu..............................................................................................21Regimul de frânare la motorul de curent continuu cu excitaţie în derivaţie...................................................21Frânarea cu recuperare....................................................................................................................................22Frânarea în contracurent..................................................................................................................................22Frânarea dinamică...........................................................................................................................................23

Regimul de frânare la motorul de curent continuu cu excitaţie serie..................................................................23Frânarea cu recuperare de energie...................................................................................................................23Frânarea dinamică...........................................................................................................................................23Frânarea în contracurent..................................................................................................................................24

REGLARE A TURAŢIEI MOTORULUI DE CURENT CONTINUU.................................................................25Reglajul turaţiei mcc cu excitaţie derivaţie.............................................................................................................25

Reglajul turaţiei motorului de curent continuu cu excitaţie serie.......................................................................27Sisteme de reglare a vitezei m.c.c. alimentate prin impulsuri.............................................................................29

PROIECTUL TEHNIC...........................................................................................................................................32Generalităţi..............................................................................................................................................................32Părţile componente ale schemei..............................................................................................................................33Microcontroller PIC16F874....................................................................................................................................35ALGORITMUL DE PROGRAMARE...................................................................................................................59

Schema algoritmului...........................................................................................................................................59

1

Page 2: Automatizari proiect-teorie

PROIECTAREA UNUI SISTEM DE ACŢIONARE CU

MOTOR DE CURENT CONTINUU

INTRODUCERE

SISTEME DE ACŢIONARE ELECTRICĂ. GENERALITĂŢI

Un sistem de acţionare electrică reprezintă o mulţime de obiecte interconectate şi interdependente în scopul realizării conversiei electromagnetice a energiei pentru un anumit proces tehnologic.

Componentele principale ale unui sistem de acţionare electrică sunt : motorul electric, maşina de lucru, transmisia si elementul de execuţie (fig.1).

Figura 1. Componentele unui sistem de acţionare

Motorul electric realizează transformarea puterii electrice în putere mecanică. Maşina de lucru ML este antrenată de motorul electric M şi realizează anumite operaţii

dintr-un proces tehnologic. Transmisia T reprezintă legătura mecanică dintre motor şi maşina de lucru, cu rolul de

a realiza transferul de putere mecanică, şi eventual, de a schimba parametrii acestei puteri (viteza unghiulară, cuplu).

Elementul de execuţie EE are drept scop alimentarea cu energie electrică a motorului si comanda funcţionarii motorului în conformitate cu anumite cerinţe.

Realizarea si funcţionarea optimă a unui sistem de acţionare electrică presupune, în primul rând, cunoaşterea foarte exactă a procesului tehnologic şi a maşinii de lucru folosite, funcţie de care se vor alege sau calcula si construi motorul electric, elementul de execuţie şi elementul de transmisie, avându-se în vedere asigurarea unui cost cât mai redus şi a unei mari fiabilităţi în funcţionare.

LANŢURI CINEMATICE

În lanţului cinematic. schemele cinematice structurale mecanismele care realizează funcţii identice, dar sunt de naturi diferite se reprezintă prin acelaşi simbol convenţional.

Schema fluxului cinematic este o reprezentare intuitivă a modului de transmitere a mişcării prin mecanismele

2

Page 3: Automatizari proiect-teorie

Caracteristicile lanţurilor cinematice

Ecuaţia de transfer:

Figura 2. Schema bloc-Funcţia de transfer

unde:i – raport de transferxi – mărime de intrarexe – mărime de ieşire

Figura 3. Mecanismul şurub-piuliţă

xe = vav =ns psc

unde:vav – viteza de avansns – turaţia şurubuluipsc – pasul şurubului conducător

;

Figura 4. Cinematica mişcării

3

Page 4: Automatizari proiect-teorie

Figura 5. Raportul de transfer

;

Notăm: ; ;Rezultă:unde:

iT – raport total de transferiC – raport constantiR - raport reglabiliD – raport dimensional

Ecuaţia de transfer a lanţului cinematic:

Ecuaţia de reglare a lanţului cinematic:

Mărimile de ieşire a lanţurilor cinematice pot să aibă la o anumită maşină-unealtă valori diferite:

ye1

Raportul de reglare a mărimii de ieşire:

Domeniul de reglare a mărimilor de intrare:yi1

Raportul de reglare al mărimilor de intrare:

Capacitatea de reglare a lanţului cinematic:

4

Page 5: Automatizari proiect-teorie

sau

Mărimea capacităţii de reglare CR a lanţurilor cinematice caracterizează complexitatea mecanismului de reglare a lanţurilor cinematice.

Asocierea lanţurilor cinematice

Pentru a putea asocia lanţurile cinematice se impune ca două viteze ale mărimilor de ieşire din lanţurile cinematice să păstreze un anumit raport între ele.

Condiţia economică, dar şi condiţiile de precizie şi fiabilitate, impun ca într-un lanţ cinematic să existe un număr minim de mecanisme.

Există trei moduri de asociere:Asocierea serie:

Figura 6. Metode de asocierea lanţurilor cinematice

Două sau mai multe lanţuri cinematice sunt asociate sau legate în serie (fig.6) atunci când, prin intermediul unui mecanism C, se transmite mărimea de ieşire ye1 dintr-un lanţ cinematic sub formă de mărime de intrare yi2 în lanţul cinematic următor.Datorită raportului de transfer iC al mecanismului C de legătură, între cele două mărimi există

relaţia:

b) Asocierea paralel:

5

Page 6: Automatizari proiect-teorie

Figura 7. Asocierea în parallel a lanţurilor cinematice

Două sau mai multe lanţuri cinematice sunt asociate în paralel (fig.7) atunci când între mărimile de ieşire trebuie să existe anumite relaţii, sau când între mărimile de intrare există anumite relaţii.

Lanţurile cinematice asociate în paralel se pot subgrupa, în ceea ce priveşte legătura dintre mărimile de ieşire, ca fiind:

lanţuri cinematice cu legătură condiţionată cinematic (fig.7.a) – lanţuri cinematice care asigură mişcarea de rotaţie şi de translaţie pentru obţinerea directoarei elicoidale, ale căror viteze să satisfacă raportul vT / vA = tg.

lanţuri cinematice cu legătură necondiţionată cinematic – lanţuri cinematice care asigură viteza de aşchiere şi de avans, între care nu există o condiţionare ca în cazul precedent.

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

Asocierea mixtă:

6

Page 7: Automatizari proiect-teorie

Figura 8. Asocierea mixtă a lanţurilor cinematice

Asocierea mixtă a lanţurilor cinematice reprezintă o asociere între lanţurile cinematice legate în serie şi lanţurile cinematice legate în paralel.

În funcţie de numărul mărimilor de ieşire furnizate la capătul de ieşire avem: asociere mixtă cu o mărime de ieşire (fig.8.a); asociere mixtă cu două sau mai multe mărimi de ieşire (fig.8.b)

Asocierea mixtă cu o singură mărime de ieşire (fig.8.a), constă în lanţuri cinematice asociate în paralel, ale căror mărimi se însumează pentru a furniza o singură mărime de ieşire lanţului următor, care este legat în serie cu precedentele, ceea ce ar permite şi denumirea de asociere paralel-serie.

Însumarea algebrică a mărimilor de ieşire se obţine printr-un mecanism de însumare, care poate fi: mecanism diferenţial, mecanism cu clichet, cuplaj cu role, etc. ca mecanisme mecanice sau diferite tipuri de sertăraşe hidraulice care permit însumarea debitelor, precum şi orice alt mecanism care permite însumarea a două mărimi de aceeaşi natură sau de natură diferită.

Asocierea mixtă cu două sau mai multe mărimi de ieşire (fig.8.b), constă în asocierea de lanţuri cinematice în serie cu lanţuri cinematice în paralel, astfel aceasta poate fi denumită şi asociere serie-paralel.

MAŞINI ELECTRICE

Prin maşină electrică se înţelege o maşină, în general, rotativă, care transformă puterea mecanică în putere electrică sau invers. Maşinile electrice se împart în maşini de curent continuu şi maşini de curent alternativ, după felul energiei electrice ce ia parte în conversia electromecanică realizată de maşină.

Orice maşină electrică este reversibilă din punct de vedere al conversiei energiei realizate; ea poate funcţiona fie ca generator, fie ca motor. Prin generator electric se înţelege o maşină electrică, care transformă puterea mecanică în putere electrică. Prin motor electric se defineşte o maşină electrică care transformă puterea electrica în putere mecanică. Unele maşini pot funcţiona si ca frâna electrică şi în această situaţie maşina primeşte atât putere mecanică cât şi putere electrică, pe care le transformă în timp în căldură, realizând în acelaşi timp un cuplu electromecanic realizat la arbore.

Maşinile de curent alternativ se împart în doua mari clase: sincrone si asincrone. Maşina sincronă se caracterizează prin faptul că în regim permanent frecvenţa curentului schimbat cu reţeaua de curent alternativ se afla în raport constant cu viteza unghiulară de rotaţie a maşinii, indiferent de gradul de încărcare al maşinii. Maşina asincronă se caracterizează printr-o viteză unghiulară care nu se menţine în raport constant cu frecventa

7

Page 8: Automatizari proiect-teorie

reţelei electrice, ci variază odată cu schimbarea regimului de funcţionare sau cu modificarea gradului de încărcare al maşinii.

ACŢIONĂRI CU MAŞINI SINCRONE.

Generalităţi

Maşina sincronă se cunoaşte în două forme constructive: 1) cu poli aparenţi; 2) cu poli plini. În cazul maşinii sincrone cu poli aparenţi 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 rezistenţei pe fază a indusului pentru factor de putere inductiv sunt reprezentate în figurile următoare. Semnul minus în faţa lui E semnifică regimul de motor când tensiunea este contraelectromotoare.

Figura 9. Schema electrică a indusului şi diagramele fazoriale pentru maşina sincronă cu poli aparenţi

Figura 10. Cu poli plini

Maşina sincronă cu poli aparenţi dezvoltă un cuplu de anizotropie magnetică chiar şi dacă maşina nu este excitată (E0 = 0), care stă la baza funcţionării maşinii sincrone reactive.

8

Page 9: Automatizari proiect-teorie

Maşina sincronă dezvoltă un cuplu numai dacă rotorul se roteşte sincron cu câmpul magnetic învârtitor rezultant şi în acelaşi sens. În concluzie: maşina sincronă nu poate porni singură pentru că nu dezvoltă cuplu.

Există următoarele tipuri constructive de MS:a) cu excitaţie electromagnetică, formată din bobine concentrate pe miez de fier

alimentate în curent continuu şi piese polare pentru fiecare pol, asemănătoare constructiv cu excitaţia motorului de curent continuu. În construcţie normală excitaţia maşinii este în rotor, dar există şi construcţii inversate;

b) excitată static cu magneţi permanenţi. Se renunţă la cele două perii şi inelele colectoare necesare pentru alimentarea rotorului în curent continuu. Maşinile sincrone excitate cu magneţi permanenţi (MSMP ) sunt la fel de robuste ca şi MAS.

c) cu reluctanţă variabilă (MSRV), (bariere nemagnetice); rolul barierelor nemagnetice este de a mări anizotropia magnetică pe cele două axe ale maşinii.

Problemele MSMP sunt: deprecierea proprietăţilor magneţilor permanenţi odată cu creşterea temperaturii şi compensarea reacţiei indusului pentru a păstra punctul de funcţionare optim al magnetului permanent.

Problemele MSRV sunt legate de realizarea unei construcţii rigide a rotorului în condiţiile extinderii barierelor nemagnetice.

MOTORUL SINCRON

Pornirea 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ă maşina are în tălpile polare o înfăşurare în

scurtcircuit.

Figura 11. Pornirea în asincron a MS

Pentru pornirea în asincron se realizează schema principială din fig.10. Cât timp rotorul este antrenat de un cuplu asincron excitaţia nealimentată este conectată (contactul K1 închis) pe un rezistor Rp sau este scurtcircuitată.

Când alunecarea s<350,05 se alimentează excitaţia (contactul K2 se închide şi simultan se deschide contactul K1). Apare un regim tranzitoriu de accelerare a rotorului în

9

Page 10: Automatizari proiect-teorie

decursul căruia acesta este atras în sincronism de cuplul sincron - Ms. Colivia de pornire iese din funcţionare, iar MS se prinde în sincronism.

Frânarea motorului sincron

La maşina sincronă se aplică frânarea reostatică sau dinamică, care reprezintă un regim de generator fără recuperarea energiei.

Statorul se deconectează de la reţea şi se cuplează pe o rezistenţă RF de frânare trifazată. Înfăşurarea rotorului rămâne alimentată în curent continuu. La alimentarea excitaţiei de la un redresor static comandat se poate realiza forţarea excitaţiei care duce la o creştere importantă a cuplului de frânare.

Figura 12. Schema electrică a frânării MS

Motoare sincrone speciale

Motoare sincrone reactive (MSR)

Un MS cu rotor anizotrop (întrefier neuniform), de exemplu MS cu poli aparenţi, care funcţionează fără excitaţie (E0 = 0), se numeşte maşină reactivă. MS cu bariere nemagnetice în rotor reprezintă o construcţie care urmăreşte realizarea unui cuplu de anizotropie electromagnetică maxim. Cuplul electromagnetic care are tendinţă să orienteze rotorul în poziţia de reluctanţă minimă a întrefierului, deci de flux magnetic maxim sau energie magnetică maximă, se numeşte cuplu reactiv.

Motoarele pas cu pas (MPP)

Motoarele pas cu pas au înfăşurări statorice concentrate (ca la MCC) care transformă impulsurile de tensiune în deplasări unghiulare sau liniare discrete numite paşi. Motoarele pas cu pas sunt convertoare-amplificatoare de informaţie numerică. Clasificarea motoarelor pas cu pas: active, care sunt excitate cu magneţi permanenţi şi reactive;

10

Page 11: Automatizari proiect-teorie

Figura 13. MPP reactive cu rotor bipolar şi stator cu 12 poli

Bobinele statorice sunt alimentate printr-un comutator electronic de la o sursă de curent continuu. Pentru ca energia magnetică a sistemului să fie maximă rotorul ocupă poziţia în care reluctanţa (Rm) echivalentă a circuitului este minimă.

A. La alimentarea înfăşurărilor corespunzătoare polilor 1-1' rotorul se situează în lungul axei acestora.

B. Înfăşurările corespunzătoare polilor 1-1' şi 2-2' alimentate fac rotorul să se situeze pe bisectoarea unghiului dintre axele polilor 1-1' şi 2-2’, deci dintre axele geometrice a doi poli consecutivi, rezultând un unghi de pas de 15°.

C. Alimentarea înfăşurărilor 2-2' face rotorul să se alinieze pe axa 2-2' rezultând un pas unghiular de 30° = 15° + 15°.

Motoarele pas cu pas se utilizează pentru acţionarea mecanismelor de poziţionare.

ACŢIONĂRI CU MAŞINI ASINCRONE

11

Page 12: Automatizari proiect-teorie

Generalităţi

Maşinile asincrone (MAS) trifazate, numite şi maşini de inducţie, au o largă utilizare în sistemele de acţionare electrică (SAE) datorită următoarelor avantaje: construcţie simplă şi robustă, siguranţă în exploatare, preţ de cost scăzut, alimentare direct de la reţea.

Dezavantajele lor sunt: modificarea vitezei se face greoi cu investiţii ridicate, absorb putere reactivă, prin urmare duc la scăderea factorului de putere.

Cea mai răspândită este MAS cu rotorul în scurtcircuit, celălalt tip constructiv îl reprezintă maşina asincronă cu inele (MASI). Dacă la MASI se include în rezistenţa fazei rotorice şi rezistenţa reostatului exterior, atunci ecuaţiile ce descriu funcţionarea obţin o formă unică.

Ca şi în cazul transformatorului, pentru ca mărimile rotorice să poată fi comparate direct cu cele statorice, maşina reală se înlocuieşte cu o maşină echivalentă.

Maşina echivalentă are atât în stator cât şi în rotor acelaşi număr de faze, de înfăşurări şi de spire ale înfăşurărilor şi este echivalentă energetic cu maşina reală. În plus are rotor imobil, deci frecvenţa din rotor este egală cu frecvenţa din stator, iar pentru că şi tensiunea electromotoare din stator este egală cu tensiunea electromotoare din rotor cele două înfăşurări pot fi conectate galvanic între ele.

MOTORUL ASINCRON

Pornirea motorului asincron trifazat

La pornirea motoarelor asincrone trebuie să se asigure următoarele condiţii:- Cuplul electromagnetic la pornire să fie suficient de mare pentru a se realiza pornirea

în gol sau în sarcină în funcţie de condiţiile de funcţionare ale maşinii.- Curentul de pornire al maşinii să nu depăşească valoarea limită admisibilă

determinată de reţeaua de alimentare pentru a se evita căderile mari de tensiune din reţea, care provoacă deranjamente în funcţionarea altor consumatori. Curenţii mari de pornire în primarul maşinii provoacă încălziri ale înfăşurării, precum şi scăderea randamentului energetic în perioada de pornire.

- Durata procesului de pornire să fie cât mai scurtă, pentru a nu se produce încălziri însemnate ale înfăşurării primare.

Pornirea motoarelor asincrone poate avea loc direct prin cuplarea maşinii direct la o reţea trifazată având tensiunea şi frecvenţa nominală, sau indirect, maşina fiind cuplată mai întâi la o tensiune redusă, care în decursul pornirii este mărită treptat până la valoarea nominală.

La alegerea metodei de pornire, trebuie să se ţină seama de condiţiile impuse de reţeaua de alimentare şi de mecanismul acţionat de motor.

Cuplarea directă a maşinii la reţea este aplicată la maşinile asincrone cu rotorul bobinat la care pornirea se efectuează cu ajutorul unui reostat conectat în rotor, precum şi la maşinile asincrone cu rotorul în colivie în cazul în care reţeaua de alimentare este suficient de puternică încât şocurile de curent la pornire să nu prezinte importanţă, iar mecanismul acţionat poate să suporte şocul de cuplu electromagnetic.

Cuplarea indirectă a maşinii asincrone în perioada pornirii este aplicată la motoarele asincrone cu colivie în rotor, alimentate de la reţele electrice relative slabe.

12

Page 13: Automatizari proiect-teorie

Pornirea motorului asincron monofazat

Motorul asincron monofazat prezintă un însemnat avantaj prin faptul că pentru alimentarea acestuia este necesară o sursă monofazată, dar motorul asincron monofazat nu are cuplu de pornire. Dacă se aplică în exterior un cuplu mecanic de acţionare motorul poate porni în sensul cuplului aplicat. Desigur această pornire este dificilă, deoarece trebuie să fie lansat rotorul de fiecare dată când urmează să fie pornit motorul asincron monofazat.

Pentru a depăşi această dificultate motorul monofazat se echipează în stator cu o înfăşurare auxiliară decalată faţă de înfăşurarea principală şi alimentată de la aceeaşi sursă de curent alternativ, curentul prin această înfăşurare auxiliară trebuie să fie defazat faţă de curentul prin înfăşurarea principală. În acest fel se produce în maşină un câmp magnetic învârtitor şi maşina poate dezvolta un cuplu electromagnetic de pornire diferit de zero.

ACŢIONĂRI CU MOTOARE DE CURENT CONTINUU

În ultimul timp motoarele de curent continuu au revenit în actualitate, deşi motorul asincron este folosit în circa 95% din sistemele de acţionare electromecanică. Această revenire se datorează avantajelor oferite de motorul de curent continuu prin caracteristica mecanică naturală liniară şi suficient de rigidă, precum şi a progreselor realizate în domeniul mutatoarelor cu comutaţie naturală şi forţată.

Dacă generatoarele de curent continuu se construiesc actual mai puţin, deoarece funcţiile lor au fost preluate de dispozitivele semiconductoare în schimb motoarele de curent continuu continuă să aibă o arie de aplicabilitate largă şi anume:

a) în tracţiune electrică: pentru acţionarea tramvaielor, troleibuzelor, electrocarelor;b) în metalurgie: pentru acţionările principale şi auxiliare ale laminoarelor de ţevi şi

tablă;c) pentru acţionarea maşinilor unelte, în special a lanţurilor cinematice de avans;d) pentru antrenarea unor instalaţii de ridicat şi transportat, etc.Aprecierea calităţilor tehnice ale unui motor de curent continuu se face ţinând cont de

următoarele caracteristici :a) Pornireb) Funcţionarec) Reglarea vitezeid) FrânareaÎn comparaţie cu motorul asincron, motorul de curent continuu permite reglajul

turaţiei în limite largi, în mod continuu şi mai economicos. Regimurile tranzitorii de pornire, frânare şi inversarea sensului de mişcare au durată mai scurtă, iar caracteristica mecanică poate fi dură în cazul excitaţiei separate sau paralel, moale în cazul excitaţiei serie sau poate fi modificată conform cerinţelor acţionării prin dimensionarea corespunzătoare a excitaţiilor în cazul motoarelor cu excitaţie mixtă

Avantajele enumerate determină menţinerea în competiţie a motorului de curent continuu în pofida avantajelor evidente ale motoarelor asincrone: construcţie robustă, alimentare directă de la reţeaua de curent alternativ, preţ de cost şi gabarit mai scăzut pe unitatea de putere.

a) Caracteristicile de pornire se referă la:

şi Ip = f(t)

13

Page 14: Automatizari proiect-teorie

şi Mp =f(t) durata procesului tranzitoriueconomicitatea pornirii din punct de vedere al energiei disipate, al costului aparatajului şi al fiabilităţii.

b) Caracteristicile de funcţionare sunt : Ω = f(M) şi n = f(I) în condiţiile menţinerii constante a UA=UN, Re, RA.

Se adaugă caracteristica mecanică n = f(M) esenţială pentru studiul acţionărilor electrice.

c) Caracteristici de reglare a vitezei:domeniul (plaja) de reglare nmax / nmin

modul de reglare : continuu sau în trepteeconomicitatea reglării din punct de vedere al pierderii de energie, costul aparatajului şi a fiabilităţii.

d) Caracteristicile de frânare: constau în extinderea caracteristicii mecanice n=f(M) pentru trei regimuri speciale de lucru: frână propriu-zisă, generator supraturat şi frânare dinamică în regim de generator.

DESCRIEREA ŞI FUNCŢIUONAREA MOTORULUI DE CC

Ecuaţiile de funcţionare

Figura 14. MCC-conexiuni

a) – cu excitaţie în derivaţie; b) - cu excitaţie serie; c) - cu excitaţie mixtă; PC – poli auxiliari, IC – înfăşurare de compensaţie; Exd - înfăşurare de excitaţie derivaţie.Exs - înfăşurare de excitaţie serie; Re – reostate de excitaţie; Rp-reostat de pornire.

În figura 14 sunt indicate schemele electrice ale motoarelor de curent continuu cu excitaţie derivaţie (separată), serie şi mixtă.

Regimurile de funcţionare tranzitorii şi permanente ale motorului de curent continuu sunt determinate de ecuaţiile referitoare la: tensiunea la borne, tensiunea electromotoare, cuplul electromagnetic, ecuaţia cuplurilor şi fluxul magnetic de excitaţie.

14

Page 15: Automatizari proiect-teorie

UA = RAIA + LA - EE = -KeØn M = KØI (1)

M - Mrε = J

Ø = f(I, ie) ,

în care:Mrε = Mr + Mm + MFe - reprezintă cuplul rezistent total ce se opune antrenării

rotorului compus din cuplul rezistent Mr, dat în general grafic sau analitic, cuplul datorat frecărilor în lagăre şi frecării vâscoase cu aerul şi cuplul corespunzător pierderilor în fier.

În regim staţionar de funcţionare, când mărimile electrice şi mecanice obţin valori constante, ecuaţiile de funcţionare devin:

UA = RAIA – E M = Mrε (2)

Prin eliminarea variabilei E între primele două ecuaţii ele sistemului (1) se obţine ecuaţia caracteristicii turaţie-curent.

)

(3)Substituind curentul prin cuplul corespunzător rezultă ecuaţia caracteristicii turaţie-

cuplu.

(4)

Explicarea relaţiei fluxului magnetic în cazul diferitelor tipuri de motoare conduce la ecuaţii particularizate ale caracteristicilor.

Aceste ecuaţii sunt parametrice, deci pot fi modificate prin acţiunea directă în scopul obţinerii caracteristicilor artificiale necesare regimurilor tranzitorii (pornirea, reglarea vitezei, frânare) urmate de funcţionarea stabilă a motorului pe caracteristica naturală.

Caracteristicile de funcţionare ale motorului de curent continuu

A. Motorul cu excitaţie în derivaţie

Schema de conexiune a acestui motor, prevăzut cu excitaţie derivaţie sau separată (independentă) este indicată în figura 15.

15

Page 16: Automatizari proiect-teorie

Figura 15. MCC compensată cu excitaţie independentă

– circuitele electrice; b) – schema electrică echivalentă rotorică; 1 – poli principali; 2 – poli auxiliari; 3 – înfăşurare de compensaţie.Din schema echivalentă a motorului rezultă:

V = kΦW + RaI (5)unde constanta electrică k este:

(6)în care: p este numărul de perechi de poli, N – numărul total de conductoare pe periferia maşinii, a – numărul de căi de curent, Φ – fluxul considerat constant la curentul de excitaţie Ie constant, I –curentul rotoric, W- viteza rotorică şi Ra- rezistenţa înfăşurării rotorice. În cazul Φ = const, se poate scrie kΦ = K, unde K este denumită constanta electromagnetică a maşinii. Momentul electromagnetic al maşinii este proporţional cu curentul rotoric:

M = kΦI = KI. (7)În aceste condiţii rezultă:

(8)care este o variaţie liniară şi constituie ecuaţia caracteristicii mecanice naturale a motorului de curent continuu cu excitaţie derivaţie prezentată sub forma f(I), respectiv W = f (M). În aceste relaţii s-a notat:

(9)Dacă se intercalează o rezistenţă Rx în serie cu rezistenţa rotorică Ra, se obţin caracteristicile mecanice artificiale, sub forma:

(10)

16

Page 17: Automatizari proiect-teorie

Figura 16. Caracteristica mecanică naturală a mcc cu excitaţie independentă

1 - caracteristica compensată; 2 - caracteristica insuficient compensată.

Figura 17. Caracteristica de sarcină a mcc cu excitaţie independentă

a) – de tensiune ; b) – de flux ; c) – reostatice.În figura 16 este prezentată caracteristica mecanică naturală, iar în figura 1.4,

caracteristicile artificiale de tensiune (a), de flux (b) şi reostatice (c). În cazul figurii 17, a, caracteristicile de tensiune se deplasează prin translaţie faţă de caracteristica mecanică naturală.

dacă V1 > VN , caracteristica se deplasează în sus cu ΔW01 = (V1 – VN)/K > 0, dacă V2 < VN , deplasarea se realizează în jos cu ΔW02 = (V2 – VN)/K < 0.

17

Page 18: Automatizari proiect-teorie

În cazul figurii 17, b, prin slăbire de flux Φ2 < Φ1 caracteristica de tensiune se deplasează prin translaţie în sus şi invers. În cazul figurii 1.4, c, prin intercalare de rezistenţe se obţin caracteristici din ce în ce mai moi, ajungând să frâneze şi să oprească motorul.

Motorul cu excitaţie serie

La acest motor înfăşurarea rotorică este în serie cu înfăşurarea de excitaţie, (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ă dependenţa dintre viteza de rotaţie, puterea şi randamentul maşinii în funcţie de cuplul de sarcină sau de curentul absorbit de la reţea. În figura 1.6 sunt date caracteristicile universale ale unui tip constructiv de maşină de curent continuu cu excitaţie serie constând din:

viteza relativă ν= W/WN = 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

derivaţie, cu observaţia că mărimea K = k Φ nu mai este o constantă.O proprietate esenţială a motorului serie constă în aceea că funcţionează la putere

constantă, astfel că nu există posibilitatea de supraîncărcare, motorul serie fiind autoreglator.

Motorul cu excitaţie mixtă

Motoarele de curent continuu cu excitaţie mixtă au comportare intermediară între MCC cu excitaţie derivaţie şi MCC cu excitaţie serie.

Turaţia are expresia:

18

Page 19: Automatizari proiect-teorie

(11)

Această expresie ilustrează diversitatea caracteristicilor ce pot fi obţinute, cuprinse între caracteristicile motorului serie şi caracteristicile motorului derivaţie. Caracteristica mecanică este semimoale, scăzând cu creşterea cuplului la solenaţii de acelaşi semn (compund) şi crescând la solenaţii opuse ale înfăşurărilor de excitaţie (anticompund).

În figura 19 s-au reprezentat sintetic următoarele caracteristici mecanice: 1 - motor cu excitaţie mixtă; 2 – motorul serie; 3 – motorul derivaţie

Figura 19. Caracteristica mcc cu excitaţie mixtă

Pornirea motoarelor de curent continuu

Pornirea motoarelor de curent continuu se face manual sau prin comandă automată, prin controlul uneia din mărimile care pot fi măsurate şi care variază în acest interval: curent, viteză, timp.

19

Page 20: Automatizari proiect-teorie

Figura 20. Comanda pornirii a mcc cu excitaţie independentă funcţie de viteză

a) – schema de forţă; b) – schema de comandă.Se prezintă în figura 20 schema de forţă şi de comandă în funcţie de viteză. Vitezele

W1 , W2 , W3, indicate în diagramă sunt proporţionale cu tensiunile electromotoare e1 = KWi , i =1, 2, 3, tensiuni care pot fi evidenţiate de releele de tensiune d1, d2 şi d3, care anclanşează la atingerea acestor nivele. Se apasă pe butonul a1, contactorul c închide contactele principale 1c şi 2c din circuitul rotoric şi maşina porneşte. La atingerea vitezei W1 anclanşează d1 şi astfel contactorul c1 anclanşează şi scurtcircuitează prin contactul său 1d1 tronsonul R3 al reostatului, ş.a.m.d. Releele termice d4 şi d5 au rol de protecţie la suprasarcină.

Pornirea motorului de curent continuu serie se realizează utilizând trepte de rezistenţe conectate în serie cu circuitul rotoric, ca şi la motorul derivaţie.

Acest motor este utilizat cu precădere în acţionările electromecanice din tracţiunea minieră, urbană şi feroviară.

Pornire prin conectare directă la reţea: este cea mai simplă metodă de pornire.În procesul pornirii:

UA = RAIA + KeØn UA = RAIA + LA + KeØn

în care: LA, RA, reprezintă parametrii electrici ai întregului circuit al rotorului.

20

Page 21: Automatizari proiect-teorie

Ecuaţia de cupluri în regim dinamic este:

M - Mrε = J

în care: Mrε = Mr + Mm + MFe reprezintă cuplul rezistent total la arbore.Ecuaţiile de funcţionare în regim dinamic dovedesc că procesul de pornire al

motorului este caracterizat de două regimuri tranzitorii:regimul tranzitoriu electromagnetic determinat de variaţia în timp a mărimilor electrice prin circuitele motorului (indus plus excitaţie).regimul tranzitoriu mecanic determinat de creşterea turaţiei n.

Motoarele cu excitaţie serie pornesc cel mai repede pentru că odată cu curentul indusului creşte şi fluxul de excitaţie.

Pornirea motoarelor cu excitaţie mixtă se face similar cu a motoarelor cu excitaţie în derivaţie.

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 măsură 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 rezistenţei indusului se modifică brusc curentul prin indus, dar turaţia îşi păstrează valoarea anterioară, deşi se modifică lent.

Pornirea oricărui motor se poate efectua în sarcină sau în gol.La pornirea în gol cu reostat se restrânge domeniul de variaţie al curentului în timpul

pornirii, iar la pornire în sarcină se utilizează dimensionarea rezistenţei de pornire.Pornirea prin alimentare cu tensiune progresiv corespunzătoare: se utilizează la maşini de mare putere sau instalaţii speciale. Instalaţia electrică necesită acelaşi aparataj ca şi la reglarea turaţiei.

În tracţiunea electrică se utilizează conectarea în serie a mai multor motoare de curent continuu. După intrarea în turaţie motorul de curent continuu se conectează automat la tensiunea reţelei.

Regimul de frânare la motorul de curent continuu

Regimul de frânare la motorul de curent continuu cu excitaţie în derivaţie

Maşinile electrice posedă însuşirea de a funcţiona în regim de motor sau în regim de frână, după cum produc mişcarea sau se opun mişcării. În regim de motor cedează putere mecanică : P = MΩ > 0, în regim de frână primeşte putere mecanică pe care o transformă în căldură : P = MΩ < 0

21

Page 22: Automatizari proiect-teorie

Figura 21. Regimurile de funcţionare în cele patru cadrane a) şi funcţionarea în regim de motor la: b) mecanism de ridicare-coborâre şi c) mecanismul de translaţie

. Se deosebesc următoarele metode de frânare: 1. Frânare cu recuperare2. Frânare în contracurent3. Frânare reostatică

Frânarea cu recuperare

Se presupune că vehiculul coboară în sens direct până la Ω > Ω0, iar curentul prin indus îşi modifică sensul de circulaţie:

IA < 0M = KIA < 0

În consecinţă cuplul electromagnetic îşi schimbă sensul iar efectul este de frânare.La frânarea în sens direct P = EAIA < 0, deci este cedată în reţea, iar motorul de curent

continuu funcţionează în regim de generator. La mecanismul de ridicare-coborâre frânarea cu recuperare se realizează la coborârea

greutăţii. 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 funcţionare este de motor cu sens invers.

Frânarea în contracurent

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

a) potenţial (de exemplu: mecanismul de ridicare - coborâre)b) reactiv (de exemplu: mecanismul de translaţie).

22

Page 23: Automatizari proiect-teorie

a) La mecanismul ridicare – coborâre, frânarea se comandă prin mărirea rezistenţei conectată în serie cu indusul. Cuplul electromagnetic şi curentul îşi păstrează sensul, dar se inversează sensul tensiunii electromotoare rezultând:

Curentul de frânare IAF scade odată cu creşterea rezistenţei de frânare RF.b) La mecanismul de tip reactiv frânarea se realizează prin inversarea polarităţii tensiunii U = UA de alimentare a indusului (rotorului) concomitent cu înserierea unei rezistenţe RF. Frânarea în contracurent este foarte puternică dar poate produce şocuri în transmisie care periclitează părţile mecanice ale instalaţiei.

Frânarea dinamică

Indusul se deconectează de la reţea şi se conectează pe o rezistenţă de frânare RF. Motorul de curent continuu funcţionează în regim de generator, deci curentul din indus îşi schimbă semnul.

Regimul de frânare la motorul de curent continuu cu excitaţie serie

Frânarea cu recuperare de energie

Funcţionarea unui motor de curent continuu cu excitaţie în serie nu poate trece din cadranul I în cadranul II prin mărirea vitezei pentru a se obţine tensiunea electromotoare E > U, deoarece odată cu creşterea vitezei cuplul va scădea, deci şi curentul prin indus va scădea, va scădea şi fluxul de excitaţie, şi tensiunea electromotoare, prin urmare viteza de rotaţie se va menţine aproximativ constantă. Excitaţia se poate conecta separat la reţea printr-o rezistenţă tampon sau se poate alimenta de la o sursă de tensiune redusă.

În cazul motorului de curent continuu cu excitaţie mixtă înfăşurarea de excitaţie în derivaţie permite frânarea cu recuperare. Deoarece curentul prin indus îşi schimbă sensul înfăşurarea de excitaţie serie va avea acţiune demagnetizantă. În practică se aplică două soluţii:

a) la frânare se inversează conexiunea bornelor înfăşurării de excitaţie serie;b) înfăşurarea de excitaţie serie se deconectează de la alimentare;

Frânarea dinamică

Indusul se deconectează de la reţea şi se conectează pe o rezistenţă, iar motorul de curent continuu trece să funcţioneze în regim de generator. Se aplică două metode:

a) excitaţia rămâne conectată în serie, dar se păstrează sensul curentului în regim de motor (se inversează legarea bornelor înfăşurării de excitaţie la indus);

b) excitaţia se alimentează separat de la reţea printr-o rezistenţă de limitare a curentului.

23

Page 24: Automatizari proiect-teorie

Expresia caracteristicii mecanice este:

Frânarea în contracurent

Are modalităţi diferite de realizare, după cum sarcina este de tip potenţial sau rezistiv.a) Pentru sarcini reactive la frânarea în contracurent se schimbă bornele de alimentare ale indusului, iar sensul fluxului de excitaţie se menţine neschimbat. Rezistenţa RF conectată în serie cu indusul va limita curentul de frânare. Caracteristica mecanică are ecuaţia:

b) Pentru sarcini potenţiale: rezistenţa de frânare este: RF > RF0. Rezistenţa de frânare limită este rezistenţa pentru care caracteristica mecanică intersectează axa cuplului la M=MR. Ecuaţia caracteristicii mecanice este:

24

Page 25: Automatizari proiect-teorie

REGLARE A TURAŢIEI MOTORULUI DE CURENT

CONTINUU

În industrie există maşini care lucrează cu viteză variabilă. Reglajul vitezei maşinii se realizează de multe ori cu dispozitive mecanice, de exemplu cutii de viteze, dar reglajul prin variaţia turaţiei 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 turaţie motoarelor sunt:1. Intervalul de reglaj;2. Fineţea reglajului;3. Economicitatea reglajului;4. Stabilitatea funcţionării la turaţia dorită;5. Sensul reglajului;1. Intervalul de reglaj reprezintă raportul turaţiei maxime şi minime ce se poate obţine

prin metoda abordată.2. Fineţea reglajului exprimă posibilitatea de a modifica cu valori mici turaţia de lucru.

Astfel la motorul asincron cu inele nu se poate obţine o fineţe prea mare a reglajului cu rezistenţe în circuitul rotoric, pentru că numărul acestor rezistenţe nu poate fi prea mare.

3. Economicitatea reglajului se referă la cheltuielile necesare punerii în practică a metodei de reglaj, cât şi la cheltuielile legate de consumul de energie şi întreţinere a dispozitivelor de reglaj.

4. Stabilitatea reglajului reprezintă capacitatea motorului de a menţine turaţia dorită atunci când sarcina variază. Acest lucru se exprimă prin factorul:

Expresia reprezintă panta caracteristicii mecanice n = f(M), unde M reprezintă diferenţa între momentul motor şi cel de sarcină pentru o turaţie dată. Dacă presupunem că momentul de sarcină nu variază prea mult odată cu turaţia, stabilitatea reglajului se poate aprecia după înclinarea caracteristicii mecanice.

5. Sensul reglajului precizează dacă modificarea turaţiei prin metoda analizată se face prin creşterea sau scăderea turaţiei faţă de funcţionarea pe caracteristica naturală a motorului.

Reglajul turaţiei mcc cu excitaţie derivaţie

Metodele de reglaj a turaţiei motoarelor de curent continuu cu excitaţie derivaţie sunt:a) – reglajul cu ajutorul rezistenţelor în circuitul rotoric;b) – reglajul prin modificarea fluxului;c) – reglajul prin varierea tensiunii de alimentare;a) Intervalul de reglaj depinde de valoarea rezistenţelor şi a cuplului de sarcină.

Fineţea nu este prea mare deoarece numărul de rezistenţe ce se pot utiliza este limitat de obicei 3 – 4. Economicitatea este slabă datorită pierderilor mari de putere pe rezistenţe, stabilitatea este mică turaţii mici, reglajul vitezei se face în dauna stabilităţii funcţionării, turaţia poate fi doar micşorată. Caracteristicile mecanice în cazul folosirii rezistenţelor adiţionale în circuitul rotoric sunt ca în fig. 22.

25

Page 26: Automatizari proiect-teorie

Figura 22. Caracteristicile mecanice ale motorului de curent continuu cu excitaţie derivaţie pentru diferite rezistenţe Rp înseriate în rotor la tensiune şi flux constant.

b) Metoda de reglaj cu variaţia fluxului este mai avantajoasă sub toate aspectele, dat fiind că reglajul se face în circuitul de excitaţie unde trece cam a zecea parte din curentul motorului. Reglajul se face în sensul creşterii turaţiei, dar aceasta nu poate depăşii 1,6 – 2 ori turaţia nominală, fiind posibilă distrugerea motorului. Caracteristicile mecanice sunt acelea din fig. 2.2.

Figura 23. Caracteristicile mecanice ale motorului de curent continuu cu excitaţie derivaţie obţinute prin scăderea curentului statoric pentru tensiunea U constantă şi fără rezistenţe înseriate rotorului

c) Metoda de reglaj prin variaţia tensiunii de alimentare este superioară celorlalte în ce priveşte intervalul de reglaj, la fineţea şi stabilitatea reglajului apar dificultăţi în asigurarea sursei de tensiune variabilă. Caracteristicile mecanice sunt de forma unor drepte paralele aflate sub caracteristica naturală, ca în fig. 24.

26

Page 27: Automatizari proiect-teorie

Figura 24. Caracteristicile mecanice ale mcc cu excitaţie derivaţie

Reglajul turaţiei motorului de curent continuu cu excitaţie serie

Metodele de reglaj a turaţiei motoarelor de curent continuu cu excitaţie serie sunt:a) – metoda de introducere de rezistenţe înseriate;b) – metoda variaţiei tensiunii;c) – şuntarea indusului;a) În fig.25 sunt trasate caracteristicile mecanice ale motoarelor de curent continuu cu

excitaţie serie, obţinute prin înserierea de rezistenţe. Din punct de vedere al indicatorilor calităţii, această metodă nu se deosebeşte de reglajul turaţiei motoarelor derivaţie cu ajutorul rezistenţelor în circuitul rotoric.

Figura 25. Caracteristicile mecanice ale motorului de curent continuu cu excitaţie serie obţinute introducând rezistenţe în circuitul rotoric

b) Reglarea tensiunii de alimentare a motoarelor serie se face prin legarea lor în serie sau în paralel la reţea sau prin alimentarea acestora de la o sursă de tensiune reglabilă. Intervalul de reglaj şi fineţea în această situaţie nu sunt prea bune, însă economicitatea şi stabilitatea reglajului sunt bune. Caracteristicile mecanice sunt prezentate în fig 26.

27

Page 28: Automatizari proiect-teorie

Figura 26. Caracteristicile mecanice ale mcc serie –variaţiile tensiunii

c) Reglajul turaţiei prin şuntarea indusului produce mărirea fluxului de excitaţie la momente de sarcini mici.

Figura 27. Caracteristicile mecanice ale mcc prin suntarea indusului

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

Intervalul de reglaj, fineţea şi economicitatea sunt scăzute deoarece reglajul se face în curenţi mari. Stabilitatea reglajului este mai bună decât în cadrul folosirii rezistenţelor înseriate.

Se poate proceda şi la şuntarea excitaţiei prin care se obţin turaţii mai mari decât pe caracteristica naturală.

28

Page 29: Automatizari proiect-teorie

Figura 28. Reglajul turaţiei motorului serie prin şuntarea excitaţiei

Această metodă are economicitate mai mare dar se sporeşte pericolul atingerii unor turaţii prea mari, (fig.28).

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

Instalaţiile de reglare automată a vitezei cu limitare de curent sunt realizate pe aceleaşi principii ca şi instalaţiile cu redresoare comandate, reglarea efectuându-se prin variaţia 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 primeşte la intrare tensiunea de referinţă de la potenţiometru P şi tensiunea de reacţie furnizată de tahogeneratorul T. Curentul iA din circuitul rotoric, măsurat 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.

29

Page 30: Automatizari proiect-teorie

Figura 29. Schema de reglare

Generatorul de tact dă la ieşire 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 câte ori tensiunea uGT începe cu un nou impuls. Acelaşi dispozitiv FI1 generează şi un semnal de referinţă ur, în formă de dinţi de fierăstrău, având aceeaşi frecvenţă ca a generatorului de tact. (fig.30 c). Acest semnal este introdus prin blocul logic BL în formatorul FI2 împreună cu mărimea de comandă uc obţinută de la regulatorul de curent. Formatorul FI2 produce un impuls de comandă u1 pentru aprinderea tiristorului principal TP, ori de câte ori semnalul ur este egal cu tensiunea de comandă uc.(fig.30 d). În felul acesta, prin variaţia semnalului de comandă uc se reglează momentul de amorsare al tiristorului principal determinând variaţia duratei de conducţie a acestuia şi obţinerea unor tensiuni dreptunghiulare, cu durată de acţionare reglabilă, care se aplică indusului motorului. (fig.30 e).

30

Page 31: Automatizari proiect-teorie

Figura 30. Formele de undă ale semnalelor de reglare

31

Page 32: Automatizari proiect-teorie

PROIECTUL TEHNIC

Generalităţi

În figura 31 este prezentată schema de principiu a standului. Acest circuit păstrează constantă viteza unui motor de curent continuu cu ajutorul unui microcontraller PIC16F874, chiar dacă sarcina acestuia variază. În circuit, pe lângă motorul principal M1, se mai foloseşte un motor M2 pe post de generator, care are rolul de a detecta viteza de rotaţie a lui M1.

Figura 31. Păstrarea 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 până se ajunge la viteză constantă, iar dacă valoarea este mai mare PIC – ul scade curentul trimis motorului M1 până viteza devine constantă

Dacă se doreşte o modificare a vitezei de rotaţie a motorului principal, se reglează potenţiometrul VR1, astfel se modifică tensiunea circuitului de intrare, adică cea care este comparată de microcontroller. Prin modificarea acestei tensiuni PIC – ul creşte sau scade curentul trimis motorului M1 şi astfel se obţine mărirea sau micşorarea vitezei de rotaţie a motorului principal.

32

Page 33: Automatizari proiect-teorie

Valoarea vitezei de rotaţie a motorului va fi afişată în binar pe cele 8 leduri ale microcontrollerului. Astfel, dacă motorul nu este pornit toate ledurile sunt stinse, iar dacă motorul funcţionează la viteză maximă toate ledurile sunt aprinse.

Aprinderea ledurilor începe cu ledul 1 şi creşte odată cu creşterea curentului trimis motorului principal.

Părţile componente ale schemei

Controlul 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 funcţionării motorului.

Tensiunea de intrare în microcontroller se modifică proporţional cu numărul de rotaţii făcute de motor.

Microcontrollerul controlează curentul electric transmis motorului, astfel dacă tensiunea de intrare este mare, PIC-ul scade curentul transmis motorului, acesta scade numărul de rotaţii până se ajunge la viteza dorită. Dacă tensiunea de intrare este mică, PIC-ul creşte curentul trimis motorului şi astfel creşte numărul de rotaţii ale motorului şi se menţine constantă viteza la valoarea dorită.

Dioda D1 are un rol protector pentru PIC, mai ales în momentul când tensiunea de intrare este mare. Din potenţiometrul VR1 se poate modifica numărul de rotaţii ale motorului astfel dacă potenţiometrul este în poziţia 1 tensiunea de intrare va deveni minimă, iar PIC-ul creşte curentul transmis motorului pentru a-i păstra constantă viteza, dar de fapt prin creşterea curentului transmis motorului el măreşte numărul de rotaţii şi astfel măreşte viteza motorului principal. Dacă potenţiometrul este în poziţia 3 tensiunea de intrare va fi maximă, iar PIC-ul va scade curentul transmis motorului având acelaşi scop de a păstra viteza constantă, dar de fapt prin micşorarea curentului transmis motorului el scade numărul de rotaţii şi astfel se micşorează viteza.

33

Page 34: Automatizari proiect-teorie

Funcţionarea motorului în circuit

Figura 33. Schema de alimentare a motorului

Funcţia PWM este folosită pentru controlarea funcţionării motorului în circuit, control care se face în funcţie de curentul electric. PWM poate să schimbe durata pulsului de ieşire din CCP1 în funcţie de date. Când timpul nivelului H al pulsului este scurt, timpul nivelului L devine lung în tranzistorul 2, adică valoarea curentului electric transmis motorului creşte. În sens invers, când 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 funcţie de tensiunea circuitului de intrare. Când valoarea tensiunii de intrare este mai mare decât valoarea comparată, timpul nivelului H este mai mare şi astfel numărul de rotaţii ale motorului este micşorat. Când valoarea tensiunii de intrare este mai mică decât valoarea comparată, timpul nivelului H este mic şi astfel creşte numărul de rotaţii 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 micşorarea curentului electric.

34

Page 35: Automatizari proiect-teorie

Figura 35. Rezonator de 10 MHz

În circuit se foloseşte 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 funcţionarea motorului. Trei biţi de rang superior ai datelor de control PWM sunt folosiţi pentru aprinderea ledurilor.

În condiţia în care motorul nu este pornit, toate ledurile sunt oprite. Numărul de aprinderi a ledurilor creşte de la ledul 1 o dată cu creşterea curentului. Când motorul ajunge la turaţie 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 consumaţi când toate ledurile sunt aprinse, adică motorul funcţionează la turaţie maximă.

Microcontroller PIC16F874

Descriere generalăPIC 16F8XX este un grup în familia microcontrollerelor PIC16CXXX, caracterizat

prin costuri reduse, performanţe înalte, structură de tip CMOS şi operare statică. Toate aceste microcontrollere folosesc arhitectura de tip RISC (Reduced Instruction Set Computing).

35

Page 36: Automatizari proiect-teorie

Caracteristic pentru această familie este arhitectura internă în care bus-urile de instrucţiuni şi de date sunt separate, cel de instrucţiuni cu lărgime de 14 biţi, iar cel de date cu lărgimea de 8 biţi. Această arhitectură permite execuţia într-un singur ciclu maşină al instrucţiunilor cu excepţia ramurilor de program care necesită două cicluri. Sunt disponibile un număr total de 35 de instrucţiuni. O altă caracteristică importantă pentru dezvoltarea de aplicaţii este existenţa a două tipuri de memorie program pentru acelaşi tip de circuit. Primul tip de memorie este de tip FLASH şi permite scrierea ei de un număr foarte mare de ori, facilitate utilă în dezvoltarea de aplicaţii. Al doilea tip este o memorie CMOS inscriptibilă o singură dată, utilă pentru lucrul în serie de produse cu aplicaţie. Caracteristica de bază a acestui microcontroller este reprogramarea electrică a acestuia de un număr infinit de ori.Caracteristici principale: frecvenţa maxima de operare 20MHz memoria program (FLASH) 8KB memoria de date (RAM) 368B memoria de date EEPROM 256B întreruperi 14 porturi intrare - ieşire 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 (10biţi) 8 canale de intrare set de instrucţiuni 35 instrucţiuni (RISC) Microcontrollerul conţine o unitate aritmetică logică ALU de 8 biţi şi un registru de lucru. ALU efectuează funcţii 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 funcţie de instrucţiunea executată, unitatea aritmetico logică (ALU) afectează valorile biţilor CARRY (C), DIGIT CARRY (DC) şi ZERO (Z) din registrul de stare (STATUS).Microcontroller-ul PIC16F874 este disponibil într-o capsulă de 40 pini:

36

Page 37: Automatizari proiect-teorie

Numele pinului

Pin capsulă

Tipul pinului

Tipul Buffer -ului

Descriere

OSC1\CLKIN

13 I ST\CMOS

Intrarea oscilatorului

OSC2\CLKOUT

14 O - Ieşirea oscilatorului

1 I ST Intrare de iniţializare (reset)RA0/AN0 2 I/O TTL Poate fi folosit şi ca intrare analogica

(canalul 0)RA1/AN1 3 I/O TTL Poate fi folosit şi ca intrare analogica

(canalul 1)RA2/AN2/VREF-

4 I/O TTL Poate fi folosit şi ca intrare analogica (canalul 2) sau ca referinţă negativă de tensiune

RA3/AN3/VREF+

5 I/O TTL Poate fi folosit şi ca intrare analogica (canalul 3) sau ca referinţă pozitiva de tensiune

RA4/TOCK1 6 I/O ST Poate fi folosit şi ca intrare de ceas pentru Timer 0. Ieşirea este de tip open drain.

RA5/AN4 7 I/O TTL Poate fi folosit şi ca intrare analogica (canalul 4)

RB0/INT 33 I/O ST/TTL

Poate fi folosit ca întrerupere externă

RB1 34 I/O TTLRB2 35 I/O TTLRB3/PGM 36 I/O TTLRB4 37 I/O TTL Generează o întrerupere la schimbarea

valorii RB5 38 I/O TTL Generează o întrerupere la schimbarea

valorii RB6/PGC 39 I/O ST/

TTLPin de ceas pentru programarea serială a microcontroller-ului.Generează o întrerupere la schimbarea valorii

RB7/PGD 40 I/O ST/TTL

Pin de date pentru programarea serială a microcontroller-ului.Generează o întrerupere la schimbarea valorii

RC0/T1OSO/T1CKI

15 I/O ST Intrare de ceas pentru TIMER1 sau ieşirea oscilatorului TIMER1

RC1/1OSI/CCP2

16 I/O ST Ieşirea oscilatorului TIMER1, intrarea de captură 2, ieşirea de comparare 2 sau ieşirea PWM 2

RC2/CCP1 17 I/O ST Intrarea de captură 1, ieşirea de comparare 1 sau ieşirea PWM 1

RC3/SCK/ 18 I/O ST Intrare/Ieşire de ceas pentru portul

37

Page 38: Automatizari proiect-teorie

SCL serial SPI sau RC4/SDI/SDA

23 I/O ST Intrare de date pentru SPI sau intrare/ieşire de date pentru

RC5/SDO 24 I/O ST Ieşire de date pentru SPIRC6/TX/CK 25 I/O ST Transmisie asincrona USART sau ceas

pentru modul sincronRC7/RX/DT 26 I/O ST Recepţie asincrona USART sau date

pentru modul sincronRD0/PSP0 19 I/O ST/

TTLBit 0 de date pentru portul paralel

RD1/PSP1 20 I/O ST/TTL

Bit 1 de date pentru portul paralel

RD2/PSP2 21 I/O ST/TTL

Bit 2 de date pentru portul paralel

RD3/PSP3 22 I/O ST/TTL

Bit 3 de date pentru portul paralel

RD4/PSP4 27 I/O ST/TTL

Bit 4 de date pentru portul paralel

RD5/PSP5 28 I/O ST/TTL

Bit 5 de date pentru portul paralel

RD6/PSP6 29 I/O ST/TTL

Bit 6 de date pentru portul paralel

RD7/PSP7 30 I/O ST/TTL

Bit 7 de date pentru portul paralel

8 I/O ST/TTL

Controlul citirii pentru PSP (portul paralel)Poate fi folosit şi ca intrare analogica (canalul 5)

9 I/O ST/TTL

Controlul scrierii pentru PSP (portul paralel)Poate fi folosit şi ca intrare analogica (canalul 6)

10 I/O ST/TTL

CS (cip select) pentru PSP (portul paralel)Poate fi folosit şi ca intrare analogica (canalul 7)

VSS 12,31 P - masaVDD 11,32 P - Potenţialul de alimentare +5V

I – intrare; O – ieşire; I/O – intrare/ieşire; TTL – intrare TTL; TS – intrare Trigger Schmitt (cu histerezis); P – alimentare (power)

38

Page 39: Automatizari proiect-teorie

Schema bloc a microcontroller-ului

39

Page 40: Automatizari proiect-teorie

Figura 38. Structura unui microcontroler

Organizarea memorieiMemoria acestui microcontroller este împărţită în două părţi:

40

Page 41: Automatizari proiect-teorie

memoria program memoria de date

Fiecare din aceste blocuri de memorie are propriul său bus. Acest lucru permite aducerea într-un singur ciclu a instrucţiunilor respectiv datelor din memorie.Memoria de date se împarte în:

regiştri cu funcţii speciale (SFR) memoria RAM generală memoria EEPROM

Organizarea memoriei program (FLASH)PIC16F874 are un PC (“program counter”) de 13 biţi, capabili să adreseze 8kx14

spaţii de memorie program (0000h – 1FFFh),Vectorul de reset este 0000h şi vectorul de întreruperi este 0004h.

Figura 39. Memoria de date

Observaţie: Adresa instrucţiunilor de salt (GOTO, CALL) este codificată pe 11 biţi. Ceilalţi 2 biţi trebuie setaţi manual (dacă este cazul) în registrul PCLATH.

Organizarea memoriei de dateDescriere generală

41

Page 42: Automatizari proiect-teorie

Memoria de date este organizată în 4 bancuri. Selecţia bancului cu care se lucrează se face cu ajutorul biţilor RP1 şi RP0, aparţinând registrului STATUS, al regiştrilor SFR. Fiecare banc este împărţit în două zone: prima zonă este alocată regiştrilor cu funcţiuni speciale (SFR), în timp ce a doua zonă este alocată regiştrilor cu funcţiuni generale (GFR).

RP1 RP0

Banc

0 0 00 1 11 0 21 1 3

Primele locaţii din fiecare banc sunt rezervate regiştrilor cu funcţii speciale (SFR):● 00h 1Fh pentru bancul 0 (32octeţi)● 80h 9Fh pentru bancul 1 (32octeţi)● 100h 10Fh pentru bancul 2 (16octeţi)● 180h 18Fh pentru bancul 3 (16octeţi)

Ei sunt folosiţi de PC şi periferice pentru a controla diferite operaţii.Restul memoriei de date este alocată regiştrilor de uz general:

● 20h 7Fh pentru bancul 0 (96octeţi)● A0h EFh pentru bancul 1 (80octeţi)● 110h 16Fh pentru bancul 2 (96octeţi)● 190h 1EFh pentru bancul 3 (96octeţi)

Regiştri din memoria de date sunt implementaţi fizic ca memorie RAM statica (bistabili).

Regiştri cu funcţii speciale

42

Page 43: Automatizari proiect-teorie

Figura 40. Regiştrii

43

Page 44: Automatizari proiect-teorie

Descriere generală a funcţiilorAdresa

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

Bancul 000h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului

FSR01h TMR0 Registrul TIMER0 (8 biţi)02h PCL Cei mai puţin semnificativi 8 biţi ai PC03h STATU

SIRP RP1 RP0 Z DC C

04h FSR Adresarea indirecta a memoriei de date05h PORTA - - Portul A06h PORTB Portul B07h PORTC Portul C08h PORTD Portul D09h PORTE - - - - - Portul E0Ah PCLAT

H- - - Cei mai semnificativi 5 biţi ai PC

0Bh INTCON

GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF

0Ch PIR1 PSPIF ADIF RCIF TXIF SSPIF CCP1IF

TMR2IF

TMR1IF

0Dh PIR2 - - EEIF BCLIF - - CCP2IF

0Eh TMR1L Cei mai puţin semnificativi 8 biţi ai registrului TIMER10Fh TMR1H Cei mai semnificativi 8 biţi ai registrului TIMER110h T1CON - - T1CKP

S1T1CKPS0

T1OSCEN

T1SYNC

TMR1CS

TMR1ON

11h TMR2 Registrul TIMER2 (8 biţi)12h T2CON - TOUT

PS3TOUTPS2

TOUTPS1

TOUTPS0

TMR2ON

T2CPS1

T2CPS0

13h SSPBUF

Buffer-ul portului serial sincron

14h SSPCON

WCOL

SSPOV

SSPEN CKP SSPM3

SSPM2

SSPM1

SSPM0

15h CCPR1L

Captură1 / comparare1 / PWM1 (LSB)

16h CCPR1H

Captură1 / comparare1 / PWM1 (MSB)

17h CCP1CON

- - CCP1X CCP1Y CCP1M3

CCP1M2

CCP1M1

CCP1M0

18h RCSTA SSPEN

RX9 SREN CREN ADDEN

FERR OERR RX9D

19h TXREG Registrul de transmisie USART1Ah RCREG Registrul de recepţie USART1Bh CCPR2

LCaptură2 / comparare2 / PWM2 (LSB)

1Ch CCPR2H

Captură2 / comparare2 / PWM2 (MSB)

44

Page 45: Automatizari proiect-teorie

1Dh CCP2CON

- - CCP2X CCP2Y CCP2M3

CCP2M2

CCP2M1

CCP2M0

1Eh ADRESH

Cei mai semnificativi 8 biţi ai rezultatului conversiei A/D

1Fh ADCON0

ADCS1

ADCS0

CHS2 CHS1 CHS0 GO - ADON

Bancul 180h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului

FSR81h OPTIO

N_REG

INTEDG

TOCS TOSE PSA PS2 PS1 PS0

82h PCL Cei mai puţin semnificativi 8 biţi ai PC83h STATU

SIRP RP1 RP0 Z DC C

84h FSR Adresarea indirecta a memoriei de date85h TRISA Direcţia datelor prin portul A (intrare/ieşire)86h TRISB Direcţia datelor prin portul B (intrare/ieşire)87h TRISC Direcţia datelor prin portul C (intrare/ieşire)88h TRISD Direcţia datelor prin portul D (intrare/ieşire)89h TRISE IBF OBF IBOV PSPMO

DE- Direcţia datelor prin

portul E (I/O)8Ah PCLAT

H- - - Cei mai semnificativi 5 biţi ai PC

8bh INTCON

GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF

8Ch PIE1 PSPIE ADIE RCIE TXIE SSPIE CCP1IE

TMR2IE

TMR1IE

8Dh PIE2 - - EEIE BCLIE

- - CCP2IE

8Eh PCON - - - - - -8Fh - Registru neimplementat fizic90h - Registru neimplementat fizic91h SSPCO

N2GCEN ACKS

TATACKDT ACKE

NRCEN PEN RSEN SEN

92h PR2 Perioadă TIMER 293h SSPAD

DAdresa portului serial sincron (în mod )

94h SSPSTAT

SMP CKE D/A P S R/W UA BF

95h - Registru neimplementat fizic96h - Registru neimplementat fizic97h - Registru neimplementat fizic98h TXSTA CSRC TX9 TXEN SYNC - BRGH TRMT TX9D99h SPBRG Generator “baud rate”9Ah - Registru neimplementat fizic9Bh - Registru neimplementat fizic9Ch - Registru neimplementat fizic9Dh - Registru neimplementat fizic

45

Page 46: Automatizari proiect-teorie

9Eh ADRESL

Cei mai puţin semnificativi 8 biţi ai rezultatului conversiei A/D

9Fh ADCON1

ADFM

- - - PCFG3

PCFG2

PCFG1

PCFG0

Bancul 2 100h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului

FSR101h TMR0 Registrul TIMER0 (8 biţi)102h PCL Cei mai puţin semnificativi 8 biţi ai PC103h STATU

SIRP RP1 RP0 Z DC C

104h FSR Adresarea indirecta a memoriei de date105h - Registru neimplementat fizic106h PORTB Portul B107h - Registru neimplementat fizic108h - Registru neimplementat fizic109h - Registru neimplementat fizic10Ah

PCLATH

- - - Cei mai semnificativi 5 biţi ai PC

10Bh

INTCON

GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF

10Ch

EEDATA

Registrul de date EEPROM (cei mai puţin semnificativi 8 biţi)

10Dh

EEADR Registrul de adrese EEPROM (cei mai puţin semnificativi 8 biţi)

10Eh

EEDATH

- - Registrul de date EEPROM (cei mai semnificativi 6 biţi)

10Fh EEADRH

- - - Registrul de adrese EEPROM (cei mai semnificativi 5 biţi)

Bancul 3180h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului

FSR181h OPTIO

N_REG

INTEDG

TOCS TOSE PSA PS2 PS1 PS0

182h PCL Cei mai puţin semnificativi 8 biţi ai PC183h STATU

SIRP RP1 RP0 Z DC C

184h FSR Adresarea indirecta a memoriei de date185h - Registru neimplementat fizic186h TRISB Direcţia datelor prin portul B (intrare/ieşire)187h - Registru neimplementat fizic188h - Registru neimplementat fizic189h - Registru neimplementat fizic18Ah

PCLATH

- - - Cei mai semnificativi 5 biţi ai PC

18Bh

INTCON

GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF

18C EECON EEPG - - - WRE WRE WR RD

46

Page 47: Automatizari proiect-teorie

h 1 D RR N18Dh

EECON2

Registru control EEPROM (nu este un registru fizic)

18Eh

- Registru neimplementat fizic

18Fh - Registru neimplementat fizicMemoria EEPROM

Microcontroller-ul PIC16F874 are 256B de memorie reprogramabilă electric (EEPROM). Această memorie este necesară atunci când se doreşte păstrarea unor valori şi după ce cip-ul nu mai este alimentat, însă are următoarele dezavantaje:

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

- are o latenţă mult mai mare decât memoria RAMRegistrul EEDATA păstrează 8 biţi de date pentru citire / scriere, iar registrul EEADR

păstrează adresa de la locaţia EEPROM – ului. La scrierea unui cuvânt în memorie se şterge automat locaţia ş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 biţi mai puţini semnificativi, implementaţi fizic, iar cei mai semnificativi trei biţi, nu există, fiind citiţi ca zero.Registrul EECON2 nu este un registru fizic. El este utilizat exclusiv în secvenţe de scriere a memoriei de date EEPROMAdresa

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

18Bh INTCON GIE PEIE

T0IE INTE RBIE T0IF INTIF

RBIF

18Ch EECON1 EEPGD

- - - WRERR

WREN

WR RD

18Dh EECON2 Registru control EEPROM (nu este un registru fizic)10Ch EEDAT

ARegistrul de date EEPROM (cei mai puţin semnificativi 8 biţi)

10Dh EEADR Registrul de adrese EEPROM (cei mai puţin semnificativi 8 biţi)10Eh EEDAT

H- - Registrul de date EEPROM (cei mai semnificativi 6

biţi)10Fh EEADR

H- - - Registrul de adrese EEPROM (cei mai

semnificativi 5 biţi)0Dh PIR2 - - EEIF BCLIF - - CCP2I

F8Dh PIE2 - - EEIE BCLIE - - CCP2I

ECitirea memoriei de date EEPROM

Pentru a citi o locaţie a memoriei de date EEPROM, utilizatorul trebuie să scrie adresa în registrul EEADR şi apoi să seteze pe 1 bitul RD (EECON1<0>) (RD=1 iniţializarea citirii în EEPROM). EEDATA va păstra valoarea până la o nouă citire sau până este scrisă de către utilizator (de-a lungul operaţiei de scriere).Exemplu:

BCF STATUS, RP0BSF STATUS, RP1 ;bancul 2 de regiştriMOVLW adresa ;adresa de la care citescMOVWF EEADR

47

Page 48: Automatizari proiect-teorie

BSF STATUS, RP0 ;bancul 3 de regiştriBCF EECON1, EEPGDBSF EECON1, RD ;pornesc operaţia de citire din EEPROMBCF STATUS, RP0 ;bancul 2 de regiştriMOVF EEDATA, w

Scrierea memoriei de date EEPROMPentru a scrie o locaţie a memoriei de date EEPROM, utilizatorul trebuie să scrie

adresa în registrul EEADR şi data în registrul EEDATA. Apoi utilizatorul trebuie să urmeze nişte secvenţe speciale pentru a iniţializa, scrierea, pentru fiecare bit.Exemplu:

BSF STATUS, RP0BSF STATUS, RP1 ;bancul 3 de regiştri

TESTBTFSC EECON1, WR ;aştept sa se încheie ciclul anterior de scriereGOTO TESTBCF STATUS, RP0 ;bancul 2 de regiştriMOVF adresa_eeprom, wMOVWF EEADRMOVF data_eeprom, wMOVWF EEDATABSF STATUS, RP0 ;bancul 3 de regiştriBCF EECON1, EEPGDBSF EECON1, WRENMOVLW 0x55MOVWF EECON2MOVLW 0xAAMOVWF EECON2BSF EECON1, WRBCF EECON1, WRENBCF STATUS, RP0BCF STATUS, RP1 ;bancul 0 de regiştri

Observaţie: adresa_eeprom şi data_eeprom sunt doi regiştri de uz general din bancul 2 unde scriu adresa, respectiv data care trebuie scrisă în memoria EEPROM.Porturile de intrare / ieşirePIC16F874 are cinci porturi: PORTA, PORTB, PORTC, PORTD şi PORTE

PORT APORTA este bidirecţional şi are 6 biţi. Selectarea intrare/ieşire se face setând respectiv resetând în registrul TRISA biţii corespunzători portului. Intrările portului A, cu excepţia RA4, pot fi configurate şi ca intrări analogice, portul A fiind asociat cu un convertor analog - digital.

Funcţionarea portului A:Numele pinului Pi

n Tip pin

Tip Buffer

Descriere

RA0/AN0 2 I/O TTL Poate fi folosit şi ca intrare analogica (canalul0)

RA1/AN1 3 I/O TTL Poate fi folosit şi ca intrare analogica

48

Page 49: Automatizari proiect-teorie

(canalul1)RA2/AN2/VREF- 4 I/O TTL Poate fi folosit şi ca intrare analogica

(canalul2) sau ca referinţă negativă de tensiune

RA3/AN3/VREF+

5 I/O TTL Poate fi folosit şi ca intrare analogica (canalul3) sau ca referinţă pozitiva de tensiune

RA4/TOCK1 6 I/O ST Poate fi folosit şi ca intrare de ceas pentru Timer 0. Ieşirea este de tip open drain.

RA5/AN4 7 I/O TTL Poate fi folosit şi ca intrare analogica (canalul4)

Regiştri asociaţi portului A:Adresa

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

05h PORTA - - Portul A85h TRISA - - Direcţia datelor prin portul A (intrare/ieşire)9Fh ADCON

1ADFM

- - - PCFG3 PCFG2 PCFG1

PCFG0

Exemplu:CLRF PORTA; iniţializarea portului ABSF STATUS, RP0; selectăm bancul 1MOVLW 0X0F; w 00001111MOVWF TRISA; setăm RA<3 :0> ca fiind intrări şi RA<5 :4>; ca fiind ieşire.

Întotdeauna TRISA< 7: 5 > sunt ;citite ca fiind pe zero. PORT B

PORTB este un port bidirecţional pe 8 biţi. Registrul corespunzător direcţiei datelor este TRISB. Un 1 pe oricare din biţii registrului TRISB, pune ieşirea corespunzătoare în modul de lucru de înaltă impedanţă, setând bitul ca bit de intrare. Intrarea este de nivel TTL, iar ieşirea de tip CMOS. Biţii RB4 RB7 pot genera întreruperi la schimbarea stării.Funcţionarea portului B:Numele pinului

Pin Tip pin Tip Buffer

Descriere

RB0/INT 33 I/O ST/TTL Poate fi folosit ca întrerupere externă RB1 34 I/O TTLRB2 35 I/O TTLRB3/PGM

36 I/O TTL

RB4 37 I/O TTL Generează o întrerupere la schimbarea valorii RB5 38 I/O TTL Generează o întrerupere la schimbarea valorii RB6/PGC 39 I/O ST/TTL Pin de ceas pentru programarea serială a

microcontroller-ului.Generează o întrerupere la schimbarea valorii

RB7/PGD 40 I/O ST/TTL Pin de date pentru programarea serială a microcontroller-ului.Generează o întrerupere la schimbarea valorii

Regiştri asociaţi portului B:Adres Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit Bit 2 Bit 1 Bit 0

49

Page 50: Automatizari proiect-teorie

a 306h PORTB Portul B86h TRISB Direcţia datelor prin portul B (intrare/ieşire)81h OPTIO

N_REG

INTEDG

TOCS

TOSE

PSA PS2 PS1 PS0

PORT C PORTC este un port bidirecţional pe 8 biţi. Registrul corespunzător direcţiei datelor este TRISC. Un 1 pe oricare din biţii registrului TRISC, pune ieşirea corespunzătoare în modul de lucru de înaltă impedanţă, setând bitul ca bit de intrare.

Funcţionarea portului C:Numele pinului Pi

n Tip pin

Tip Buffer

Descriere

RC0/T1OSO/T1CKI

15 I/O ST Intrare de ceas pentru TIMER1 sau ieşirea oscilatorului TIMER1

RC1/1OSI/CCP2 16 I/O ST Ieşirea oscilatorului TIMER1, intrarea de captură 2, ieşirea de comparare 2 sau ieşirea PWM 2

RC2/CCP1 17 I/O ST Intrarea de captură 1, ieşirea de comparare 1 sau ieşirea PWM 1

RC3/SCK/SCL 18 I/O ST Intrare/Ieşire de ceas pentru portul serial SPI sau

RC4/SDI/SDA 23 I/O ST Intrare de date pentru SPI sau intrare/ieşire de date pentru

RC5/SDO 24 I/O ST Ieşire de date pentru SPIRC6/TX/CK 25 I/O ST Transmisie asincrona USART sau ceas pentru

modul sincronRC7/RX/DT 26 I/O ST Recepţie asincrona USART sau date pentru

modul sincronRegiştri asociaţi portului C:Adresa

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

07h PORTC

Portul C

87h TRISC Direcţia datelor prin portul C (intrare/ieşire)

PORT DPORTD este un port bidirecţional pe 8 biţi. Registrul corespunzător direcţiei datelor este TRISD. Un 1 pe oricare din biţii registrului TRISD, pune ieşirea corespunzătoare în modul de lucru de înaltă impedanţă, setând bitul ca bit de intrare. Portul D poate fi folosit şi ca port paralel.Funcţionarea portului D:Numele pinului

Pin Tip pin Tip Buffer

Descriere

RD0/PSP0 19 I/O ST/TTL Bit 0 de date pentru portul paralelRD1/PSP1 20 I/O ST/TTL Bit 1 de date pentru portul paralel

50

Page 51: Automatizari proiect-teorie

RD2/PSP2 21 I/O ST/TTL Bit 2 de date pentru portul paralelRD3/PSP3 22 I/O ST/TTL Bit 3 de date pentru portul paralelRD4/PSP4 27 I/O ST/TTL Bit 4 de date pentru portul paralelRD5/PSP5 28 I/O ST/TTL Bit 5 de date pentru portul paralelRD6/PSP6 29 I/O ST/TTL Bit 6 de date pentru portul paralelRD7/PSP7 30 I/O ST/TTL Bit 7 de date pentru portul paralel

Regiştri asociaţi portului D:Adresa

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

08h PORTD

Portul D

88h TRISD Direcţia datelor prin portul D (intrare/ieşire)89h TRISE IBF OBF IBOV PSPMOD

E- Direcţia datelor prin

portul E (I/O)

PORT E PORTE este un port bidirecţional pe 3 biţi. Registrul corespunzător direcţiei datelor este TRISE. Un 1 pe oricare din biţii registrului TRISE, pune ieşirea corespunzătoare în modul de lucru de înaltă impedanţă, setând bitul ca bit de intrare. Portul E poate fi folosit şi ca port de control atunci când portul D este folosit ca port paralel.

Funcţionarea portului E:Numele pinului

Pin Tip pin Tip Buffer

Descriere

8 I/O ST/TTL Controlul citirii pentru PSP (portul paralel)Poate fi folosit şi ca intrare analogica (canalul5)

9 I/O ST/TTL Controlul scrierii pentru PSP (portul paralel)Poate fi folosit şi ca intrare analogica (canalul6)

10 I/O ST/TTL CS (cip select) pentru PSP (portul paralel)Poate fi folosit şi ca intrare analogica (canalul7)

Regiştri asociaţi portului E:Adresa

Nume Bit 7 Bit 6

Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

09h PORTE - - - - - Portul E89h TRISE IBF OB

FIBOV

PSPMODE

- Direcţia datelor prin portul E (I/O)

9Fh ADCON1

ADFM

- - - PCFG3

PCFG2

PCFG1

PCFG0

Timer-ePIC16F874 are 3 timer-e: Timer0

Timer1

51

Page 52: Automatizari proiect-teorie

Timer2Timer0

numărător \ cronometru pe 8 biţi (registrul TMR0) poate fi scris şi citit asociat cu un divizor programabil pe 8 biţi (1 - 256) sursa de tact internă (CLKOUT sau WDT) sau externă (oscilator extern) generează o întrerupere la trecerea de la FFh la 00h atunci când se lucrează cu un oscilator extern se poate selecta tranziţia pe front

pozitiv sau pe front negativRegiştri asociaţi cronometrului Timer0:

Adresa

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

0Bh INTCON

GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF

81h OPTION_REG

INTEDG

TOCS

TOSE

PSA PS2 PS1 PS0

01h TMR0 Registrul TIMER0 (8 biţi)Timer1

numărător \ cronometru pe 16 biţi (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

Regiştri asociaţi cronometrului Timer1:Adresa

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

0Bh INTCON

GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF

0Ch PIR1 PSPIF ADIF RCIF TXIF SSPIF

CCP1IF

TMR2IF TMR1IF

8Ch PIE1 PSPIE ADIE RCIE TXIE SSPIE

CCP1IE

TMR2IE

TMR1IE

0Eh TMR1L Cei mai puţin semnificativi 8 biţi ai registrului TIMER10Fh TMR1H Cei mai semnificativi 8 biţi ai registrului TIMER110h T1CON - - T1CKPS

1T1CKPS0

T1OSCEN

T1SYNC

TMR1CS

TMR1ON

Timer2 cronometru pe 8 biţi (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 stabileşte perioada de resetare (PR2) poate genera o întrerupere la 116 perioade

Regiştri asociaţi cronometrului Timer2:Adresa Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

52

Page 53: Automatizari proiect-teorie

0Bh INTCON

GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF

0Ch PIR1 PSPIF ADIF RCIF TXIF SSPIF CCP1IF

TMR2IF

TMR1IF

8Ch PIE1 PSPIE ADIE RCIE TXIE SSPIE CCP1IE

TMR2IE

TMR1IE

11h TMR2 Registrul TIMER2 (8 biţi)12h T2CO

N- TOUT

PS3TOUTPS2

TOUTPS1

TOUTPS0

TMR2ON

T2CPS1

T2CPS0

92h PR2 Perioadă TIMER 2

Modulul de generare a tensiunii PWMPWM = Pulse Width Modulation (modularea impulsurilor în durată).

Microcontroller-ul generează o tensiune dreptunghiulară a cărei valoare medie este proporţională cu factorul de umplere Umed =5V ∙ Fu

PIC16F874 are doua module PWM identice. Tensiunea de ieşire poate avea o rezoluţie de pana la 10 biţi.

Figura 41. Structură-funcţionare

Perioada PWM = [(PR2)+1]*4*[valoarea divizorului asociat cu Timer2]Frecvenţa PWM = 1/ Perioada PWMAtunci când sunt folosite ambele module PWM tensiunile de ieşire vor avea aceeaşi frecvenţă.Regiştri asociaţi modulului PWM:

Adresa

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

0Bh INTCON

GIE PEIE T0IE INTE

RBIE T0IF INTIF RBIF

0Ch PIR1 PSPIF

ADIF

RCIF TXIF

SSPIF CCP1IF

TMR2IF

TMR1IF

53

Page 54: Automatizari proiect-teorie

8Ch PIE1 PSPIE

ADIE

RCIE TXIE

SSPIE CCP1IE

TMR2IE

TMR1IE

11h TMR2 Registrul TIMER2 (8 biţi)12h T2CO

N- TOUT

PS3TOUTPS2

TOUTPS1

TOUTPS0

TMR2ON

T2CPS1

T2CPS0

92h PR2 Perioadă TIMER 28Dh PIE2 - - EEIE BCLI

E- - CCP2I

E0Dh PIR2 - - EEIF BCLI

F- - CCP2I

F15h CCPR

1LCaptură1 / comparare1 / PWM1 (LSB)

16h CCPR1H

Captură1 / comparare1 / PWM1 (MSB)

17h CCP1CON

- - CCP1X

CCP1Y

CCP1M3

CCP1M2

CCP1M1

CCP1M0

1Bh CCPR2L

Captură2 / comparare2 / PWM2 (LSB)

1Ch CCPR2H

Captură2 / comparare2 / PWM2 (MSB)

1Dh CCP2CON

- - CCP2X

CCP2Y

CCP2M3

CCP2M2

CCP2M1

CCP2M0

87h TRISC

Direcţia datelor prin portul C (intrare/ieşire)

Portul serial. Modulul USART(Universal Synchronus Asynchronus Reciever Transmitter)USART, cunoscut şi ca ”interfaţă serială de comunicaţie” (SCI), poate fi configurat în trei moduri: mod asincron full duplex mod sincron master half duplex mod sincron slave half duplex

Modul asincronÎn acest mod USART foloseşte un format standard al datelor: un bit de start, 8 sau 9

biţi de date şi un bit de stop. Cel mai uzual format este cel cu 8 biţi de date. Transmisia începe cu cal mai puţin semnificativ bit (LSB). Partea de transmisie

funcţionează independent faţă de partea de recepţie, dar lucrează la aceeaşi viteză.Modul asincron se selectează prin ştergerea bitului SYNC (TXSTA <4>)

Modulul de transmisie asincronăPartea principală a acestui modul este registrul paralel – serie TSR (transmit shift register). Acest registru primeşte datele de la registrul TXREG care este încărcat 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 <5>).

Schema bloc

54

Page 55: Automatizari proiect-teorie

Figura 42. Schema explicativă

Regiştri asociaţi transmisiei asincroneAdresa

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

0Bh INTCON

GIE PEIE T0IE INTE RBIE

T0IF INTIF RBIF

0Ch PIR1 PSPIF

ADIF

RCIF TXIF SSPIF

CCP1IF

TMR2IF

TMR1IF

18h RCSTA

SSPEN

RX9 SREN CREN ADDEN

FERR OERR RX9D

19h TXREG

Registrul de transmisie USART

8Ch PIE1 PSPIE

ADIE

RCIE TXIE

SSPIE CCP1IE

TMR2IE

TMR1IE

98h TXSTA

CSRC

TX9 TXEN SYNC

- BRGH TRMT TX9D

99h SPBRG

Generator “baud rate”

Modulul de recepţie asincronăDatele sunt recepţionate prin pinul RC7 în blocul de recuperare care este un registru

serie - paralel de mare viteză. Partea principală a modulului de recepţie este registrul RSR. După eşantionarea bitului de stop datele sunt transferate în registrul RCREG. Recepţia este validată prin setarea bitului CREN (RCSTA <4>)Schema bloc

55

Page 56: Automatizari proiect-teorie

Figura 43. Schema bloc

Regiştri asociaţi recepţiei asincroneAdresa

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

0Bh INTCON

GIE PEIE T0IE INTE RBIE

T0IF INTIF RBIF

0Ch PIR1 PSPIF

ADIF

RCIF TXIF SSPIF

CCP1IF

TMR2IF

TMR1IF

18h RCSTA

SSPEN

RX9 SREN CREN - FERR OERR RX9D

1Ah RCREG

Registrul de recepţie USART

8Ch PIE1 PSPIE

ADIE

RCIE TXIE

SSPIE CCP1IE

TMR2IE

TMR1IE

98h TXSTA

CSRC

TX9 TXEN SYNC

- BRGH TRMT TX9D

99h SPBRG

Generator “baud rate”

Regiştri pentru starea vitezei de comunicareAdresa

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

98h TXSTA

CSRC

TX9 TXEN SYNC - BRGH TRMT TX9D

99h SPBRG

Generator “baud rate”

Setarea vitezei de comunicare pentru Fosc = 4MHzBRGH BAUD

RATE(K)

SPBRG Eroare%

56

Page 57: Automatizari proiect-teorie

0

0,3 207 01,2 51 0,172,4 25 0,179,6 6 6,9919,2 2 8,5128,8 1 8,5133,6 - -57,6 0 8,51

1

0,3 - -1,2 207 0,172,4 103 0,179,6 25 0,1619,2 12 0,1628,8 8 3,5533,6 6 6,2957,6 3 8,51

ÎntreruperiPIC16F874 are 14 surse de întrerupere: întrerupere externă (RB0/INT) întrerupere Timer0 întrerupere Timer1 întrerupere Timer2 întrerupere la schimbarea valorii de intrare (PORTB<7:4>) î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 recepţie 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

Regiştri folosiţi pentru controlul întreruperilorAdresa

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

0Bh INTCON

GIE PEIE T0IE INTE RBIE

T0IF INTIF RBIF

0Ch PIR1 PSPIF

ADIF

RCIF TXIF SSPIF

CCP1IF

TMR2IF

TMR1IF

0Dh PIR2 - - EEIF BCLIF

- - CCP2IF

8Ch PIE1 PSPIE

ADIE

RCIE TXIE SSPIE

CCP1IE

TMR2IE

TMR1IE

8Dh PIE2 - - EEIE BCLIE

- - CCP2IE

81h OPTION

INTEDG

TOCS TOSE PSA PS2 PS1 PS0

57

Page 58: Automatizari proiect-teorie

_REG

Schema bloc

Figura 44. Schema logică

OscilatorulTipuri de oscilatoarePIC16F874 poate lucra în patru moduri diferite, de oscilaţie: 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 biţi de configuraţie FOSC1 şi FOSC2 .

Oscilatorul cu cristal de cuarţOscilatorul de mare viteză HS se conectează intre OSC1/CLKIN şi OSC2/CLKOUT

Figura 45.

58

Page 59: Automatizari proiect-teorie

Figura 46.

Programarea microcontroller-ului PIC16F874Pentru scrierea programului în microcontroller este nevoie o interfaţă hardware

specializată şi o interfaţă software care să o controleze. Interfaţa hardware se conectează la calculator (PC), în funcţie de tipul ei, pe un port serial, paralel sau USB. Ca interfaţă software se foloseşte un program specializat (Pony Prog, PICSTART Plus, PRO MATE 2, etc.).Setul de instrucţiuni

Microcontroller-ul PIC16F874 poate fi programat folosind un set de 35 de instrucţiuni (limbaj de asamblare). Fiecare instrucţiune este codificată pe 14 biţi. Cele 35 de instrucţiuni se împart în 3 categorii:

instrucţiuni la nivel de octet (byte) instrucţiuni la nivel de bit instrucţiuni literale şi de control

Instrucţiunea Descriere Instrucţiuni la nivel de octetADDWF f,d w + f → d (destinaţie)ANDWF f,d w & f → d (destinaţie)CLRF f Şterge fCLRW Şterge acumulatorul (w)COMF f,d Complementul lui f → d (destinaţie)DECF f,d f -1 → d (destinaţie)DECFSZ f,d f -1 → d (destinaţie) daca nu rezultă 0INCF f,d f +1 → d (destinaţie)INCFSZ f,d f +1 → d (destinaţie) daca nu rezultă 0IORWF f,d w sau f → d (destinaţie)MOVF f,d f → d (destinaţie)MOVWF f w → fNOP f,d Nici o operaţie (întârziere)RLF f,d Roteşte spre stânga registrul f → d (destinaţie)RRF f,d Roteşte spre dreapta registrul f → d (destinaţie)SUBWF f,d f – w → d (destinaţie)SWAPF f,d f<3;0>→ d<7;4> şi f<7;4>→ d<3;0>

59

Page 60: Automatizari proiect-teorie

XORWF f,d w sau exclusiv f → d (destinaţie)Instrucţiuni la nivel de bitBCF f,b Şterge bitul b al registrului f (0→ f<b> )BSF f,b Setează bitul b al registrului f (1→ f<b> )BTFSC f,b Sare o instrucţiune dacă f<b>=0BTFSS f,b Sare o instrucţiune dacă f<b>=1Instrucţiuni literale şi de controlADDLW k w + k → wANDLW k w & f → wCALL k Cheamă subrutina kCLRWDT - Şterge watchdog timerGOTO k Salt necondiţionat la kIORLW k w sau k → wMOVLW k k → wRETFIE - Revenire din întrerupereRETLW k Revenire din întrerupere şi k → wRETURN - Revenire din subrutinăSLEEP - Standby SUBLW k k – w → wXORLW k w sau exclusiv k → w

d=0 → destinaţia este wd=1 → destinaţia este f

60

Page 61: Automatizari proiect-teorie

ALGORITMUL DE PROGRAMARE

Schema algoritmului

Figura 47. Schema algoritmului de programare

Explicarea algoritmului de programareSe setează tipul procesorului cu directiva LIST (exemplu p = pic 16F874), iar funcţiile

standard ale procesorului sunt citite cu directiva INCLUDE.Configurarea procesorului se face prin directiva CONFIG.La microcontrolerul pic 16F874 registrul de funcţii 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ă funcţii speciale care sunt comune unor anumite bank – uri, dar există şi funcţii speciale care sunt specifice numai unui bank de memorie.

61

Page 62: Automatizari proiect-teorie

Selectarea bank – urilor de memorie se realizează prin selectarea biţilor RP0 şi RP1 din registrul STATUS. Chiar dacă specificarea bank – urilor în registrul STATUS este realizată corect mesajul de specificare a bank – lui este afişat.

Definirea etichetelorÎn programul nostru sunt definite trei etichete: speed (viteză); change (schimbare); led.Prima etichetă speed este valoarea de referinţă a vitezei. Este controlată de valoarea

obţinută din conversia analog – numerică a tensiunii date de circuitul de intrare.Eticheta change – memorează rezultatul comparării tensiunii circuitului de intrare cu

tensiune de control a motorului (tensiunea de referinţă). În funcţie de această valoare se modifică valoarea registrului CCPR1 (registru care controlează funcţia PWM).

Compararea dintre semnalul circuitului de intrare şi cel de referinţă se realizează la fiecare 10 ms.

Când se sesizează o diferenţă între valoarea tensiunii de control şi cea de intrare, valoarea care a fost specificată de change este adunată sau scăzută din valoarea ciclului PWM.

Variabila led are rolul de a afişa în binar valoarea vitezei de rotaţie a motorului şi de a te ţine la curent cu funcţionarea motorului.

Program startInstrucţiunea este executată de la adresa 0 din memoria program când pic – ul este

alimentat cu tensiune. Când apare o întrerupere procesul începe de la adresa 4. Fiecare salt în program se face cu instrucţiunea goto.

Procesul de iniţializareProcesul de iniţializare se realizează la pornireIniţializarea porturilor A, B şi CSe foloseşte primul pin din portul A ca intrare analogică (RA0). Ceilalţi pini sunt setaţi

ca ieşiri pentru a evita influenţa altor porturi de intrare.Portul B este setat ca ieşire pentru controlul ledurilor.Portul C este setat ca ieşire pentru realizarea comparării dintre valoarea tensiunii de

intrare şi valoarea de referinţă.Iniţializarea conversiei A/DDeoarece frecvenţa este de 10 MHz dată de rezonator, rezultă că frecvenţa

convertorului A/D este setată la 10 MHz/32.Un canal de intrare este setat la AN0. rezultatul conversiei este setat la stânga pentru a

lua cei mai semnificativi 8 biţi.Iniţializare PWMRegistrul CCP1 este folosit pentru modulul PWM. Acest registru păstrează valoarea

dată de variabila change, adică valoarea care măreşte sau micşorează mărimea pulsului.Iniţializarea modului de comparareRegistrul CCP2 este folosit pentru comparare celor două semnale şi generează

întreruperi periodice (o dată la 10 ms).Iniţializarea întreruperilorDatorită setării bitului de validare a întreruperii din registrul CCP2 este posibilă

realizarea întreruperii.Se termină procesul de iniţializare.Procesul de întrerupereÎn momentul în care se realizează o întrerupere se setează flegul de întrerupere pe zero

pentru a nu mai putea intra o altă întrerupere până nu este terminată aceasta.Se aşteaptă până procesul de conversie A/D este complet. Conversia începe simultan

cu apariţia întreruperii.

62

Page 63: Automatizari proiect-teorie

Compararea cu tensiunea de referinţăCând conversia A/D s-a terminat cei mai semnificativi 8 biţi ai rezultatului sunt

comparaţi cu valoarea de referinţă a vitezei. Se obţine un rezultat care poate fi mai mare sau mai mic decât valoarea comparată.

Procesul de încetinire a vitezeiDacă rezultatul obţinut este mai mare microcontrolerul scade curentul trimis motorului

şi astfel se micşorează viteza.Procesul de mărire a vitezeiDacă rezultatul obţinut în urma comparării este mai mic, microcontrolerul creşte

curentul transmis motorului şi astfel se realizează creşterea vitezei.Ambele decizii, atât cea de creştere a vitezei cât şi cea de micşorare 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 creşterea curentului transmis motorului.Procesul de terminare a întreruperiiSfârşitul procesului de întrerupere se realizează cu instrucţiunea RETFIE.La sfârşitul programului se pune instrucţiunea 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)

63

Page 64: Automatizari proiect-teorie

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 control

check1 btfsc STATUS,Z ;Reference = Detect ? goto led_cont ;Yes. Jump to LED control

64

Page 65: Automatizari proiect-teorie

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

65

Page 66: Automatizari proiect-teorie

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

end

66