Sunteți pe pagina 1din 65

PROIECTAREA UNUI SISTEM DE ACIONARE CU MOTOR DE CURENT CONTINUU............................

2
INTRODUCERE.......................................................................................................................................................2
SISTEME DE ACIONARE ELECTRIC. GENERALITI..............................................................................2
LANURI CINEMATICE........................................................................................................................................2
Caracteristicile lanurilor cinematice....................................................................................................................3
Asocierea lanurilor cinematice.............................................................................................................................5
MAINI ELECTRICE..............................................................................................................................................7
ACIONRI CU MAINI SINCRONE..................................................................................................................8
Generaliti............................................................................................................................................................8
MOTORUL SINCRON.............................................................................................................................................9
Pornirea motorului sincron....................................................................................................................................9
Frnarea motorului sincron.................................................................................................................................10
Motoare sincrone speciale...................................................................................................................................10
Motoare sincrone reactive (MSR).......................................................................................................................10
Motoarele pas cu pas (MPP)...............................................................................................................................11
ACIONRI CU MAINI ASINCRONE.............................................................................................................12
Generaliti..............................................................................................................................................................12
MOTORUL ASINCRON........................................................................................................................................12
Pornirea motorului asincron trifazat....................................................................................................................12
Pornirea motorului asincron monofazat..............................................................................................................13
ACIONRI CU MOTOARE DE CURENT CONTINUU..................................................................................13
DESCRIEREA I FUNCIUONAREA MOTORULUI DE CC...........................................................................14
Ecuaiile de funcionare.......................................................................................................................................14
Caracteristicile de funcionare ale motorului de curent continuu.......................................................................15
A. Motorul cu excitaie n derivaie................................................................................................................15
Motorul cu excitaie serie........................................................................................................................................18
La acest motor nfurarea rotoric este n serie cu nfurarea de excitaie, (fig. 1.5)..................................18
Motorul cu excitaie mixt......................................................................................................................................18
Pornirea motoarelor de curent continuu..................................................................................................................19
Regimul de frnare la motorul de curent continuu..............................................................................................21
Regimul de frnare la motorul de curent continuu cu excitaie n derivaie...................................................21
Frnarea cu recuperare....................................................................................................................................22
Frnarea n contracurent..................................................................................................................................22
Frnarea dinamic...........................................................................................................................................23
Regimul de frnare la motorul de curent continuu cu excitaie serie..................................................................23
Frnarea cu recuperare de energie...................................................................................................................23
Frnarea dinamic...........................................................................................................................................23
Frnarea n contracurent..................................................................................................................................24
REGLARE A TURAIEI MOTORULUI DE CURENT CONTINUU.................................................................25
Reglajul turaiei mcc cu excitaie derivaie.............................................................................................................25
Reglajul turaiei motorului de curent continuu cu excitaie serie.......................................................................27
Sisteme de reglare a vitezei m.c.c. alimentate prin impulsuri.............................................................................29
PROIECTUL TEHNIC...........................................................................................................................................32
Generaliti..............................................................................................................................................................32
Prile componente ale schemei..............................................................................................................................33
Microcontroller PIC16F874....................................................................................................................................35
ALGORITMUL DE PROGRAMARE...................................................................................................................59
Schema algoritmului...........................................................................................................................................59

1
PROIECTAREA UNUI SISTEM DE ACIONARE CU
MOTOR DE CURENT CONTINUU

INTRODUCERE

SISTEME DE ACIONARE ELECTRIC. GENERALITI

Un sistem de acionare electric reprezint o mulime de obiecte interconectate i


interdependente n scopul realizrii conversiei electromagnetice a energiei pentru un anumit
proces tehnologic.
Componentele principale ale unui sistem de acionare electric sunt : motorul electric,
maina de lucru, transmisia si elementul de execuie (fig.1).

Figura 1. Componentele unui sistem de acionare


Motorul electric realizeaz transformarea puterii electrice n putere mecanic.
Maina de lucru ML este antrenat de motorul electric M i realizeaz anumite operaii
dintr-un proces tehnologic.
Transmisia T reprezint legtura mecanic dintre motor i maina de lucru, cu rolul de
a realiza transferul de putere mecanic, i eventual, de a schimba parametrii acestei puteri
(viteza unghiular, cuplu).
Elementul de execuie EE are drept scop alimentarea cu energie electric a motorului
si comanda funcionarii motorului n conformitate cu anumite cerine.
Realizarea si funcionarea optim a unui sistem de acionare electric presupune, n
primul rnd, cunoaterea foarte exact a procesului tehnologic i a mainii de lucru folosite,
funcie de care se vor alege sau calcula si construi motorul electric, elementul de execuie i
elementul de transmisie, avndu-se n vedere asigurarea unui cost ct mai redus i a unei mari
fiabiliti n funcionare.

LANURI CINEMATICE

n lanului cinematic. schemele cinematice structurale mecanismele care realizeaz


funcii identice, dar sunt de naturi diferite se reprezint prin acelai simbol convenional.
Schema fluxului cinematic este o reprezentare intuitiv a modului de transmitere a
micrii prin mecanismele

2
Caracteristicile lanurilor cinematice

Ecuaia de transfer:
x e xi i

Figura 2. Schema bloc-Funcia de transfer


unde:
i raport de transfer
xi mrime de intrare
xe mrime de ieire

Figura 3. Mecanismul urub-piuli

xe = vav =ns psc


xi n s
unde:
vav viteza de avans
ns turaia urubului
psc pasul urubului conductor
v av n s p sc ;
v av ns p sc
i p sc
ns ns

Figura 4. Cinematica micrii


xi n1 x e n2

3
n2
i
n1

Figura 5. Raportul de transfer


xek
iT i1 i2 i3 i 4 ik ;
xi1
y
iT e
yi
Notm: iC i1 i2 ; iR i3 i4 ; i D i5 ik
Rezult: iT iC i R i D
unde:
iT raport total de transfer
iC raport constant
iR - raport reglabil
iD raport dimensional

Ecuaia de transfer a lanului cinematic:


y e yi .i T yi .i C .i R .i D
Ecuaia de reglare a lanului cinematic:
y 1
iR e
yi iC i D

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


diferite:
ye1 y e1 y e min y e max y e1 y e min ....y e max
y e1 y e min y e max

Raportul de reglare a mrimii de ieire:


y
i ye e max
y e min
Domeniul de reglare a mrimilor de intrare:
yi1 y i1 y i min y i max y i1 y i min ....y i max
y i1 y i min y i max

Raportul de reglare al mrimilor de intrare:


yi max
i yi
yi min

Capacitatea de reglare a lanului cinematic:

4
i T max i R max
CR sau CR
iT min i R min

Mrimea capacitii de reglare CR a lanurilor cinematice caracterizeaz complexitatea


mecanismului de reglare a lanurilor cinematice.

Asocierea lanurilor cinematice

Pentru a putea asocia lanurile cinematice se impune ca dou viteze ale mrimilor de
ieire din lanurile cinematice s pstreze un anumit raport ntre ele.
Condiia economic, dar i condiiile de precizie i fiabilitate, impun ca ntr-un lan
cinematic s existe un numr minim de mecanisme.
Exist trei moduri de asociere:
Asocierea serie:

Figura 6. Metode de asocierea lanurilor cinematice


Dou sau mai multe lanuri cinematice sunt asociate sau legate n serie (fig.6) atunci
cnd, prin intermediul unui mecanism C, se transmite mrimea de ieire y e1 dintr-un lan
cinematic sub form de mrime de intrare yi2 n lanul cinematic urmtor.
Datorit raportului de transfer iC al mecanismului C de legtur, ntre cele dou mrimi exist
y i2
relaia: iC
y e1
b) Asocierea paralel:

5
Figura 7. Asocierea n parallel a lanurilor cinematice
Dou sau mai multe lanuri cinematice sunt asociate n paralel (fig.7) atunci cnd ntre
mrimile de ieire trebuie s existe anumite relaii, sau cnd ntre mrimile de intrare exist
anumite relaii.
Lanurile cinematice asociate n paralel se pot subgrupa, n ceea ce privete legtura
dintre mrimile de ieire, ca fiind:
lanuri cinematice cu legtur condiionat cinematic (fig.7.a) lanuri cinematice care
asigur micarea de rotaie i de translaie pentru obinerea directoarei elicoidale, ale cror
viteze s satisfac raportul vT / vA = tg.
lanuri cinematice cu legtur necondiionat cinematic lanuri cinematice care
asigur viteza de achiere i de avans, ntre care nu exist o condiionare ca n cazul
precedent.
n figura 7.b este prezentat o variant de asociere n paralel rezult din considerente
economice.

Asocierea mixt:

6
Figura 8. Asocierea mixt a lanurilor cinematice
Asocierea mixt a lanurilor cinematice reprezint o asociere ntre lanurile cinematice
legate n serie i lanurile cinematice legate n paralel.
n funcie de numrul mrimilor de ieire furnizate la captul de ieire avem:
asociere mixt cu o mrime de ieire (fig.8.a);
asociere mixt cu dou sau mai multe mrimi de ieire (fig.8.b)
Asocierea mixt cu o singur mrime de ieire (fig.8.a), const n lanuri cinematice
asociate n paralel, ale cror mrimi se nsumeaz pentru a furniza o singur mrime de ieire
lanului urmtor, care este legat n serie cu precedentele, ceea ce ar permite i denumirea de
asociere paralel-serie.
nsumarea algebric a mrimilor de ieire se obine printr-un mecanism de nsumare,
care poate fi: mecanism diferenial, mecanism cu clichet, cuplaj cu role, etc. ca mecanisme
mecanice sau diferite tipuri de sertrae hidraulice care permit nsumarea debitelor, precum i
orice alt mecanism care permite nsumarea a dou mrimi de aceeai natur sau de natur
diferit.
Asocierea mixt cu dou sau mai multe mrimi de ieire (fig.8.b), const n asocierea
de lanuri cinematice n serie cu lanuri cinematice n paralel, astfel aceasta poate fi denumit
i asociere serie-paralel.

MAINI ELECTRICE

Prin main electric se nelege o main, n general, rotativ, care transform puterea
mecanic n putere electric sau invers. Mainile electrice se mpart n maini de curent
continuu i maini de curent alternativ, dup felul energiei electrice ce ia parte n conversia
electromecanic realizat de main.
Orice main electric este reversibil din punct de vedere al conversiei energiei
realizate; ea poate funciona fie ca generator, fie ca motor. Prin generator electric se nelege o
main electric, care transform puterea mecanic n putere electric. Prin motor electric se
definete o main electric care transform puterea electrica n putere mecanic. Unele
maini pot funciona si ca frna electric i n aceast situaie maina primete att putere
mecanic ct i putere electric, pe care le transform n timp n cldur, realiznd n acelai
timp un cuplu electromecanic realizat la arbore.
Mainile de curent alternativ se mpart n doua mari clase: sincrone si asincrone.
Maina sincron se caracterizeaz prin faptul c n regim permanent frecvena curentului
schimbat cu reeaua de curent alternativ se afla n raport constant cu viteza unghiular de
rotaie a mainii, indiferent de gradul de ncrcare al mainii. Maina asincron se

