Sunteți pe pagina 1din 29

ANEXA 1

FIA DE NSCRIERE LA CONCURS

1. TITLUL LUCRRII: Utilizarea microprocesorului pe 8 bii pentru acionarea


motorului de curent continuu
1. DOMENIUL LA CARE PARTICIP: CULTUR TEHNIC
2. UNITATEA COLAR COLEGIUL TEFAN ODOBLEJA
3. DATE DE CONTACT ALE UNITII COLARE:
a) localitate: CRAIOVA
b) strad: Electroputere
c) nr. 21
d) jude: DOLJ
e) cod potal: :200568
f) telefon /fax: 0351/405 657
e) e-mail: stefanodobleja_craiova@yahoo.com
4. DATE DE CONTACT ALE PROFESORULUI COORDONATOR:
a) Nume i prenume: NIIPIR MIRELA
b) Telefon: 0733987356
c) E-mail: mirelanitipir@yahoo.com
5. DATE DE CONTACT ALE ELEVULUI(LOR):
a) Nume i prenume: CIOABL MDLINA
b) Telefon:
c) E-mail:

Utilizarea microprocesorului pe 8 bii


pentru acionarea motorului de curent continuu

prof. NIIPIR Mirela


elev CIOABL Mdlina

CUPRINS

1.INTRODUCERE
2. CONINUT TEHNIC:
2.1. Componente hardware
2.2. Descriere software
2.3. Aplicaie practic: Acionarea motorului de curent

Pag. 4
Pag. 6
Pag. 6
Pag. 18

continuu n ambele sensuri


3. CONCLUZII
4. BIBLIOGRAFIE

Pag. 24
Pag. 30
Pag. 30

1. INTRODUCERE
Conceptul de mecatronic s-a nscut n Japonia la nceputul deceniului al VIII-lea al secolului
trecut. Termenul de mecatronic a fost brevetat de ctre concernul Yaskawa Electric Co. i a fost
utilizat pentru a descrie fuziunea tehnologic: mecanic electronic informatic. Tot ceea ce
numim azi un produs de nalt tehnicitate, este n sine un produs mecatronic. Automobilul modern,
mainile-unelte cu comand numeric,echipamentele periferice ale calculatoarelor, tehnica de
telecomunicaii, aparatura de cercetare, roboii, aparatura biomedical, aparatura electrocasnic
etc., sunt doar cteva exemple de produse mecatronice.
Practic, mecatronica este prezent n toate domeniile de activitate, inclusiv n agricultur i n
construcii.
Mecatronica s-a nscut ca tehnologie i a devenit foarte curnd filosofie care s-a rspndit n ntreaga
lume, valenele creatoare fiind confirmate n toate domeniile de activitate. Apariia mecatronicii este
rezultatul firesc al evoluiei n dezvoltarea tehnologic. Aceast evoluie este sugestiv evideniat n
figura urmtoare:

Coloana vertebral a mecatronicii o constituie tehnologia mecanic, care s-a dezvoltat ctre
mecanizare. Progresele n domeniul tehnologiei electronice, apariia circuitelor, integrate, mici ca
dimensiuni, ieftine i fiabile, au permis includerea electronicii n structurile mecanice. Se realizeaz
astfel primul pas ctre integrare: integrarea electromecanic.
Urmtorul pas n integrare a fost determinat de apariia microprocesoarelor. Cu aceleai
caracteristici constructive ca i circuitele integrate,microprocesoarele au putut fi integrate n
structurile electromecanice realizate anterior. Astfel, acestea pot preleva informaii privind att
stareaextern, a mediului, ct si cea intern, putnd prelucra i stoca aceste informaii i lund
decizii n consecin privind comportarea sistemului.
Progresul n domeniul mainilor i acionrilor electrice se datoreaza noilor materiale i
componente utilizate, noilor tehnici i echipamente de comand i noilor metode de proiectare. n
spatele acestor elemente se afl progresul n domeniul chimiei, al fizicii corpului solid, al circuitelor
integrate pe scar larg i al calculatoarelor n diferitele lor variante.

Dac primele acionri cu vitez reglabil erau bazate n exclusivitate pe motoare de curent
continuu alimentate de la redresoare cu vapori de mercur, tiratroane sau amplificatoare magnetice,
progresele nregistrate n toat aceast perioad n domeniul semiconductoarelor de putere
comandate au fcut posibile nu numai realizarea de acionri de curent alternativ de mare
performan tehnic, dar chiar i eliminarea primelor ntr-o serie ntreag de aplicaii.
Noile dispozitive cu trei jonciuni, de tip tiristor, atingnd tensiuni de pn la 4600 V i 2600 A cu
stingere pe poart i aprindere prin fibre optice, sunt utilizate la frecvene de comutaie de pn la
1 kHz. La puteri mai mici, pn la 1200 V i 450 A, tranzistoarele bipolare sunt folosite cu
precdere pn la frecvene de comutaie de 2,5 kHz; la frecvene mai ridicate, pn la 20 kHz,
tranzistoarele MOSFET acoper domeniul 1000 V i 10 A, respectiv cureni mai mari la tensiuni
mai mari. n ultimul timp au aprut tranzistoare BIMOS hibride, care asigur att puteri mari de
comutaie: 1000 V 160 A, ct i frecvene ridicate de lucru: 16 kHz.
Accesul la toate aceste noi dispozitive a permis realizarea de diverse echipamente convertizoare
de frecven, bazate pe conversia direct c.a./c.a., indirect (cu circuit intermediar de curent
continuu) c.a./c.c./c.a. sau de tip rezonant c.a./c.c./c.a./c.a., n diverse tehnici de comutare, cu
modulaie n durat linear, delta sau sigma. Pentru atingerea unor parametrii limit, se aplic
msuri speciale de reducere a pierderilor n aceste dispozitive, circuitele RC i reelele de
comutaie fiind larg utilizate.
Un alt factor care a dus la creterea performanelor acionrilor electrice a fost utilizarea metodelor
moderne din teoria sistemelor. Tehnici de tip multivariabil, adaptiv optimale, ce includ estimri de
stri i identificri de parametrii n timp real, sunt tot mai des utilizate, att n acionri de mic
putere ct i n cele de putere ridicat. Toate acestea nu au fost posibile fr progresele realizate
n domeniul circuitelor integrate pe scar larg, al microprocesoarelor, i mai recent, al
procesoarelor de semnal care permit, actualmente, implementarea unor algoritmi compleci de
reglare, toate acestea n perioada de eantionare/achiziionare/calcul/comand sub 100 s.
Spre deosebire de procesoarele de uz general, destinate n special microcalculatoarelor de birou
sau conducerii proceselor lente care nu implic volume ridicate de calcul n perioade de timp
reduse, procesoarele de semnal sunt optimizate n special pentru operaii de nmulire sau pentru
lucrul cu vectori i matrici. n scopul accelerrii calculelor aceste procesoare prezint o arhitectur
de tip Harward cu trei memorii distincte i trei magistrale interne: prima pentru program i
urmtoarele dou pentru date. Realizate n general pe 16 bii i rezultate pe 32 de bii, n virgul
fix sau mobil, aceste procesoare dotate cu set redus de instruciuni asigur viteze globale medii
de calcul de aproximativ 40 de ori mai mari dect ale procesoarelor de uz general, ceea ce permite
realizarea simultan a identificrii parametrilor sistemului on-line i a implememtrii unor algoritmi
de reglaj complex.
Utilizarea procesoarelor n sisteme de acionri electrice permite n plus monitorizarea i
diagnosticarea, precum i luarea la timp a unor msuri pentru a evita distrugerea sau scoaterea
din funciune intempestiv a instalaiilor respective. Tehnici speciale de analiz de semnal au fost
dezvoltate i implementate n sisteme bazate pe microprocesoare ce permit determinarea la un
moment dat att a strii sistemului ct i a evoluiei sale n timp.
Lucrarea de fa ofer posibilitatea unei evaluri a unor preocupri recente n ceea ce privete
utilizarea microprocesoarelor n comanda i reglarea acionrilor electrice, urmrindu-se obinerea
unor caracteristici superioare de funcionare la un pre de cost ct mai redus.

