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

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

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

;
i

v av ns p sc

p sc
ns
ns

Figura 4. Cinematica micrii

xi n1

x e n2

n2
n1

Figura 5. Raportul de transfer

xek
i1 i2 i3 i 4 ik ;
xi1
y
iT e
yi

iT

Notm:
Rezult:

iC i1 i2 ;

iT iC i R i D

iR i3 i4 ;

i D i5 ik

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:


i yi

yi max
yi min

Capacitatea de reglare a lanului cinematic:

CR

i T max
iT min

CR

sau

i R max
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
iC
relaia:
y e1
b) Asocierea paralel:

Figura 7. Asocierea n parallel a lanurilor cinematice

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

Asocierea mixt:

Figura 8. Asocierea mixt a lanurilor cinematice

Asocierea mixt a lanurilor cinematice reprezint o asociere ntre lanurile cinematice


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

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

caracterizeaz printr-o vitez unghiular care nu se menine n raport constant cu frecventa


reelei electrice, ci variaz odat cu schimbarea regimului de funcionare sau cu modificarea
gradului de ncrcare al mainii.

ACIONRI CU MAINI SINCRONE.


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

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

Figura 10. Cu poli plini

Maina sincron cu poli apareni dezvolt un cuplu de anizotropie magnetic chiar i


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

MOTORUL 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.

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

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

UA = RAIA + LA
E = -Ken
M = KI
M - Mr = J

diA
dt

-E
(1)

d
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.
n

UA R AIA
UA
R I

(1 A A
Ke
Ke
UA

(3)

Substituind curentul prin cuplul corespunztor rezult ecuaia caracteristicii turaiecuplu.


UA
RA

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.
n

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 ,
VN)/K > 0,

dac V2 < VN ,
VN)/K < 0.