7
caracterizeaz printr-o vitez unghiular care nu se menine n raport constant cu frecventa
reelei electrice, ci variaz odat cu schimbarea regimului de funcionare sau cu modificarea
gradului de ncrcare al mainii.

ACIONRI CU MAINI SINCRONE.

Generaliti

Maina sincron se cunoate n dou forme constructive: 1) cu poli apareni; 2) cu poli


plini. n cazul mainii sincrone cu poli apareni se manifest anizotropia magnetic pe dou
axe i anume: a) pe axa longitudinal d care este axa polilor inductorului; b) pe axa
transversal q care este axa interpolar i prin urmare este ortogonal electric fa de axa
longitudinal.
Schemele echivalente i diagramele fazoriale simplificate ale MS prin neglijarea
rezistenei pe faz a indusului pentru factor de putere inductiv sunt reprezentate n figurile
urmtoare. Semnul minus n faa lui E semnific regimul de motor cnd tensiunea este
contraelectromotoare.

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

Figura 10. Cu poli plini

8
Maina sincron cu poli apareni dezvolt un cuplu de anizotropie magnetic chiar i
dac maina nu este excitat (E0 = 0), care st la baza funcionrii mainii sincrone reactive.
Maina sincron dezvolt un cuplu numai dac rotorul se rotete sincron cu cmpul
magnetic nvrtitor rezultant i n acelai sens. n concluzie: maina sincron nu poate porni
singur pentru c nu dezvolt cuplu.
Exist urmtoarele tipuri constructive de MS:
a) cu excitaie electromagnetic, format din bobine concentrate pe miez de fier
alimentate n curent continuu i piese polare pentru fiecare pol, asemntoare constructiv cu
excitaia motorului de curent continuu. n construcie normal excitaia mainii este n rotor,
dar exist i construcii inversate;
b) excitat static cu magnei permaneni. Se renun la cele dou perii i inelele
colectoare necesare pentru alimentarea rotorului n curent continuu. Mainile sincrone excitate
cu magnei permaneni (MSMP ) sunt la fel de robuste ca i MAS.
c) cu reluctan variabil (MSRV), (bariere nemagnetice); rolul barierelor nemagnetice
este de a mri anizotropia magnetic pe cele dou axe ale mainii.
Problemele MSMP sunt: deprecierea proprietilor magneilor permaneni odat cu
creterea temperaturii i compensarea reaciei indusului pentru a pstra punctul de funcionare
optim al magnetului permanent.
Problemele MSRV sunt legate de realizarea unei construcii rigide a rotorului n
condiiile extinderii barierelor nemagnetice.

MOTORUL 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 maina are n tlpile polare o nfurare n
scurtcircuit.

Figura 11. Pornirea n asincron a MS


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

9
Cnd alunecarea s<350,05 se alimenteaz excitaia (contactul K2 se nchide i
simultan se deschide contactul K1). Apare un regim tranzitoriu de accelerare a rotorului n
decursul cruia acesta este atras n sincronism de cuplul sincron - Ms. Colivia de pornire iese
din funcionare, iar MS se prinde n sincronism.

Frnarea motorului sincron

La maina sincron se aplic frnarea reostatic sau dinamic, care reprezint un


regim de generator fr recuperarea energiei.
Statorul se deconecteaz de la reea i se cupleaz pe o rezisten RF de frnare
trifazat. nfurarea rotorului rmne alimentat n curent continuu. La alimentarea excitaiei
de la un redresor static comandat se poate realiza forarea excitaiei care duce la o cretere
important a cuplului de frnare.

Figura 12. Schema electric a frnrii MS

Motoare sincrone speciale

Motoare sincrone reactive (MSR)

Un MS cu rotor anizotrop (ntrefier neuniform), de exemplu MS cu poli apareni, care


funcioneaz fr excitaie (E0 = 0), se numete main reactiv. MS cu bariere nemagnetice
n rotor reprezint o construcie care urmrete realizarea unui cuplu de anizotropie
electromagnetic maxim. Cuplul electromagnetic care are tendin s orienteze rotorul n
poziia de reluctan minim a ntrefierului, deci de flux magnetic maxim sau energie
magnetic maxim, se numete cuplu reactiv.

Motoarele pas cu pas (MPP)

Motoarele pas cu pas au nfurri statorice concentrate (ca la MCC) care transform
impulsurile de tensiune n deplasri unghiulare sau liniare discrete numite pai. Motoarele pas

10
cu pas sunt convertoare-amplificatoare de informaie numeric. Clasificarea motoarelor pas cu
pas: active, care sunt excitate cu magnei permaneni i reactive;

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 poziia
n care reluctana (Rm) echivalent a circuitului este minim.
A. La alimentarea nfurrilor corespunztoare polilor 1-1' rotorul se situeaz n
lungul axei acestora.
B. nfurrile corespunztoare 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, rezultnd un unghi de pas de 15.
C. Alimentarea nfurrilor 2-2' face rotorul s se alinieze pe axa 2-2' rezultnd un
pas unghiular de 30 = 15 + 15.
Motoarele pas cu pas se utilizeaz pentru acionarea mecanismelor de poziionare.

ACIONRI CU MAINI ASINCRONE

11
Generaliti

Mainile asincrone (MAS) trifazate, numite i maini de inducie, au o larg utilizare


n sistemele de acionare electric (SAE) datorit urmtoarelor avantaje: construcie simpl i
robust, siguran n exploatare, pre de cost sczut, alimentare direct de la reea.
Dezavantajele lor sunt: modificarea vitezei se face greoi cu investiii ridicate, absorb
putere reactiv, prin urmare duc la scderea factorului de putere.
Cea mai rspndit este MAS cu rotorul n scurtcircuit, cellalt tip constructiv l
reprezint maina asincron cu inele (MASI). Dac la MASI se include n rezistena fazei
rotorice i rezistena reostatului exterior, atunci ecuaiile ce descriu funcionarea obin o form
unic.
Ca i n cazul transformatorului, pentru ca mrimile rotorice s poat fi comparate
direct cu cele statorice, maina real se nlocuiete cu o main echivalent.
Maina echivalent are att n stator ct i n rotor acelai numr de faze, de nfurri
i de spire ale nfurrilor i este echivalent energetic cu maina real. n plus are rotor
imobil, deci frecvena din rotor este egal cu frecvena din stator, iar pentru c i tensiunea
electromotoare din stator este egal cu tensiunea electromotoare din rotor cele dou nfurri
pot fi conectate galvanic ntre ele.

MOTORUL ASINCRON

Pornirea motorului asincron trifazat

La pornirea motoarelor asincrone trebuie s se asigure urmtoarele condiii:


- Cuplul electromagnetic la pornire s fie suficient de mare pentru a se realiza pornirea
n gol sau n sarcin n funcie de condiiile de funcionare ale mainii.
- Curentul de pornire al mainii s nu depeasc valoarea limit admisibil
determinat de reeaua de alimentare pentru a se evita cderile mari de tensiune din reea, care
provoac deranjamente n funcionarea altor consumatori. Curenii mari de pornire n primarul
mainii provoac nclziri ale nfurrii, precum i scderea randamentului energetic n
perioada de pornire.
- Durata procesului de pornire s fie ct mai scurt, pentru a nu se produce nclziri
nsemnate ale nfurrii primare.
Pornirea motoarelor asincrone poate avea loc direct prin cuplarea mainii direct la o
reea trifazat avnd tensiunea i frecvena nominal, sau indirect, maina fiind cuplat mai
nti la o tensiune redus, care n decursul pornirii este mrit treptat pn la valoarea
nominal.
La alegerea metodei de pornire, trebuie s se in seama de condiiile impuse de
reeaua de alimentare i de mecanismul acionat de motor.
Cuplarea direct a mainii la reea este aplicat la mainile asincrone cu rotorul
bobinat la care pornirea se efectueaz cu ajutorul unui reostat conectat n rotor, precum i la
mainile asincrone cu rotorul n colivie n cazul n care reeaua de alimentare este suficient de
puternic nct ocurile de curent la pornire s nu prezinte importan, iar mecanismul
acionat poate s suporte ocul de cuplu electromagnetic.
Cuplarea indirect a mainii asincrone n perioada pornirii este aplicat la motoarele
asincrone cu colivie n rotor, alimentate de la reele electrice relative slabe.

12
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 acionare motorul poate
porni n sensul cuplului aplicat. Desigur aceast pornire este dificil, deoarece trebuie s fie
lansat rotorul de fiecare dat cnd urmeaz s fie pornit motorul asincron monofazat.
Pentru a depi aceast dificultate motorul monofazat se echipeaz n stator cu o
nfurare auxiliar decalat fa de nfurarea principal i alimentat de la aceeai surs de
curent alternativ, curentul prin aceast nfurare auxiliar trebuie s fie defazat fa de
curentul prin nfurarea principal. n acest fel se produce n main un cmp magnetic
nvrtitor i maina poate dezvolta un cuplu electromagnetic de pornire diferit de zero.

ACIONRI CU MOTOARE DE CURENT CONTINUU

n ultimul timp motoarele de curent continuu au revenit n actualitate, dei motorul


asincron este folosit n circa 95% din sistemele de acionare 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 comutaie natural i forat.
Dac generatoarele de curent continuu se construiesc actual mai puin, deoarece
funciile 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 traciune electric: pentru acionarea tramvaielor, troleibuzelor, electrocarelor;
b) n metalurgie: pentru acionrile principale i auxiliare ale laminoarelor de evi i
tabl;
c) pentru acionarea mainilor unelte, n special a lanurilor cinematice de avans;
d) pentru antrenarea unor instalaii de ridicat i transportat, etc.
Aprecierea calitilor tehnice ale unui motor de curent continuu se face innd cont de
urmtoarele caracteristici :
a) Pornire
b) Funcionare
c) Reglarea vitezei
d) Frnarea
n comparaie cu motorul asincron, motorul de curent continuu permite reglajul
turaiei n limite largi, n mod continuu i mai economicos. Regimurile tranzitorii de pornire,
frnare i inversarea sensului de micare au durat mai scurt, iar caracteristica mecanic
poate fi dur n cazul excitaiei separate sau paralel, moale n cazul excitaiei serie sau poate fi
modificat conform cerinelor acionrii prin dimensionarea corespunztoare a excitaiilor n
cazul motoarelor cu excitaie mixt
Avantajele enumerate determin meninerea n competiie a motorului de curent
continuu n pofida avantajelor evidente ale motoarelor asincrone: construcie robust,
alimentare direct de la reeaua de curent alternativ, pre de cost i gabarit mai sczut pe
unitatea de putere.
a) Caracteristicile de pornire se refer la:
Ip
In i Ip = f(t)

13
Mp
Mn i Mp =f(t)
durata procesului tranzitoriu
economicitatea pornirii din punct de vedere al energiei disipate, al costului aparatajului i al
fiabilitii.
b) Caracteristicile de funcionare sunt : = f(M) i n = f(I) n condiiile meninerii
constante a UA=UN, Re, RA.
Se adaug caracteristica mecanic n = f(M) esenial pentru studiul acionrilor
electrice.
c) Caracteristici de reglare a vitezei:
domeniul (plaja) de reglare nmax / nmin
modul de reglare : continuu sau n trepte
economicitatea reglrii din punct de vedere al pierderii de energie, costul aparatajului i a
fiabilitii.
d) Caracteristicile de frnare: constau n extinderea caracteristicii mecanice n=f(M)
pentru trei regimuri speciale de lucru: frn propriu-zis, generator supraturat i frnare
dinamic n regim de generator.