2. CONTINUT TEHNIC
2.1 Componente hardware
Microprocesorul pe 8 biti
Aprut n 1971 (Intel 4004, M.E. Hoff), microprocesorul (P) revoluioneaz ntr-un interval foarte
scurt toate domeniile. Anunat la sfritul anului 1971 ca un computer-on-a-chip, P nu a trezit
atenie deoarece ca funcionalitate nu se nscria strict n unul din domeniile de circuite, de sisteme
sau de programare. Dar, foarte curnd s-a neles c potenialul P eman tocmai din jonciunea
celor trei domenii; din acel moment, expansiunea lui a fost sigur i de mare avengur, realiznd
saltul calitativ de la o structur cablat la logica programat.
Sistemele cu P nlocuiesc circuitele convenionale, gsindu-i aplicabilitate n toate domeniile
care necesit conducerea dup un program sau o automatizare secvenial. Aceast tendin este
justificat prin cele dou mari avantaje pe care sistemele cu P (logica programat) le posed.
Un prin avantaj l constituie o reducere substanial a numrului de componente utilizate,
concretizat prin:
- reducerea dimensiunilor sistemului (miniaturizare), un numr mai mic al plcilor cu circuite
integrate;
- reducerea consumului de putere;
- reducerea numrului de conexiuni i prin aceasta creterea fiabilitii;
- reducerea substanial a preului de cost.
Cel de-al doilea avantaj l constituie flexibilitatea, datorit posibilitilor de a impune funcionarea
sistemului conform unui program memorat. n aceste condiii, pentru a schimba funciile sistemului,
este necesar a se modifica numai programul memorat, fr a se reproiecta structura logic a
noului sistem sau a se desface legturile de pe circuitele imprimate. Acest avantaj se
concretizeaz printr-o mai uoar proiectare sau testare a unui nou sistem i implicit prin scurtarea
duratei de punere n funciune a acestuia.
Pentru a uura munca utilizatorilor, firmele productoare de P, dezvolt pentru un anumit produs
o configuraie standard de microsistem. De asemenea, firmele productoare de P pun la
dispoziia utilizatorilor software de baz, care la rndul lor uureaz proiectarea complet a unui
microsistem.
Structura unui microprocesor
Microprocesorul (P) este un circuit digital integrat pe scar larg (LSI - Large Scale Integration),
complex, care poate efectua operaii aritmetice i logice sub controlul unui program memorat.
Pentru un P se pot desprinde urmtoarele pri componente: unitatea aritmetico-logic (ALU Arithmetical Logical Unit), unitatea de comand i control i grupul de registre. Aceste pri
componente sunt conectate ntre ele i nspre/dinspre exterior prin intermediul magistralelor de
date i de adrese.

n figura de mai jos este prezentat arhitectura standard a unui P cu magistral unic de date.

Arhitectura standard a unui microprocesor

Unitatea de comand i control a unui P este un automat secvenial denumit i main cu


algoritm de stare (ASM Algorithmic State Machine) la care algoritmul de funcionare este nscris
ntr-un PROM (Programable Read Only Memory) sau ntr-un PLA (Programable Logic Array).
Numrtorul de adrese (PC Program Counter) conine la un moment dat adresa instruciunii care
urmeaz a fi executat, adres depus pe magistrala de adresare. Memoria trimite instruciunea
respectiv n registrul de instruciuni (IR Instruction Register) iar unitatea de comand
incrementeaz PC. Coninutul acestuia poate fi modificat i prin salt, prescriind adresa la care se
face saltul. Coninutul PC este ters de un semnal RESET extern.
Impulsurile de tact care sincronizeaz activitatea unitii de comand i control sunt generate de
un circuit special inclus sau nu n P numit generator de tact (clock driver). Ansamblul de semnale
derivate din cel de ceas definesc tactul elementar, o operaie compunndu-se din microoperaii
asociate timpilor elementari corespunztori. Unitatea de comand i control genereaz la rndul ei
un semnal de sincronizare (SYNC), corelat cu tactul sistem, care permite sincronizarea exteriorului
P (memorie, periferice) cu etapele consecutive din derularea instruciunii. n afara semnalelor
RESET, TACT, unitatea de comand primete i alte semnale din exterior:
- HOLD:
pentru a solicita eliberarea magistralelor;
- READY: pentru a indica disponibilitatea unei date;
- INT:
pentru ntreruperi.
De asemenea, P, prin unitatea de comand i control emite semnale n exterior pentru a indica
starea n care se afl:
- SYNC:
la nceput de ciclu main;
- DBIN:
magistral de date liber;
- WAIT:
se afl n ateptare;
- INTE:
acceptare ntreruperi.
Unitatea aritmetico-logic (ALU) realizeaz operaii aritmetice i logice de tipul adunare,
scdere, I, SAU, XOR, complementare, incrementare/decrementare, deplasare dreapta/stnga.
Este un circuit combinaional ce prezint o ieire i dou intrri. Primul cuvnt de procesare (primul
operand) aplicat la intrarea ALU se afl n registrul acumulator, iar al doilea operand este aplicat de
pe magistrala intern (unde a fost depus de un alt registru sau de o memorie extern). Rezultatul

