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
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.
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.
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.
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.
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.
.
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
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.
12
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
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:
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
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)
constante simbolice - referite prin identificatori, crora li se asociaz declaraii i sunt precedate
de cuvntul cheie const.
goto <etichet>;
Instruciuni structurate:
1. Structura alternativ (decizional)
a. Structura alternativ (de decizie) are sintaxa:
23
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);
}
}
}
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