DESCRIEREA I FUNCIUONAREA MOTORULUI DE CC

Ecuaiile de funcionare

Figura 14. MCC-conexiuni


a) cu excitaie n derivaie;
b) - cu excitaie serie;
c) - cu excitaie mixt;
PC poli auxiliari, IC nfurare de compensaie; Exd - nfurare de excitaie derivaie.
Exs - nfurare de excitaie serie; Re reostate de excitaie; Rp-reostat de pornire.
n figura 14 sunt indicate schemele electrice ale motoarelor de curent continuu cu
excitaie derivaie (separat), serie i mixt.
Regimurile de funcionare tranzitorii i permanente ale motorului de curent continuu
sunt determinate de ecuaiile referitoare la: tensiunea la borne, tensiunea electromotoare,
cuplul electromagnetic, ecuaia cuplurilor i fluxul magnetic de excitaie.

14
diA
UA = RAIA + LA dt
-E
E = -Ken
M = KI (1)
d
M - Mr = J
dt
= f(I, ie) ,

n care:
Mr = Mr + Mm + MFe - reprezint cuplul rezistent total ce se opune antrenrii
rotorului compus din cuplul rezistent Mr, dat n general grafic sau analitic, cuplul datorat
frecrilor n lagre i frecrii vscoase cu aerul i cuplul corespunztor pierderilor n fier.
n regim staionar de funcionare, cnd mrimile electrice i mecanice obin valori
constante, ecuaiile de funcionare devin:

UA = RAIA E
M = Mr (2)
Prin eliminarea variabilei E ntre primele dou ecuaii ele sistemului (1) se obine
ecuaia caracteristicii turaie-curent.
UA R AIA UA R I
n (1 A A ) (3)
Ke Ke UA
Substituind curentul prin cuplul corespunztor rezult ecuaia caracteristicii turaie-
cuplu.
UA RA
n M (4)
Ke KeK 2
Explicarea relaiei fluxului magnetic n cazul diferitelor tipuri de motoare conduce la
ecuaii particularizate ale caracteristicilor.
Aceste ecuaii sunt parametrice, deci pot fi modificate prin aciunea direct n scopul
obinerii caracteristicilor artificiale necesare regimurilor tranzitorii (pornirea, reglarea vitezei,
frnare) urmate de funcionarea stabil a motorului pe caracteristica natural.

Caracteristicile de funcionare ale motorului de curent continuu

A. Motorul cu excitaie n derivaie

Schema de conexiune a acestui motor, prevzut cu excitaie derivaie sau separat


(independent) este indicat n figura 15.

15
Figura 15. MCC compensat cu excitaie independent
circuitele electrice; b) schema electric echivalent rotoric; 1 poli principali; 2 poli
auxiliari; 3 nfurare de compensaie.
Din schema echivalent a motorului rezult:
V = k + RaI (5)
unde constanta electric k este:

(6)
n care: p este numrul de perechi de poli, N numrul total de conductoare pe periferia
mainii, a numrul de ci de curent, fluxul considerat constant la curentul de excitaie Ie
constant, I curentul rotoric, - viteza rotoric i Ra- rezistena nfurrii rotorice. n cazul
= const, se poate scrie k = K, unde K este denumit constanta electromagnetic a
mainii. Momentul electromagnetic al mainii este proporional cu curentul rotoric:
M = kI = KI. (7)
n aceste condiii rezult:

(8)
care este o variaie liniar i constituie ecuaia caracteristicii mecanice naturale a motorului de
curent continuu cu excitaie derivaie prezentat sub forma f(I), respectiv = f (M). n aceste
relaii s-a notat:

(9)
Dac se intercaleaz o rezisten Rx n serie cu rezistena rotoric Ra, se obin caracteristicile
mecanice artificiale, sub forma:

(10)

16
Figura 16. Caracteristica mecanic natural a mcc cu excitaie independent
1 - caracteristica compensat; 2 - caracteristica insuficient compensat.

Figura 17. Caracteristica de sarcin a mcc cu excitaie 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 translaie fa de caracteristica mecanic
natural.
dac V1 > VN , caracteristica se deplaseaz n sus cu 01 = (V1
VN)/K > 0,
dac V2 < VN , deplasarea se realizeaz n jos cu 02 = (V2
VN)/K < 0.

17
n cazul figurii 17, b, prin slbire de flux 2 < 1 caracteristica de tensiune se
deplaseaz prin translaie n sus i invers.
n cazul figurii 1.4, c, prin intercalare de rezistene se obin caracteristici din ce n ce mai moi,
ajungnd s frneze i s opreasc motorul.

Motorul cu excitaie serie

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


18).

Figura 18. Caracteristicile universale ale mcc serie


Ca urmare a fenomenului de saturare magnetic, nu este posibil studiul analitic al
caracteristicilor mecanice. Aceste caracteristici sunt prezentate n cataloage pentru fiecare
serie de motoare sub form de caracteristici raportate care indic dependena dintre viteza de
rotaie, puterea i randamentul mainii n funcie de cuplul de sarcin sau de curentul absorbit
de la reea. n figura 1.6 sunt date caracteristicile universale ale unui tip constructiv de main
de curent continuu cu excitaie serie constnd din:
viteza relativ = /N = f (i), unde i = I / IN;
cuplul redus m = f (i), puterea redus = P/PN = f (i)
randamentul redus /N = f (i).
Formal, caracteristica mecanic este identic cu cea a motorului de curent continuu
derivaie, cu observaia c mrimea K = k nu mai este o constant.
O proprietate esenial a motorului serie const n aceea c funcioneaz la putere
constant, astfel c nu exist posibilitatea de suprancrcare, motorul serie fiind autoreglator.

Motorul cu excitaie mixt

Motoarele de curent continuu cu excitaie mixt au comportare intermediar ntre


MCC cu excitaie derivaie i MCC cu excitaie serie.
Turaia are expresia:

18
UA R AIA
n (11)
Ke( d s )
Aceast expresie ilustreaz diversitatea caracteristicilor ce pot fi obinute, cuprinse
ntre caracteristicile motorului serie i caracteristicile motorului derivaie. Caracteristica
mecanic este semimoale, scznd cu creterea cuplului la solenaii de acelai semn
(compund) i crescnd la solenaii opuse ale nfurrilor de excitaie (anticompund).
n figura 19 s-au reprezentat sintetic urmtoarele caracteristici mecanice: 1 - motor cu
excitaie mixt; 2 motorul serie; 3 motorul derivaie

3
1 2

Figura 19. Caracteristica mcc cu excitaie mixt

Pornirea motoarelor de curent continuu

Pornirea motoarelor de curent continuu se face manual sau prin comand automat, prin
controlul uneia din mrimile care pot fi msurate i care variaz n acest interval: curent,
vitez, timp.

19
Figura 20. Comanda pornirii a mcc cu excitaie independent funcie de vitez
a) schema de for; b) schema de comand.
Se prezint n figura 20 schema de for i de comand n funcie de vitez. Vitezele
1 , 2 , 3, indicate n diagram sunt proporionale cu tensiunile electromotoare e1 = Ki , i
=1, 2, 3, tensiuni care pot fi evideniate de releele de tensiune d1, d2 i d3, care anclaneaz la
atingerea acestor nivele. Se apas pe butonul a1, contactorul c nchide contactele principale
1c i 2c din circuitul rotoric i maina pornete. La atingerea vitezei 1 anclaneaz d1 i
astfel contactorul c1 anclaneaz i scurtcircuiteaz prin contactul su 1d1 tronsonul R3 al
reostatului, .a.m.d. Releele termice d4 i d5 au rol de protecie la suprasarcin.
Pornirea motorului de curent continuu serie se realizeaz utiliznd trepte de rezistene
conectate n serie cu circuitul rotoric, ca i la motorul derivaie.
Acest motor este utilizat cu precdere n acionrile electromecanice din traciunea
minier, urban i feroviar.

Pornire prin conectare direct la reea: este cea mai simpl metod de pornire.
n procesul pornirii:
UA = RAIA + Ken
diA
UA = RAIA + LA dt
+ Ken
n care:
LA, RA, reprezint parametrii electrici ai ntregului circuit al rotorului.

20
Ecuaia de cupluri n regim dinamic este:
d
M - Mr = J
dt
n care:
Mr = Mr + Mm + MFe reprezint cuplul rezistent total la arbore.
Ecuaiile de funcionare n regim dinamic dovedesc c procesul de pornire al
motorului este caracterizat de dou regimuri tranzitorii:
regimul tranzitoriu electromagnetic determinat de variaia n timp a mrimilor electrice prin
circuitele motorului (indus plus excitaie).
regimul tranzitoriu mecanic determinat de creterea turaiei n.
Motoarele cu excitaie serie pornesc cel mai repede pentru c odat cu curentul
indusului crete i fluxul de excitaie.
Pornirea motoarelor cu excitaie mixt se face similar cu a motoarelor cu excitaie n
derivaie.

Pornire cu reostat: este utilizat la motoare de puteri medii i mari i const din nscrierea
unui reostat de pornire n circuitul rotoric, care se scoate treptat din circuit pe msur ce
motorul se tureaz. Reostatul este metalic, cu ploturi, deci cu rezisten variabil n trepte, i
numai n cazuri speciale prezint o rezisten variabil continuu.
n studiul procesului pornirii cu reostat se neglijeaz regimul tranzitoriu electric, deci
se admite c la modificarea rezistenei indusului se modific brusc curentul prin indus, dar
turaia i pstreaz valoarea anterioar, dei se modific lent.
Pornirea oricrui motor se poate efectua n sarcin sau n gol.
La pornirea n gol cu reostat se restrnge domeniul de variaie al curentului n timpul
pornirii, iar la pornire n sarcin se utilizeaz dimensionarea rezistenei de pornire.
Pornirea prin alimentare cu tensiune progresiv corespunztoare: se utilizeaz la maini de
mare putere sau instalaii speciale. Instalaia electric necesit acelai aparataj ca i la reglarea
turaiei.
n traciunea electric se utilizeaz conectarea n serie a mai multor motoare de curent
continuu. Dup intrarea n turaie motorul de curent continuu se conecteaz automat la
tensiunea reelei.

Regimul de frnare la motorul de curent continuu

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

Mainile electrice posed nsuirea de a funciona n regim de motor sau n regim de


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

21
Figura 21. Regimurile de funcionare n cele patru cadrane a) i funcionarea n regim de motor la: b)
mecanism de ridicare-coborre i c) mecanismul de translaie
. Se deosebesc urmtoarele metode de frnare:
1. Frnare cu recuperare
2. Frnare n contracurent
3. Frnare reostatic
Frnarea cu recuperare

Se presupune c vehiculul coboar n sens direct pn la > 0, iar curentul prin