procesrii este depus tot n registrul acumulator. Nu toate operaiile efectuate necesit la intrarea
ALU doi operanzi.
n urma unor teste din timpul execuiei operaiilor aritmetice i logice din program se seteaz (se
pun pe 1) anumii bii aflai n registrul indicatorilor de condiii. Aceti bii se numesc flags i cei
mai importani sunt:
- transport (CARRY):activat, indic depirea de capacitate i memoreaz bitul de transport;
- zero (ZERO):
activat, dac rezultatul unei operaii este zero;
- semn (SIGN):
setat, cnd rezultatul este un numr negativ;
- paritate (PARITY): setat, dac numrul biilor cu valoare 1 din rezultat este impar.
Aceste fanioane genereaz mpreun cu coninutul acumulatorului cuvntului de stare al
programului (Program Status Word). Prin testarea biilor de stare se pot realiza instruciuni
condiionate, deci salturi n program n funcie de rezultatele unei instruciuni.
Grupul de registre din structura P pstreaz rezultate intermediare sau operanzi. Fiind
conectate direct (prin magistrala intern) cu ALU, rezult o vitez de manipulare a datelor mrit n
cazul utilizrii lor. Orice tip de P trebuie s aib n structura sa un numr de apte registre:
1.

Numrtorul de stare (PC Program Counter). Conine nscris adresa locaiei instruciunii
ce trebuie adus din memoria extern. Coninutul de m bii ai numrtorului de adrese este
automat incrementat cu o unitate dup ce instruciunea a fost adus (citit) din memorie. n
general, PC, fiind un registru cu prescriere, se pot realiza i salturi n citirea locailor
memoriei, altele dect cele ale numrrii n ordinea natural.

2.

Registrul de adresare a memoriei (buffer de adrese) este conectat la magistrala extern de


adrese. Coninutul PC este transferat n bufferul de adrese care depune pe magistrala
extern un cuvnt binar de m bii ce reprezint adresa unei locaii de memorie sau adresa
unui port intrare/ieire.

3.

Registrul intrare/ieire (buffer I/O). Prin acest registru se realizeaz legtura ntre
magistrala de date interioar a P i magistrala de date exterioar (a microsistemului).

4.

Registrul de instruciuni (IR Instruction Register). Acest registru pstreaz instruciunea


pe durata executrii acesteia. Odat copiat instruciunea n IR, coninutul PC este automat
incrementat cu o unitate.

5.

Registrul acumulator. Este registrul cu cea mai frecvent utilizare. Acest registru este
conectat la magistrala intern de date i la ALU. Cnd se proceseaz dou cuvinte, la
nceput, primul cuvnt se afl n registrul acumulator, iar dup procesare, rezultatul este
depus tot n registrul acumulator.

6.

Registrul indicatorilor de condiii. Conine grupul de bistabile fanioane. Aceste fanioane


asamblate sub forma unui registru i citite simultan vor genera, mpreun cu coninutul
acumulatorului, cuvntul de stare al programului (PSW Program Status Word).

7.

Un alt registru important din componena P este registrul stiv (STACK POINTER), util
pentru salturile din program cu revenire, ce apar la apelul unei subrutine sau la o cerere de
ntrerupere extern. Pentru reluarea programului de la instruciunea urmtoare celei pe
durata creia a survenit cerea de salt cu revenire, se utilizeaz un grup de registre ntr-o
structur LIFO (Last In First Out Ultimul intrat primul ieit) ce conine adresele de revenire
n ordinea invers a succesiunii salturilor (ultima adres este n vrful stivei, iar cea mai
veche este cea mai deprtat, spre baza stivei). Aceast organizare permite apelarea unor
subprograme de ctre altele sau tratarea unor ntreruperi survenite nainte de revenirea n
programul principal.

n soluia hardware, P conine un numr de n registre interne special destinate memoriei stiv.
Avantajul acestei soluii l constituie viteza mare de acces, iar dezavantajul principal l constituie
capacitatea limitat a memoriei stiv. Pentru a elimina dezavantajul prezentat, memoria stiv poate
fi implementat prin software, n exterior, pe o memorie RAM.
Se tie din tehnica programrii, c ultima instruciune a unei subrutine este cea de revenire la
programul apelant (de tip RETURN). Aceast instruciune conine un cmp al adresei. Cnd P
analizeaz o instruciune de tip RETURN, el nlocuiete coninutul PC cu adresa coninut n
registrul superior al memoriei stiv, ceea ce determin revenirea n programul apelant la
instruciunea imediat urmtoare celei prin care s-a fcut apelul subrutinei.
n afara instruciunilor de apel al subrutinelor, respectiv cele de revenire din subrutine, o memorie
stiv organizat n exterior poate fi controlat de alte dou instruciuni specifice: PUSH i POP.
Circuitele unui microsistem
Un microsistem cuprinde, pe lng unitatea central de prelucrare (microprocesor) o serie de
elemente (circuite) externe, cu care acesta dialogheaz pentru executarea programului. Structura
tip a unui microsistem (S) este prezentat n figura de mai jos.
.

Structura tip a unui microsistem

Se observ c orice S este realizat cu ajutorul urmtoarelor componente:


