UNIVERSITATEA
Facultatea de Electronică, Electronică, comunicaţii şi calculatoare calculatoare Specializarea: Specializarea: Inginerie Electrică
U!RARE "E I!EN#$
Indrumător proiect: Conf. dr. Ing.
Absolvent
2010
!U%RINS
Capitolul 1 – Sisteme de reglare pentru acţionări electrice.............................3 electrice.............................3 Capitolul 2 – otorul de curent continuu.......................................... continuu.......................................................! .............! Capitolul 3 – "ncodere pentru mi#cări de rotaţie..........................................1$ rotaţie..........................................1$ Capitolul % – &rgani'area unui microsistem de comandă cu microcontrolerul (IC 1)*!++......................................... 1)*!++...................................................................... ..........................................................2 .............................2,, Capitolul , – (roiectarea sistemului de măsurare #i reglare......--......-3+ reglare......--......-3+ Conclu'ii-------------------------...,$ ibliografie.............................................. ibliografie........................................................................... .....................................................)1 ........................)1 Ane/e................................................ Ane/e............................................................................. .......................................................... ...............................)3 ..)3
2
!A%IT&U ' Si(teme de reglare pentru acţionări electrice ')' Si(teme cu *uclă de(c+i(ă şi *ucla nc+i(ă Sistemele de control0 n general0 pot fi mpărţite in doua categorii: sisteme cu bucla descisa sisteme cu bucla incisa Intrun sistem cu bucla descisa0 controlerul calculea'a independent valoarea tensiunii sau curentului necesar actuatorului pentru a indeplini sarcina propusa si o trimite la acesta. In acest mod0 controlerul nu va sti daca actuatorul a reali'at sarcina de lucru propusa0 deoarece nu e/ista reactie inversa din din partea actuatorului. actuatorului. Altfel spus0 controlerul nu primeste nici o informatie din partea actuatorului. Acest tip de sistem depinde doar de cunoasterea de catre controler a caracteristicilor si parametrilor actuatorului. actuatorului. In figura urmatoare se pre'inta scema bloc a unui sistem cu bucla descisa. Actuatorul este un motor ce conduce un brat de robot. In acest ca'0 procesul este bratul de robot ce se roteste0 iar variabila controlata este po'itia ungiulara ungiulara a bratului de robot. Cons Consid ider eram am ca vite vite'a 'a ung ungiu iula lara ra a mo moto toru rulu luii este este de , grad gradee pe secu secund nda. a. (resupunem ca acest controler a primit sarcina de a deplasa bratul de robot cu 34 de grade. Inseamna ca durata cat se aplica tensiunea la motor va fi de ) secunde. Sar putea0 in 'ilele reci0 cand lubrifiant lubrifiantul ul este mai vascos0 bratul bratul de robot sa se deplase'e doar cu 2, de grade. Apare astfel o eroare de , grade. Controlerul nu are cum sa stie de ea si nu va actiona in vreun fel pentru reducerea acestei erori.
3
Sistemele cu bucla descisa sunt potrivite in aplicatiile unde actuatorii e/ecuta operat operatii ii repeta repetabil bilee si sigure sigure.. 5eleel 5eleelee si motoar motoarele ele pas cu pas sunt sunt dispo dispo'it 'itive ive cu caracteristici ce pre'inta un grad de siguranta in control. Intrun Intrun sistem sistem cu bucla bucla incisa0 incisa0 iesirea iesirea procesul procesului ui 6variabi 6variabila la controla controlata7est ta7estee permanent controlata de un sen'or0 sen'or0 cum este aratat in figura urmatoare. Sen'orul ia cateva probe de la iesirea sistemului si converteste aceasta masuratoare intrun semnal electric0 ce este adus inapoi la controler. controler.
8eoarece controlerul stie de fapt ce actiune reali'ea'a sistemul0 poate face cateva a9ustari pentru a readuce iesirea sistemului la valoarea necesara. recerea semnalului de la controler catre actuator formea'a calea directa0 iar trecerea semnalului de la sen'or catre controler este calea de reactie0 calea inversa. Inaintea controlerului se gaseste un comparator. Acesta efectuea'a o operatie de scadere dintre semnalul de referinta si semnalul primit de la sen'or. Astfel0 ia nastere semnalul semnalul de eroare eroare al sistemul sistemului. ui. Acest semnal este diferent diferentaa dintre dintre unde esti acum si unde tiai dorit sa fii. Controlerul intotdeauna intotdeauna actionea'a pentru a micsora aceasta eroare;
%
Controlerul poate utili'a o strategie de control mai simpla sau mai comple/a pentru a minimi'a aceasta eroare a sistemului. & strategie de control simpla se poate referi la oprirea sau pornirea unui actuator0 de e/emplu un radiator ce este pornit sau oprit pentru a mentine temperatura la un nivel dorit. Consideram acum e/emplul cu bratul de robot0 dar intrun sistem cu bucla incisa. (o'itia initiala a bratului de robot este la 4<. 8orim sa aducem bratul de robot in po'itia ungiulara de 34<. 8e data aceasta intervine un potentiometru care este montat pe a/ul motorului si are rol de sen'or de po'itie. (e masura ce motorul se roteste0 se va roti si potentiometrul. Astfel e/ista o dependenta liniara intre re'istenta potentiometrului si po'itia bratului de robot. Informatia de la potentiometru poate fi convertita usor intro tensiune ce va fi pre'enta la intrarea comparatorului. Initial0 comparatorul sesi'ea'a diferenta mare dintre valoarea propusa de 34< si valoarea reala de 4<. Astfel0 semnalul de eroare va fi ma/im si motorul se va roti. Astfel0 semnalul de eroare se va micsora si la un moment dat va fi 'ero. Astfel0 la acest moment motorul se opreste0 atingand po'itia dorita.
Caracteristica de autocorectie ale controlului prin bucla incisa determina alegerea acestui mod de control in locul controlului prin bucla descisa in multe aplicatii0 ciar daca e/ista componente electronice aditionale. Se intampla acest lucru pentru ca sistemele cu bucla incisa furni'ea'a performante sigure si repetabile ciar atunci cand componentele sistemului insusi nu au caracteristici absolut precise sau repetabile.
,
')- !&NTR&ER %I"
=n controler proporţional.integral.deri/ati/ este mecanism de feedbac> des utili'at n sistemele de control industriale. (I8 este cel mai utili'at tip de controler de feedbac>. =n controler (I8 calculea'a valoarea de erorii ca diferenţa dintre variabila măsurată #i cea setată a fi obţinută. Controlerul ncearcă să minimite'e eroarea prin a9ustarea intrărilor sistemului de control. (entru cele mai bune performanţe0 parametrii (I8 utili'aţi n sistem trebuie proiectaţi n funcţie de natura acestuia. Algoritmul controlerului (I8 implică trei parametri numiţi #i cei trei termeni de control
(5&(&5?I&@A
I@"B5A
8"5IAI
Aceste valori sunt notate cu (0 I #i 8. aloarea proporţională determină reacţia la curentul de eroare. aloarea integrală determină reacţia pe ba'a sumei erorilor recente. aloarea deri/ati/ă determină reacţia ba'ată pe rata la care eroare sa scimbat. Aceste trei acţiuni sunt utili'ate pentru a9ustarea procesului printrun un element de control cum ar fi po'iţia valvei sau sursa de alimentare a unui element termic. "uristic0 aceste valori pot fi interpretate n termeni de timp: % depinde de eroarea prezentă0 I de
acumularea erorilor trecute iar " e(te o predic0ie a erorilor /iitoare) (rin combinarea celor trei constante ntrun algoritm (I80 controlerul poate asegura controlul pentru procesul sistemului dar utili'area acestuia nu poate garanta controlul optim al sistemului sau stabilitatea acestuia. =nele aplicaDii necesită folosirea a unei sau a două dintre contante pentru a asigura controlul optim. =n controler (I8 poate fi numit controler (I0 (8 0 ( sau I n funcDie de acţiunile sale. (I este cel mai utili'at controler n timp ce (8 este foarte sensibil la 'gomot.
)
+
!apitolul 1otorul de curent continuu
-)' 1otorul de curent continuu a fost inventat n 1!+3 de EFnobe Bramme prin conectarea unui generator de curent continuu la un generator asemănător. Astfel0 a putut observa că ma#ina se rote#te0 reali'Gnd conversia energiei electrice absorbite de la generator. otorul de curent continuu are pe stator polii magnetici #i bobinele polare concentrate care creea'ă cGmpul magnetic de e/citaţie. (e a/ul motorului este situat un colector ce scimbă sensul curentului prin nfă#urarea rotorică astfel ncGt cGmpul magnetic de e/citaţie să e/ercite n permanenţă o forţă faţă de rotor.
-)- 2eneratoarele de curent continuu 8acă un rotor se nvGrte ntre doi poli magnetici staţionari0 curentul din rotor circulă ntro direcţie pe parcursul unei 9umătăţi de rotaţie #i n cealaltă pe parcursul celeilalte 9umătăţi. (entru a produce o trecere constantă0 ntro singură direcţie a curentului dintrun astfel de dispo'itiv0 este necesară furni'area unui mi9loc prin care curentul re'ultat să aibă acela#i sens pe parcursul ntregii rotaţii. a ma#inile mai veci această este reali'ată cu a9utorul unor plăcuţe colectoare0 un inel de metal mpărţit n două0 montat pe a/ul rotorului. Cele două 9umătăţi sunt i'olate #i sunt bornele bobinei. (erii fi/e de metal sau carbon sunt ţinute pe plăcuţele colectoare n timp ce acestea se rotesc0 conectGnd electric bobina la fire e/terioare. Hn timp ce rotorul se nvGrte0 fiecare perie intră n contact alternativ cu plăcuţele colectoare0 scimbGndu#i po'iţia n momentul cGnd curentul din bobină #i scimbă sensul. Astfel circuitul e/terior la care generatorul este conectat este alimentat cu un curent continuu. Beneratoarele de curent continuu sunt de obicei folosite la tensiuni mici pentru a evita scGnteile dintre perii #i plăcuţe care re'ultă la tensiuni mari. Cel mai mare potenţial obţinut n general de astfel de generatoare este de 1,44 de volţi. Hn unele ma#ini mai noi această inversare se face folosind dispo'itive electronice de mare putere0 cum ar fi de e/emplu diode redresoare. Beneratoarele moderne folosesc rotoare cilindrice care0 de obicei sunt constituite dintrun număr mare de bobina9e a#e'ate longitudinal n lăca#uri speciale #i conectate la
!
plăcuţe colectoare. Hntrun bobina9 n care este un număr mic de lăca#uri0 curentul produs va cre#te #i scădea n funcţie de partea de cGmp magnetic prin care rotorul trece. =n bobina9 compus din mai multe segmente #i un rotor circular conectea'ă n permanenţă circuitul aproape constant deoarece ntotdeauna un bobina9 longitudinal se deplasea'ă printro suprafaţă cu un cGmp magnetic intens. CGmpurile de la generatoarele moderne sunt de obicei din patru sau mai mulţi poli0 pentru a cre#te mărimea #i puterea cGmpului magnetic. CGteodată poli mai mici sunt adăugaţi pentru a compensa distorsiunile din flu/ul magnetic cau'at de efectul magnetic al rotorului.
-)' 1otoarele cu curent continuu
Hn general0 sunt similare n construcţie cu generatoarele de curent continuu. "le pot0 de fapt să fie descrise ca generatoare care funcţionea'ă inversJ. CGnd curentul trece prin rotorul unui motor0 este generat un cGmp magnetic care generea'ă o forţă electromagnetică0 #i ca re'ultat rotorul se rote#te. Acţiunea periilor colectoare #i a plăcuţelor colectoare este e/act aceia#i ca la generator. 5otaţia rotorului induce un volta9 n bobina9ul rotorului. Acest volta9 indus are sens opus volta9ului e/terior aplicat rotorului. Hn timp ce motorul se rote#te mai rapid0 volta9ul re'ultat este aproape egal cu cel indus. Curentul este mic0 #i vite'a motorului va rămGne constantă atGt timp cGt asupra motorului nu acţionea'ă nici o sarcină0 sau motorul nu efectuea'ă alt lucru mecanic decGt cel efectuat pentru nvGrtirea rotorului. CGnd asupra rotorului se aplică o sarcină0 volta9ul va fi redus #i un curent mai mare va putea să treacă prin rotor. Astfel0 motorul este capabil
$
să primească mai mult curent de la sursa care l alimentea'ă0 #i astfel să efectue'e mai mult lucru mecanic. 8eoarece vite'a rotaţiei controlea'ă trecerea curentului prin rotor0 mecanisme speciale trebuie folosite pentru pornirea motoarelor cu curent continuu. CGnd rotorul se află n repaus0 el0 efectiv0 nu are nici o re'istenţă0 #i dacă volta9ul normal este aplicat0 va trece un curent mare0 ceea ce ar putea avaria periile colectoare sau motorul. i9loacele obi#nuite pentru prevenirea acestor accidente este folosirea n serie a unei re'istenţe0 la nceput0 mpreună cu rotorul0 pentru a limita curentul pGnă cGnd motorul ncepe să de'volte un curent suficient. (e parcurs ce motorul prinde vite'ă0 re'istenţa este redusă treptat0 fie manual ori automat. ite'a cu care un motor cu curent continuu funcţionea'ă0 depinde de puterea cGmpului magnetic care acţionea'ă asupra rotorului0 cGt #i de curentul rotorului. Cu cGt este mai puternic cGmpul magnetic0 cu atGt este mai mică rată rotaţiei necesare să cree'e un curent secundar necesar pentru a contracara curentul aplicat. 8in acest motiv vite'a motoarelor cu curent continuu poate fi controlată prin variaţia cGmpului curentului. Hn funcţie de modul de conectare a nfă#urării de e/citaţie motoarele de curent continuu pot fi clasificate n:
motor cu e/citaţie independentă unde nfă#urarea statorică #i nfă#urarea rotorică sunt conectate la două surse separate de tensiune
motor cu e/citaţie paralelă unde nfă#urarea statorică #i nfă#urarea rotorică sunt legate n paralel la aceea#i sursă de tensiune
motor cu e/citaţie serie unde nfă#urarea statorică #i nfă#urarea rotorică sunt legate n serie
motor cu e/citaţie mi/tă unde nfă#urarea statorică este divi'ată n două nfă#urări0 una conectată n paralel #i una conectată n serie.
!aracteri(ticile motoarelor de curent continuu Scema electrică ecivalentă a unui motor de curent continuu este ca aceea pre'entată n figură de mai 9os. 14
IaK 5 a "/ =
"
Hn Ie
scemă
această 5a
repre'intă =e re'istenţa nfă#urării rotorice 6a indusului7 a motorului de curent continuu0 = este tensiunea de alimentare a motorului iar I aK este curentul absorbit de motor 6curentul principal din indusul motorului7. " repre'intă tensiunea electromotoare indusă n nfă#urarea rotorică0 aceasta are sens opus curentului rotoric. "/ este nfă#urarea de e/citaţie a motorului alimentată cu tensiunea = e iar Ie este curentul absorbit de nfă#urarea de e/citaţie. Scriind teorema a IIa a lui Lircoff pentru circuitul indusului avem: " M 5 a IaK – = U E
IaK M Ra
de unde:
a pornire0 cGnd turaţia motorului este nulă0 tensiunea electromotoare " indusă n nfă#urarea rotorică este nulă #i0 ca urmare0 curentul absorbit de motor este foarte mare0 el poate fi de )...24 de ori mai mare decGt curentul nominal. (rin urmare este necesară reducerea acestuia cu a9utorul unui reostat de pornire nseriat cu circuitul rotoric. Curentul de pornire al motorului va fi: I p
U Ra R p
aloarea turaţiei motorului de curent continuu se poate e/prima astfel:
n
E k E
U Ra I a N k E
U Ra
M N k M
k E
U
Ra M N k M
k E
Această e/presie ne arată care sunt factorii ce influenţea'ă turaţia motorului de curent continuu.
11
1otorul de curent continuu cu e3citaţie n deri/aţie (au (eparată are o caracteristică mecanică n6K7 rigidă deoarece flu/ul magnetic de e/citaţie O este constant 6tensiunea = e este constantă7. Aceste motoare se folosesc n acţionări electrice unde turaţia este practic constantă independent de sarcină 6cuplul K7. 5egalarea turaţiei la aceste motoare se poate face prin modificarea tensiunii = de alimentare sau prin modificarea curentului de e/citaţie 6deci a flu/ului de e/citaţie O7. 8in e/presia turaţiei n se observă că la o eventuală funcţionare n gol a motorului0 cGnd K M 40 dacă flu/ul de e/citaţie O scade turaţia motorului poate cre#te foarte mult. Se pre'intă n figură de mai 9os caracteristica mecanică a motorului de curent continuu cu e/citaţie derivaţie sau separată 6ca'ul a7 precum #i caracteristicile mecanice la modificarea tensiunii 6ca'ul b7 #i la modificarea curenului de e/citaţie 6ca'ul c7. n
n
&
a Caracteristica mecanică a motorului cu e/citaţie derivaţie sau separată
n
n
IeMconst.
&
b Caracteristicile mecanice ale motorului cu e/citaţie derivaţie sau separată la modificarea tensiunii
&
=Mconst.
c Caracteristicile mecanice ale motorului cu e/citaţie derivaţie sau separată la modificarea e/citaţiei
Se observă că turaţia se poate modifica n limite largi prin modificarea tensiunii de alimentare 6ca'ul b7 dar este necesară o sursă de curent continuu cu tensiune reglabilă.
12
(rin modificarea curentului de e/citaţie turaţia se modifică0 dar nu n limite prea largi. Se folosesc n practica acţionărilor electrice sisteme cs combină cele două principii de modificare ale turaţiei.
1otorul de curent continuu cu e3citaţie (erie are o caracteristică mecanică de formă celei pre'entate n figură de mai 9os. Caracteristica mecanică are o formă de variaţie suplă0 favorabilă sistemelor de tracţiune electrică. Astfel0 se observă că la o cre#tere accidentală a cuplului re'istent0 cGnd intervine inerent o mic#orare a turaţiei motorului 6cGnd ma#ina urcă o pantă0 de e/emplu7 cuplul de'voltat de motor cre#te pGnă ce va egala cuplul mecanic re'istent. Această caracteristică este e/trem de utilă la ma#inile de ridicat sau la ma#inile de e/tracţie. "ste important de menţionat faptul că motorul cu e/citaţie serie nu poate funcţiona n gol0 adică fără să antrene'e mecanic un utila9 care să aibă un cuplu nre'istent. 8acă valoarea cuplului scade foarte mult turaţia motorului cre#te la valori foarte mari0 indmisibile. 8e aceea pentru a limita turaţia motorului la o valoare n ma/ este necesar că valoarea cuplului să nu scadă sub o valoare minmă min.
n nma/ nn
&
min n
ma/
13
uraţia motorului cu e/citaţie serie se poate regla prin modificarea tensiunii de alimentare sau prin modificarea curentului de e/citaţie.
1otorul de curent continuu cu e3citaţie mi3tă are două nfă#urări de e/citaţie: una conectată n derivaţie 6paralel7 #i alta conectată n serie. 8e regulă nfă#urarea serie este cuplată magnetic adiţional re'ultGnd astfel caracteristici mecanice de formă intermediară ntre cele ale motorului derivaţie #i serie. Asemenea motoare se folosesc n tracţiunea electrică0 de e/emplu la troleibu'e. a aceste motoare se poate modifica u#or turaţia prin reglarea curentului de e/citaţie.
-)4 Elemente de acţionare -)4)' "i(poziti/e de putere 5 Tranzi(torul 1&S Circuitele integrate &S au fost reali'ate la nceput n tenologia (&S0 datoriă predictibilităţii tensiunii de prag pentru tran'istoarele (&S. (e masură perfecţionării tenologiei prin recurgerea la implantare ionică0 tran'istorul @&S a devenit tot mai raspGndit. "voluţia tenologiei a condus0 n continuare0 la apariţia dispo'itivelor C&S. Acest capitol este consacrat tran'istoarelor @&S #i (&S din punctul de vedere al structurii #i operării.
*ig 2.1 Secţiune transversală printro celulă n&S
1%
b
a *ig 2.2 Structura tran'istor
Hn figura de mai 9os se pre'intă: 6a7 mă#tile pentru un tran'istor @&S0 6b7 o secţiune transversală prin structura tran'istorului #i familiile de caracteristici 6c7 I 8S M f6 8S0BS70 6d7 I8S M f6BS070 pentru 8S M const. ensiune este tensiunea de polari'are a substratului. odificarea acestei tensiuni de polari'are conduce la modificarea tensiunii de prag.
a b *ig 2.3 6a7 mastile pentru un tran'istor @&S0 6b7 o secţiune transversală prin structura
1,
c
d
*ig 2.% *amiliile de caracteristici ale tran'istorului @&S
ai 9os se pre'intă o secţiune prin: a structura tran'istorului #i b caracteristicile I 8S M f68S7.
a b *ig 2., a structura tran'istorului #i b caracteristicile I 8S M f68S7
-)4)- &perarea tranzi(torului) &perarea tran'istorului poate fi e/aminata n cadrul a doua regiuni: regiunea liniara #i regiunea de saturatie 6pincoff7
1)
*ig2.) Structura tran'istorului #i tensiunea drenasursa
*ig2.+ erminalele tran'istorului &S #i caracteristicile ensiuneCurent
-)4)4 Ecuatia curentului I"S) In cele ce urmea'a se vor deduce o serie de ecuatii pentru curentul I 8S0 pe ba'a modelului simplificat al controlului prin sarcina. (entru regiunea liniara0 unde BSP tn #i 8 Q B tn0 se poate presupune o distributie uniforma a sarcinii0 ceea ce face ca urmatoarea ecuatie sa fie valida: Rc Co/ 6BS tn 7 unde Rc este densitatea de sarcina n canal 6coulombiTunitatea de arie7 #i C o/ este capacitatea portii pe unitatea de arie. Se poate observa ca semnul este negativ datorita faptului ca sarcina este constituita din electroni. "lementele geometrice ce caracteri'ea'a canalul – lungime0 U latime sunt pre'entate n figura urmatoare:
1+
*ig 2.! "lementele geometrice ce caracteri'ea'a canalul – lungime0 U latime 5aportul UT poarta numele de raport aspect.
-)4)6) Ten(iunea de prag 7Vtn8) ensiunea de prag poate fi definita ca tensiunea ntre poarta #i sursa unui dispo'itiv &S sub valoarea careia curentul I 8S devine 'ero. Considerand o valoare mica pentru BS se pot face urmatoarele constatari: sarcina initiala n canal se datorea'a numai acceptorilor ioni'at din regiunea saraca V concentratia de purtatori minoritari de la suprafata devina egala cu concentratia purtatorilor ma9oritari din substratV cresterea n continuarea a lui BS induce un puternic strat de inversieV tensiunea de prag tnT tp poate fi controlata prin modificarea grosimii stratului de dio/id de siliciu t o/0 care nu constituie un parametru de proiectare0 fiind controlat de specialistul n procesul de fabricatie.
!apitolul 4 1!
Encodere pentru mă(urări de rotaţie 4)' Encodere liniare 8eplasarea liniara poate fi măsurată #i transmisă de un dispo'itiv denumit encoder0 fără să se utili'e'e vreo formă de conversie analogdigitala deoarece semnalul de ie#ire de ba'ă este de9a ntrun format digital. Hn mediul industrial termenul encoder liniar se referă la traductoare Standard ba'ate pe forme geometrice aplicate dea lungul unei scale liniare #i detectate prin una sau mai multe metode. "ncoderele liniare sunt disponibile pentru citiri incrementale sau absolute #i cuprind tenici de detecţie de ţip: optic: magneticV capacitivV ba'ate pe perii. "ncoderele trebuie să ofere #i caracteristici cum ar fi: soliditateV re'oluţieV dimensiuni fi'ice mici. Istoria encoderelor Cel mai veci tip de encoder este cel ba'at pe perii. ai multe lamele de metal reali'ea'ă un contact mecanic pe o suprafaţă mpărţită n 'one conducătoare #i i'olatoare. CGnd lamela se afla n contact cu un segment conducător se ncide un contact electric0 altfel contactul rămGne descis. Constructiv0 encoderul este format dintrun cap de citire fi/at rigid de partea mobila a ma#inii unelte care se deplasea'ă liniar peste o suprafaţă formată din grila de suprafeţe conducătoare sau i'olatoare.
1$
8e'avanta9ul cel mai mare al acestei tenici de măsurare este u'ura mare a lamelelor #i suprafeţelor de contact0 sau ciar defectări ale lamelelor. 8upă 1$$4 acest tip de encodere0 considerat depă#it din punct de vedere tenic0 nu a mai fost acceptat n scemele de măsurare industriale0 fiind total nlocuit cu cele optice sau magnetice.
4)- Encodere incrementale şi a*(olute "ncoderul absolut oferă ntotdeauna informaţie referitoare la distanţa faţă de po'iţia de start. 8acă la po'iţia curentă0 codul este de e/emplu $+)140 codat binar pe 14 biţi nseamnă că distanţă faţă de origine este $+)14 /0 e/primată binar 11411411442. Hn ca'ul encoderelor incrementale0 la ie#irea encoderului se oferă numai un bit de informaţie sau doi biţi n ca'ul codoarelor n Wuadratura la $44. Ie#irea codorului informea'ă prin modificarea bitului 4 sau 1 dacă mi#carea părţii mobile a depă#it valoarea unui increment
/. renul de impulsuri generat modifică valoarea unui
numărător upTdoXn. 8istanţa este dată de valoarea numărătorului. a encoderele incrementale cu 2 biţi n Wuadratura cel deal doilea bit serve#te la detectarea sensului mi#cării. Hn plus
24
detectoarele incrementale mai pot oferi #i un bit 6impuls7 de inde/ care se poate utili'a la detectarea unei soluţii complete a unui arbore.
4)4 Encodere optice =n encoder optic utili'ea'ă o perece emiţătorTreceptor. "miţătorul este o sursă de lumină0 de obicei o diodă "80 iar receptorul un fototran'istor. Al doilea receptor optic este util n ca'ul encoderelor incrementale0 fiind po'iţionat la o distanţă necesară pentru a produce o deplasare cu $44 ntre cele două ie#iri0 obţinGnduse o ie#ire n Wuadratură.
4)6 Encodere magnetice =n encoder magnetic utili'ea'ă o bandă magnetică n care e nregistrată informaţia de po'iţie #i dispune de un sen'or magnetic pentru citirea datelor. Sen'orii sunt de obicei traductori cu efect Yall sau cu magnetore'istentă.
21
(entru detectarea #i utili'area semnalului de măsurare al sen'orului0 circuitul electronic se ba'ea'ă pe o punte Ueatstone.
(unte Ueatstone utili'ată cu se'ori magnetore'istivi de po'iţie
4)9 Encodere n uadratura Sunt encodere incrementale cu 2 ie#iri A #i . "le oferă impulsuri n Wuadratură ceea ce nseamnă că sunt separate n fa'ă de $44.
22
Se numesc n Wuadratură deoarece ZWuadJ nseamnă patru0 corespun'Gnd la cele % combinaţii a celor doi biţi A #i pentru un ciclu. Ciclul se consideră de 3)4 grade ciar dacă nu este vorba de o mi#care de rotaţie. Hn consecinţă0 sunt % tran'iţii pe ciclu0 o fa'ă fiind ntGr'iata fata de cealaltă cu $440 adică [ din 3)44. Cele % stări posibile sunt A0 A0 A0 A.otivul pentru care sunt 2 ie#iri este ca n acest mod pot oferi o informaţie asupra direcţiei de mi#care atGt la incrementare cGt #i la decrementare. 8e e/emplu: dacă A trece din 4 n 1 n timp ce este 4 atunci poate fi vorba de o incrementare0 altfel dacă A trece din 1 n n 4 cGnd este 1 poate fi vorba de o decrementare. Altă posibilitate de a stabili sensul este să se monitori'e'e stările lui A #i continuu folosind o rată de e#antionare suficient de mare. Această metodă se folose#te de obicei cu un microcontroler reducGnduse foarte mult numărul de erori. =tili'area codului Bra\ n encodere Hn encoderele absolute informaţia poate fi codată n Codul inar @atural0 C8 sau B5A]. Codul C8 este similar cu cel binar pe % biţi. C8 M inar\ Coded 8ecimal. Codurile binar natural sau C8 sunt u#or de folosit direct cu circuitele digitale standard. "le au nsă #i un de'avanta9 important: uneori la scimbarea unui singur increment se scimba simultan mai mult decGt un singur bit. Acest lucru poate nsemna o eroare dacă bitii nu se scimba e/act n acela#i timp. 8e e/emplu0 presupunGnd scimbarea de la + la
23
!: 411114440 dacă cel mai semnificativ bit se scimbă cu cGteva fracţiuni de secundă mai devreme decGt ceilalţi0 se poate citi ca re'ultat pentru un moment de timp: 1111M1,. Această valoare repre'intă o eroare #i poate provoca instabilitatea sistemului. (roblema pre'entată mai sus se re'olvă folosind codul B5A] n locul Codului inar @atural sau C8. Codul B5A] este astfel conceput ncGt prin incrementarea cu un bit #i scimbă starea la ie#ire cu un singur bit. @ inar
B5A]
r. 4 1 2 3 % , ) + ! $ A C 8 " *
4444 4441 4411 4414 4114 4111 4141 4144 1144 1144 1111 1114 1414 1411 1441 1444
natural 4444 4441 4414 4411 4144 4141 4114 4111 1444 1441 1414 1411 1144 1141 1114 1111
!A%IT&U 6 &rganizarea unui micro(i(tem de comandă cu microcontroler %I! ';F<== 6)' !e e(te un microcontroler>
2%
a modul general un controler 6^controller^ un termen de origine anglosa/onă0 cu un domeniu de cuprindere foarte larg7 este0 actualmente0 o structură electronică destinată controlului unui proces sau0 mai general0 unei interacţiuni caracteristice cu mediul e/terior0 fără să fie necesară intervenţia operatorului uman. (rimele controlere au fost reali'ate n tenologii pur analogice0 folosind componente electronice discrete #iTsau componente electromecanice 6de e/emplu relee7. Cele care fac apel la tenica numerică modernă au fost reali'ate iniţial pe ba'a logicii cablate 6cu circuite integrate numerice standard SSI #i SI7 #i a unei electronici analogice uneori comple/e0 motiv pentru care ^străluceau^ prin dimensiuni mari0 consum energetic pe măsură #i0 nu de puţine ori0 o fiabilitate care lăsa de dorit. Apariţia #i utili'area microprocesoarelor de u' general a dus la o reducerea consistentă a costurilor0 dimensiunilor0 consumului #i o mbunătăţire a fiabilităţii. "/istă #i la ora actuală o serie de astfel de controlere de calitate0 reali'ate n 9urul unor microprocesoare de u' general cum ar fi E!4 6Eilog70 !4!)T!4!! 6Intel70 )!4$ 6otorola70 etc. (e măsură ce procesul de miniaturi'are a continuat0 a fost posibil ca ma9oritatea componentelor necesare reali'ării unei astfel de structuri să fie ncorporate 6integrate7 la nivelul unui singur microcircuit 6cip7. Astfel că un microcontroler ar putea fi descris ca fiind #i o soluţie 6nu n sens e/austiv7 a problemei controlului cu a9utorul a 6aproape7 unui singur circuit. egat de denumiri #i acronime utili'ate0 a#a cum un microprocesor de u' general este desemnat prin (= 6icro(rocessor =nit70 un microcontroler este0 de regulă0 desemnat ca C=0 de#i semnificaţia iniţială a acestui acronim este icroComputer =nit. & definiţie0 cu un sens foarte larg de cuprindere0 ar fi aceea că un microcontroler este un microcircuit care incorporea'ă o unitate centrală 6C(=7 #i o memorie mpreună cu resurse carei permit interacţiunea cu mediul e/terior. 5esursele integrate la nivelul microcircuitului ar trebui să includă0 cel puţin0 următoarele componente: a. o unitate centrală 6C(=70 cu un oscilator intern pentru ceasul de sistem b. o memorie locală tip 5&T(5&T"(5&T*ASY #i eventual una de tip 5A
2,
c. un sistem de ntreruperi d. IT& intrăriTie#iri numerice 6de tip port paralel7 e. un port serial de tip asincron #iTsau sincron0 programabil f. un sistem de timeretempori'atoareTnumărătoare programabile "ste posibil ca la acestea să fie adăugate0 la un preţ de cost avanta9os0 caracteristici specifice sarcinii de control care trebuie ndeplinite: g. un sistem de conversie analog numerică 6una sau mai multe intrări analogice7 . un sistem de conversie numeric analogic #iTsau ie#iri (U 6cu modulare n durată7 i. un comparator analogic 9. o memorie de date nevolatilă de tip ""(5& >. facilităţi suplimentare pentru sistemul de tempori'areTnumărare 6captare #i comparare7 l. un ceas de gardă 6timer de tip Xatcdog7 m. facilităţi pentru optimi'area consumului propriu =n microcontroler tipic mai are0 la nivelul unităţii centrale0 facilităţi de prelucrare a informaţiei la nivel de bit0 de acces direct #i u#or la intrăriTie#iri #i un mecanism de prelucrare a ntreruperilor rapid #i eficient. =tili'area unui microcontroler constituie o soluţie prin care se poate reduce dramatic numărul componentelor electronice precum #i costul proiectării #i al de'voltării unui produs. =tili'area unui microcontroler0 oricGt de evoluat0 nu elimină unele componente ale interfeţei cu mediul e/terior 6atunci cGnd ele sunt ciar necesare7: subsisteme de prelucrare analogică 6amplificare0 redresare0 filtrare0 protecţie limitare7V elemente pentru reali'area i'olării galvanice 6optocuploare0 transformatoare7V elemente de comutaţie de putere 6tran'istoare de putere0 relee electromecanice sau statice7.
6)- Utilizarea microcontolerelor
2)
oate aplicaţiile n care se utili'ea'ă microcontrolere fac parte din categoria a#a 'iselor sisteme ncapsulateintegrate 6Zembedded s\stemsJ70 la care e/istenţa unui sistem de calcul incorporat este 6aproape7 transparentă pentru utili'ator. (entru că utili'area lor este de foarte multe ori sinonimă cu ideea de control0 microcontrolerele sunt utili'ate masiv n robotică #i mecatronică. (rintre multele domenii unde utili'area lor este practic un standard industrial se pot menţiona: n industria de automobile 6controlul aprinderiiTmotorului0 climati'are0 diagno'ă0 sisteme de alarmă0 etc.70 n a#a 'isa electronică de consum 6sisteme audio0 televi'oare0 camera video #i videocasetofoane0 telefonie mobilă0 B(Suri0 9ocuri electronice0 etc.70 n aparatura electrocasnică 6ma#ini de spălat0 frigidere0 cuptoare cu microunde0 aspiratoare70 n controlul mediului #i climati'are 6sere0 locuinţe0 ale industriale70 n industria aerospaţială0 n mi9loacele moderne de *igura 2.1 _onnie
măsurare instrumentaţie 6aparate de măsură0 sen'ori #i
traductoare inteligente70 la reali'area de periferice pentru calculatoare0 n medicină. _onnieJ 6figura 2.17 un robot umanoid destul de simplu0 construit la =niversitatea enică din uncen n 1$$!0 utili'ea'ă , microcontrolere0 conectate prin intermediul unei magistrale CA@ la un calculator (C. AlpaJ un alt robot umanoid 6fotbalist ca destinaţie7 de'voltat la =niversitatea din *reiburg utili'ea'ă0 intro variantă a sa0 11 microcontrolere conectate similar. =n număr foarte mare de microcontrolere sunt folosite #i de a#a 'isele 9ucării inteligente0 din care capetele de serieJ cele mai cunoscute sunt cei doi roboţi0 unul canin #i altul umanoid: AI& 6Son\7 #i ASI& 6Yonda7. ASI& folose#te 2) de microcontrolere numai pentru controlul individual al celor 2) de elemente de acţionare inteligente 6motoare7. ot n categoria roboţilor umanoi'i intră #i R5I& 6Son\7 sau Y&A(1 6*u9itsu7. 5oboţii respectivi sunt produ#i n serie0 unii dintre ei ciar la un preţ accesibilJ. Ca un e/emplu din industria de automobile 6automotive industr\70 unde numai la nivelul anului 1$$$0 un U seria + utili'a ), de microcontrolere0 iar un ercedes din clasa S utili'a )3 de microcontrolere. (ractic0 de#i am pre'entat ca e/emple concrete numai sisteme robotice #i mecatronice0 este foarte greu de găsit un domeniu de aplicaţii n care să nu se utili'e'e microcontrolerele.
2+
6)4 !la(i?icări şi /ariante con(tructi/e "/istă la ora actuală un număr e/trem de mare de tipuri constructive de microcontrolere. =n criteriu de clasificare care se poate aplica ntotdeauna este lungimea 6dimensiunea7 cuvGntului de date. *uncţie de puterea de calcul dorită #i de alte caracteristici se pot alege variante avGnd dimensiunea cuvGntului de date de %0 !01) sau 32 de biţi 6e/istă ciar #i variante de )% de biţi7. @u este obligatoriu ca dimensiunea cuvGntului de date să fie egală cu dimensiunea unui cuvGnt ma#ină 6cuvGnt program7. "/istă #i multe variante 'ise dedicate0 neprogramabile de utili'ator la nivel de cod ma#ină0 strict speciali'ate pe o anumită aplicaţie0 prin intermediul codului preprogramat #i al resurselor ardXare0 utili'ate pentru comunicaţii0 controlul tastaturilor0 controlul aparaturii audioTvideo0 prelucrarea numerică a semnalului0 etc.
6)6 Te+nologiile de ?a*ricaţie utilizate (ractic0 toate microcontrolerele se reali'ea'ă la ora actuală n tenologie C&S 6tenologii similare celor utili'ate la seriile standard C&S de circuite numerice: YC0 AC0 A0 etc.7. Se pot reali'a astfel structuri cu o mare densitate de integrare0 cu un consum redus 6care va depinde de frecvenţa de lucru70 permiţGnd eventual alimentarea de la baterie. ogica internă este statică 6total sau n cea mai mare parte7 permiţGnd astfel0 n anumite condiţii0 mic#orarea frecvenţei de ceas sau ciar oprirea ceasului n ideea optimi'ării consumului. enologia este caracteri'ată #i de o imunitate mai mare la perturbaţii0 esenţială ntrun mare număr de aplicaţii specifice. Se reali'ea'ă variante pentru domeniu e/tins al temperaturii de funcţionare 6de e/. %4 `!, C7. "/istă foarte multe variante de ncapsulare 6capsule de plastic #i mai rar de ceramică70 multe din ele destinate montării pe suprafaţă 6S87: S&IC0 (CC0 (R*(0 R*( 6/144 pini70 etc.0 dar #i variante clasice cu pini tip 8I(T8I 6tipic de la ! la )! pini7.
6)9 !aracteri(tici ar+itecturale ale unităţii centrale
2!
Aritectura unităţii centrale de calcul 6C(=7 este unul din elementele cele mai importante care trebuie avut n vedere n anali'a oricărui sistem de calcul. (rincipalele concepte luate n considerare #i ntGlnite aici sunt următoarele: a. Aritecturi de tip Zvon @eumannJ Cele mai multe microcontrolere sunt reali'ate pe ba'a acestei aritecturi de sistem. b. Aritecturi de tip ^Yarvard^ a această aritectură e/istă spaţii de memorie separate pentru program #i date c. CISC Aproape toate microcontrolerele au la ba'a reali'ării C(= conceptul CISC 6Comple/ Instruction Set Computer7. d. 5ISC 5ISC 65educed Instruction Set Computer7 este un concept de reali'are a C(= care a nceput să fie utili'at cu succes de ceva timp #i la reali'area microcontrolerelor.
6); !ontrolul puterii con(umate şi alimentarea la ten(iuni redu(e a9oritatea microcontrolerelor pot fi trecute sub control soft n stări speciale cum ar fi: n a#teptare 6SA@8]70 inactiv 6^I8"^7 sau oprit 6^YA^0 ^(&U"5 8&U@^70 denumirile acestor stări diferind #i funcţie de fabricant. Hn aceste moduri starea C(=0 conţinutul 5Aului intern0 starea IT&urilor poate fi conservată n condiţiile unei tensiuni de alimentare reduse 6faţă de cea nominală7 #i deci al unui consum mult redus. *le/ibilitatea acestui sistem este strGns legată de faciltităţile #i programabilitatea sistemului de generare a ceasului de lucru. 8e e/emplu0 ntrun mod de tip ^I8"^ toate activităţile sunt oprite cu e/cepţia circuitului oscilatorului local de ceas #i0 dacă acestea e/istă: circuitul ^Xatcdog^ 6ceasul de gardă70 circuitul de monitori'are a oscilatorului de ceas #i eventual un tempori'ator dedicat 6^idle timer^7. (uterea consumată este redusă la cca. 340 iar ie#irea din acest mod se face prin reset 6iniţiali'are7 sau printrun stimul e/terior 6de regulă o ntrerupere7. empori'atorul dedicat poate scoate periodic microcontrolerul din această stare0 pentru ndeplinirea anumitor sarcini0 după care se reintră n starea respectivă.
2$
Hn modul ^YA^ toate activităţile sunt oprite0 tensiunea de alimentare poate fi coborGtă sub valoarea nominală0 fără alterarea stării 6C(=0 5A0 IT&70 puterea consumată fiind minimă. Ie#irea din această stare se face prin reset sau ca urmare a unei cereri de ntrerupere. oate aceste moduri de lucru sunt de regulă valorificate n aplicaţii n care alimentarea sistemului se face de la o sursă de tip baterie 6n funcţionarea normală sau numai n anumite situaţii7. Se mai oferă uneori ca facilitate o protecţie la scăderea accidentală 6n anumite limite7 a tensiunii de alimentare 6^broXnout protection^7. a scăderea tensiunii de alimentare sub o anumită limită 6^broXnout voltage^7 microcontrolerul este iniţiali'at 6resetat7 #i ţinut n această stare atGta timp cGt condiţia respectivă persistă. ensiunea de alimentare standard pentru microcontrolere a fost mult timp din considerente istorice 6ve'i ul70 de cc M , 6cu o anumită toleranţă7. a ora actuală se oferă0 pentru multe din ele0 #i variante cu tensiune de alimentare redusă 6oX oltage7 cu cc M 1.! .. 3.30 destinate unor aplicaţii unde consumul este un parametru critic. "/istă variante cu pla9ă mare a tensiunii de alimentare0 de e/emplu cc M 2..)0 funcţionarea la limita inferioară implicGnd doar o mic#orare a frecvenţei ma/ime de ceas.
6)= Si(temul de cea( &rice microcontroler este caracteri'at cel puţin de e/istenţa circuitelor electronice aferente oscilatorului care generea'ă ceasul de sistem. Astfel este posibilă implementarea simplă a oscilatorului doar prin adăugarea0 n e/terior0 a unui re'onator e/tern 6cuarţ sau pie'oceramica7 pentru stabili'area frecvenţei #i eventual a unor capacitori. 8acă stabilitatea #i preci'ia frecvenţei nu este o cerinţă importantă0 la anumite microcontrolere se poate utili'a doar un circuit 5C e/tern sau e/istă un circuit 5C intern0 care determină frecvenţa de oscilaţie. "/istă microcontrolere la care configuraţia oscilatorului este programabilă prin intermediul unor fu'ibileJ *ASY 6se programea'ă similar memoriei de program7: re'onator e/tern #i tipul acestuia0 varianta 5C intern sau e/tern0 gama de frecvenţă0 etc.
6)< Inter?aţa e3ternă 7(i(temul de intrări şi ieşiri8
34
oate microcontrolerele au un număr oarecare de intrări Inputs T ie#iri numerice &utputs 6de la /1 la /147 organi'ate sub forma unor porturi IT&V cone/iunile e/terioare sunt bidirecţionale sau unidirecţionale0 unele sunt multifuncţionale 6se oferă funcţii alternative pe acela#i pin70 unele pot avea o capacitate sporită de a absorbi curent 6de e/emplu pentru comanda directă a unui "80 cu I& ma/ M 24mA70 etc. Hn afară de acest set de intrăriTie#iri de u' general0 pentru interfaţa cu mediul e/terior se oferă o serie de alte facilităţi importante de intrareTie#ire cum ar fi: a. =A5 6=niversal As\ncronous 5eceiver ransmitter7 este un port serial bidirecţional destinat implementării unui protocol clasic de comunicaţie asincronV =SA5 6=niversal S\ncronous As\ncronous 5eceiver ransmitter7 este un port similar0 dar care permite implementarea #i a unui protocol sincron cu obţinerea unor vite'e mai mari de comunicaţieV SCI 6Serial Communications Interface7 este un circuit de tip =A5 mbunătăţit0 definit #i utili'at de firma *reescale 6otorola7. I@ 6ocal Interconnect @etXor>7 repre'intă o implementare particulară a unui protocol de comunicaţie asincron0 utili'ată n industria de automobile ca o alternativă de mică vite'ă dar cu preţ scă'ut pentru magistrala #i protocolul CA@ 6ve'i mai 9os7. b. (orturi seriale sincrone dedicate sunt destinate transferului serial de date de mare vite'ă cu unele periferice speciali'ate 6sisteme de afi#are0 convertoare analog numerice0 etc.7 sau care permit conectarea ntro reţea de comunicaţie. (resupun e/istenţa0 mpreună cu datele0 a unui semnal de ceas 6implicit sau e/plicit7 pentru sincroni'area acestora. Implică #i implementarea unor protocoale mai mult sau mai puţin comple/e de transfer al informaţiei0 fiind de fapt vorba de o magistrală serială. "/istă cGteva implementări răspGndite 6sunt pre'entate n ordinea crescătoare a comple/ităţii7: S(I 6Serial (eriperal Interface7 este un port serial sincron definit de firma otorola icroXire T icroXire (lus este o interfaţă serială bidirecţională sincronă definită #i utili'ată de firma @ational Semiconductors I2C 6Inter Integrated Circuits bus7 este o interfaţă serială bidirecţională 6pe numai 2 fire70 de'voltată de (ilips0 destinată aplicaţiilor de ! biţi. "/istă #i multe circuite ^periferice^ care sunt prevă'ute cu o astfel de interfaţă. "ste cunoscută #i sub denumirea UI 6Xo Uire Interface7
31
CA@ 6Controller Area @etXor>7 proprietate intelectuală a firmei osc0 foarte utili'at n "uropa #i _aponia0 oarecum similar ca funcţionalitate lui SA" _1!,4 care este utili'at n America de @ord 6SA" Societ\ of Automotive "ngineers70 este un standard 6o magistrală #i un protocol7 de comunicaţie serială sincronă utili'at n industria de automobile0 permiţGnd interconectarea ntro reţea a diverselor componente inteligente 6sen'ori0 elemente de e/ecuţie0 indicatoare0 etc.7 omnipre'ente ntrun automobil modern. Hn ultimul timp magistrala CA@ a nceput să fie utili'ată #i n alte domenii decGt industria de automobile 6automati'ări industriale0 robotică0 acţionări electrice7. c. Conectivitate "ternetTUeb – implică e/istenţa unor resurse care să permită integrarea cu u#urinţă ntro reţea de tip "ternet0 pentru a face posibilă0 n final0 implementarea unui protocol C(TI( 6a unei stive C(TI(7. 5esursele respective pot fi de natură softXare 6stivă soft7 care presupun o vite'ă de prelucrare 6putere de calcul7 a C(= suficient de mare pentru a nu afecta vi'ibil operarea propriu'isă a controlerului0 sau ardXare 6stivă ardXare7. (e ba'a acestei stive se poate reali'a o conectivitate tip Y(0 *(0 S(0 (&(30 etc. d. Conectivitate =S . magistrala serială =S 6=niversal Serial us7 a fost creată pentru conectarea cu u#urinţă a diverselor periferice la un calculator (C 6cu rolul de ga'dă ost7. Cone/iunea permite #i furni'area tensiunii de alimentare. arianta =S 1.1 permite atingerea unei rate de transfer ma/ime a datelor de 12b\tesTsec0 iar varianta =S 2.4 a unei rate ma/ime de cca. %!4\tesTsec. a ora actuală e/istă pe piaţă multe firme care oferă o gamă largă de microcontrolere cu conectivitate =S 6ma9oritatea compatibile =S 1.170 cu un preţ de cost minim pentru componentele ardXare #i softXare. "/emple n acest sens ar fi firmele: Atmel0 icrocip0 Intel0 C\press0 S0 Infineon0 s.a. a9oritatea sunt destinate reali'ării unor periferice =S #i mai puţine reali'ării unui =S ost. e. Conectivitate Uireless . se referă la e/istenţa unor resurse ardXare #iTsau softXare care să permită integrarea cu u#urinţă #i la un preţ de cost avanta9os ntro reţea de tip Xireless0 pentru a face posibilă0 n final0 implementarea unui protocol 6a stivei aferente protocolului7. "/emplele cele mai cunoscute de astfel de reţele0 protocoale #i stive sunt luetoot 6I""" !42.1,.17 #i Eigbee 6I""" !42.1,.%7.
32
f. Convertoarele Analog @umerice 6CA@0 A8C7 convertoarele utili'ate fac parte de regulă dintrun sistem de aci'iţie de date0 e/istGnd #i un multiple/or analogic cu mai multe canale de intrare. 5e'oluţia disponibilă este tipic de !0 14 sau 12 biţi0 uneori cu preci'ia 6re'oluţia adevărată7 corespun'ătoare unui număr mai mic de biţi. Hn marea ma9oritate a ca'urilor ele sunt reali'ate pentru mărime de intrare unipolară. Sursa de referinţă utili'ată este internă sau e/ternă. impul minim de conversie este n pla9a / sec la /14 sec. "/istă microcontrolere care utili'ea'ă tenici de recalibrare 6auto'ero0 corecţie cG#tig0 etc.7 pentru mărirea #iTsau menţinerea preci'iei. enicile de conversie cele mai utili'ate sunt: apro/imaţii succesive 6ma9oritatea7 cu e#antionare implicită 6circuit rac>Yold inclus70 rampă digitală 6mai rar7. "/istă #i subsisteme locale care0 n ca'ul n care sunt pre'ente0 pot fi folosite pentru implementarea unor alte tenici de conversie ba'ate pe integrare 6cu utili'area unui număr minim de componente e/terioare7: numărătoare de impulsuri0 circuite comparatoare 6analogice0 standard70 intrări de captare 6forţea'ă memorarea ^captarea^ valorii unui numărător care numără liber0 n momentul activării0 permiţGnd astfel măsurarea intervalelor de timp sau frecvenţelor70 etc. Hn ultimul timp au apărut #i variante de CA@ cu re'oluţii mari #i foarte mari0 reali'ate n tenica sigmadelta 67. 5eali'ările respective sunt mai degrabă un CA@ cu microcontroler 6firma Analog 8evice oferă un nucleu de microcontroler !4,1 plus un CA@ sigmadelta cu re'oluţii de pGnă la 2% biţi7 g. Convertoarele @umeric Analogice 6C@A0 8AC7 Cea mai răspGndită tenică de conversie numeric analogică folosită este ba'ată pe modulaţia n factor de umplere 6(U (ulse Uidt odulation7. "/istă unul sau mai multe canale pe care se poate genera un tren de impulsuri cu factor de umplere programabil 6de la 4 la 1447. *actorul de umplere este controlat cu o re'oluţie de la ! biţi sau 1) biţi. *recvenţa trenului de impulsuri este #i ea programabilă0 n limite largi. a un microcontroler fără un sistem (U dedicat0 n acest scop se poate utili'a0 cu o fle/ibilitate mai scă'ută0 sistemul de timereTnumărătoare #i orice ie#ire numerică. (rintro filtrare e/terioară relativ simplă0 de tip trece 9os 6*_0 oX (ass70 se poate obţine o tensiune de ie#ire proporţională cu factorul de umplere. Convertoarele numeric analogice propriu'ise sunt mai rar ntGlnite.
33
. Interfaţa pentru sisteme de afi#are tip C8 6panou C87 Hn ultimul timp n familiile de microcontrolere de9a consacrate sau n familiile noi au apărut variante care posedă un subsistem destinat conectării directe0 cu utili'area unui număr minim de componente e/terioare0 unui sistem de afi#are 6un panou7 de tip C8 6cu cristale licide7. Interfaţa respectivă generea'ă toate semnalele necesare pentru comanda panoului C8. Comple/itatea sa este descrisă prin numărul ma/im de segmente C8 care pot fi controlate0 fiind limitată n primul rGnd de numărul de cone/iuni e/terne necesare 6pentru un număr mare de segmente oricum se folosesc tenici de multiple/are7.
6)@ !riterii de alegere a unui microcontroler Hn momentul n care se dore#te alegerea unui microcontroler 6sau mai bine 'is a unei familii de microcontrolere7 pentru de'voltarea unei aplicaţii de tip Zembedded s\stemJ e/istă mai multe criterii care trebuie luate n considerare0 ţinGnd cont de implicaţiile multiple ale acestei alegeri. om ncerca să grupăm aceste criterii după cerinţele impuse aplicaţiei #i să pre'entăm cGteva din ntrebările re'ultate0 la care trebuie dat un răspuns. a. Costurile aplicaţiei Care va fi scara de producţie: prototip0 producţie micăTmedie sau de masă Care sunt costurile permise pentru microcontroler Care sunt costurile permise pentru mediul de programare #i de'voltare b. impul de de'voltare al aplicaţiei Ce limba9 de programare să aleg Ce limba9e de programare cunosc bine #i ce medii de de'voltare am utili'at Ce modalitate de testare #i depanare folosesc: simulator0 sistem de de'voltare0 emulator c. Caracteristicile fi'ice Care este vite'a de prelucrare 6de calcul7 necesară 8e cGtă memorie am nevoie pentru program #i respectiv date a fi necesară si o memorie e/ternă
3%
Ce fel de alimentare este disponibilă #i care sunt limitările acesteia 8e cGte intrări #iTsau ie#iri am nevoie Ce fel de intrări #iTsau ie#iri sunt necesare: intrăriTie#iri analogice0 ie#iri numerice de curent mai mare Care sunt resursele necesare n materie de tempori'areTnumărare si care ar fi caracteristicile lor cele mai importante 6re'oluţie0 frecvenţă ma/imă de numărare7 Ce tip de capsulă0 ce dimensiuni fi'ice #i număr de pini ar trebui să aibă Care este gama temperaturilor de lucru necesare Aplicaţia va funcţiona ntrun mediu cu caracteristici speciale0 de e/emplu n care e/istă perturbaţii electromagnetice puternice d. Conectivitatea Care sunt resursele de comunicaţie necesare: cGte porturi seriale asincrone #i cu ce caracteristici0 ce tipuri de magistrale seriale sincrone sunt disponibile "ste necesară o conectivitate "ternet 6o stivă C(TI(70 =S sau Xireless 6stive luetoot0 Eigbee0 etc.7 e. Compatibilitate0 scalabilitate #i de'voltare ulterioară Cu ce tipuri de circuite se poate interfaţa cGt mai simplu: sisteme de afi#are0 sen'ori0 elemente de comandă #i e/ecuţie 6relee0 motoare de cc0 motoare pas cu pas0 etc.7 Cum se poate reali'a e/tinderea ulterioară0 atunci cGnd este necesară "/istă mai multe variante n familia respectivă de microcontrolere0 care să acopere eventualele cerinţe suplimentare n materie de vite'ă de lucru0 resurse periferice sau de memorie f. Alte aspecte Ce distribuitori e/istă #i cGt sunt de accesibili pentru mine Care este suportul oferit de fabricant sau distribuitor #i care este ba'a de cunostinţe e/istentă: siteuri Xeb0 documentaţie online sau pe C8uri0 note de aplicaţii0
3,
e/emple de proiectare 6reference designs70 softXare din categoria freeXareTsareXare #i0 nu n ultimul rGnd0 forumuri de discuţii pentru utili'atori 8in păcate răspunsurile la multe din aceste ntrebări sunt corelate ntre ele. =n e/emplu este legătura care e/istă ntre criteriile de cost #i cele de timp de de'voltare. (rincipial0 utili'area unui limba9 de nivel nalt mpreună cu un emulator pentru testare #i depanare poate duce la scurtarea consistentă a timpului de de'voltare. 8ar preţul unui compilator este ntotdeauna mai mare decGt cel al unui asamblor 6nimic nu e mai ieftin decGt ceva ce poate fi gratis70 iar preţul unui emulator este #i el mai mare decGt cel al unor mi9loace mai simple de testare #i depanare. Hn practică0 de cele mai multe ori0 alegerea unui microcontroler pentru a anumită aplicaţie este #i trebuie să fie re'ultatul unui compromis.
%rezentare caracteri(tici %I! ';F<==: icrocontrolerul 1)*!++ are urmatoarele caracteristici: 3, cuvinte de comandă frecvenţă ma/imă de operare24Y' memorie flas !L memorie 5A 3)! b\tes memorie ""(5& 2,) b\tes S""( mode pentru un consum redus de energie domeniul de tensiune 2.2,., consum redus Q4.)mA la o tensiune de 3 #i o frecvenţă de %Y' 24uA la o tensiune de 3 #i o frecvenţă de 32>Y' ! canale de intrare , porturi IT&
3)
!apitolul 9 %roiectarea (i(temelor de ma(urare (i reglare =na din problemele importante care se pun in legatura cu proiectarea sistemelor de actionare electrica0 in legatura cu tipul motorului de actionare0 in functie de masina de lucru si de procesul tenologic in care se lucrea'a este problema reglarii vite'ei. (rogresul tenic din ultimii ani0 precum si e/igenta tot mai mare impusa masinilor de lucru0 atat sub aspectul cresterii productivitatii acestora0 cat si sub aspectul unor produse de calitate0 cu celtuielei de investitie si de e/ploatare cat mai reduse0 impun cerinte tot mai mari sistemelor de reglare a instalatiilor de actionare electrica. 8aca pana nu demult reglarea vite'ei pentru un numar apreciabil de masini se face inca manual0 acum atat comanda cat si reglarea vite'ei masinilor de lucru impune un grad inalt de automati'are pentru sistemele de actionare electrica. (e aceasta linie se inscrie si un sistem de actionare electrica utilti'and microcontrolerul (IC 1)*!++.
*ig. ,.1 Scema bloc a sistemului digital de comanda motor cc: 8TA – convertor 8igital Analog0 AAmplificator0 otor0 traductor incremental rotativ optic Sistemul contine motorul electric de actionare0 traductorul incremental optic 6I5&70 un numarator de impulsuri0 procesorul0 convertorul digitalanalogic si un amplificator de putere. In vederea reducerii numarului de componente e/terne sa folosit modulatia in durata a inpulsurilor a microcontrolerului (IC 1)*!++ produs de firma
1I!R&!I%) Convertorul digitalanalogic poate fi implementat ca un convertor numeric analogic conventional sau folosind modulatia in durata a inpulsurilor a microcontrolerului
3+
(IC 1)*!++. In ambele ca'uri semnalul obtinut este introdus intrun amplificator de putere care transforma semnalul analogic intro tensiune reglabila care va alimenta motorul. Iesirea (U 6(ulse UId odulationmodulatie in durata a inpulsurilor7 a microcontrolerului poate fi un semnal care poarta atat informatia (U 6factorul de umplere7 si semnalul de directie sau un singur semnal care contine doar informatia (U. In primul ca'0 un factor de umplere al semnalului (U egal cu ,4 va produce la iesiere o tensiune egala cu apro/imativ 9umatate din tensiunea de alimentare. raductorul incremental produce trenuri de impulsuri0 din care se pot calcula po'itia si vite'a motorului. Astfel0 frecventa impulsurilor este proportionala cu vite'a0 iar fiecare tran'itie a impulsurilor furni'ate detraductorul incremental repre'inta un increment al po'itiei. Hnca un lucru ce necesita atentia noastra este functionarea fara defecte a microcontrolerului n timpul functionarii. Sa presupunem ca urmare a unei anumite interferente 6ce adesea se ntGmpla n industrie7 microcontrolerul nostru se opreste din e/ecutarea programului0 sau si mai rau0 ncepe sa functione'e incorrect. In acest ca' este folosit blocul Uatc8og ce resetea'a microprocesorul daca acesta incetea'a sa functione'e corect. Sistemul este alcătuit din trei blocuri ard :
locul cu logica de comandă
locul de putere
locul de alimentare.
9)')' locul cu logica de comandă Inima blocului de comandă este repre'entată de un circuit integrat de tip (IC1)*!++ reali'at de firma IC5&CYI(. Acesta reali'ea'ă interfaţarea cu utili'atorul #i comanda blocului de putere. A fost ales acest integrat datorită vite'ei de operare ridicate 624Y'70 a numărului de porturi disponibile0 atat de intrareTie#ire0 porturi de intrare analogice0 pini dedicati pentru generarea impulsurilor (U etc.
9)')')' 2e(tiunea ta(taturii
3!
Circuit (IC1)*!++ reali'ea'ă practic interfaţarea cu utili'atorul. Acesta gestionea'ă tastura0 afi#a9ul C8 #i reali'ea'ă conversiile necesare astfel ncGt utili'atorul să poată ntelege direct datele de ie#ire. Acest bloc conţine o tastatură reali'ată din trei butoane:
primul buton reali'ea'ă funcţia de crestere a raportului factorul de umplereV
al doilea buton reali'ea'a functia de scadere a raportului factorului de umplere
al treilea buton deserve#te pornirii #i opririi variatorului.
astaturile sunt dispo'itive mecanice utili'ate pentru a e/ecuta o ntrerupere sau pentru a reali'a o cone/iune ntre două puncte. "le au diferite mărimi #i au diferite scopuri. astele care sunt utili'ate aici sunt denumite taste dipJ. "le sunt lipite direct pe o placă de circuit #i sunt deseori ntGlnite n electronică. Au patru pini 6cate doi pentru fiecare contact70 ceea ce le oferă stabilitate mecanică. *uncţia tastei este simplă. Hn momentul n care apăsăm tasta0 două contacte sunt unite #i se reali'ea'ă o cone/iune. (roblema constă n natura tensiunii ca valoare0 #i n imperfecţiunea contactelor mecanice. Hnainte ca un contact să fie reali'at sau decuplat0 e/istă o perioadă scurtă de timp cGnd pot apărea vibraţii 6oscilaţii7 ca re'ultat al imperfecţiunii contactelor mecanice0 sau din cau'a vite'ei diferite de apăsare 6acest lucru depinde de persoana care apasă tasta7. ermenul atribuit acestui fenomen este denumit sXitc 6contact7 debounce. 8acă acest lucru nu este prevă'ut n momentul n care un program este conceput0 poate apărea o eroare sau programul poate produce mai mult decGt un singur impuls la ie#ire pentru o singură apăsare de tastă. (entru a evita acest lucru0 putem introduce o mică ntGr'iere cGnd detectăm nciderea unui contact. Aceasta va asigura faptul că apăsarea unei taste este interpretată ca un singur impuls. HntGr'ierea de debounce este produsă n softXare #i durata ntGr'ierii depinde de buton #i de scopul butonului. (roblema poate fi parţial re'olvată prin adăugarea unui condensator n paralel la tastă0 dar un program bine reali'at oferă re'ultate mai bune. (rogramul poate fi a9ustat pGnă cGnd detecţia falsă este complet eliminată.
3$
a b *ig ,.2 a Acţiune ntrerupator la %msTdiv. &bservăm cele ) ms de comportament instabil de la apăsare pGnă la stabili'are V b impi de oscilaţie a n s pentru diferite tipuri de ntrerupătoare Soluţia este să avem un program care să urmărească apăsarea unei taste cGt #i decuplarea unei taste.
*ig ,.3 Conectarea tastei dip la (IC1)*!++ (entru ca starea intrării n microcontroler să fie sigură n orice moment0 pe intrarea corespun'ătoare tastei 8I( se adaugă un re'istor Zde tragereJ0 ce menţine un potenţial de 1 logic pe intrarea 5A4. a apăsarea tastei 8I(0 se reali'ea'ă conectarea la masă a re'istorului0 iar pe intrarea 5A4 găsim 4 logic. Alegem 53 de 1>om: I R 3
1 VCC R3
,V
1 1k
(uterea de'voltată este de CCI53 M,,M2,mU. Alegem 53 de putere 4012,U.
%4
,mA
Curentul #i tensiunea prin tasta 8I( sunt nesemnificative #i nu necesită operaţii speciale.
9)')')- 2e(tiunea ecranului !" (entru o mai bună informare a utili'atorului0 pre'enţa unui dispo'itiv de afi#are tip C8 este foarte utilă. A fost ales un ecran cu 2 linii de cGte 1) caractere alfanumerice. Conectarea acestuia cu (ICul se reali'ea'ă prin intermediul portului 86848+7. (ortul 80 mpreună cu componenta softXare corespun'ătoare comandă operaţiile de scriere #i #tergere pe ecran. ensiunea de alimentare a ecranului C8 este de ,0 iar curentul 2mA0 ceea ce nu presupune măsuri speciale pentru răcirea acestuia sau a circuitelor de alimentare.
a b *ig ,.% (5C 1)42A a dimensiuni e/terioare #i configuraţia picioarelor b – conectorul din monta9
%1
*ig ,., Conectarea ecranului C8 la (IC #i reali'area surselor de alimentare "ste necesară tensiunea "" pentru stabilirea contrastului. Soluţia este utili'area unui divi'or re'istiv pentru conectarea acestui pin la CC. Curentul nu depă#e#te 1mA0 n consecinţă nu sunt probleme speciale pentru răcire. 8atele a9ung n pacete pe % biţi alcătuite din ie#irile 58%0 58,0 58)0 58+. Intre doua grupuri de date0 apare pe pinii de comanda o ZclipireJ numita strobe0 dupa care imediat urmea'a ceilalti % biti. Informaţia afi#ată nu necesită actuali'ări dese0 astfel ncGt aceasta să poată fi citită cGt mai u#or fără a observa efectul de clipire. &peraţia de scriere se reali'ea'ă din comen'ile apărute pe ie#irile 5840 5810 582. Hmpreună0 aceste reguli formea'ă protocolul de comunicare gestionat de (IC1)*!++. e'i Ane/e (5C1)42A. i n ca'ul acestui dispo'itiv0 problemele legate de modul de afi#are #i timpul dintre două afi#ări succesive sunt re'olvate soft. 8ispo'itivul conţine un circuit speciali'at care se ocupă cu obţinerea tuturor tensiunilor #i semnalelor necesare afi#ării n funcţie de datele găsite la intrare. (rotocolul de comunicare este asigurat prin intermediul unui fi#ier sursa de comandă afi#a9e C8 alfanumerice0 pus la dispo'iţie de YI"CY. 6e'i Ane/a cd.c7
2e(tiunea (emnalelor de a/ertizare optică
%2
Hn general dispo'itivele pre'intă sisteme de alarmare a utili'atorului n ca' de functionare normala0 avarie sau insuficienţa de a obţine re'ultatul căutat. 8ispo'itivele de averti'are optică reali'ea'ă o semnali'are silenţioasă. Astfel0 sistemul de mesa9e trimis către afi#a9ul C8 informea'ă precis starea curenta. Starea &@ este semnali'ată de pre'enta mesa9elor pe ecranul C80 ceea ce semnifica pre'enta tensiunii de alimentare la bornele sistemului. Starea variatorului este semnali'ata de ledul verde si de mesa9e pe ecranul C8. Considerăm că pentru desciderea ledului sunt necesari 3. 5estul tensiunii va fi pe re'istor. I R v
V cc
V led
R
*ig ,.) Conectarea edurilor de averti'are ed 3mm verde Culoare verde entilă transparentă Intensitate luminoasă !C861.1$lm7 =ngi de vedere 62h 1T27 34< ungime de undă ,1, ,2, nm ensiune de alimentare 3.4 3.36ma/7 ensiune de alimentare inversă 6r7 , Intensitate 24 ma 6ma/7 imp de funcţionare 144.444 ore emperatură de lucru 24
%3
2V 244Ohmi
14 mA
*ig ,.+ 8imensiunile ledului
Ac+iziţia de date Aci'iţia de date se reali'ea'ă utili'Gnd modulele de conversie analognumerice nglobate n (IC1)*!++. Aceste module operea'ă la o re'oluţie de 14 biţi #i măsoară tensiuni de pGnă la , aplicate la borne. (entru e/tinderea domeniului se pot folosi divi'oare de tensiune. Hn dispo'itiv se măsoară tensiunea de pe bornele motorului si curentul consumat de acesta. 8ivi'oarele de tensiune0 utili'ate la măsurarea tensiunilor continue0 alternative #i de impuls0 sunt dispo'itive de raport cu două pereci de borne 6tip diport70 care stabilesc o relaţie de dependenţă liniară0 pe un anumit interval0 ntre mărimea de măsurat electrică #i mărimea electrică ce acţionea'ă asupra convertoarelor intermediare de prelucrare. Hn *ig ,.1.12 mărimea de măsurat este tensiunea continuă
U 1
iar mărimea de ie#ire
este tensiunea continuă U 2 . ConsiderGnd funcţionarea
divi'orului
tensiunea de ie#ire: U 2
*ig ,.! 8ivi'or re'istiv de tensiune
#i raportul de divi'are:
D
%%
U 2 U 1
U 1
R2 R1
R2
R2 R1 R2
1 1
R1 R2
n
gol
re'ultă
8atorita pulsurilor de la motor0 masurarea tensiunii presupune intai o filtrare si o integrare a tensiunii. Aceasta poate fi apoi masurata si afisata. Consideram ca tensiunea de masura este o tensiune ma/ima de de pana la 1+. (entru aducerea acesteia n 'ona de măsură a modulului digitalnumeric se folose#te un divi'or re'istiv.
*ig. ,.$ Scema de test0 Impulsuri (U0 tensiunea din drena tran'istorului0 tensiunea pe motor0 tensiune nivelata si limitata *iltrul C este cel mai simplu tip de filtru şi cel mai utilizat în circuitele de curenţ i mici deoarece efectul de filtrare este mai accentuat la rezistenţ e de sarcină mari. u 6t 7 Ue
t
#i
RC
0
unde u6t7 repre'intă tensiunea de ie#ire după filtrarea cu condensator şi se numeşte constantă de timp a circuitului RC. Intrarea MCU este protejata cu 2 diode, una de limitare la 5V (PZ5V! si una pentru tensiunile in"erse (#$%%2!. Variaţ iile di"izorului cu temperatura sunt mici, iar tensiunea rezultată are o "ariatie lenta, c&iar daca apar paraziti si "ariatii rapide pe motor. 'impul de "ariatie al tensiunii masurate "ariaza in functie de constanta C.
%,
RC 144 K f 14 F 144444 f 4.444441 1 s .
8atorita consumului de pe intrarea C= si a oscilatiilor motorului0 timpul de raspuns vaeria'a intre 4.%4.+s. In acest mod0 re'ultatul afisat este stabil0 nu pre'inta variatii mari ce ar putea incurca utili'atorul sa citeasca valoarea pe ecranul C8.
%)
R14
R5
13.8k
10k
ariator
Umasura
R13 20k
D1
C7
C8
R12
4.7uF
220nF
200k
DIODE
D2 1N5231B
*ig ,.14 Conectarea circuitului de reactie 'ensiunea citită este filtrata cu un circuit. )ceasta este proporţ ională cu tensiunea măsurată. 'ensiunea redusă de transformator este de *V cc după redresare.
ensiunea de ie#ire după divi'orul re'istiv este : U masura
U out
R2 R1 R2
imita ma/imă #i minimă a curentului ce poate fi absorbit este de: I ma/
U masura
I min
U masura
1 R1
)V
1 R1 R 2
1 1k
)
)mA
1 2k
3mA
ensiunea re'ultată este măsurată pe o intrare analogică a integratului. Această mărime este utilă pentru informarea utili'atorului. (entru protectie0 dioda 81 limitea'a impulsurile de tensiune negativa0 iar dioda 82 stabili'ea'a tensiune de iesire din modul la ma/im ,. In acest mod se reali'ea'a protectia in circuitul de conversie. &rice tensiune mai mare de , distruge intrarea microcontrolerului0 aceasta devvenind inutili'abila. Condensatorul C! reali'ea'a o filtrare a frecventelor inalte. In timpul comutatiei pot aparea impulsuri foarte scurte ce influentea'a negativ procesul de masura. a frecventa inalta0 condensatorul scurtcircuitea'a tensiunea0 reali'and astfel o integrare a acesteia.
locul de putere
%+
Benerarea impulsurilor se reali'ea'ă cu a9utorul (ICului0 pe una din ie#irile (U dedicate. Astfel se poate defini clar timpul unui impuls #i factorul de umplere al acestuia.
*ig ,.11 Impuls dreptungiular cu factor de umplere variabil impul ton repre'intă timpul n care impulsul se află n starea 1 logic0 iar t off timpul de 4 logic. 5aportul dintre ace#ti doi timpi generea'ă valoarea factorului de umplere. "ste reali'at din 2 tran'istoare @&S in derivatie0 pentru a sustine curenti mai mari. Acestea necesita racire datorita puterilor mari consummate de motor0 a pierderilor din timpul comutatiei etc. (roprietatile tran'istoarelor &S usurea'a comanda0 acestia neconsumand curent pe poarta ca tran'istorul bipolar. In componenta tran'istorului &S se gaseste si o dioda antiparalel0 pentru protectia acestora in momentul in care tran'istoarele sunt blocate. obinele
*ig ,.12
se opun scimbarii regimului0 inducand in tran'istoare
ran'istorul &S I5*)%4
componente negative. t on
aloarea medie a tensiunii de iesire depinde de raportul t 0 in care off este perioada unui ciclu (U. Astfel0 U on
t on U mot t off
%!
Tpm
t on
t off 0
5aportul de conductie este: D
t on T !"M
.
*ig. ,.13 Scema de principiu si forma de variatie a tensiunii pentru conversia CCCC Se constata ca prin regla9ul raportului de conductie 8 se poate regla tensiunea medie la iesire 6considerand frecventa de comutatie constanta7. Acest mod de control se numeste modulatie in latime 6durata7 a impulsurilor si este cel mai utili'at. In general0 atat durata de conductie cat si frecventa pot fi variate simultan0 dar aceasta modalitate de comanda se utili'ea'a foarte rar.
locul de alimentare Alimentarea se reali'ea'ă dintro sursa de 12. (entru alimentarea monta9ului avem nevoie de , pentru elementele de deci'ie. Consideram ca tensiunea de alimentare oscilea'ă n timp ntre 14 #i 1,.,. 8in acest motiv0 pentru sursa , un stabili'ator +!4,.
Sur(a de 9V Sursa de , este obţinută prin utili'area stabili'atorului +!4, 6ve'i Ane/e +!4,7. Acesta suportă0 o tensiune de alimentare cuprinsă ntre , #i 1! #i furni'ea'ă un curent de ma/im 1A.
%$
*ig ,.1% Conectarea stabili'atorului n circuit
(entru filtrarea tensiunii de intrare0 respectiv ie#ire0 au fost montate două condensatoare electrolitice de 144u*T1). (ulsurile de pe intrare ar putea apărea din cau'a tran'istoarelor &S. ! total
! !ic1
! !IC
2,mA
! $ED
14mA
! $CD
,mA
! 5e #
! $CD
! 5e #
! ComandaMos
,4mA
! ComandaMos ! total
! $ED
1mA
2, 24 , ,4 1 141mA
Consumul n partea de logică #i comandă nu depă#e#te 141mA0 re'ultă că puterea este de ! ,V
U o f I ,V f141mA 4.,"
!Out $M +!4, Ma%
,"
(uterea disipată astfel este suficient de mică pentru ca stabili'atorul să nu necesite răcire suplimentară. emperatura de operare este de la 4 oC la `12,oC. oleranţa tensiunii de ie#ire este de %. Hn aceste condiţii plusul sau minusul de tensiune nu afectea'ă funcţionarea corectă a monta9ului.
,4
*ig ,.1, Sursa de 12 5epre'inta sursa de alimentare0 a carei proiectare nu este importanta deoarece dispo'itivul va fi alimentat dintro sursa stabili'ata ce face parte din dotarile laboratorului.
!onectarea %I! (entru conectarea (ICului sunt necesari niste pa#i foarte simpli. (ICul pre'inta doua borne de alimentare cu `, #i doua borne de masa. ensiunea de alimentare trebuie sa fie filtrata #i stabili'ata pentru buna functionare a microcontrolerului. (e pinul 10 C5T(( este conectat un re'istor 65%7 de 14> catre `, pentru mentinerea n regimul de functionare. ipsa acestei legaturi va tine procesorul n starea 5"S". Curentul absorbit prin aceasta legatura este foarte mic0 I MC$R
V CC R1
, 14444
4.1mA
! U f I ,V f 4.1mA ,m"
5e'istorul ales este de puterea de 4.12,U. a prima alimentare0 circuitul pre'inta un modul intern de resetare0 ce asteapta ca circuitul sa fie alimentat corect0 iar cand toate conditiile sunt indeplinite0 circuitul este resetat0 dupa care se continua functionarea normala a programului scris in memoria microprocesorului.
,1
(entru programare #i debuging0 pe placa au fost montate conectoare cu legatura la pinii 3$ #i %4 6(B8 #i (BC7. (rin acesti pini se reali'ea'a programarea integratelor #i se pot urmari online. Acest mod usurea'a modul de lucru0 nefiind nevoie sa fie e/tras integratul de pe placa de cate ori este nevoie de o noua programare. (rogramarea se reali'ea'a cu programatorul (IC LI 2 reali'at de IC5&CYI(. (rogramarea se reli'ea'a online0 fara a fi necesara indepartarea circuitului din monta9 sau eliminarea tensiunii de alimentare. (rogramatorul poate detecta tensiunea de alimentare din sursa e/terna si a o folosi pentru programare0 sau in lipsa acesteia sa genere'e tensiune de alimentare necesara programarii.
*ig. ,.1) (inii de iesire ai programatorului (IC LI 2 (rogramatorul poate furni'a #i tensiunea de alimentare n ca'ul n care se doreste testarea programului scris0 cu o limitare de consum de %44mA si o tensiune de ,0 limitari impuse de portul =S al calculatorului si elementelor de protectie incluse in scema functionala a acestuia. Conectarea cu calculatorul se face prin portul =S al calculatorului0 iar interfata de legatura softXare este furni'ata de IC5&CYI( ca un utilitar livrat impreuna cu programatorul. (entru informatii suplimentare ttp:TTXXX.microcip.comTpic>it2.
,2
O&C1 O&C2 RE&E# Umasura Imasura
13 14 1 2 3 4 5 % 7 8 ( 10
O&C1C)$IN O&C2C)$OU# ,C)R!//#!
RB0IN# RB1 RB2 RB3*+, RB4 RB5 RB%*+C RB7*+D
RA0AN0 RA1AN1 RA2AN2!REF" RA3AN3!REF RA4#0C$I RA5AN4&& RC0#1O&O#1C$I RC1#1O&ICC*2 RE0AN5RD RC2CC*1 RE1AN%'R RC3&C$&C) RE2AN7C& RC4&DI&DA RC5&DO RC%#-C$ RC7R-D#
RD0*&*0 RD1*&*1 RD2*&*2 RD3*&*3 RD4*&*4 RD5*&*5 RD%*&*% RD7*&*7
33 34 35 3% 37 38 3( 40 15 1% 17 18 23 24 25 2% 1( 20 21 22 27 28 2( 30
I,*En
B5 B% B7
*',1
)CD E )CD R& )CD R' )ED1 * )CD D4 )CD D5 )CD D% )CD D7
*IC1%F877
*ig ,.1+ Conectarea microprocesorului (IC1)*!++
1odul So?tBare 9)- !omponenta (o?tBare Componenta softXare se ocupă de gestionarea afi#a9ului0 gestionarea tastaturii0 aci'iţia de date #i semnale de comandă n monta90 de generarea impulsurilor (U #i verificarea efectelor generării. 8e'voltarea aplicaţiilor a fost reali'ată n mediul de de'voltare (ICC. Acesta conferă accesul rapid la resursele microcontrolerului0 programarea registrilor #i setarea timerelor. (rogramul final este compilat ntro succesiune de caractere alfanumerice 6ba'a 1)7 compatibilă cu toate mediile de de'voltare pentru (IC. (ractic mediul de
,3
de'voltare oferă o portabilitate mare a programului atGt de la un (C la altul0 cGt #i de la o familie de microcontrolere (IC la alta. Asemănarea cu limba9ul C oferă un atuu n plus utili'ării #i nţelegerii ulterioare a modului de e/ecuţie. Compilatoarele YI"CY C sunt reali'ate special pentru IC5&CYI( #i optimi'ate pentru a obţine cele mai bune re'ultate.
*ig ,.1! ediul de de'voltare (IC C de la YIBY "CY C
9)-)- So?tBare de interactiune cu utilizatorul 9)-)4 So?tBare de generare impul(uri (artea de program ce se ocupă cu generarea de impulsuri trebuie sa ţină cont că prioritar este să genere'e permanent impulsuri n funcţie de cererea utili'atorului. 5eacţia sistemului trebuie să fie rapidă #i să ncerce să urmărească foarte precis re'ultatul. Hn programul descris mai sus0 re'ultatele returnate repre'intă timpul t on al impulsului0 dar nu n unitate de timp ci procentual. Hn (IC se setea'ă durata totală a unui impuls0 după care se setea'ă timpul de ton ca fracţie din timpul total. Hn acest mod0 pe durata unui impuls procesorul are timp sa facă fără a fi presat de timp.
,%
Acest lucru repre'intă o mbunătăţire considerabilă faţă de programele ba'ate pe setarea ie#irii n 1 sau 4 logic0 după care o perioadă de pau'ă la microcontroler n funcţie de durata ton sau toff .6*ig ,.2.%7
*ig ,.1$ Impuls (U (ractic programul incepe cu iniţiali'ările microcontrolerului0 setările imerelor0 setarea numărului de biţi pentru convertorul analogic numeric #i setarea ntreruperilor. Se iniţiali'ea'ă modulul (U pe pinul 1+0 #i pinul A4 ca pin de intrare pentru conversia tensiunii n date numerice Citirea tensiunii de ie#ire se reali'ea'ă de cGteva ori pe secunda0 deci timpul de reacţie este foarte mic0 acest lucru a9utGnd la cre#terea gradului de fidelitate. (rogramul nu are un punct de stop acesta fiind unul ciclic. &prirea se face doar n ca'ul n care lipse#te tensiunea de alimentare.
9)-)6 So?tBare de comandă şi control (rogramul de comandă #i control se ocupă de interfaţa cu utili'atorul. Acestea trebuie să conţină subrutine de gestionare a tastaturii0 a ecanului C80 de aci'itie date #i semnale de comanda pentru generatorul de impulsuri.
,,
*ig ,.24 &rganigrama generală program Hntre blocurile funcţionale ale programului mai apar condiţii de e/ecuţie ale blocurilor ba'ate pe re'ultatul returnat de blocul de ntreruperi. locul S&( nu este legat de scema logică pentru că la el se a9unge doar n ca'ul n care lipse#te tensiunea de alimentare a monta9ului. (entru gestionarea tastaturii trebuie să re'olve fenomenul de oscilaţii ce apar la apăsarea butonului #i preluarea unui singur impuls 6acest fenomen este e/plicat n partea de proiectare ardXare7. Acest efect este nlăturat prin testarea la un interval de ,ms a stării butonului. Iniţiali'area intervalului este generată de prima apăsare a butonului. Cum degetului i este greu să comande mai puţin de ,ms un buton n condiţii normale de funcţionare0 acest timp nu generea'ă probleme de genul necesităţii apăsării repetate a butonului pGnă la genererea de comen'i. Hn program apăsarea butonului incrementea'ăTdecrementea'a variabila ce delimitea'a factorul de umplere al impulsului. (inul ,T)T+ este legat permanent la plus , prin re'istorul 53 6pullup70 practic pe el avem permanent 1 logic. a apăsarea butonului intrarea este legată la B@8 re'ultGnd 4 logic. estăm intrarea pinului n 4 logic. ot n aceasta subrutina se iniţiali'ea'ă #i variabila tmeniu j ce repre'intă timpul cGt va sta n meniu pGnă la revenirea la meniul principal. Acest timp cre#te u#urinţa gradului de navigare prin meniurile programului.
,)
*ig ,.21 &rganigrama subrutinei de citire a butoanelor Subrutina de afi#are Această subrutină se ba'ea'ă pe pacetul de funcţii inclus n libraria lcd.c j livrată cu programul (ICC0 program reali'at de YIec C. (robleme apar n momentul n care dorim sa afi#ăm numere. *uncţiile incluse #tiu să afi#e'e doar caractere. (entru ca acest lucru să fie posibil0 numerele sunt tratate pe bucăţi #i transformate n date de tip string.
,+
8e e/emplu pentru numărul 14.4,0 se afi#ea'ă #irul de caractere 14 j0 apoi se afi#ea'ă caracterul punct0 urmGnd ca apoi să se verifice dacă după virgula numărului este 40 ca' n care se afi#ea'ă caracterul 4j. a sfGr#it se afi#ea'ă #i caracterul , j. Acest proces este unul lent #i trebuie reali'at ntrun moment n care nu se e/ecută alte operaţii prioritare. (o'iţionarea pe suprafaţa ecranului se reali'a'ă cu funcţia speciali'ată lcdgoto/\ 6/0\7 j.
*ig ,.22 &rganigrama blocului de afi#are al numerelor 'ecimale Actuali'area rapidă permite utili'atorului să observe n timpul apariţiei avariei a tensiunii de ie#ire sau a tensiunii de baterie. Hn ca'ul actuali'ării la o secundă0 acest timp nu permitea afi#area informaţiilor la timp. Subrutina de aci'iţie de date (rocesul de aci'iţie date este o operaţie ce necesită timp pentru iniţiali'area modulului de conversie analog numerică0 iniţiali'area canalului de pe care se face citirea #i conversia propriu'isă. (relucrarea presupune nmulţirea cu coeficienţi pentru a transforma valorile citite pe 14 biţi n valori perceptibile utili'atorului.
,!
locul de ntreruperi locul de ntreruperi furni'ea'ă n acest ca' informaţii despre trecerea timpului :
timp pentru afi#areV
timpi de măsură tensiune si vite'a motor.
Subrutina de ntrerupere trebuie să dure'e puţin pentru că ea se e/ecută n momentul n care apare depă#irea la 5CIntern sau a scimbarii de stare pe pinul 4. Hn acel moment apare o ntrerupere de e/ecuţie a programului0 indiferent de po'iţia acestuia n blocurile funcţionale. (entru a nu avea efecte supărătoare la afi#are0 subrutina trebuie să fie scurtă n timp. Circuitul porneste cu toate iesirele in 4. a apasarea butonului de SA5TS&( incepe generarea impulsurilor (U ce comanda motorul. ensiunea variatorului si curentul prin motor sunt masurate permanent in timpul functionarii variatorului. Acestea sunt prelucrate conform algoritmului pre'entat mai sus si afisate pe ecranul C8. (entru programul continut in microcontroler ve'i Ane/e.
!&N!UCII
,$
ucrarea pre'inta un sistem de actionare electrica a unui motor de curent continuu cu magneti permanenti comandat cu a9utorul microcontrolerului (IC1)*!++ produs de firma IC5&CYI(. "ste pre'entata structura sistemului de actionare electrica0 modulul de comanda si control (U si interfata de pre'entare a unor parametri de functionare. Sistemul a fost proiectat si reali'at practic in laborator0 punerea lui in functiune si probele efectuate au dat re'ultate foarte bune. "le constituie o ba'a de plecare in cercetarile ulterioare0 legate de comanda cu microcontroller a motoarelor de curent continuu.
Circuitul porneste cu toate iesirele in 4. a pornire0 butoanele functionale a9uta la selectia modului de lucru0 adica :
)4
utonul ` : variator ba'at pe variatia factorului de umplere in bucla descisa
utonul : variator in bucla incisa0 cu stabili'are pe o turatie specifica.
utonul StartTStop : I@*&.
eniu (rincipal =( – variator factor de umplere 8@ variator in bucla incisa STS Informatii
Informatii:
ariator factor umplere
ariator ucla incisa
@eamu Cosmin =(I
8M,4 5(M2444 =M12.4 IM2.44A
8M,45M2444624447 =M12.4 IM2.44A
utoanele de =(T8&U@ varia'a fie factorul de umplere0 fie turatia tinta. a apasarea butonului de SA5TS&( incepe generarea impulsurilor (U ce comanda motorul. ensiunea variatorului si curentul prin motor sunt masurate permanent in timpul functionarii variatorului. Acestea sunt prelucrate conform algoritmului pre'entat mai sus si afisate pe ecranul C8. (entru programul continut in microcontroler ve'i Ane/e.
Bibliografe
)1
1. @icu i'on0 ariatoare de putere0 IS@ $+3)!,$0 "ditura atri/5&0 ucuresti 2441 2. @icu i'on0 "lectronica indistriala Ieorie si aplicatii0 IS@ $+3)!,4+340 "ditura atri/5&0 ucuresti 2444 3. @icu i'on0 "lectronica indistriala IIeorie si aplicatii0 IS@ $+3)!,4+340 "ditura atri/5&0 ucuresti 2444 %. @icu i'on0 Convertoare0 IS@ $+3)!,!3)+0 "ditura atri/5&0 ucuresti 244% ,. *. laab9erg0 E. Cen and S.. L9aer0 (oXer electronics as efficient interface in dispersed poXer generation s\stems0 I""" ransaction on (oXer "lectronics0 vol. 1$0 pp. 11!$11$%0 Sept. 244%. ). _..A. \r'i> and . CalaisV String and odule Integrated Inverters for Single(ase Brid Connected (otovoltaic S\stems A 5evieXV 2443 ologna (oXerec Conference0 232) _une0 ologna0 Ital\. +. @. oan0 . =ndeland0 (.U. 5obbins0 (oXer "lectronics. Converters 0 Applications and 8esign0 _on Uile\ k Sons0 24430 IS@:4%+122)$3$ !. ttpTXXX.ieapvps.org0 I"A (otovoltaic (oXer S\stems (rogramme. $.XXX.enerdata.frTenerdatau>T0 Uorld energ\ statistics databases0 forecasts and anal\ses. 14.XXX.sunligt.gr0 S\stems Sunligt S.A. 11.XXX.solarbu''.com0 Uorld Solar "nerg\ neXs center. 12."lectric (oXer 5esearc Institute 6"(5I S.=.A.7 13.ttp:TTro.Xi>ipedia.org 1%. "mil 5osu0 Curs "lectronica de putere0 universitatea ^dunarea de 9os^0 galati 1,. icrocontrolere (IC online0 ttp:TTXXX.mi>roe.comTroTproductTboo>sT(ICboo> 1). _ac> B. Banssle0 A Buide to 8ebouncing0 5ev 3: _une0 244!
)2
A@""
)3
Aplicatie softXare C= *ISI"5 otcv%.p9t (5&_"C argetMmotcv%.e/ 8evelopmentodeM (rocessore/tM(IC1)*!++ oolSuiteMCCS (rocessorM4/!++* motcv% \peM% (atM *ileistM uildoolM &ptionStringM Additional&ptionStringM mrulist 1Mmotcv% UindoXs 4M4444 S 4 4 +$) %,1 3 4 arget 8ata &ptionStringMp `* *ileistMmotcv%.c &pened *iles 1Mmotcv%.c 2MC8.c 3M %M =nits CountM1 1Mmotcv%.c 6main7 in>M4
*isier C8.C
)%
TTTT TTTT TTTT TTTT TTTT TTTT TTTT TTTT TT TT TT TT TT TT TT TT
lcdinit67 ust be called before an\ oter function lcdputc6c7 Uill displa\ c on te ne/t position of te C8. e folloXing ave special meaning f Clear displa\ n Bo to start of second line b ove bac> one position lcdgoto/\6/0\7 Set Xrite position on C8 6upper left is 1017 lcdgetc6/0\7 5eturns caracter at position /0\ on C8 84 enable 81 rs 82 rX 8% 8% 8, 8, 8) 8) 8+ 8+
struct lcdpinmap q
TT is structure is overla\ed
&&"A@ rsV TT access to te C8 pins. &&"A@ rXV TT e bits are allocated from &&"A@ enableV TT on to an IT& port to gain &&"A@ unusedV TT loX order up. "@A" Xill int data : %V TT be pin 4. lcdV if defined useportblcd locate lcd M getenv6^sfr:(&5^7 TT is puts te entire structure over te port define settrislcd6/7 settrisb6/7 else locate lcd M getenv6^sfr:(&58^7 TT is puts te entire structure over te port define settrislcd6/7 settrisd6/7 endif define lcdt\pe 2 TT 4M,/+0 1M,/140 2M2 lines define lcdlinetXo 4/%4 TT C8 5A address for te second line ]" const C8I@IS5I@B% M q4/24 6lcdt\pe QQ 270 4/c0 10 )V TT ese b\tes need to be sent to te C8 q4/24 6lcdt\pe QQ 270 4/c0 10 )V TT to start it up.
),
TT e folloXing are used for setting TT te IT& port direction register. struct lcdpinmap const C8U5I" M q404040404V TT *or Xrite mode all pins are out struct lcdpinmap const C85"A8 M q404040401,V TT *or read mode data pins are in
]" lcdreadb\te67 q ]" loX0igV settrislcd6C85"A87V lcd.rX M 1V dela\c\cles6147V lcd.enable M 1V dela\c\cles6147V ig M lcd.dataV lcd.enable M 4V dela\c\cles6147V lcd.enable M 1V dela\us6147V loX M lcd.dataV lcd.enable M 4V settrislcd6C8U5I"7V return6 6igQQ%7 loX7V void lcdsendnibble6 ]" n 7 q lcd.data M nV dela\c\cles6147V lcd.enable M 1V dela\us6247V lcd.enable M 4V void lcdsendb\te6 ]" address0 ]" n 7 q
lcd.rs M 4V Xile 6 bittest6lcdreadb\te670+7 7 V lcd.rs M addressV dela\c\cles6147V lcd.rX M 4V dela\c\cles6147V lcd.enable M 4V lcdsendnibble6n PP %7V
))
lcdsendnibble6n k 4/f7V void lcdinit67 q ]" iV settrislcd6C8U5I"7V lcd.rs M 4V lcd.rX M 4V lcd.enable M 4V dela\ms61,47V for6iM1ViQM3V``i7 q lcdsendnibble637V dela\ms6,47V lcdsendnibble627V for6iM4ViQM3V``i7 lcdsendb\te640C8I@IS5I@Bi7V void lcdgoto/\6 ]" /0 ]" \7 q ]" addressV if6\;M17 addressMlcdlinetXoV else addressM4V address`M/1V lcdsendb\te6404/!4address7V void lcdputc6 car c7 q sXitc 6c7 q case NfN : lcdsendb\te64017V dela\ms627V brea>V case NnN : lcdgoto/\61027V brea>V case NbN : lcdsendb\te6404/147V brea>V default : lcdsendb\te610c7V brea>V car lcdgetc6 ]" /0 ]" \7 q car valueV
)+
lcdgoto/\6/0\7V Xile 6 bittest6lcdreadb\te670+7 7V TT Xait until bus\ flag is loX lcd.rsM1V value M lcdreadb\te67V lcd.rsM4V return6value7V
*isier 1)f!++. TTTTTTTT Standard Yeader file for te (IC1)*!++ device TTTTTTTTTTTTTTTT
)!
device (IC1)*!++ nolist TTTTTTTT (rogram memor\: !1$2/1% 8ata 5A: 3)+ Stac>: ! TTTTTTTT IT&: 33 Analog (ins: ! TTTTTTTT 8ata ""(5&: 2,) TTTTTTTT C Scratc area: ++ I8 ocation: 2444 TTTTTTTT *uses: (00YS05C0@&U80U80@&(=0(=0(5&"C0(5&"C, TTTTTTTT *uses: (5&"C,40@&(5&"C0@&5&U@&=05&U@&=0(0@&(0C(8 TTTTTTTT *uses: @&C(80U50@&U508"=B0@&8"=B TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT IT& TT 8iscrete IT& *unctions: S"5IS/670 &=(=/670 I@(=/670 TT (&5/(==(S670 I@(=670 TT &=(=&U670 &=(=YIBY670 TT &=(=*&A670 &=(=I67 TT Constants used to identif\ pins in te above are: define define define define define define
(I@A4 (I@A1 (I@A2 (I@A3 (I@A% (I@A,
%4 %1 %2 %3 %% %,
define define define define define define define define
(I@4 (I@1 (I@2 (I@3 (I@% (I@, (I@) (I@+
%! %$ ,4 ,1 ,2 ,3 ,% ,,
define define define define define define define define
(I@C4 (I@C1 (I@C2 (I@C3 (I@C% (I@C, (I@C) (I@C+
,) ,+ ,! ,$ )4 )1 )2 )3
define (I@84 )% define (I@81 ), define (I@82 ))
)$
define define define define define
(I@83 (I@8% (I@8, (I@8) (I@8+
)+ )! )$ +4 +1
define (I@"4 +2 define (I@"1 +3 define (I@"2 +% TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT =seful defines define *AS" 4 define 5=" 1 define ]" int define &&"A@ sort int define getc getc define fgetc getc define getcar getc define putc putcar define fputc putcar define fgets gets define fputs puts TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT Control TT Control *unctions: 5"S"C(=670 S""(670 5"SA5CA=S"67 TT Constants returned from 5"SA5CA=S"67 are: define U8*5&S""( 3 define U8I"&= 11 define C5*5&S""( 1$ define C5*5&5=@ 2+ define @&5A(&U"5=( 2% define 5&U@&=5"SA5 2) TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT imer 4 TT imer 4 6ALA 5CC7*unctions: S"=(C&=@"5S67 or S"=(I"54670 TT S"I"5467 or S"5CC670 TT B"I"5467 or B"5CC67 TT Constants used for S"=(I"5467 are: define 5CCI@"5@A 4 define 5CC"&Y 32 define 5CC"Y& %! define 5CC8I1
!
+4
define 5CC8I2 define 5CC8I% define 5CC8I! define 5CC8I1) define 5CC8I32 define 5CC8I)% define 5CC8I12! define 5CC8I2,)
4 1 2 3 % , ) +
define 5CC!I
4
TT Constants used for S"=(C&=@"5S67 are te above TT constants for te 1st param and te folloXing for TT te 2nd param: TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT U8 TT Uatc 8og imer *unctions: S"=(U867 or S"=(C&=@"5S67 6see above7 TT 5"SA5U867 TT define U81!S ! define U83)S $ define U8+2S 14 define U81%%S 11 define U82!!S 12 define U8,+)S 13 define U811,2S 1% define U8234%S 1, TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT imer 1 TT imer 1 *unctions: S"=(I"510 B"I"510 S"I"51 TT Constants used for S"=(I"5167 are: TT 6or 6via 7 togeter constants from eac group7 define 18ISA"8 4 define 1I@"5@A 4/!, define 1""5@A 4/!+ define 1""5@AS]@C 4/!3 define 1CL&=
!
define 18I]1 define 18I]2 define 18I]% define 18I]!
4 4/14 4/24 4/34
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT imer 2
+1
TT imer 2 *unctions: S"=(I"520 B"I"520 S"I"52 TT Constants used for S"=(I"5267 are: define 28ISA"8 4 define 28I]1 % define 28I]% , define 28I]1) ) TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT CC( TT CC( *unctions: S"=(CC(/0 S"(U/8=] TT CC( ariables: CC(/0 CC(/&U0 CC(/YIBY TT Constants used for S"=(CC(/67 are: define CC(&** 4 define CC(CA(=5"*" % define CC(CA(=5"5" , define CC(CA(=5"8I% ) define CC(CA(=5"8I1) + define CC(C&(A5"S"&@ACY ! define CC(C&(A5"C5&@ACY $ define CC(C&(A5"I@ 4/A define CC(C&(A5"5"S"I"5 4/ define CC((U 4/C define CC((U(=S1 4/1c define CC((U(=S2 4/2c define CC((U(=S3 4/3c long CC(1V b\te CC(1 M 4/1, b\te CC(1&UM 4/1, b\te CC(1YIBYM 4/1) long CC(2V b\te CC(2 M 4/1 b\te CC(2&UM 4/1 b\te CC(2YIBYM 4/1C TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT (S( TT (S( *unctions: S"=((S(0 (S(I@(=*=670 (S(&=(=*=670 TT (S(&"5*&U670 I@(=8670 &=(=867 TT (S( ariables: (S(8AA TT Constants used in S"=((S(67 are: define (S("@A"8 4/14 define (S(8ISA"8 4 b\te (S(8AAM
!
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT S(I TT S(I *unctions: S"=(S(I0 S(IU5I"0 S(I5"A80 S(I8AAI@ TT Constants used in S"=(S(I67 are: define S(IAS"5 4/24
+2
define S(ISA" 4/2% define S(I&Y 4 define S(IY& 4/14 define S(ICL8I% 4 define S(ICL8I1) 1 define S(ICL8I)% 2 define S(ICL2 3 define S(ISS8ISA"8 1 define S(ISA("A"@8 4/!444 define S(II&Y 4/%444 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT =A5 TT Constants used in setupuart67 are: TT *AS" urn =A5 off TT 5=" urn =A5 on define =A5A885"SS 2 define =A58AA % TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT A8C TT A8C *unctions: S"=(A8C670 S"=(A8C(&5S67 6a>a S"=((&5A70 TT S"A8CCYA@@"670 5"A8A8C67 TT Constants used for S"=(A8C67 are: define A8C&** 4 TT A8C &ff define A8CC&CL8I2 4/144 define A8CC&CL8I! 4/%4 define A8CC&CL8I32 4/!4 define A8CC&CLI@"5@A 4/c4 TT Internal 2)us TT Constants used in S"=(A8C(&5S67 are: define @&A@A&BS + TT @one define AA@A&B 4 TT A4 A1 A2 A3 A, "4 "1 "2 define A@4A@1A@2A@%A@,A@)A@+SS5"* 1 TT A4 A1 A2 A, "4 "1 "2 5efMA3 define A@4A@1A@2A@3A@% 2 TT A4 A1 A2 A3 A, define A@4A@1A@2A@%SS5"* 3 TT A4 A1 A2 A, 5efMA3 define A@4A@1A@3 % TT A4 A1 A3 define A@4A@1SS5"* , TT A4 A1 5efMA3 define A@4A@1A@%A@,A@)A@+5"*5"* 4/4! TT A4 A1 A, "4 "1 "2 5efMA3 5eflMA2 define A@4A@1A@2A@3A@%A@, 4/4$ TT A4 A1 A2 A3 A, "4 define A@4A@1A@2A@%A@,SS5"* 4/4A TT A4 A1 A2 A, "4 5efMA3
+3
define A@4A@1A@%A@,5"*5"* 4/4 TT A4 A1 A, "4 5efMA3 5eflMA2 define A@4A@1A@%5"*5"* 4/4C TT A4 A1 A, 5efMA3 5eflMA2 define A@4A@15"*5"* 4/48 TT A4 A1 5efMA3 5eflMA2 define A@4 4/4" TT A4 define A@45"*5"* 4/4* TT A4 5efMA3 5eflMA2 define A@A&B5A35"* 4/1 TT;old onl\ provided for compatibilit\ define AA@A&B 4/2 TT;old onl\ provided for compatibilit\ define AA@A&B5A35"* 4/3 TT;old onl\ provided for compatibilit\ define 5A45A15A3A@A&B 4/% TT;old onl\ provided for compatibilit\ define 5A45A1A@A&B5A35"* 4/, TT;old onl\ provided for compatibilit\ define A@A&B5A35A25"* 4/! TT;old onl\ provided for compatibilit\ define A@A&B@&5"15"2 4/$ TT;old onl\ provided for compatibilit\ define A@A&B@&5"15"25"*5A3 4/A TT;old onl\ provided for compatibilit\ define A@A&B@&5"15"25"*5A35A2 4/ TT;old onl\ provided for compatibilit\ define AA@A&B5A35A25"* 4/C TT;old onl\ provided for compatibilit\ define 5A45A1A@A&B5A35A25"* 4/8 TT;old onl\ provided for compatibilit\ define 5A4A@A&B 4/" TT;old onl\ provided for compatibilit\ define 5A4A@A&B5A35A25"* 4/* TT;old onl\ provided for compatibilit\ TT Constants used in 5"A8A8C67 are: define A8CSA5A@85"A8 + TT is is te default if noting is specified define A8CSA5&@] 1 define A8C5"A8&@] )
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT I@ TT Interrupt *unctions: "@A"I@"55=(S670 8ISA"I@"55=(S670 TT "I@"8B"67 TT TT Constants used in "I@"8B"67 are: define &Y 4/%4 define Y& 4 TT Constants used in "@A"T8ISA"I@"55=(S67 are: define B&A 4/4C4 define I@5CC 4/424 define I@5 4/**44! define I@" 4/414
+%
define I@A8 define I@" define I@58A define I@I"51 define I@I"52 define I@CC(1 define I@CC(2 define I@SS( define I@(S( define I@=SC& define I@""(5& define I@I"54
4/!C%4 4/!C14 4/!C24 4/!C41 4/!C42 4/!C4% 4/!841 4/!C4! 4/!C!4 4/!84! 4/!814 4/424
list
Functia F&&R 78 float C"I*&&56float /0 int n7 q float \0 resV long lV int1 sV
+,
s M 4V \ M /V if 6/ Q 47 q s M 1V \ M \V if 6\ QM 32+)!.47 res M 6float76long7\V else if 6\ Q 14444444.47 q l M 6long76\T32+)!.47V \ M 32+)!.46\T32+)!.4 6float7l7V res M 32+)!.46float7lV res `M 6float76long7\V else res M \V \ M \ 6float76long7\V if 6s7 res M resV if 6\ ;M 47 q if 6s MM 1 kk n MM 47 res M 1.4V if 6s MM 4 kk n MM 17 res `M 1.4V if 6/ MM 47 res M 4V return 6res7V TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TT float floor6float /7 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TT 8escription : rounds doXn te number /.
+)
TT 8ate : @TA TT float floor6float /7 q return C"I*&&56/0 47V
Fi(ier motc/6)c include Q1)*!++.P device adcM14 fuses 0@&U80@&(5&"C0@&(0@&5&U@&=0(= use dela\6cloc>M144444447 include Qmat.P
++
include Qstdio.P include Qstdlib.P include Qstring.P include QC8adi.cP const int >=M%,V const int >IM33V int I@S("5S"C&@8M 1$V TT 614444444T6%2,)2,)77 float ten10curent1V void afisare8ate6int optiune7Vvoid a85(6int op7Vvoid aI6float ten0 float curent7Vvoid ip@um6int1) numar7V int32 dut\0dut\curentV int1) turatie20dut\2V int intcount0apasatV int1) dif0imp(eSecunda0imp(einut0imp(eSecunda20imp(einut2V int op10op20op30tensiunei0ensiunefV car ti1)V int o>0ti0tfV car te/t))Mq^ @eamu Cosmin =(I 2414 ucrare icenta ^V b\te startt0stopt0inde/tV TTfloat valueV b\te stareb,0stareb)0stareb+0onoff0dprocV void main67 q intcountMI@S("5S"C&@8V dut\M4V dut\curentM4V setupadcports6A@4A@1A@37V setupadc6A8CC&CLI@"5@A7V setuptimer465CCI@"5@A5CC8I2,)7V setuptimer161I@"5@A18I]!7V setuptimer2628I]1)02,4017V TT,44' TTsetuptimer2628I]10+,017VTT33>' TT setupccp16CC((U7V setpXm1dut\647V enableinterrupts6I@5CC7V enableinterrupts6I@"7V enableinterrupts6B&A7V imp(einutMimp(eSecundaM4V turatie2M2444V op1Mop2Mop3M4VtiMtfM4VonoffM4Vdut\M,44V C8init67VC8(utc6^f^7VC8goto/\610 17VC8(utc6^ Aplic otor CC n^7VC8(utc6^ @eamu Cosmin ^7V dela\ms6,47Vdela\ms6,47V TTif 6input6(I@+7MM47 qdela\ms6,7Vif6input6(I@+7MM47 goto start2V
+!
start41:C8(utc6^f^7VC8goto/\610 17VC8(utc6^ =( variatie 8 n^7VC8(utc6^8&U@ ar 5( ^7V TTgoto startV start4: if 6input6(I@,7MM47 qdela\ms6+7Vstareb,M1V if6input6(I@,7MM17 if 6stareb,MM17qstareb,M4VI@S("5S"C&@8M 1$VBoto StartV TTuton) if 6input6(I@)7MM47 qdela\ms6+7Vstareb)M1V if6input6(I@)7MM17 if 6stareb)MM17qstareb)M4VI@S("5S"C&@8M %Vgoto start2V if 6input6(I@+7MM47 qdela\ms6+7Vstareb+M1V if6input6(I@+7MM17 if 6stareb+MM17qstareb+M4VI@S("5S"C&@8M 14Vgoto start,V
goto start4V start,: lcdgoto/\61017Vprintf6lcdputc0^ariator otorCC^0te/tinde/t7V lcdgoto/\61027V for 6inde/tMstarttVinde/tQstartt`1)Vinde/t``7 printf6lcdputc0^c^0te/tinde/t7V if 6o>MM17qstartt``Vo>M4V if 6starttP,+7 starttM4V if 6input6(I@,7MM47 qdela\ms6+7Vstareb,M1V if6input6(I@,7MM17 if 6stareb,MM17qstareb,M4VBoto Start41V if 6input6(I@)7MM47 qdela\ms6+7Vstareb)M1V if6input6(I@)7MM17 if 6stareb)MM17qstareb)M4Vgoto start41V if 6input6(I@+7MM47 qdela\ms6+7Vstareb+M1V if6input6(I@+7MM17 if 6stareb+MM17qstareb+M4Vgoto start41V goto start,V start: TTuton, ` if 6input6(I@,7MM47 qdela\ms6+7Vstareb,M1Vapasat``Vif 6apasatMM247 qapasatM4Vif 6dut\QM$!47 dut\Mdut\`14VV if6input6(I@,7MM17 if 6stareb,MM17qstareb,M4Vif 6dut\QM$!47 dut\Mdut\`14V TTuton)
+$
if 6input6(I@)7MM47 qdela\ms6+7Vstareb)M1Vapasat``Vif 6apasatMM247 qapasatM4Vif 6dut\P247 dut\Mdut\14V if6input6(I@)7MM17 if 6stareb)MM17qstareb)M4Vif 6dut\PM247 dut\Mdut\14V TTuton+ meniu on of if 6input6(I@+7MM47 qdela\ms6,7Vstareb+M1V if6input6(I@+7MM17 if 6stareb+MM17 qstareb+M4V if 6onoffMM17 qonoffM4V else qonoffM1V TTcomanda iesire if 6onoffMM17 qsetpXm1dut\6dut\7Vlcdgoto/\61017V outputbit6 (I@830 17Vafisaredate647V else qsetpXm1dut\647V lcdgoto/\61017V outputbit6 (I@830 47Vafisaredate617V goto startV start2: C8(utc6^f^7V onoffM4V start3: setadccannel647V TTtensiune motor dela\us61447V ten1 M readadc67Vdela\us6,47V ten1Mten1T>=V setadccannel617V TTtensiune motor M curent motor dela\us61447V curent1 M readadc67Vdela\us6,47V curent1Mcurent1T>IV TTuton, ` if 6input6(I@,7MM47 qdela\ms6+7Vstareb,M1Vapasat``Vif 6apasatMM247 qapasatM4Vif 6turatie2QM,$447 turatie2Mturatie2`144V if6input6(I@,7MM17 if 6stareb,MM17 qstareb,M4Vif 6turatie2QM,$447 turatie2Mturatie2`144V TTuton) if 6input6(I@)7MM47 qdela\ms6+7Vstareb)M1Vapasat``Vif 6apasatMM247 qapasatM4Vif 6turatie2PM1447 turatie2Mturatie2144V if6input6(I@)7MM17 if 6stareb)MM17 qstareb)M4Vif 6turatie2PM1447 turatie2Mturatie2144V TTuton+ meniu on of if 6input6(I@+7MM47 qdela\ms6,7Vstareb+M1V if6input6(I@+7MM17 if 6stareb+MM17 qstareb+M4V if 6onoffMM17 qonoffM4V else qonoffM1V TTcomanda iesire
!4
if 6onoffMM17 qsetpXm1dut\6dut\27Vlcdgoto/\61017V outputbit6 (I@830 17Vafisaredate627Velse qsetpXm1dut\647V lcdgoto/\61017V outputbit6(I@830 47Vafisaredate637V if 6onoffMM17 qif 6turatie2Pimp(einut27 qdifMturatie2imp(einut2Vdut\2Mdut\2`24V else qdifMimp(einut2turatie2V dut\2Mdut\224Vo>M4V if 6dut\2P$!47 dut\2M$!4Vif 6dut\2Q247 dut\2M24V goto start3V void Afisare8ate6int optiune7 q if 6optiuneMM47qa85(647Vavi6ten10curent17V if 6optiuneMM17qadrpm647Vlcdgoto/\61027Vprintf 6lcdputc0^ ariator &(5I ^7V if 6optiuneMM27qadrpm617Vavi6ten10curent17V if 6optiuneMM37qadrpm617Vlcdgoto/\61027Vprintf 6lcdputc0^ 5( SM^7Vip@um6turatie27Vlcdputc6^ ^7V void ip@um6int1) numar7 q itoa6numar0140ti7Vprintf6lcdputc0^s^0ti7V int5CC 5CCisr67 q if6intcountMM47 q TT intcountMI@S("5S"C&@8V imp(einutMimp(eSecundaV imp(einut2Mimp(eSecunda2V imp(eSecundaM4Vimp(eSecunda2M4V o>M1V int" "isr67 q imp(eSecundaMimp(eSecunda`2V imp(eSecunda2Mimp(eSecunda2`$V
!1
void a85(6int op7 q if 6opMM47 q lcdgoto/\61017V printf 6lcdputc0^8M^7V 6lcdputc0^8M^7V dprocMdut\T14V ip@um6dproc7V lcdputc6^ ^7V lcdgoto/\6!017V printf 6lcdputc0^5(M^7V 6lcdputc0^5(M^7V ip@um6Imp(einut7V lcdputc6^ ^7V if 6opMM17 q lcdgoto/\61017V printf 6lcdputc0^8M^7V 6lcdputc0^8M^7V dprocMdut\2T14V ip@um6dproc7V lcdputc6^^7V if 6dprocQ147 lcdputc6^ ^7V lcdgoto/\6)017V printf 6lcdputc0^5M^7V 6lcdputc0^5M^7V if 6o>MM17q ip@um6Imp(einut27Vlcdgoto/\612017V lcdputc6^6^7Vprintf lcdputc6^6^7Vprintf 6lcdputc0^b^7Vip@u 6lcdputc0^b^7Vip@um6turatie27Vlcd m6turatie27Vlcdputc6^7 putc6^7 ^7Vo>M4V void aI6float ten0 float curent7 q setadccannel647V setadccannel647V TTtensiune motor dela\us61447V ten1 M readadc67Vdela\us6,47V readadc67Vdela\us6,47V ten1Mten1T>=V setadccannel617V setadccannel617V TTtensiune motor M curent motor dela\us61447V curent1 M readadc67Vdela\us6,47V readadc67Vdela\us6,47V curent1Mcurent1T>IV lcdgoto/\61027V lcdgoto/\61027V printf 6lcdputc0^=M^7V tensiuneiMfloor6ten7V printf6lcdputc0^d^0tensiunei7V tenMtentensiuneiV tenMfloor6ten147V tensiunefMtenV printf6lcdputc0^.^7V printf6lcdputc0^d^0tensiunef7Vlcdputc6^ ^7V
!2
lcdgoto/\6$027Vpri lcdgoto/\6$027Vprintf ntf 6lcdputc0^IM^7V 6lcdputc0^IM^7V tensiuneiMfloor6curent7V printf6lcdputc0^d^0tensiunei7V curentMcurenttensiuneiV curentMfloor6curent1447V tensiunefMcurentV printf6lcdputc0^.^7V if 6curentQ147 printf6lcdputc0^4^7V printf6lcdputc0^4^7V printf6lcdputc0^d^0tensiunef7V lcdputc6^A ^7V
Scema generala
!3
R1
7805
R1 1'
1
12!
!I
D N +
100
C3
C1
1nF
100uF
!O
5!
3
2
1k
5!
C2
C4
100uF
1nF
5! 1k
D% )CD1 -1
O&C1
B%
R3
5!
R20
),01%)
B5
R2
1k
RD3 9)ED1:
B7 300
)ED
O&C2
R4 RE&E#
CRA)
5! 10k
C% 27/
& D E & D E & ' 0 1 2 3 4 5 % 7 ! ! ! R R E D D D D D D D D
R14
R5
10k
10k
Uvariator
1 2 3 4 5 % 7 8 ( 0 1 2 3 4 1 1 1 1 1
Umasura
R13 5k
! 1 2 0 5 D D D
D1
4 5 % 7 D D D D
C7
R12
10uF
200k
DIODE
5!
D2 1N5231B
R1%
R!1 10$
I,otor
R6aContrast
Imasura 10k
Simple Cotrol Motor DC
D4
C(
R17
10uF
200k
DIODE
D5 1N5231B
U1 O&C1 O&C2 RE&E# Umasura Imasura
13 O&C1C)$IN 14 O&C2C)$OU# 1 ,C)R!//#! 2 3 4 5 % 7
RB0IN# RB1 RB2 RB3*+, RB4 RB5 RB%*+C RB7*+D
RA0AN0 RA1AN1 RA2AN2!REF" RA3AN3!REF RA4#0C$I RA5AN4&& RC0#1O&O#1C$I RC1#1O&ICC*2 8 RE0AN5RD RC2CC*1 ( RE1AN%'R RC3&C$&C) 10 RE2AN7C& RC4&DI&DA RC5&DO RC%#-C$ RC7R-D# RD0*&*0 RD1*&*1 RD2*&*2 RD3*&*3 RD4*&*4 RD5*&*5 RD%*&*% RD7*&*7
33 34 35 3% 37 38 3( 40 15 1% 17 18 23 24 25 2% 1( 20 21 22 27 28 2( 30
I,*En
B5 B% B7
)1
12!
Uvariator
! 5
D3 DIODE *',1
4 )CD E )CD R& )CD R' )ED1 *',1 )CD D4 )CD D5 )CD D% )CD D7
I,*En
R7
R%
10k
10k
2
1
BC171
F#
3 IRF%40
R8 2k
IRF%40
R15
*IC1%F877
0.2
!%
Cabla9
!,
!)