indus i modific sensul de circulaie:
UA - EA K ( 0 )
IA 0
RA RA
IA < 0
M = KIA < 0
n consecin cuplul electromagnetic i schimb sensul iar efectul este de frnare.
La frnarea n sens direct P = EAIA < 0, deci este cedat n reea, iar motorul de curent
continuu funcioneaz n regim de generator.
La mecanismul de ridicare-coborre frnarea cu recuperare se realizeaz la coborrea
greutii. Dac se inverseaz sensul (polaritatea) tensiunii de alimentare a indusului rezult
UA - EA
i au sensurile inverse, deci I A 0.
'

RA
Prin urmare curentul din indus IA are sens invers, deci M = KI A < 0 are sens invers.
Regimul de funcionare este de motor cu sens invers.

Frnarea n contracurent

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


tipuri:
a) potenial (de exemplu: mecanismul de ridicare - coborre)
b) reactiv (de exemplu: mecanismul de translaie).

22
a) La mecanismul ridicare coborre, frnarea se comand prin mrirea rezistenei conectat
n serie cu indusul. Cuplul electromagnetic i curentul i pstreaz sensul, dar se inverseaz
sensul tensiunii electromotoare rezultnd:
U EA
I AF A
RA RF
Curentul de frnare IAF scade odat cu creterea rezistenei de frnare RF.
b) La mecanismul de tip reactiv frnarea se realizeaz prin inversarea polaritii tensiunii U =
UA de alimentare a indusului (rotorului) concomitent cu nserierea unei rezistene RF. Frnarea
n contracurent este foarte puternic dar poate produce ocuri n transmisie care pericliteaz
prile mecanice ale instalaiei.

Frnarea dinamic

Indusul se deconecteaz de la reea i se conecteaz pe o rezisten de


frnare RF. Motorul de curent continuu funcioneaz n regim de generator, deci
curentul din indus i schimb semnul.
UA - EA K
IA
RA RF RA RF

Regimul de frnare la motorul de curent continuu cu excitaie serie

Frnarea cu recuperare de energie

Funcionarea unui motor de curent continuu cu excitaie n serie nu poate trece din
cadranul I n cadranul II prin mrirea vitezei pentru a se obine tensiunea electromotoare E >
U, deoarece odat cu creterea vitezei cuplul va scdea, deci i curentul prin indus va scdea,
va scdea i fluxul de excitaie, i tensiunea electromotoare, prin urmare viteza de rotaie se va
menine aproximativ constant. Excitaia se poate conecta separat la reea printr-o rezisten
tampon sau se poate alimenta de la o surs de tensiune redus.
n cazul motorului de curent continuu cu excitaie mixt nfurarea de excitaie n
derivaie permite frnarea cu recuperare. Deoarece curentul prin indus i schimb sensul
nfurarea de excitaie serie va avea aciune demagnetizant. n practic se aplic dou
soluii:
a) la frnare se inverseaz conexiunea bornelor nfurrii de excitaie serie;
b) nfurarea de excitaie serie se deconecteaz de la alimentare;

Frnarea dinamic

Indusul se deconecteaz de la reea i se conecteaz pe o rezisten, iar motorul de


curent continuu trece s funcioneze n regim de generator. Se aplic dou metode:
a) excitaia rmne conectat n serie, dar se pstreaz sensul curentului n regim de
motor (se inverseaz legarea bornelor nfurrii de excitaie la indus);
b) excitaia se alimenteaz separat de la reea printr-o rezisten de limitare a
curentului.

23
Expresia caracteristicii mecanice este:
R A R Fd
IA
k

Frnarea n contracurent

Are modaliti diferite de realizare, dup cum sarcina este de tip potenial sau rezistiv.
a) Pentru sarcini reactive la frnarea n contracurent se schimb bornele de alimentare ale
indusului, iar sensul fluxului de excitaie se menine neschimbat. Rezistena RF conectat n
serie cu indusul va limita curentul de frnare. Caracteristica mecanic are ecuaia:
U R A R Fd
I AF
k k
b) Pentru sarcini poteniale: rezistena de frnare este: RF > RF0. Rezistena de frnare limit
este rezistena pentru care caracteristica mecanic intersecteaz axa cuplului la M=M R.
Ecuaia caracteristicii mecanice este:
U RA RF
2 2
k k

24
REGLARE A TURAIEI MOTORULUI DE CURENT
CONTINUU

n industrie exist maini care lucreaz cu vitez variabil. Reglajul vitezei mainii se
realizeaz de multe ori cu dispozitive mecanice, de exemplu cutii de viteze, dar reglajul prin
variaia turaiei motorului este de cele mai multe ori avantajos tehnologic i economic. Spre
exemplu automatizarea unor procese industriale este foarte greu de conceput cu folosirea
metodelor mecanice de reglaj a vitezei.
Principalele criterii de apreciere a metodei de reglaj a turaie motoarelor sunt:
1. Intervalul de reglaj;
2. Fineea reglajului;
3. Economicitatea reglajului;
4. Stabilitatea funcionrii la turaia dorit;
5. Sensul reglajului;
1. Intervalul de reglaj reprezint raportul turaiei maxime i minime ce se poate obine
prin metoda abordat.
2. Fineea reglajului exprim posibilitatea de a modifica cu valori mici turaia de lucru.
Astfel la motorul asincron cu inele nu se poate obine o finee prea mare a reglajului cu
rezistene n circuitul rotoric, pentru c numrul acestor rezistene nu poate fi prea mare.
3. Economicitatea reglajului se refer la cheltuielile necesare punerii n practic a
metodei de reglaj, ct i la cheltuielile legate de consumul de energie i ntreinere a
dispozitivelor de reglaj.
4. Stabilitatea reglajului reprezint capacitatea motorului de a menine turaia dorit
atunci cnd sarcina variaz. Acest lucru se exprim prin factorul:
M
KS
n
Expresia reprezint panta caracteristicii mecanice n = f(M), unde M reprezint
diferena ntre momentul motor i cel de sarcin pentru o turaie dat. Dac presupunem c
momentul de sarcin nu variaz prea mult odat cu turaia, stabilitatea reglajului se poate
aprecia dup nclinarea caracteristicii mecanice.
5. Sensul reglajului precizeaz dac modificarea turaiei prin metoda analizat se face
prin creterea sau scderea turaiei fa de funcionarea pe caracteristica natural a motorului.

Reglajul turaiei mcc cu excitaie derivaie

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


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

25
Figura 22. Caracteristicile mecanice ale motorului de curent continuu cu excitaie derivaie pentru diferite
rezistene Rp nseriate n rotor la tensiune i flux constant.
b) Metoda de reglaj cu variaia fluxului este mai avantajoas sub toate aspectele, dat
fiind c reglajul se face n circuitul de excitaie unde trece cam a zecea parte din curentul
motorului. Reglajul se face n sensul creterii turaiei, dar aceasta nu poate depii 1,6 2 ori
turaia nominal, fiind posibil distrugerea motorului. Caracteristicile mecanice sunt acelea
din fig. 2.2.

Figura 23. Caracteristicile mecanice ale motorului de curent continuu cu excitaie derivaie obinute prin
scderea curentului statoric pentru tensiunea U constant i fr rezistene nseriate rotorului
c) Metoda de reglaj prin variaia tensiunii de alimentare este superioar celorlalte n ce
privete intervalul de reglaj, la fineea i stabilitatea reglajului apar dificulti n asigurarea
sursei de tensiune variabil. Caracteristicile mecanice sunt de forma unor drepte paralele
aflate sub caracteristica natural, ca n fig. 24.

26
Figura 24. Caracteristicile mecanice ale mcc cu excitaie derivaie

Reglajul turaiei motorului de curent continuu cu excitaie serie

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


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

Figura 25. Caracteristicile mecanice ale motorului de curent continuu cu excitaie serie obinute
introducnd rezistene n circuitul rotoric
b) Reglarea tensiunii de alimentare a motoarelor serie se face prin legarea lor n serie
sau n paralel la reea sau prin alimentarea acestora de la o surs de tensiune reglabil.
Intervalul de reglaj i fineea n aceast situaie nu sunt prea bune, ns economicitatea i
stabilitatea reglajului sunt bune. Caracteristicile mecanice sunt prezentate n fig 26.

27
Figura 26. Caracteristicile mecanice ale mcc serie variaiile tensiunii
c) Reglajul turaiei prin untarea indusului produce mrirea fluxului de excitaie la
momente de sarcini mici.

Figura 27. Caracteristicile mecanice ale mcc prin suntarea indusului


Rs reprezint o rezisten cu posibilitatea modificrii valorii acesteia, ea poate lua
valorile Rs1, Rs2, Rs3 etc., (fig.27).
Intervalul de reglaj, fineea i economicitatea sunt sczute deoarece reglajul se face n
cureni mari. Stabilitatea reglajului este mai bun dect n cadrul folosirii rezistenelor
nseriate.
Se poate proceda i la untarea excitaiei prin care se obin turaii mai mari dect pe
caracteristica natural.

28
Figura 28. Reglajul turaiei motorului serie prin untarea excitaiei
Aceast metod are economicitate mai mare dar se sporete pericolul atingerii unor
turaii prea mari, (fig.28).

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

Instalaiile de reglare automat a vitezei cu limitare de curent sunt realizate pe aceleai


principii ca i instalaiile cu redresoare comandate, reglarea efectundu-se prin variaia duratei
relative de conectare a tiristorului principal prin care se alimenteaz indusul motorului.
Schema de reglare cuprinde (fig.29) un regulator de vitez RW, care primete la
intrare tensiunea de referin de la poteniometru P i tensiunea de reacie furnizat de
tahogeneratorul T. Curentul iA din circuitul rotoric, msurat prin untul f, este controlat de
regulatorul de curent RI. Reglarea duratei relative de conectare este realizat de generatorul
de tact GT i de dou formatoare de impulsuri FI1 i FI2.

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

30
Figura 30. Formele de und ale semnalelor de reglare

31
PROIECTUL TEHNIC

Generaliti

n figura 31 este prezentat schema de principiu a standului. Acest circuit pstreaz


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

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

Microcontrollerul are rolul de a compara tensiunea circuitului de intrare, adic


tensiunea dat de motorul M2 cu tensiunea de referin. Dac valoare comparat este mai
mic PIC ul trimite curent motorului M1 pn se ajunge la vitez constant, iar dac
valoarea este mai mare PIC ul scade curentul trimis motorului M1 pn viteza devine
constant
Dac se dorete o modificare a vitezei de rotaie a motorului principal, se regleaz
poteniometrul VR1, astfel se modific tensiunea circuitului de intrare, adic cea care este
comparat de microcontroller. Prin modificarea acestei tensiuni PIC ul crete sau scade
curentul trimis motorului M1 i astfel se obine mrirea sau micorarea vitezei de rotaie a
motorului principal.

32
Valoarea vitezei de rotaie a motorului va fi afiat n binar pe cele 8 leduri ale
microcontrollerului. Astfel, dac motorul nu este pornit toate ledurile sunt stinse, iar dac
motorul funcioneaz la vitez maxim toate ledurile sunt aprinse.
Aprinderea ledurilor ncepe cu ledul 1 i crete odat cu creterea curentului trimis
motorului principal.