- microprocesorul, care necesit pentru funcionare un circuit auxiliar generator de tact extern;
- memorii, pentru pstrarea programelor i a datelor;
- circuite de interfa, pentru conexiunea i controlul echipamentului periferic;
- circuite auxiliare necesare n funcionarea unui S.
Blocul de memorii
Din punct de vedere al principiului de funcionare, memoriile unui S sunt:
- Memorii de tip RAM (Random Access Memories Memorii cu acces aleator); au posibiliti de
citire i nscriere; sunt utilizate n special pentru pstrarea datelor. Un exemplu de organizare
pentru o memorie RAM realizat cu tehnologie MOS (Metal-Oxid Semiconductor) este circuitul
Intel 8102-4 cu o capacitate de 1024 cuvinte a cte 1 bit. Adresa unei celule este selectat de
decodificatorul de linie, respectiv de decodificatorul de coloan. Terminalul CE (Chip Enable),
permite selecia circuitului de memorie, atunci cnd la magistrala de adrese sunt conectate,
printr-o funcie logic SAU, mai multe module. Informaia care urmeaz a fi memorat se
introduce prin terminalul DATA IN, iar cea care urmeaz a fi citit din memorie apare la
terminalul DATA OUT. Terminalul R/W este utilizat pentru validarea operaiei de nscriere.
-

Memorii de tip ROM (Read Only Memories Memorii numai pentru citire); sunt utilizate n
special pentru pstrarea programelor. Elementul principal este o reea n form de matrice,

constituit din elemente semiconductoare, reea n care aceste elemente sunt interconectate
prin procesul de fabricaie pentru a memora o informaie binar. Dup ce memoria a fost
programat, coninutul su nu poate fi modificat i nu se pierde odat cu decuplarea de la
sursele de energie. Utiliznd tehnologii speciale, pot fi realizate memorii ROM al cror coninut
poate fi programat de ctre utilizator, sau chiar schimbat de ctre acesta, prinmetode specifice,
ceea ce a condus la denumirea de memorii ROM programabile PROM, respectiv memorii
ROM reprogamabile REPROM.
Subsistemul de intrare/ieire (I/O)
Cuprinde ansamblul porturilor de intrare/ieire i
al circuitelor de control prin interfaarea
echipamentelor periferice i a altor dispozitive
externe.
Portul este un canal de intrare/ieire format, n
mod obinuit din 8 linii individuale de
comunicaie. Porturile au registre tampon
(latches) din care informaia poate fi citit de
ctre P sau n care se pot transfera informaii de
Schema de principiu a unui circuit UART
ctre acesta. n contextul acestui mod de
comunicare cu perifericele, tehnica interogrii (polling) exploreaz ciclic starea perifericelor pentru
a verifica dac au date de transmis sau sunt gata s recepioneze date.
Dou tipuri de module fac parte din aceast categorie de circuite de interfa. Dac funcionarea
perifericului necesit conversia serie/paralel sau paralel/serie a informaiei, cele mai cunoscute
sunt cele sub numele UART (Universal Asynchronous Receiver Transmitter), iar dac nu necesit
aceast conversie sunt denumite circuite PIO (Parallel Input Output).
Pentru a satisface sarcinile impuse, un circuit standard UART este compus din trei blocuri
funcionale:
- un receptor, cu rolul de a transforma informaia serie primit de la periferic n informaie paralel
de 8 bii, depus pe magistrala de date;
- un transmitor, cu rolul de a transforma informaia paralel de 8 bii primit de la S n
informaie serie transmis perifericului;
- un circuit de comand i control, care primete semnalele de comand de la P, n scopul
ndeplinirii unei anumite funcii i transmite semnale care pun n eviden starea circuitului.
Blocul READ/WRITE CONTROL LOGIC primete semnalele de comand de pe magistrala de
control a S. n funcie de natura acestor semnale, circuitul ndeplinete sarcini specifice:
P citete informaia din circuitul 8251;
RD (READ):
- WR (WRITE):
P nscrie informaia n circuitul 8251;
- C / D (Control/Data):
P informeaz circuitul 8251 c pe magistralele de date se afl fie o
dat, fie un semnal de comand;
- CS (Chip Select):
de cte ori acest semnal este activ, circuitul 8251 este selectat.
Circuitele de tip PIO sunt circuite de interfa programabile, avnd acelai rol ca i circuitele UART,
adic de a facilita comunicarea ntre un periferic i P. Spre deosebire de circuitele de tip UART, n
circuitele PIO comunicarea intrare/ieire se face n modul paralel/paralel.
Un alt mod de comunicare ntre P i periferice este accesul direct la memorie (DMA Direct
Memory Access), prin care perifericul face transfer de date direct cu memoria, P cedndu-i
magistralele.

10

Prin intermediul tehnicii gestionrii ntreruperilor i al circuitelor specifice subsistemului SINT, un


dispozitiv extern poate solicita ntreruperea execuiei programului curent de ctre P i tratarea
unui program specific, numit rutin de ntrerupere. Pentru aceasta este necesar existena unui
circuit PIC (Priority Intrerrupt Controller Circuit de control al prioritilor).

Structur de tip Harward a unui microprocesor


Circuite auxiliare
Pentru a-i putea desfura activitatea ntr-un S, P-ului trebuie s i se adauge cel puin dou
tipuri de circuite auxiliare, mai precis un generator de tact i un circuit cu specific de amplificare a
semnalelor de pe magistrale.
Generatorul de tact este controlat n mod obinuit de un cristal de cuar exterior. Alegerea
frecvenei de rezonan a cristalului depinde de viteza de lucru, respectiv de durata de timp
necesar pentru dou treceri succesive de la nivelul cobort la nivelul nalt al semnalului de tact.
Un circuit de amplificare a semnalelor pe magistrale este modulul 8216, care este un amplificator
bidirecional de 4 bii n paralel ai unei magistrale. Pentru a avea o mare vitez de lucru, circuitul
este realizat n tehnologie Schottky TTL, compatibil la intrri cu o sarcin TTL i capabil s
furnizeze pe ieiri o sarcin de 50 mA. Semnalul CS este utilizat pentru a selecta dispozitivul, iar
semnalul DIEN controleaz sensul de transmitere a informaiei.
O structur rapid, folosit n cazul P evoluate (de exemplu procesoare de semnal - DSP), este
cea de tip Harward , la care se separ memoria pentru programe de cea pentru date. Acestea sunt
proiectate (hard i soft) pentru aplicaii n domeniul prelucrrilor de semnale.
Structuri cu elemente de particularitate mai accentuate sunt asociate i P de tip bit-slice (realizate
din seciuni sau felii). Acestea din urm se utilizeaz pentru prelucrri cu vitez foarte ridicat,
drept pentru care apeleaz la tehnologia bipolar (TTL S). Densitatea de integrare (numrul
structurilor/componentelor) pe chip fiind n acest caz mai redus, nu este posibil integrarea