caracteristica se deplaseaz n sus cu 01 = (V1


deplasarea se realizeaz n jos cu 02 = (V2

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
(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
n

3
2
M

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
UA = RAIA + LA

diA
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:
IA

UA - EA
K ( 0 )

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
'
0.
i au sensurile inverse, deci I A
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.
IA

UA - EA
K

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:
KS

M
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
pinului

Pin
capsul

13

Tipul
pinulu
i
I

Descriere

Tipul
Buffer
-ului
ST\CM
OS
-

OSC2\CLKO
UT

14

MCLR

ST

Intrare de iniializare (reset)

RA0/AN0

I/O

TTL

RA1/AN1

I/O

RA2/AN2/VR
EF-

I/O

RA3/AN3/VR
EF+

I/O

RA4/TOCK1

I/O

RA5/AN4

I/O

RB0/INT
RB1
RB2
RB3/PGM
RB4

33
34
35
36
37

I/O
I/O
I/O
I/O
I/O

RB5

38

I/O

RB6/PGC

39

I/O

RB7/PGD

40

I/O

RC0/T1OSO/ 15
T1CKI
RC1/1OSI/CC 16
P2

I/O

RC2/CCP1

17

I/O

RC3/SCK/SC

18

I/O

OSC1\CLKIN

I/O

Intrarea oscilatorului
Ieirea oscilatorului

Poate fi folosit i ca intrare analogica


(canalul 0)
TTL
Poate fi folosit i ca intrare analogica
(canalul 1)
TTL
Poate fi folosit i ca intrare analogica
(canalul 2) sau ca referin negativ de
tensiune
TTL
Poate fi folosit i ca intrare analogica
(canalul 3) sau ca referin pozitiva de
tensiune
ST
Poate fi folosit i ca intrare de ceas
pentru Timer 0. Ieirea este de tip open
drain.
TTL
Poate fi folosit i ca intrare analogica
(canalul 4)
ST/TTL Poate fi folosit ca ntrerupere extern
TTL
TTL
TTL
TTL
Genereaz o ntrerupere la schimbarea
valorii
TTL
Genereaz o ntrerupere la schimbarea
valorii
ST/TTL Pin de ceas pentru programarea serial a
microcontroller-ului.
Genereaz o ntrerupere la schimbarea
valorii
ST/TTL Pin de date pentru programarea serial a
microcontroller-ului.
Genereaz o ntrerupere la schimbarea
valorii
ST
Intrare de ceas pentru TIMER1 sau
ieirea oscilatorului TIMER1
ST
Ieirea oscilatorului TIMER1, intrarea
de captur 2, ieirea de comparare 2 sau
ieirea PWM 2
ST
Intrarea de captur 1, ieirea de
comparare 1 sau ieirea PWM 1
ST
Intrare/Ieire de ceas pentru portul

37

L
RC4/SDI/SD
A
RC5/SDO
RC6/TX/CK

serial SPI sau I 2C


23
I/O
ST
Intrare de date pentru SPI sau
intrare/ieire de date pentru I 2C
24
I/O
ST
Ieire de date pentru SPI
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
I/O
ST/TTL Controlul citirii pentru PSP (portul
RE 0 / RD / AN 5 8
paralel)
Poate fi folosit i ca intrare analogica
(canalul 5)
I/O
ST/TTL Controlul scrierii pentru PSP (portul
RE1 / WR / AN 6 9
paralel)
Poate fi folosit i ca intrare analogica
(canalul 6)
I/O
ST/TTL CS (cip select) pentru PSP (portul
RE 2 / CS / AN 7 10
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 ntrun 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
RP0
0
0
1
1

Banc
0
1
0
1

0
1
2
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
Z
DC
C
TO
PD
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
ON
1Eh ADRES
H
1Fh ADCO
N0
Bancul 1
80h
INDF
81h
82h
83h
84h
85h
86h
87h
88h
89h
8Ah

OPTIO
N
_REG
PCL
STATU
S
FSR
TRISA
TRISB
TRISC
TRISD
TRISE

CCP2X

CCP2Y

CCP2 CCP2 CCP2


M3
M2
M1
Cei mai semnificativi 8 bii ai rezultatului conversiei A/D

CCP2
M0

ADCS
1

ADCS
0

CHS2

CHS1

ADO
N

CHS0

GO

Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului


FSR
RBPU
INTE
TOCS
TOSE
PSA
PS2
PS1
PS0
DG
Cei mai puin semnificativi 8 bii ai PC
IRP
RP1
RP0
TO
PD

DC

Adresarea indirecta a memoriei de date


Direcia datelor prin portul A (intrare/ieire)
Direcia datelor prin portul B (intrare/ieire)
Direcia datelor prin portul C (intrare/ieire)
Direcia datelor prin portul D (intrare/ieire)
IBF
OBF
IBOV
PSPMO Direcia datelor
DE
portul E (I/O)
Cei mai semnificativi 5 bii ai PC

prin

8Ch

PCLAT
H
INTCO
N
PIE1

8Dh

PIE2

8Eh
8Fh
90h
91h

PCON
SSPCO
N2
PR2
SSPAD
D
SSPSTA
T
TXSTA
SPBRG
-

Registru neimplementat fizic


Registru neimplementat fizic
GCEN ACKS ACKDT ACKE
RCEN
TAT
N
Perioad TIMER 2
Adresa portului serial sincron (n mod I C )

POR

BOR

PEN

RSEN

SEN

SMP

R/W

UA

BF

BRGH TRMT TX9D

8bh

92h
93h
94h
95h
96h
97h
98h
99h
9Ah
9Bh
9Ch
9Dh

GIE

PEIE

T0IE

INTE

RBIE

T0IF

INTIF

RBIF

PSPIE

ADIE

RCIE

TXIE

SSPIE

EEIE

BCLI
E
-

CCP1I
E
-

TMR2
IE
-

TMR1
IE
CCP2I
E

CKE

D/A

Registru neimplementat fizic


Registru neimplementat fizic
Registru neimplementat fizic
CSRC TX9
TXEN
SYNC
Generator baud rate
Registru neimplementat fizic
Registru neimplementat fizic
Registru neimplementat fizic
Registru neimplementat fizic
45

9Eh

ADRES
L
9Fh ADCO
N1
Bancul 2
100h INDF
101h
102h
103h

TMR0
PCL
STATU
S
FSR
PORTB
PCLAT
H
INTCO
N
EEDAT
A
EEADR

104h
105h
106h
107h
108h
109h
10A
h
10B
h
10C
h
10D
h
10E EEDAT
h
H
10Fh EEADR
H
Bancul 3
180h INDF
181h
182h
183h
184h
185h
186h
187h
188h
189h
18A
h
18B
h
18C

OPTIO
N
_REG
PCL
STATU
S
FSR
TRISB
PCLAT
H
INTCO
N
EECON

Cei mai puin semnificativi 8 bii ai rezultatului conversiei A/D


ADF
M

PCFG
3

PCFG
2

PCFG
1

PCFG
0

Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului


FSR
Registrul TIMER0 (8 bii)
Cei mai puin semnificativi 8 bii ai PC
IRP
RP1
RP0
Z
DC
C
TO
PD
Adresarea indirecta a memoriei de date
Registru neimplementat fizic
Portul B
Registru neimplementat fizic
Registru neimplementat fizic
Registru neimplementat fizic
Cei mai semnificativi 5 bii ai PC
GIE

PEIE

T0IE

INTE

RBIE

T0IF

INTIF

RBIF

Registrul de date EEPROM (cei mai puin semnificativi 8 bii)


Registrul de adrese EEPROM (cei mai puin semnificativi 8 bii)
-

Registrul de date EEPROM (cei mai semnificativi 6


bii)
Registrul de adrese EEPROM (cei mai
semnificativi 5 bii)

Folosit pentru adresarea indirecta a memoriei de date cu ajutorul registrului


FSR
RBPU
INTE
TOCS
TOSE
PSA
PS2
PS1
PS0
DG
Cei mai puin semnificativi 8 bii ai PC
IRP
RP1
RP0
TO
PD

DC

Adresarea indirecta a memoriei de date


Registru neimplementat fizic
Direcia datelor prin portul B (intrare/ieire)
Registru neimplementat fizic
Registru neimplementat fizic
Registru neimplementat fizic
Cei mai semnificativi 5 bii ai PC
GIE

PEIE

T0IE

INTE

RBIE

T0IF

INTIF

RBIF

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

I/O

ST

RA5/AN4

I/O

TTL

Regitri asociai portului A:


Adres Nume
Bit 7
a
05h
PORTA
85h
TRISA
9Fh
ADCON1 ADFM

Poate fi folosit i ca intrare de ceas pentru


Timer 0. Ieirea este de tip open drain.
Poate fi folosit i ca intrare analogica
(canalul4)

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Portul A
Direcia datelor prin portul A (intrare/ieire)
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
pin
RC0/T1OSO/T1CKI 15 I/O

Tip
Buffer
ST

RC1/1OSI/CCP2

16

I/O

ST

RC2/CCP1

17

I/O

ST

RC3/SCK/SCL

18

I/O

ST

RC4/SDI/SDA

23

I/O

ST

RC5/SDO
RC6/TX/CK

24
25

I/O
I/O

ST
ST

RC7/RX/DT

26

I/O

ST

Descriere
Intrare de ceas pentru TIMER1 sau ieirea
oscilatorului TIMER1
Ieirea oscilatorului TIMER1, intrarea de
captur 2, ieirea de comparare 2 sau ieirea
PWM 2
Intrarea de captur 1, ieirea de comparare 1 sau
ieirea PWM 1
Intrare/Ieire de ceas pentru portul serial SPI
sau I 2C
Intrare de date pentru SPI sau intrare/ieire de
date pentru I 2C
Ieire de date pentru SPI
Transmisie asincrona USART sau ceas pentru
modul sincron
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
a
07h
PORTC Portul C
87h
TRISC Direcia datelor prin portul C (intrare/ieire)

Bit 1

Bit 0

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

50

Bit 3

Bit 2

Bit 1

Bit 0

a
08h
88h
89h

PORTD Portul D
TRISD Direcia datelor prin portul D (intrare/ieire)
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
RE 0 / RD / AN 5

I/O

Tip
Buffer
ST/TTL

RE1 / WR / AN 6

I/O

ST/TTL

RE 2 / CS / AN 7

10

I/O

ST/TTL

Descriere
Controlul citirii pentru PSP (portul paralel)
Poate fi folosit i ca intrare analogica
(canalul5)
Controlul scrierii pentru PSP (portul
paralel)
Poate fi folosit i ca intrare analogica
(canalul6)
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
6
09h
PORTE
89h
TRISE
IBF
OBF IBOV PSPMODE 9Fh

ADCON1 ADFM -

Timer-e
PIC16F874 are 3 timer-e:

Bit 2

Bit 1

Bit 0

Portul E
Direcia datelor prin portul
E (I/O)
PCFG3 PCFG2 PCFG1 PCFG0

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
a
0Bh
81h

Nume

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

INTCON GIE PEIE


T0IE INTE RBIE
OPTION RBPU INTEDG TOCS TOSE PSA
_REG
TMR0
Registrul TIMER0 (8 bii)

Bit 2

Bit 1

Bit 0

T0IF
PS2

INTIF
PS1

RBIF
PS0

01h
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
0Bh
INTCON GIE
PEIE T0IE
INTE RBIE T0IF
INTIF
0Ch
PIR1
PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF
8Ch
PIE1
PSPIE ADIE RCIE TXIE SSPIE CCP1IE TMR2IE
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

Bit 0
RBIF
TMR1IF
TMR1IE
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
0Bh
INTCO GIE
PEIE
T0IE
N
0Ch
PIR1
PSPIF ADIF
RCIF
8Ch

PIE1

PSPIE

11h
12h

TMR2
T2CO
N
PR2

Registrul TIMER2 (8 bii)


TOUT TOUT
PS3
PS2
Perioad TIMER 2

92h

ADIE

RCIE

Modulul de generare a tensiunii PWM

52

Bit 4
INTE

Bit 3
RBIE

Bit 2
T0IF

Bit 1
Bit 0
INTIF RBIF

TXIF

SSPIF

TXIE

SSPIE

CCP1
IF
CCP1
IE

TMR
2IF
TMR
2IE

TMR1
IF
TMR1
IE

TOUT
PS1

TOUT
PS0

TMR
2ON

T2CP
S1

T2CP
S0

PWM = Pulse Width Modulation (modularea impulsurilor n durat). Microcontrollerul 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
frecven.
Regitri asociai modulului PWM:
Adr Nume Bit 7 Bit 6 Bit 5
Bit 4 Bit 3
Bit 2
Bit 1
esa
0Bh INTC GIE PEIE T0IE
INT RBIE
T0IF
INTIF
ON
E
0Ch PIR1
PSPI ADI RCIF
TXI SSPIF CCP1I TMR2
F
F
F
F
IF
8Ch PIE1
PSPI ADI RCIE TXI SSPIE CCP1I TMR2
E
E
E
E
IE
11h TMR2 Registrul TIMER2 (8 bii)
12h T2CO TOUT TOUT TOUT TOUT TMR T2CP
N
PS3
PS2
PS1
PS0
2ON
S1
92h PR2
Perioad TIMER 2
8Dh PIE2
EEIE
BCLI E
0Dh PIR2
EEIF
BCLI F
15h CCPR Captur1 / comparare1 / PWM1
(LSB)
1L

53

avea aceeai
Bit 0
RBIF
TMR1
IF
TMR1
IE
T2CP
S0
CCP2I
E
CCP2I
F

16h
17h
1Bh
1Ch
1Dh
87h

CCPR
1H
CCP1
CON
CCPR
2L
CCPR
2H
CCP2
CON
TRIS
C

Captur1 / comparare1 / PWM1


-

(MSB)

CCP1 CCP1 CCP1 CCP1


X
Y
M3
M2
Captur2 / comparare2 / PWM2
(LSB)
Captur2 / comparare2 / PWM2
-

CCP1
M1

CCP1
M0

CCP2
M1

CCP2
M0

(MSB)

CCP2 CCP2 CCP2 CCP2


X
Y
M3
M2
Direcia datelor prin portul C (intrare/ieire)

Portul serial. Modulul USART


(Universal Synchronus Asynchronus Reciever Transmitter)
USART, cunoscut i ca interfa serial de comunicaie (SCI), poate fi configurat n trei
moduri:
mod asincron
full duplex
mod sincron master
half duplex
mod sincron 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
esa
0Bh INTC GIE PEIE T0IE
INTE RBI
ON
E
0Ch PIR1
PSPI ADI RCIF
TXIF
SSPI
F
F
F
18h RCST SSP RX9 SREN CREN AD
A
EN
DEN
19h TXRE Registrul de transmisie USART
G
8Ch PIE1
PSPI ADI RCIE TXI SSPIE
E
E
E
98h TXST CSR TX9 TXEN SYN A
C
C
99h SPBR Generator baud rate
G

Bit 2

Bit 1

Bit 0

T0IF

INTIF

RBIF

CCP1I
F
FERR

TMR2
IF
OERR

TMR1
IF
RX9D

CCP1I TMR2 TMR1


E
IE
IE
BRGH TRMT TX9D

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
esa
0Bh INTC GIE PEIE T0IE
ON
0Ch PIR1
PSPI ADI RCIF

Bit 4

Bit 3

INTE

RBI T0IF
E
SSPI CCP1I

TXIF
55

Bit 2

Bit 1

Bit 0

INTIF

RBIF

TMR2

TMR1

18h
1Ah
8Ch
98h
99h

RCST
A
RCRE
G
PIE1
TXST
A
SPBR
G

F
F
SSP RX9 SREN CREN
EN
Registrul de recepie USART
PSPI ADI RCIE
E
E
CSR TX9 TXEN
C
Generator baud rate

F
-

F
FERR

TXI SSPIE
E
SYN C

Regitri pentru starea vitezei de comunicare


Adr Nume Bit 7 Bit 6 Bit 5
Bit 4
esa
98h TXST CSR TX9 TXEN SYNC
A
C
99h SPBR Generator baud rate
G

IF
RX9D

CCP1I TMR2 TMR1


E
IE
IE
BRGH TRMT TX9D

Bit 3

Bit 2

BRGH TRMT TX9D

Setarea vitezei de comunicare pentru Fosc = 4MHz


BRGH BAUD SPBRG
RATE
(K)
0,3
207
1,2
51
2,4
25
9,6
6
0
19,2
2
28,8
1
33,6
57,6
0
0,3
1,2
207
2,4
103
9,6
25
1
19,2
12
28,8
8
33,6
6
57,6
3

Eroare
%
0
0,17
0,17
6,99
8,51
8,51
8,51
0,17
0,17
0,16
0,16
3,55
6,29
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

IF
OERR

Bit 1

Bit 0

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
esa
0Bh INTC GIE PEIE T0IE
INTE
ON
0Ch PIR1
PSPI ADI RCIF
TXIF
F
F
0Dh PIR2
EEIF
8Ch

PIE1

8Dh

PIE2

81h

OPTI
ON
_REG

PSPI
E
-

ADI
E

RBPU

INT
EDG

RCIE

TXIE

EEIE

TOCS

TOSE

Bit 3

Bit 2

Bit 1

Bit 0

RBI
E
SSPI
F
BCL
IF
SSPI
E
BCL
IE
PSA

T0IF

INTIF

RBIF

CCP1I
F
-

TMR2
IF
-

CCP1I
E
-

TMR2
IE
-

PS2

PS1

TMR1
IF
CCP2I
F
TMR1
IE
CCP2I
E
PS0

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