Prile componente ale 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 funcionrii
motorului.
Tensiunea de intrare n microcontroller se modific proporional cu numrul de rotaii
fcute de motor.
Microcontrollerul controleaz curentul electric transmis motorului, astfel dac
tensiunea de intrare este mare, PIC-ul scade curentul transmis motorului, acesta scade
numrul de rotaii pn se ajunge la viteza dorit. Dac tensiunea de intrare este mic, PIC-ul
crete curentul trimis motorului i astfel crete numrul de rotaii ale motorului i se menine
constant viteza la valoarea dorit.
Dioda D1 are un rol protector pentru PIC, mai ales n momentul cnd tensiunea de
intrare este mare. Din poteniometrul VR1 se poate modifica numrul de rotaii ale motorului
astfel dac poteniometrul este n poziia 1 tensiunea de intrare va deveni minim, iar PIC-ul
crete curentul transmis motorului pentru a-i pstra constant viteza, dar de fapt prin creterea
curentului transmis motorului el mrete numrul de rotaii i astfel mrete viteza motorului
principal. Dac poteniometrul este n poziia 3 tensiunea de intrare va fi maxim, iar PIC-ul
va scade curentul transmis motorului avnd acelai scop de a pstra viteza constant, dar de
fapt prin micorarea curentului transmis motorului el scade numrul de rotaii i astfel se
micoreaz viteza.

33
Funcionarea motorului n circuit

Figura 33. Schema de alimentare a motorului


Funcia PWM este folosit pentru controlarea funcionrii motorului n circuit, control
care se face n funcie de curentul electric. PWM poate s schimbe durata pulsului de ieire
din CCP1 n funcie de date. Cnd timpul nivelului H al pulsului este scurt, timpul nivelului L
devine lung n tranzistorul 2, adic valoarea curentului electric transmis motorului crete. n
sens invers, cnd timpul nivelului H este mare, timpul de deschidere al tranzistorului 2 devine
scurt i valoarea curentului transmis motorului scade, (fig.33).
Durata pulsului din CCP1 este controlat n tensiune n funcie de tensiunea circuitului
de intrare. Cnd valoarea tensiunii de intrare este mai mare dect valoarea comparat, timpul
nivelului H este mai mare i astfel numrul de rotaii ale motorului este micorat. Cnd
valoarea tensiunii de intrare este mai mic dect valoarea comparat, timpul nivelului H este
mic i astfel crete numrul de rotaii ale motorului.

Figura 34. Comanda tranzistorilor


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

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

Figura 36. Legarea ledurilor la PIC


Ledurile au rolul s te in la curent cu funcionarea motorului. Trei bii de rang
superior ai datelor de control PWM sunt folosii pentru aprinderea ledurilor.
n condiia n care motorul nu este pornit, toate ledurile sunt oprite. Numrul de
aprinderi a ledurilor crete de la ledul 1 o dat cu creterea curentului. Cnd motorul ajunge la
turaie maxim sunt aprinse toate ledurile.

Figura 37. Regulator cu trei terminale


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

Microcontroller PIC16F874

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

35
Caracteristic pentru aceast familie este arhitectura intern n care bus-urile de
instruciuni i de date sunt separate, cel de instruciuni cu lrgime de 14 bii, iar cel de date cu
lrgimea de 8 bii. Aceast arhitectur permite execuia ntr-un singur ciclu main al
instruciunilor cu excepia ramurilor de program care necesit dou cicluri. Sunt disponibile
un numr total de 35 de instruciuni. O alt caracteristic important pentru dezvoltarea de
aplicaii este existena a dou tipuri de memorie program pentru acelai tip de circuit. Primul
tip de memorie este de tip FLASH i permite scrierea ei de un numr foarte mare de ori,
facilitate util n dezvoltarea de aplicaii. Al doilea tip este o memorie CMOS inscriptibil o
singur dat, util pentru lucrul n serie de produse cu aplicaie. Caracteristica de baz a
acestui microcontroller este reprogramarea electric a acestuia de un numr infinit de ori.
Caracteristici principale:
frecvena maxima de operare 20MHz
memoria program (FLASH) 8KB
memoria de date (RAM) 368B
memoria de date EEPROM 256B
ntreruperi 14
porturi intrare - ieire 5 (A,B,C,D,E)
timer-e 3
module captur / comparare / PWM 2
interfa serial USART, MSSP
interfa paralel PSP (parallel slave port)
convertor analog digital (10bii) 8 canale de intrare
set de instruciuni 35 instruciuni (RISC)
Microcontrollerul conine o unitate aritmetic logic ALU de 8 bii i un registru de lucru.
ALU efectueaz funcii aritmetice i booleene ntre datele din registrul de lucru i oricare alt
registru. Registrul de lucru este notat cu w. Acumulatorul nu este un registru adresabil. n
funcie de instruciunea executat, unitatea aritmetico logic (ALU) afecteaz valorile biilor
CARRY (C), DIGIT CARRY (DC) i ZERO (Z) din registrul de stare (STATUS).
Microcontroller-ul PIC16F874 este disponibil ntr-o capsul de 40 pini:

36
Numele Pin Tipul Tipul Descriere
pinului capsul pinulu Buffer
i -ului
OSC1\CLKIN 13 I ST\CM Intrarea oscilatorului
OS
OSC2\CLKO 14 O - Ieirea oscilatorului
UT
MCLR 1 I ST Intrare de iniializare (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/VR 4 I/O TTL Poate fi folosit i ca intrare analogica
EF- (canalul 2) sau ca referin negativ de
tensiune
RA3/AN3/VR 5 I/O TTL Poate fi folosit i ca intrare analogica
EF+ (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. Ieirea 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 TTL
RB2 35 I/O TTL
RB3/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
RC0/T1OSO/ 15 I/O ST Intrare de ceas pentru TIMER1 sau
T1CKI ieirea oscilatorului TIMER1
RC1/1OSI/CC 16 I/O ST Ieirea oscilatorului TIMER1, intrarea
P2 de captur 2, ieirea de comparare 2 sau
ieirea PWM 2
RC2/CCP1 17 I/O ST Intrarea de captur 1, ieirea de
comparare 1 sau ieirea PWM 1
RC3/SCK/SC 18 I/O ST Intrare/Ieire de ceas pentru portul

37
L serial SPI sau I 2C
RC4/SDI/SD 23 I/O ST Intrare de date pentru SPI sau
A intrare/ieire de date pentru I 2C
RC5/SDO 24 I/O ST Ieire de date pentru SPI
RC6/TX/CK 25 I/O ST Transmisie asincrona USART sau ceas
pentru modul sincron
RC7/RX/DT 26 I/O ST Recepie asincrona USART sau date
pentru modul sincron
RD0/PSP0 19 I/O ST/TTL Bit 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
RE 0 / RD / AN 5 8 I/O ST/TTL Controlul citirii pentru PSP (portul
paralel)
Poate fi folosit i ca intrare analogica
(canalul 5)
RE1 / WR / AN 6 9 I/O ST/TTL Controlul scrierii pentru PSP (portul
paralel)
Poate fi folosit i ca intrare analogica
(canalul 6)
RE 2 / CS / AN 7 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 - masa
VDD 11,32 P - Potenialul de alimentare +5V
I intrare; O ieire; I/O intrare/ieire; TTL intrare TTL; TS intrare Trigger Schmitt (cu
histerezis); P alimentare (power)

38
Schema bloc a microcontroller-ului

39
Figura 38. Structura unui microcontroler

Organizarea memoriei
Memoria acestui microcontroller este mprit n dou pri:

40
memoria program
memoria de date
Fiecare din aceste blocuri de memorie are propriul su bus. Acest lucru permite aducerea ntr-
un singur ciclu a instruciunilor respectiv datelor din memorie.
Memoria de date se mparte n:
regitri cu funcii speciale (SFR)
memoria RAM general
memoria EEPROM
Organizarea memoriei program (FLASH)
PIC16F874 are un PC (program counter) de 13 bii, capabili s adreseze 8kx14
spaii de memorie program (0000h 1FFFh),
Vectorul de reset este 0000h i vectorul de ntreruperi este 0004h.

Figura 39. Memoria de date


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

Organizarea memoriei de date


Descriere general

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

RP1 Banc
RP0
0 0 0
0 1 1
1 0 2
1 1 3
Primele locaii din fiecare banc sunt rezervate regitrilor cu funcii speciale (SFR):
00h 1Fh pentru bancul 0 (32octei)
80h 9Fh pentru bancul 1 (32octei)
100h 10Fh pentru bancul 2 (16octei)
180h 18Fh pentru bancul 3 (16octei)
Ei sunt folosii de PC i periferice pentru a controla diferite operaii.
Restul memoriei de date este alocat regitrilor de uz general:
20h 7Fh pentru bancul 0 (96octei)
A0h EFh pentru bancul 1 (80octei)
110h 16Fh pentru bancul 2 (96octei)
190h 1EFh pentru bancul 3 (96octei)

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

Regitri cu funcii speciale

42
Figura 40. Regitrii

43
Descriere general a funciilor
Adre Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
sa
Bancul 0
00h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului
FSR
01h TMR0 Registrul TIMER0 (8 bii)
02h PCL Cei mai puin semnificativi 8 bii ai PC
03h STATU IRP RP1 RP0 TO PD Z DC C
S
04h FSR Adresarea indirecta a memoriei de date
05h PORTA - - Portul A
06h PORTB Portul B
07h PORTC Portul C
08h PORTD Portul D
09h PORTE - - - - - Portul E
0Ah PCLAT - - - Cei mai semnificativi 5 bii ai PC
H
0Bh INTCO GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF
N
0Ch PIR1 PSPIF ADIF RCIF TXIF SSPIF CCP1I TMR2 TMR1
F IF IF
0Dh PIR2 - - EEIF BCLIF - - CCP2I
F
0Eh TMR1L Cei mai puin semnificativi 8 bii ai registrului TIMER1
0Fh TMR1H Cei mai semnificativi 8 bii ai registrului TIMER1
10h T1CON - - T1CKP T1CKP T1OS T1SY TMR1 TMR1
S1 S0 CEN NC CS ON
11h TMR2 Registrul TIMER2 (8 bii)
12h T2CON - TOUT TOUTP TOUTP TOUT TMR2 T2CP T2CP
PS3 S2 S1 PS0 ON S1 S0
13h SSPBU Buffer-ul portului serial sincron
F
14h SSPCO WCO SSPO SSPEN CKP SSPM SSPM SSPM SSPM
N L V 3 2 1 0
15h CCPR1 Captur1 / comparare1 / PWM1 (LSB)
L
16h CCPR1 Captur1 / comparare1 / PWM1 (MSB)
H
17h CCP1C - - CCP1X CCP1Y CCP1 CCP1 CCP1 CCP1
ON M3 M2 M1 M0
18h RCSTA SSPE RX9 SREN CREN ADDE FERR OERR RX9D
N N
19h TXREG Registrul de transmisie USART
1Ah RCREG Registrul de recepie USART
1Bh CCPR2 Captur2 / comparare2 / PWM2 (LSB)
L
1Ch CCPR2 Captur2 / comparare2 / PWM2 (MSB)
H

44
1Dh CCP2C - - CCP2X CCP2Y CCP2 CCP2 CCP2 CCP2
ON M3 M2 M1 M0
1Eh ADRES Cei mai semnificativi 8 bii ai rezultatului conversiei A/D
H
1Fh ADCO ADCS ADCS CHS2 CHS1 CHS0 GO - ADO
N0 1 0 N
Bancul 1
80h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului
FSR
81h OPTIO RBPU INTE TOCS TOSE PSA PS2 PS1 PS0
N DG
_REG
82h PCL Cei mai puin semnificativi 8 bii ai PC
83h STATU IRP RP1 RP0 TO PD Z DC C
S
84h FSR Adresarea indirecta a memoriei de date
85h TRISA Direcia datelor prin portul A (intrare/ieire)
86h TRISB Direcia datelor prin portul B (intrare/ieire)
87h TRISC Direcia datelor prin portul C (intrare/ieire)
88h TRISD Direcia datelor prin portul D (intrare/ieire)
89h TRISE IBF OBF IBOV PSPMO - Direcia datelor prin
DE portul E (I/O)
8Ah PCLAT - - - Cei mai semnificativi 5 bii ai PC
H
8bh INTCO GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF
N
8Ch PIE1 PSPIE ADIE RCIE TXIE SSPIE CCP1I TMR2 TMR1
E IE IE
8Dh PIE2 - - EEIE BCLI - - CCP2I
E E
8Eh PCON - - - - - - POR BOR
8Fh - Registru neimplementat fizic
90h - Registru neimplementat fizic
91h SSPCO GCEN ACKS ACKDT ACKE RCEN PEN RSEN SEN
N2 TAT N
92h PR2 Perioad TIMER 2
93h SSPAD Adresa portului serial sincron (n mod I C )
2

D
94h SSPSTA SMP CKE D/A P S R/W UA BF
T
95h - Registru neimplementat fizic
96h - Registru neimplementat fizic
97h - Registru neimplementat fizic
98h TXSTA CSRC TX9 TXEN SYNC - BRGH TRMT TX9D
99h SPBRG Generator baud rate
9Ah - Registru neimplementat fizic
9Bh - Registru neimplementat fizic
9Ch - Registru neimplementat fizic
9Dh - Registru neimplementat fizic

45
9Eh ADRES Cei mai puin semnificativi 8 bii ai rezultatului conversiei A/D
L
9Fh ADCO ADF - - - PCFG PCFG PCFG PCFG
N1 M 3 2 1 0
Bancul 2
100h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului
FSR
101h TMR0 Registrul TIMER0 (8 bii)
102h PCL Cei mai puin semnificativi 8 bii ai PC
103h STATU IRP RP1 RP0 TO PD Z DC C
S
104h FSR Adresarea indirecta a memoriei de date
105h - Registru neimplementat fizic
106h PORTB Portul B
107h - Registru neimplementat fizic
108h - Registru neimplementat fizic
109h - Registru neimplementat fizic
10A PCLAT - - - Cei mai semnificativi 5 bii ai PC
h H
10B INTCO GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF
h N
10C EEDAT Registrul de date EEPROM (cei mai puin semnificativi 8 bii)
h A
10D EEADR Registrul de adrese EEPROM (cei mai puin semnificativi 8 bii)
h
10E EEDAT - - Registrul de date EEPROM (cei mai semnificativi 6
h H bii)
10Fh EEADR - - - Registrul de adrese EEPROM (cei mai
H semnificativi 5 bii)
Bancul 3
180h INDF Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului
FSR
181h OPTIO RBPU INTE TOCS TOSE PSA PS2 PS1 PS0
N DG
_REG
182h PCL Cei mai puin semnificativi 8 bii ai PC
183h STATU IRP RP1 RP0 TO PD Z DC C
S
184h FSR Adresarea indirecta a memoriei de date
185h - Registru neimplementat fizic
186h TRISB Direcia datelor prin portul B (intrare/ieire)
187h - Registru neimplementat fizic
188h - Registru neimplementat fizic
189h - Registru neimplementat fizic
18A PCLAT - - - Cei mai semnificativi 5 bii ai PC
h H
18B INTCO GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF
h N
18C EECON EEPG - - - WRE WRE WR RD

46
h 1 D RR N
18D EECON Registru control EEPROM (nu este un registru fizic)
h 2
18E - Registru neimplementat fizic
h
18Fh - Registru neimplementat fizic
Memoria EEPROM
Microcontroller-ul PIC16F874 are 256B de memorie reprogramabil electric
(EEPROM). Aceast memorie este necesar atunci cnd se dorete pstrarea unor valori i
dup ce cip-ul nu mai este alimentat, ns are urmtoarele dezavantaje:
- memoria nu este direct adresabil, fiind nevoie a se lucra indirect, prin ase regitri
din SFR (EECON1, EECON2, EEDATA, EEADR, EEDATH, EEADRH).
- are o laten mult mai mare dect memoria RAM
Registrul EEDATA pstreaz 8 bii de date pentru citire / scriere, iar registrul EEADR
pstreaz adresa de la locaia EEPROM ului. La scrierea unui cuvnt n memorie se terge
automat locaia i se scrie noua dat (se va terge nainte de scriere), iar timpul de scriere este
controlat de un timer.
Registrul EECON1 este registru de control cu cinci bii mai puini semnificativi,
implementai fizic, iar cei mai semnificativi trei bii, nu exist, fiind citii ca zero.
Registrul EECON2 nu este un registru fizic. El este utilizat exclusiv n secvene de scriere a
memoriei de date EEPROM
Adres Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
a
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 EEDATA Registrul de date EEPROM (cei mai puin semnificativi 8 bii)
10Dh EEADR Registrul de adrese EEPROM (cei mai puin semnificativi 8 bii)
10Eh EEDATH - - Registrul de date EEPROM (cei mai semnificativi 6
bii)
10Fh EEADRH - - - Registrul de adrese EEPROM (cei mai
semnificativi 5 bii)
0Dh PIR2 - - EEIF BCLIF - - CCP2IF
8Dh PIE2 - - EEIE BCLIE - - CCP2IE
Citirea memoriei de date EEPROM
Pentru a citi o locaie a memoriei de date EEPROM, utilizatorul trebuie s scrie adresa
n registrul EEADR i apoi s seteze pe 1 bitul RD (EECON1<0>) (RD=1 iniializarea
citirii n EEPROM). EEDATA va pstra valoarea pn la o nou citire sau pn este scris de
ctre utilizator (de-a lungul operaiei de scriere).
Exemplu:
BCF STATUS, RP0
BSF STATUS, RP1 ;bancul 2 de regitri
MOVLW adresa ;adresa de la care citesc
MOVWF EEADR
BSF STATUS, RP0 ;bancul 3 de regitri
BCF EECON1, EEPGD
BSF EECON1, RD ;pornesc operaia de citire din EEPROM
BCF STATUS, RP0 ;bancul 2 de regitri
MOVF EEDATA, w

47
Scrierea memoriei de date EEPROM
Pentru a scrie o locaie a memoriei de date EEPROM, utilizatorul trebuie s scrie
adresa n registrul EEADR i data n registrul EEDATA. Apoi utilizatorul trebuie s urmeze
nite secvene speciale pentru a iniializa, scrierea, pentru fiecare bit.
Exemplu:
BSF STATUS, RP0
BSF STATUS, RP1 ;bancul 3 de regitri
TEST
BTFSC EECON1, WR ;atept sa se ncheie ciclul anterior de scriere
GOTO TEST
BCF STATUS, RP0 ;bancul 2 de regitri
MOVF adresa_eeprom, w
MOVWF EEADR
MOVF data_eeprom, w
MOVWF EEDATA
BSF STATUS, RP0 ;bancul 3 de regitri
BCF EECON1, EEPGD
BSF EECON1, WREN
MOVLW 0x55
MOVWF EECON2
MOVLW 0xAA
MOVWF EECON2
BSF EECON1, WR
BCF EECON1, WREN
BCF STATUS, RP0
BCF STATUS, RP1 ;bancul 0 de regitri

Observaie: adresa_eeprom i data_eeprom sunt doi regitri de uz general din bancul 2 unde
scriu adresa, respectiv data care trebuie scris n memoria EEPROM.
Porturile de intrare / ieire
PIC16F874 are cinci porturi: PORTA, PORTB, PORTC, PORTD i PORTE

PORT A
PORTA este bidirecional i are 6 bii. Selectarea intrare/ieire se face setnd respectiv
resetnd n registrul TRISA biii corespunztori portului. Intrrile portului A, cu excepia
RA4, pot fi configurate i ca intrri analogice, portul A fiind asociat cu un convertor analog -
digital.
Funcionarea portului A:
Numele pinului Pin Tip Tip Descriere
pin Buffer
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
(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

48
RA4/TOCK1 6 I/O ST Poate fi folosit i ca intrare de ceas pentru
Timer 0. Ieirea este de tip open drain.
RA5/AN4 7 I/O TTL Poate fi folosit i ca intrare analogica
(canalul4)

Regitri asociai portului A:


Adres Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
a
05h PORTA - - Portul A
85h TRISA - - Direcia datelor prin portul A (intrare/ieire)
9Fh ADCON1 ADFM - - - PCFG3 PCFG2 PCFG1 PCFG0

Exemplu:
CLRF PORTA; iniializarea portului A
BSF STATUS, RP0; selectm bancul 1
MOVLW 0X0F; w 00001111
MOVWF TRISA ; setm RA<3 :0> ca fiind intrri i RA<5 :4>; ca fiind ieire.
ntotdeauna TRISA< 7: 5 > sunt ;citite ca fiind pe zero.
PORT B
PORTB este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor
este TRISB. Un 1 pe oricare din biii registrului TRISB, pune ieirea corespunztoare n
modul de lucru de nalt impedan, setnd bitul ca bit de intrare. Intrarea este de nivel TTL,
iar ieirea de tip CMOS. Biii RB4 RB7 pot genera ntreruperi la schimbarea strii.
Funcionarea portului B:
Numele Pin Tip pin Tip Descriere
pinului Buffer
RB0/INT 33 I/O ST/TTL Poate fi folosit ca ntrerupere extern
RB1 34 I/O TTL
RB2 35 I/O TTL
RB3/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
Regitri asociai portului B:
Adres Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
a
06h PORTB Portul B
86h TRISB Direcia datelor prin portul B (intrare/ieire)
81h OPTION RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0
_REG

PORT C

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

Funcionarea portului C:
Numele pinului Pin Tip Tip Descriere
pin Buffer
RC0/T1OSO/T1CKI 15 I/O ST Intrare de ceas pentru TIMER1 sau ieirea
oscilatorului TIMER1
RC1/1OSI/CCP2 16 I/O ST Ieirea oscilatorului TIMER1, intrarea de
captur 2, ieirea de comparare 2 sau ieirea
PWM 2
RC2/CCP1 17 I/O ST Intrarea de captur 1, ieirea de comparare 1 sau
ieirea PWM 1
RC3/SCK/SCL 18 I/O ST Intrare/Ieire de ceas pentru portul serial SPI
sau I 2C
RC4/SDI/SDA 23 I/O ST Intrare de date pentru SPI sau intrare/ieire de
date pentru I 2C
RC5/SDO 24 I/O ST Ieire de date pentru SPI
RC6/TX/CK 25 I/O ST Transmisie asincrona USART sau ceas pentru
modul sincron
RC7/RX/DT 26 I/O ST Recepie asincrona USART sau date pentru
modul sincron
Regitri asociai portului C:
Adres Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
a
07h PORTC Portul C
87h TRISC Direcia datelor prin portul C (intrare/ieire)

PORT D
PORTD este un port bidirecional pe 8 bii. Registrul corespunztor direciei datelor este
TRISD. Un 1 pe oricare din biii registrului TRISD, pune ieirea corespunztoare n modul de
lucru de nalt impedan, setnd bitul ca bit de intrare. Portul D poate fi folosit i ca port
paralel.
Funcionarea portului D:
Numele Pin Tip pin Tip Buffer Descriere
pinului
RD0/PSP0 19 I/O ST/TTL Bit 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

Regitri asociai portului D:


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

50
a
08h PORTD Portul D
88h TRISD Direcia datelor prin portul D (intrare/ieire)
89h TRISE IBF OBF IBOV PSPMODE - Direcia datelor prin portul
E (I/O)

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

Funcionarea portului E:
Numele pinului Pin Tip pin Tip Descriere
Buffer
RE 0 / RD / AN 5 8 I/O ST/TTL Controlul citirii pentru PSP (portul paralel)
Poate fi folosit i ca intrare analogica
(canalul5)
RE1 / WR / AN 6 9 I/O ST/TTL Controlul scrierii pentru PSP (portul
paralel)
Poate fi folosit i ca intrare analogica
(canalul6)
RE 2 / CS / AN 7 10 I/O ST/TTL CS (cip select) pentru PSP (portul paralel)
Poate fi folosit i ca intrare analogica
(canalul7)

Regitri asociai portului E:


Adresa Nume Bit 7 Bit Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
6
09h PORTE - - - - - Portul E
89h TRISE IBF OBF IBOV PSPMODE - Direcia datelor prin portul
E (I/O)
9Fh ADCON1 ADFM - - - PCFG3 PCFG2 PCFG1 PCFG0

Timer-e
PIC16F874 are 3 timer-e: Timer0
Timer1
Timer2
Timer0
numrtor \ cronometru pe 8 bii (registrul TMR0)
poate fi scris i citit
asociat cu un divizor programabil pe 8 bii (1 - 256)
sursa de tact intern (CLKOUT sau WDT) sau extern (oscilator extern)
genereaz o ntrerupere la trecerea de la FFh la 00h
atunci cnd se lucreaz cu un oscilator extern se poate selecta tranziia pe front
pozitiv sau pe front negativ
Regitri asociai cronometrului Timer0:

51
Adres Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
a
0Bh INTCON GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF
81h OPTION RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0
_REG
01h TMR0 Registrul TIMER0 (8 bii)
Timer1
numrtor \ cronometru pe 16 bii (TMR1H i TMR1L)
poate fi scris i citit
asociat cu un divizor programabil (1,2,4,8)
sursa de tact intern (fosc/4) sau extern (oscilator extern conectat la RC1,RC2)
poate genera o ntrerupere la trecerea de la FFFFh la 0000h

Regitri asociai cronometrului Timer1:


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 puin semnificativi 8 bii ai registrului TIMER1
0Fh TMR1H Cei mai semnificativi 8 bii ai registrului TIMER1
10h T1CON - - T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON

Timer2
cronometru pe 8 bii (registrul TMR2)
poate fi scris i citit
asociat cu un divizor programabil (1,4,16)
sursa de tact intern (fosc/4)
poate fi folosit ca baz de timp pentru modulul PWM
asociat cu un registru care i stabilete perioada de resetare (PR2)
poate genera o ntrerupere la 116 perioade

Regitri asociai cronometrului Timer2:


Adresa Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0Bh INTCO GIE PEIE T0IE INTE RBIE T0IF INTIF RBIF
N
0Ch PIR1 PSPIF ADIF RCIF TXIF SSPIF CCP1 TMR TMR1
IF 2IF IF
8Ch PIE1 PSPIE ADIE RCIE TXIE SSPIE CCP1 TMR TMR1
IE 2IE IE
11h TMR2 Registrul TIMER2 (8 bii)
12h T2CO - TOUT TOUT TOUT TOUT TMR T2CP T2CP
N PS3 PS2 PS1 PS0 2ON S1 S0
92h PR2 Perioad TIMER 2

Modulul de generare a tensiunii PWM

52
PWM = Pulse Width Modulation (modularea impulsurilor n durat). Microcontroller-
ul genereaz o tensiune dreptunghiular a crei valoare medie este proporional cu factorul
de umplere
Umed =5V Fu
PIC16F874 are doua module PWM identice. Tensiunea de ieire poate avea o rezoluie
de pana la 10 bii.

Figura 41. Structur-funcionare


Perioada PWM = [(PR2)+1]*4*[valoarea divizorului asociat cu Timer2]
Frecvena PWM = 1/ Perioada PWM
Atunci cnd sunt folosite ambele module PWM tensiunile de ieire vor avea aceeai
frecven.
Regitri asociai modulului PWM:
Adr Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
esa
0Bh INTC GIE PEIE T0IE INT RBIE T0IF INTIF RBIF
ON E
0Ch PIR1 PSPI ADI RCIF TXI SSPIF CCP1I TMR2 TMR1
F F F F IF IF
8Ch PIE1 PSPI ADI RCIE TXI SSPIE CCP1I TMR2 TMR1
E E E E IE IE
11h TMR2 Registrul TIMER2 (8 bii)
12h T2CO - TOUT TOUT TOUT TOUT TMR T2CP T2CP
N PS3 PS2 PS1 PS0 2ON S1 S0
92h PR2 Perioad TIMER 2
8Dh PIE2 - - EEIE BCLI - - CCP2I
E E
0Dh PIR2 - - EEIF BCLI - - CCP2I
F F
15h CCPR Captur1 / comparare1 / PWM1 (LSB)
1L

53
16h CCPR Captur1 / comparare1 / PWM1 (MSB)
1H
17h CCP1 - - CCP1 CCP1 CCP1 CCP1 CCP1 CCP1
CON X Y M3 M2 M1 M0
1Bh CCPR Captur2 / comparare2 / PWM2 (LSB)
2L
1Ch CCPR Captur2 / comparare2 / PWM2 (MSB)
2H
1Dh CCP2 - - CCP2 CCP2 CCP2 CCP2 CCP2 CCP2
CON X Y M3 M2 M1 M0
87h TRIS Direcia datelor prin portul C (intrare/ieire)
C

Portul serial. Modulul USART


(Universal Synchronus Asynchronus Reciever Transmitter)
USART, cunoscut i ca interfa serial de comunicaie (SCI), poate fi configurat n trei
moduri:
mod asincron full duplex
mod sincron master half duplex
mod sincron slave half duplex

Modul asincron
n acest mod USART folosete un format standard al datelor: un bit de start, 8 sau 9
bii de date i un bit de stop. Cel mai uzual format este cel cu 8 bii de date.
Transmisia ncepe cu cal mai puin semnificativ bit (LSB). Partea de transmisie
funcioneaz independent fa de partea de recepie, dar lucreaz la aceeai vitez.
Modul asincron se selecteaz prin tergerea bitului SYNC (TXSTA <4>)

Modulul de transmisie asincron


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

Schema bloc

Figura 42. Schema explicativ

54
Regitri asociai transmisiei asincrone
Adr Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
esa
0Bh INTC GIE PEIE T0IE INTE RBI T0IF INTIF RBIF
ON E
0Ch PIR1 PSPI ADI RCIF TXIF SSPI CCP1I TMR2 TMR1
F F F F IF IF
18h RCST SSP RX9 SREN CREN AD FERR OERR RX9D
A EN DEN
19h TXRE Registrul de transmisie USART
G
8Ch PIE1 PSPI ADI RCIE TXI SSPIE CCP1I TMR2 TMR1
E E E E IE IE
98h TXST CSR TX9 TXEN SYN - BRGH TRMT TX9D
A C C
99h SPBR Generator baud rate
G

Modulul de recepie asincron


Datele sunt recepionate prin pinul RC7 n blocul de recuperare care este un registru
serie - paralel de mare vitez.
Partea principal a modulului de recepie este registrul RSR. Dup eantionarea bitului de
stop datele sunt transferate n registrul RCREG.
Recepia este validat prin setarea bitului CREN (RCSTA <4>)
Schema bloc

Figura 43. Schema bloc

Regitri asociai recepiei asincrone


Adr Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
esa
0Bh INTC GIE PEIE T0IE INTE RBI T0IF INTIF RBIF
ON E
0Ch PIR1 PSPI ADI RCIF TXIF SSPI CCP1I TMR2 TMR1

55
F F F F IF IF
18h RCST SSP RX9 SREN CREN - FERR OERR RX9D
A EN
1Ah RCRE Registrul de recepie USART
G
8Ch PIE1 PSPI ADI RCIE TXI SSPIE CCP1I TMR2 TMR1
E E E E IE IE
98h TXST CSR TX9 TXEN SYN - BRGH TRMT TX9D
A C C
99h SPBR Generator baud rate
G

Regitri pentru starea vitezei de comunicare


Adr Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
esa
98h TXST CSR TX9 TXEN SYNC - BRGH TRMT TX9D
A C
99h SPBR Generator baud rate
G

Setarea vitezei de comunicare pentru Fosc = 4MHz


BRGH BAUD SPBRG Eroare
RATE %
(K)
0,3 207 0
1,2 51 0,17
2,4 25 0,17
9,6 6 6,99
0 19,2 2 8,51
28,8 1 8,51
33,6 - -
57,6 0 8,51
0,3 - -
1,2 207 0,17
2,4 103 0,17
9,6 25 0,16
1 19,2 12 0,16
28,8 8 3,55
33,6 6 6,29
57,6 3 8,51

ntreruperi
PIC16F874 are 14 surse de ntrerupere:
ntrerupere extern (RB0/INT)
ntrerupere Timer0
ntrerupere Timer1
ntrerupere Timer2
ntrerupere la schimbarea valorii de intrare (PORTB<7:4>)

56
ntrerupere la scriere EEPROM
ntrerupere generat de portul paralel
ntrerupere generat de convertorul analog numeric
ntrerupere generat de modulul de transmisie serial asincron
ntrerupere generat de modulul de recepie serial asincron
ntrerupere generat de portul serial sincron
ntrerupere generat de modulul CPP1
ntrerupere generat de modulul CPP2
ntrerupere generat la o eroare pe bus-ul de date

Regitri folosii pentru controlul ntreruperilor


Adr Nume Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
esa
0Bh INTC GIE PEIE T0IE INTE RBI T0IF INTIF RBIF
ON E
0Ch PIR1 PSPI ADI RCIF TXIF SSPI CCP1I TMR2 TMR1
F F F F IF IF
0Dh PIR2 - - EEIF BCL - - CCP2I
IF F
8Ch PIE1 PSPI ADI RCIE TXIE SSPI CCP1I TMR2 TMR1
E E E E IE IE
8Dh PIE2 - - EEIE BCL - - CCP2I
IE E
81h OPTI RBPU INT TOCS TOSE PSA PS2 PS1 PS0
ON EDG
_REG

Schema bloc

Figura 44. Schema logic

57
Oscilatorul
Tipuri de oscilatoare
PIC16F874 poate lucra n patru moduri diferite, de oscilaie:
LP LOW POWER CRISTAL
XT CRYSTAL / RESONATOR
HS HIGH SPEED CRYSTAL / RESONATOR
RS RESISTOR / CAPACITOR
Selectarea unuia din cele patru moduri se face prin setarea celor doi bii de
configuraie FOSC1 i FOSC2 .
Oscilatorul cu cristal de cuar
Oscilatorul de mare vitez HS se conecteaz intre OSC1/CLKIN i
OSC2/CLKOUT

Figura 45.

Figura 46.
Programarea microcontroller-ului PIC16F874
Pentru scrierea programului n microcontroller este nevoie o interfa hardware
specializat i o interfa software care s o controleze. Interfaa hardware se conecteaz la
calculator (PC), n funcie de tipul ei, pe un port serial, paralel sau USB. Ca interfa software
se folosete un program specializat (Pony Prog, PICSTART Plus, PRO MATE 2, etc.).
Setul de instruciuni
Microcontroller-ul PIC16F874 poate fi programat folosind un set de 35
de instruciuni (limbaj de asamblare). Fiecare instruciune este codificat pe 14
bii.
Cele 35 de instruciuni se mpart n 3 categorii:
instruciuni la nivel de octet (byte)
instruciuni la nivel de bit
instruciuni literale i de control

58
Instruciunea Descriere
Instruciuni la nivel de octet
ADDWF f,d w + f d (destinaie)
ANDWF f,d w & f d (destinaie)
CLRF f terge f
CLRW terge acumulatorul (w)
COMF f,d Complementul lui f d (destinaie)
DECF f,d f -1 d (destinaie)
DECFSZ f,d f -1 d (destinaie) daca nu rezult 0
INCF f,d f +1 d (destinaie)
INCFSZ f,d f +1 d (destinaie) daca nu rezult 0
IORWF f,d w sau f d (destinaie)
MOVF f,d f d (destinaie)
MOVWF f wf
NOP f,d Nici o operaie (ntrziere)
RLF f,d Rotete spre stnga registrul f d (destinaie)
RRF f,d Rotete spre dreapta registrul f d (destinaie)
SUBWF f,d f w d (destinaie)
SWAPF f,d f<3;0> d<7;4> i f<7;4> d<3;0>
XORWF f,d w sau exclusiv f d (destinaie)
Instruciuni la nivel de bit
BCF 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 instruciune dac f<b>=0
BTFSS f,b Sare o instruciune dac f<b>=1
Instruciuni literale i de control
ADDLW k w+kw
ANDLW k w&f w
CALL k Cheam subrutina k
CLRWDT - terge watchdog timer
GOTO k Salt necondiionat la k
IORLW k w sau k w
MOVLW k kw
RETFIE - Revenire din ntrerupere
RETLW k Revenire din ntrerupere i k w
RETURN - Revenire din subrutin
SLEEP - Standby
SUBLW k kw w
XORLW k w sau exclusiv k w
d=0 destinaia este w
d=1 destinaia este f

59
ALGORITMUL DE PROGRAMARE

Schema algoritmului

Figura 47. Schema algoritmului de programare


Explicarea algoritmului de programare
Se seteaz tipul procesorului cu directiva LIST (exemplu p = pic 16F874), iar funciile
standard ale procesorului sunt citite cu directiva INCLUDE.
Configurarea procesorului se face prin directiva CONFIG.
La microcontrolerul pic 16F874 registrul de funcii speciale (SFR) este divizat n patru
bank uri de memorie. Eliminarea alertelor de selectare a bank urilor de memorie se face
prin error level.
Exist funcii speciale care sunt comune unor anumite bank uri, dar exist i funcii
speciale care sunt specifice numai unui bank de memorie.

60
Selectarea bank urilor de memorie se realizeaz prin selectarea biilor RP0 i RP1
din registrul STATUS. Chiar dac specificarea bank urilor n registrul STATUS este realizat
corect mesajul de specificare a bank lui este afiat.
Definirea 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
obinut din conversia analog numeric a tensiunii date de circuitul de intrare.
Eticheta change memoreaz rezultatul comparrii tensiunii circuitului de intrare cu
tensiune de control a motorului (tensiunea de referin). n funcie de aceast valoare se
modific valoarea registrului CCPR1 (registru care controleaz funcia PWM).
Compararea dintre semnalul circuitului de intrare i cel de referin se realizeaz la
fiecare 10 ms.
Cnd se sesizeaz o diferen ntre valoarea tensiunii de control i cea de intrare,
valoarea care a fost specificat de change este adunat sau sczut din valoarea ciclului
PWM.
Variabila led are rolul de a afia n binar valoarea vitezei de rotaie a motorului i de a
te ine la curent cu funcionarea motorului.
Program start
Instruciunea este executat de la adresa 0 din memoria program cnd pic ul este
alimentat cu tensiune. Cnd apare o ntrerupere procesul ncepe de la adresa 4. Fiecare salt n
program se face cu instruciunea goto.
Procesul de iniializare
Procesul de iniializare se realizeaz la pornire
Iniializarea porturilor A, B i C
Se folosete primul pin din portul A ca intrare analogic (RA0). Ceilali pini sunt setai
ca ieiri pentru a evita influena altor porturi de intrare.
Portul B este setat ca ieire pentru controlul ledurilor.
Portul C este setat ca ieire pentru realizarea comparrii dintre valoarea tensiunii de
intrare i valoarea de referin.
Iniializarea conversiei A/D
Deoarece frecvena este de 10 MHz dat de rezonator, rezult c frecvena
convertorului A/D este setat la 10 MHz/32.
Un canal de intrare este setat la AN0. rezultatul conversiei este setat la stnga pentru a
lua cei mai semnificativi 8 bii.
Iniializare PWM
Registrul CCP1 este folosit pentru modulul PWM. Acest registru pstreaz valoarea
dat de variabila change, adic valoarea care mrete sau micoreaz mrimea pulsului.
Iniializarea modului de comparare
Registrul CCP2 este folosit pentru comparare celor dou semnale i genereaz
ntreruperi periodice (o dat la 10 ms).
Iniializarea ntreruperilor
Datorit setrii bitului de validare a ntreruperii din registrul CCP2 este posibil
realizarea ntreruperii.
Se termin procesul de iniializare.
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 pn nu este terminat aceasta.
Se ateapt pn procesul de conversie A/D este complet. Conversia ncepe simultan
cu apariia ntreruperii.

61
Compararea cu tensiunea de referin
Cnd conversia A/D s-a terminat cei mai semnificativi 8 bii ai rezultatului sunt
comparai cu valoarea de referin a vitezei. Se obine un rezultat care poate fi mai mare sau
mai mic dect valoarea comparat.
Procesul de ncetinire a vitezei
Dac rezultatul obinut este mai mare microcontrolerul scade curentul trimis motorului
i astfel se micoreaz viteza.
Procesul de mrire a vitezei
Dac rezultatul obinut n urma comparrii este mai mic, microcontrolerul crete
curentul transmis motorului i astfel se realizeaz creterea vitezei.
Ambele decizii, att cea de cretere a vitezei ct i cea de micorare sunt luate de
variabila change.
Controlul ledurilor
Dac motorul nu este alimentat toate ledurile sunt oprite. Aprinderea ledurilor ncepe
de la ledul 1 spre ultimul led odat cu creterea curentului transmis motorului.
Procesul de terminare a ntreruperii
Sfritul procesului de ntrerupere se realizeaz cu instruciunea RETFIE.
La sfritul programului se pune instruciunea END.

Programul
list p=pic16f874
include p16f874.inc
__config _HS_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF
errorlevel -302 ;Suppress bank warnin;
Label Definition
speed equ d'8' ;Reference speed (5x8/256=0.156V)
change equ d'1' ;Change value (2mV/ms)
led equ h'20' ;LED control data save area;
Program Start
org 0 ;Reset Vector
goto init
org 4 ;Interrupt Vector
goto int; Initial Process init;
Port initialization
bsf STATUS,RP0; Change to Bank1
movlw b'00000001' ; AN0 to input mode
movwf TRISA; Set TRISA register
clrf TRISB; Set TRISB to uotput mode
clrf TRISC; Set TRISC to output mode
bcf STATUS,RP0; Change to Bank0
; A/D converter initialization
movlw b'10000001' ;ADCS=10 CHS=AN0 ADON=ON
movwf ADCON0 ;Set ADCON0 register
bsf STATUS,RP0 ;Change to Bank1
movlw b'00001110' ;ADFM=0 PCFG=1110
movwf ADCON1 ;Set ADCON1 register
bcf STATUS,RP0 ;Change to Bank0
; PWM initialization
clrf TMR2 ;Clear TMR2 register

62
movlw b'11111111' ;Max duty (low speed)
movwf CCPR1L ;Set CCPR1L register
bsf STATUS,RP0 ;Change to Bank1
movlw d'255' ;Period=1638.4usec(610Hz)
movwf PR2 ;Set PR2 register
bcf STATUS,RP0 ;Change to Bank0
movlw b'00000110' ;Pst=1:1 TMR2=ON Pre=1:16
movwf T2CON ;Set T2CON register
movlw b'00001100' ;CCP1XY=0 CCP1M=1100(PWM)
movwf CCP1CON ;Set CCP1CON register
; Compare mode initialization
clrf TMR1H ;Clear TMR1H register
clrf TMR1L ;Clear TMR1L register
movlw h'61' ;H'61A8'=25000
movwf CCPR2H ;Set CCPR2H register
movlw h'a8' ;25000*0.4usec = 10msec
movwf CCPR2L ;Set CCPR2L register
movlw b'00000001' ;Pre=1:1 TMR1=Int TMR1=ON
movwf T1CON ;Set T1CON register
movlw b'00001011' ;CCP2M=1011(Compare)
movwf CCP2CON ;Set CCP2CON register
; Interruption control
bsf STATUS,RP0 ;Change to Bank1
movlw b'00000001' ;CCP2IE=Enable
movwf PIE2 ;Set PIE2 register
bcf STATUS,RP0 ;Change to Bank0
movlw b'11000000' ;GIE=ON PEIE=ON
movwf INTCON ;Set INTCON register
wait
goto $ ;Interruption wait
; Interruption Process
int
clrf PIR2 ;Clear interruption flag
ad_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 ?

63
goto led_cont ;Yes. Jump to LED control
;--- control to fast speed ---
movlw change ;Set change value
subwf CCPR1L,f ;CCPR1L - Change value
btfsc STATUS,C ;Underflow ?
goto led_cont ;Jump to LED control
clrf CCPR1L ;Set fastest speed

; LED control Process


led_cont
comf CCPR1L,w ;Complement CCPR1L bit
movwf led ;Save LED data
movlw b'00010000' ;Set compare data
subwf led,w ;LED - data
btfsc STATUS,C ;Under ?
goto led1 ;No.
movlw b'00000000' ;Set LED control data
goto int_end ;Jump to interrupt end
led1 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 end
led2 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 end
led3 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 end
led4 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 end
led5 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 end
led6 movlw b'11000000' ;Set compare data
subwf led,w ;LED - data

64
btfsc STATUS,C ;Under ?
goto led7 ;No.
movlw b'00111111' ;Set LED control data
goto int_end ;Jump to interrupt end
led7 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 end
led8 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

65

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