11

complet ntr-un singur circuit a elementelor unui P. Se utilizeaz atunci mai multe seciuni ale
unitii de calcul i control, fiecare opernd cu cuvinte scurte (2, 4, bii). Obinerea lrgimilor
dorite ale magistralelor se realizeaz prin conectare n paralel. Exemple de P bit-slice: Intel 3000,
Am 2900. Pe lng calitile de vitez, un S de tip bit-slice are avantajul flexibilitii, n sensul
posibilitii create utilizatorului de a organiza sistemul n forma cea mai adecvat aplicaiei sale
specifice.
Structurile prezentate se numesc CISC (Complex Instruction Set Computer calculatoare cu set
de instruciuni complexe). Studiul tipului de instruciuni i a frecvenei utilizrii lor a artat c multe
din aceste instruciuni complexe sunt rareori folosite n structurile numerice tipice. A aprut astfel
ideea unui ctig n viteza de prelucrare prin reducerea complexitii de aici apelativul RISC
(Reduced Instruction Set Computer calculatoare cu set instruciuni reduse). Instruciunile
complexe sunt nlocuite printr-o serie de instruciuni primitive mai simple i mai rapide,
implementate n microcod.
Microcontrolerul PIC 16F917
Microcontrolerele (C) sunt sisteme de comand ntr-un singur circuit (chip), care n afara de
blocurile standard (unitate de calcul, memorii etc.) includ elemente specifice de comand i
interfa proces: temporizare, numrtoare, convertoare analog-numerice, canale de comunicaie,
bucle PLL, module PWM etc. n general, aplicaiile pretabile unei comenzi cu C sunt caracterizate
prin dimensiune (complexitate) medie sau mic i o relativ invarian structural - funcional n
timp. Dei clasele standard sunt cele de 4, 8 i 16 bii, exist circuite pe 1 sau 32 bii concepute
pentru aplicaii speciale. Puterea unui C este dat n primul rnd de numrul/ diversitatea
perifericelor on - chip, numrul de registre speciale (pot fi peste 100) i mai puin de lungimea
cuvntului. Posibilitile de prelucrare (tipurile i numrul de instruciuni) ale unitii centrale (CPU)
variaz n limite foarte largi. Caracteristic este ns existena unui numr mare de operaii de
prelucrare la nivel de bit: testare, setare, resetare, comutare.

Schema bloc a unui microcontroler

12

La structura standard se pot aduga:


- port serial asincron: pentru comunicare prin standardul RS 232 i realizare de configuraii
master/slave;
- temporizatoare / numrtoare: se pot numra comutri externe sau impulsuri de la ceasul
sistem, caz n care rezult o funcie de timer programabil care poate folosi sistemul de
ntreruperi;
- canale seriale sincrone, care combinate cu registrele de deplasare extern permit extinderea
numrului de I/O. De asemenea fac posibil exploatarea unor circuite externe (memorii seriale,
ceasuri de timp real);
- convertoare analog numerice (8 12 bii);
- modul PWM;
- bucle PLL;
- arii logice;
- controlere pentru display cu LCD sau LED;
- amplificatoare operaionale cu intrri ieiri externe;
- detectoare de trecere prin zero;
- uniti dezvoltate de timere (Supertimer Unit) care reunesc timere, numrtoare, registre de
captur (nregistrare), de comparare;
- port de ieire pentru timp real (RTP Real-Time output Port).
Famila 16Fxxx de la Microchip este format din microcontrolere cu arhitectura pe 8 bii i set
redus de instruciuni (RISC).
Memoriile ROM, EEPROM si SRAM sunt integrate n acelasi chip, nlturnd nevoia de memorie
extern.
Majoritatea instructiunilor se execut ntr-un singur ciclu de ceas.

13

Caracteristici:
- tensiune alimentare 2...5,5 Vcc
- frecventa maxima de 8Mhz
- 352 bytes SRAM
- 14K bytes ROM
- 256 bytes EEPROM
- ADC 10biti cu 8 intrari
- 35 pini I/O
- 3 timere: doua pe 8 bits si unul pe 16 bits
- 2 numaratoare
- 1 interfata comunicare seriala
- o interfata SPI
- o interfata I2C
Placa de dezvoltare
1. Soclul de 40 pini
2. Soclul de 20 pini
3. Regulatorul de tensiune si conectorii de alimentare
4. 8 leduri
5. Display LCD cu 39 segmente conectat la 14 pini din cei 40 ai soclului microcontrolerului
6. Conector RS-232 si componentele aferente interfetei
7. Senzor de temperatur
8. Sensor de lumin
9. 2 potentiometre
10. Cristal de 32.768kHz
11. 4 butoane (switch-uri) cu auto-revenire
12. Conector pentru depanator n circuit (ICD)
13. Conector pentru programator serial n circuit (ICSP)
14. Circuit de protectie la supratensiune cu buton de reset
15. 4 semipunti MOSFET
16. Conector pentru citirea intreruperilor provenite de la senzorul optic care sesizeaz numrul de
rotaii a M.c.c.
17. Conector de citire a intensitii cmpului electromagnetic invers care ia natere la rotirea M.c.c.
18. Senzor optic pentru citirea vitezei M.c.c.
19. Motor de curent continuu (M.c.c.)
20. Motor pas cu pas (M.p.p.)
21. Terminale pentru alimentarea motoarelor.
22. Baterie de 9vcc.

14

Motorul de curent continuu


Motorul de curent continuu este construit din dou
pri componente: stator i rotor, ca n figura
alaturata.
Statorul este partea fix a exterioar, ce include
carcasa 1 si magneii permaneni 2.
Rotorul este partea mobil a motorului, plasat de
obicei n interior. Este format dintr-un ax i o
armtur ce susine nfsurarea rotoric 3. Pe axul
motorului este situat colector 4 ce schimb sensul
curentului prin nfsurarea rotoric. Tensiunea de
alimentare este aplicat nfsurrilor rotorului prin
intermediul unui sistem de perii fixate pe capacul 5. ntre stator si rotor exist o distan numit
ntrefier.
Turaia motorului este proporional cu tensiunea aplicat nfsurrii rotorice si invers proporional
cu cmpul magnetic de excitaie. Turaia se poate regla prin variaia tensiunii aplicate motorului de

15

la o valoare minim valoarea nominal. Cuplul dezvoltat de motor poate fi reglat prin variaia
curentului aplicat infsurrii rotorice.
Comanda motoarelor de curent continuu cu microcontroler
ntr-un sistem mecatronic, microcontrolerele formeaz partea logic de comand sau decizie iar
motoarele, partea de execuie. Partea de comand opereaz cu nivele de tensiuni de 5V i puteri
mici iar partea de execuie cu tensiuni i puteri mai mari. Interfaa dintre cele dou par i ale
sistemului se face prin circuit de amplificare care are frecvent i rolul de separare galvanic ntre
cele dou sisteme.
Datorit tensiunii si curentului de valori foarte mici
furnizate la iesirea microcontrolerelor, este nevoie de
circuite de amplificare pentru acionarea motoarelor de
curent continuu. O schem simpl si eficient pentru
comanda acestor motoare este reprezentat de puntea
H (n englez H-bridge).

Schema de acionare electric de mai sus este realizat pe baza unor ntreruptoare de tip
transistor, GTO etc. Puntea este construit din patru ntreruptoare, acionate pe diagonal. Cnd
ntreruptorul S1 si S4 sunt nchise (si ntreruptoarele S2 si S3 sunt deschise), o tensiune pozitiv
va fi aplicat motorului. Prin deschiderea ntreruptoarelor S3 si S4 si nchiderea lui S2 si S3,
aceast tensiune este inversat, fcnd posibil rotirea motorului n sensul opus.

16

Aranjarea de tip punte H este n general folosit pentru a inversa polaritatea motorului, ns poate
fi folosit i pentru frnarea motorului (motorul se opreste brusc datorit scurtcircuitrii terminalelor
sale) sau pentru a lsa motorul s se roteasc liber pn la oprire.
n funcie de puterea cerut pe sarcin, punile H pot fi construite din componente electronice sau
se gsesc ntr-un singur circuit integrat. Dac
puterea cerut pe sarcin este mare, peste ordinal
Amperilor, se vor folosi dispozitive semiconductoare
de execuie: tranzistoare, GTO, eventual tiristoare.
De cele mai multe ori aceste dispozitive nu se pot
lega direct la ieirile microcontrollerului, prin
rezistene, ca n circuitul de ma jos, ci au nevoie de
amplificatoare de putere.
Dac puterea cerut pe sarcin este mic, maxim de
ordinul sutelor de mA/A, se pot folosi circuite
integrate specializate, ale cror ieiri vor fi legate direct sau prin diverse interfee la motor.

Circuitul integrat L293D pot comanda motoare alimentate cu max 35V si 600 mA. Fiecare din cele
dou puni H are dou terminale de intrare (INput) si un terminal de activare (Enable). Cnd
terminalul EN este legat la 5V puntea H este activ. Dac intrarea IN1 este n 1 logic (+5V) iar
intrarea IN2 este n 0 logic (0V), motorul se roteste; dac strile celor dou intrri sunt inversate,
motorul se va roti n sens contrar. Cnd ambele intrri sunt n 0 logic motorul se opreste iar dac
ambele sunt n 1 logic atunci axul motorului este frnat. Un exemplu de conectare a circuitului
L293 la microcontroler este prezentat n figura anterioara. Schema este valabil pentru acele
motoare care se pot lega direct la ieirile circuitului L293. Condiia este ca curentul maxim debitat
de ctre circuit s poat aciona motorul i s permit crearea unui cuplu mecanic suficient pentru
acionarea arborelui motor.

17

Dioda luminiscenta
Diodele LED sunt dispozitive realizate prin
doparea unui element semiconductor pentru
a realiza o jonciune p-n. La trecerea unui
curent electric prin aceast jonciune se
elibereaz energie sub form de fotoni. LEDurile emit ntr-o band foarte restrns de
lungimi de und, fcnd ca lumina generat
sa aib o singur culoare. Lungimea de
und a luminii emise poate sa varieze n
funcie de tipul semiconductorului i de
modul n care se realizeaz doparea. Astfel se pot fabrica LED- uri care s emit n orice lungime
de und a spectrului, de la infrarou la ultraviolet.
Cel mai simplu mod de polarizare este inserierea LED- ului cu o rezistenta. Valoarea acesteia se
calculeaz cu relatia:

US reprezint tensiunea de alimentare;


ULED reprezint cderea de tensiune pe LED cuprins ntre 1,8V i
4V funcie de culoarea acestuia;
I este curentul absorbit de LED (I = 1020mA).
Un LED poate fi conectat la microcontroler in dou moduri:
- ntre un pin al microcontrolerului i mas (0V); comanda pe anod
- ntre un pin al microcontrolerului i +U; comanda pe catod

2.2 Descriere software


MPLAB
MPLAB IDE este un mediu integrat de dezvoltare (IDE Integrated Development Environment)
oferit de firma Microchip pentru familiile de microcontroloare PIC12, PIC 16, PIC18, etc.
Include:
- manager de proiecte
- editor de program sursa
- asamblor
- editor de legaturi
- depanator (debuger)
- motor de executie

18

Aplicatia permite integrarea si a altor componente (ex: compilator C, depanator, programator, ICD,
ICE) realizate fie de firma Microchip fie de alte firme (ex. CCS).
Figura de mai jos indica schema de administrare a unui proiect prin MPLAB:

ETAPE:
1 se va creea un folder nou (de exemplu Proiectul 1)
2 se copiaza din C:\Program Files (x86)\PICC\Devices fiierul numit 16F917.h n folderul
Proiectul 1) ;
3 se deschide MPLAB IDE v8.60;
4 se creeaza un nou proiect (de exemplu aplicaia1) urmnd instruciunile din figurile
urmtoare:

19

20

Se observ c avem un header. Vom crea un nou


fier cu codul surs (n C), fiier numit aplicatie.c
apsnd Project Add New File to Project, ca n
figura alaturata:
Mai departe vom alege programatorul prin
intermediul cruia se vor scrie fiierele rezultate n
urma compilrii n memoria microcontrolerului.
Se vor urma paii ca n figura urmtoare:

21

Limbajul C++
Structura unui program :
[ #include <nume bibliotec>]
[ #include nume fiier]
[Declaraii de variabile globale i constante]
[Declaraii de funcii]
void main()
// funcia principal
{
<Instruciuni>
}.
Declaraia #include trebuie s fie prima n zona de declaraii. Cu aceast declaraie se pot
ncarc bibliotecile standard (headerele) din C++ i programele sau bibliotecile create de utilizator,
biblioteci specializate, exemplu: 16F917.h.
Tipuri de date
I. Tipuri elementare (nestructurate) - predefinite:
I.1. Tipul vid void
I.2. Tipuri ordinale :
I.2.1. Tipul caracter :
char
(8 bii)
signed char
(8 bii)
unsigned char (8 bii)
I.2.2. Tipuri ntregi :
int
signed int
(signed)
unsigned int
(unsigned)

short int
(short)
signed short int
(signed short)
unsigned short int (unsigned short)

long int
(long)
signed long int
(signed long)
unsigned long int (unsigned long)
I.2.3. Modificatori :
signed
(16 bii)
unsigned
(16 bii)
short
(16 bii)
long
(32 bii)
I.3. Tipuri reale :
fload
double

(32 bii)
(64 bii)

22

(16 bii)
(16 bii)
(16 bii)
(16 bii)
(16 bii)
(16 bii)
(32 bii)
(32 bii)
(32 bii)

II. Tipuri compuse (structurate) - definite de utilizator :


II. 1. Tipuri de date omogene :
II. 1.1. Tipul enumerare (tip ordinal):
Ex: enum spt {lu, ma, mi, jo, vi, sa, du}
II. 1.2. Tipul masiv (tablou) :
unidimensional int S[1000];
multidimensional int A[10][20], B[10][20][30];
II. 1.3. Tipul ir de caractere (tablou de caractere):
Ex: char Fr[1000];
II. 2. Tipuri de date neomogene :
II. 2.1. T. d. d. neomogene memorate intern :
Structuri
(struct)
Cmpuri de bii (caz particular de structuri)
Uniuni
(union)
Obiecte
(object)

constante simbolice - referite prin identificatori, crora li se asociaz declaraii i sunt precedate
de cuvntul cheie const.

Instruciunile limbajului C++


Instruciuni simple:
atribuirea (asignarea) , citirea/scrierea datelor , saltul necondiionat (GoTo) , apelul procedurilor ,
declaraia #pragma inline - pentru secvenele scrise n asamblor (asm) i instruciunea vid (;).
Saltul necondiionat (goto)
Sintaxa instruciunii este:

goto <etichet>;

Instruciuni structurate:
1. Structura alternativ (decizional)
a. Structura alternativ (de decizie) are sintaxa:

23

b. Structura de decizie multipl (ramificare) are sintaxa:

2. Structura repetitiv cu numr cunoscut de pai (structura repetitiv cu contor) Do-For.


Sintaxa acestei instruciuni este

2.3. Aplicaie practic: Acionarea motorului de curent continuu in ambele sensuri


Se va comanda rotirea motorului de curent continuu intr-un sens la apasarea switch-ului SW2 si
aprinderea LED-urilor B0, B1, B2, B3 (in aceasta ordine) si rotirea in sens invers la apasarea
switch-ului SW3 si aprinderea in ordine a LED-urilor B3, B2, B1, B0.
Pe placa de dezvoltare PIC 16F917 se realizeaza conexiunile:
Pentru switch-uri
SW2 A0
SW3 A1
Pentru LED-uri
RB0 R33
RB1 R34
RB2 R35
RB3 R36
Pentru motor
D7 P3
D6 P4
Atunci cnd un buton este acionat returneaz valoarea 0, iar cnd nu e acionat returneaz
valoarea 1. La nceputul programului se seteaz toi pinii portului D n 0 logic prin comanda:
output_D(0x00); Pentru a menine activ aplicaia un timp nedeterminat se utilizeaz instruciunea
repetitiv while (1). La fiecare rulare se sting toate ledurile de pe portul B cu instruciunea:
output_B(0x00)

24

25

Programul
#include "16F917.h"
#use delay(clock=8000000)
void main()
{
output_D(0x00);
while(1)
{
output_B(0x00);
if(!input(PIN_A0))
{
output_D(0x80);
output_B(0x01);
delay_ms(300);
output_B(0x02);
delay_ms(300);
output_B(0x04);
delay_ms(300);
output_B(0x08);
}
else
{
output_D(0x00);
output_B(0x00);
if(!input(PIN_A1))
{
output_D(0x40);
output_B(0x08);
delay_ms(300);
output_B(0x04);
delay_ms(300);
output_B(0x02);
delay_ms(300);
output_B(0x01);
}
else
output_D(0x00);
output_B(0x00);
}
}
}

// motorul este oprit


//instructiune repetitiva
// led urile sunt stinse
//se apasa SW 2
//motorul se roteste spre stanga
//se aprinde B0
//se aprinde B1
// se aprinde B2
//se aprinde B3

// motorul este oprit


// ledurile sunt stinse
//se apasa SW 3
//motorul porneste in celalalt sens
// ledul B3
// Ledul B2
// Ledul B1
// Ledul B0
// motrul se opreste
// ledurile sunt stinse

Atunci cnd un buton este acionat returneaz valoarea 0, iar cnd nu e acionat returneaz
valoarea 1.
La nceputul programului se seteaz toi pinii portului D n 0 logic prin comanda: output_D(0x00)
pentru ca motorul sa fie oprit;
Pentru a menine activ aplicaia un timp nedeterminat se utilizeaz instruciunea repetitiv while
(1).
La fiecare rulare se sting toate ledurile de pe portul B cu instruciunea: output_B(0x00);
Se testeaz starea pinului 0 de pe portul A prin instruciunea if(!input(PIN_A0));

26

Dac valoarea sa este 0, adic butonul SW2 conectat la pinul A0 este acionat, atunci se activeaz
pinul D7 (corespunztor, n hexazecimal, valorii 0x80), se nvrte motorul spre stnga i se aprind
in ordine LED-urile B0 (0x01), B1 (0x02), B2 (0x04), B3 (0x08) la un interval de 300 ms.
Dac valoarea este 1 (butonul SW2 nu este actionat), atunci se dezactiveaz pinii portului D
(motorul este oprit), se sting LED-urile.
Se testeaz starea pinului A1 prin if(!input(PIN_A1)); dac aceasta este 0,adic se acioneaz
butonul SW3 conectat la pinul A1, atunci se activeaz pinul D6 (0x40), motorul se nvrte spre
dreapta i se aprind in ordine LED-urile B3 (0x08), B2 (0x04), ), B1 (0x02), B0 (0x01), la un
interval de 300 ms;
Daca butonul SW3 nu este actionat motorul se opreste si LED-urile sunt stinse;
Explicarea algoritmului de funcionare:
Se editeaz, compileaz, ncarc i lanseaz n execuie programul;
In acest moment se ateapt acionarea unuia dintre butoanele de pe platform;
La apsarea butonului SW2 motorul de curent continuu pornete i se rotete spre stnga;
La apsarea butonului SW3 motorul de curent continuu i schimb sensul de rotaie;
Se pot repeta operaiile de oricte ori se dorete;
Explicarea programului
#include "16F917.h"
Aceast instruciune include n procesul de compilare funciile cuprinse n fiierul "16F917.h".
#use delay(clock=8000000)
seteaz frecvena de funcionare a platformei (practic a microcontrolerului)
void main()
{
ncepe funcia principal a programului care nu are parameri i nu returneaz nimic
output_D(0x00);
trimite 0 logic pe toi pinii portului D
while(1)
{
bucl repetitiv ct timp condiia dintre parantezele rotunde este adevrat se execut
instruciunile dintre acolade. n cazul nostru bucla se repet la infinit, deoarece 1 este asimilat
valorii logice TRUE
output_B(0x00);
se trimite 0 logic pe toi pinii portului B, adic se sting toate ledurile
if(!input(PIN_A0))
{
expresie condiional dac intrarea A0 (pinul 0 al portului A, care este conectat la
ntreruptorul/contactul SW2) nu este 1 (! reprezint negaia unei valori logice, valori logice care
sunt 0 i 1 i au corespontent n tensiune valorile 0V i 5V) atunci execut instruciunile din corpul
expresiei condiionale:
output_D(0x80);
se trimite 1 logic pe pinul 7 al portului D, adic se rotete motorul spre stnga
output_B(0x01);

27

delay_ms(300);
output_B(0x02);
delay_ms(300);
output_B(0x04);
delay_ms(300);
output_B(0x08);
Se aprind in ordine LED-urile B0, B1, B2, B3 cu o intarziere de 300 ms
}
Se ncheie blocul de instruciuni corespunztor valorii 1 a expresiei condiionale
else
{
nceputul instruciunilor care trateaz cazul n care valoarea expresiei condiionale este 0
output_D(0x00);
motorul este oprit
output_B(0x00);
ledurile sunt stinse
if(!input(PIN_A1))
{
expresie condiional dac intrarea A1 (pinul 1 al portului A, care este conectat la
ntreruptorul/contactul SW3) nu este 1, atunci execut instruciunile din corpul expresiei
condiionale:
output_D(0x40);
se trimite 1 logic pe pinul 6 al portului D, adic se rotete motorul spre dreapta
output_B(0x08);
delay_ms(300);
output_B(0x04);
delay_ms(300);
output_B(0x02);
delay_ms(300);
output_B(0x01);
Se aprind in ordine LED-urile B3, B2, B1, B0 cu o intarziere de 300 ms
}
Se ncheie blocul de instruciuni corespunztor valorii 1 a expresiei condiionale
else
{
nceputul instruciunilor care trateaz cazul n care valoarea expresiei condiionale este 0
output_D(0x00);}
trimite 0 logic pe toi pinii portului D, adic oprete motorul i se ncheie blocul corespunztor
valorii 0 a expresiei condiionale
output_B(0x00);
Trimite 0 logic pe toti pinii portului B, adic ledurile sunt stinse
}
Se ncheie blocul de instruciuni corespunztor valorii 1 a expresiei condiionale
}
se termin bucla repetitiv while

28

}
se termin funcia principal main, deci se termin programul

3. CONCLUZII
Tehnologia mecatronic i principiile mecatronice n educaie au condus la definirea filosofiei
mecatronice. Pentru practica inginereasc aceast filosofie a marcat saltul de la ingineria
tradiional, secvenial, la ingineria simultan sau concurent (paralel). Educaia mecatronic
asigur flexibilitate n aciune i n gndire, trsturi definitorii ale specialistului n economia de
pia. Valenele creatoare ale mecatronicii au fost confirmate deopotriv n educaie, cercetare i n
producie. n acest sens, rezultatele economice ale rilor dezvoltate sunt dovezi de netgduit.
Am realizat lucrarea Utilizarea microprocesorului pe 8 biti pentru comanda motorului de curent
continuu n urma parcurgerii proiectului FLEXFORM - Program de formare profesional flexibil
pe platforme mecatronice - Platforme mecatronice pentru educaie i formare flexibil.
Am considerat c limbajul de programare C++ poate fi utilizat pentru comanda actionarii motorului
de curent continuu. Programele pezentate au fost verificate pe Microcontrolerul PIC16F917.
Prezenta lucrare poate constitui o baz de dezvoltare a altor aplicaii pentru elevii de la clasele
tehnologice.

4. BIBLIOGRAFIE
1. Maria Radu Utilizarea limbajului C n programarea microcontrolerelor, Universitatea Tibiscus
Timioara
2. Atmel, AVR RISC Microcontroller, Data Book, San Jose CA. 1999
3. Blan Radu, Microcontrolere - Structura i aplicaii, Ed. Todesco, Cluj-Napoca, 2002
4. Blan Radu, Microcontrolere ndrum tor de laborator, Ed. Todesco, Cluj-Napoca, 2002
5. Ciascai Ioan, Sisteme electronice dedicate cu microcontrolere AVR RISC, Ed. Casa Crii de
tiin, Cluj-Napoca, 2002
6. Mtie, V., Mndru, D., Ttar, O., s.a. Actuatori in mecatronica, Ed.Mediamira, Cluj Napoca,
2000
7. Mtie, V. , Mndru, D. , Blan, R. , Ttar, O. , Rusu, C. , Tehnologie i educaie mecatronic
, Ed. Todesco, Cluj-Napoca, 2001
8. Ion Petre, Tipuri de date, Ed. Sitech, Craiova, 2010

29

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