Sunteți pe pagina 1din 6

UTILIZAREA MICROCONTROLERELOR N CONTROLUL

SISTEMELOR AUTOMATE

Proiectarea unei aplicaii cu microcontrolere presupune realizarea urmtoarelor


etape: stabilirea mrimilor de intrare/ie ire n microcontroler; realizarea schemeibloc (diagramei de stri) care descrie modul de funcionarea procesului controlat;
implementarea schemei n microcontroler.
n cadrul acestui laborator este prezentat o metod de dezvoltare a programelor
pentru microcontrolere care se bazeaz pe diagrama de stare a automatizrii.
1. Exemplu de aplicaie
Metoda de dezvoltare prezentat va fi implementat, n scop demonstrativ pentru
rezolvarea aplicaiei urmtoare.
S se realizeze structura de control cu microcontroler pentru o automatizare de
stampare monede (v. fig. 1).

Fig. 1. Schema de principiu a unei automatizrii de stampare monede.


Conform schemei din figura 1 senzorul S1 indic faptul c pistonul hidraulic P este
retras iar senzorul S2 indic faptul c pistonul hidraulic preseaz discul metalic.
Comanda electric Y1 este necesar pentru avansul capului de presare iar comanda
hidraulic Y2 realizeaz retragerea acestuia. Dup ce operatorul uman a apsat
butonul de pornire BP automatizarea trebuie s coboare capul de presare pn cnd
pistonul hidraulic a ajuns la captul S2. n continuare automatizarea trebuie s
retrag pistonul hidraulic pn cnd atinge senzorul S1 i s a tepte urmtoarea
apsare a butonului de pornire.
2. Stabilirea mrimilor de intrare
Etapa presupune completarea tabelului 1 care descrie mrimile de intrare n
microcontroler. MRIMILE DE INTRARE TRANSMIT INFORMAII
1

MICROCONTROLERULUI!!!
Tabelul 1. Mrimile de intrare n microcontroler.
Nume
mrime

Pin
microcontroler

BP

RD0

S1

RD1

S2

RD2

Configurarea
pinului

Semnificaia semnalului primit de


microcontroler pe pin
1 logic Butonul apsat
TRISD.RD0=1 0 logic Butonul neapsat
1 logic P este ridicat
TRISD.RD1=1 0 logic P nu este ridicat
1 logic P este cobort
TRISD.RD2=1 0 logic P nu este cobort

Tabelul care descrie mrimile de intrare n microcontroler a fost completat n felul


urmtor:
coloana 1 indic numele sau prescurtarea numelui mrimii de intrare;
coloana 2 indic pinul microcontrolerului la care se conecteaz mrimea de
intrare (conform foii de catalog a microcontrolerului);
coloana 3 indic registrele microcontrolerului care trebuie setae pentru
configurarea corespunztoare a pinului;
coloana 4 indic strile logice n care poate s fie pinul i semnificaia
acestora.
3. Stabilirea mrimilor de ie ire
Etapa presupune completarea tabelului 2 care descrie mrimile de ie ire din
microcontroler. MICROCONTROLERUL TRANSMITE INFORMAII
MRIMII DE IE IRE!!!
Tabelul 2. Mrimile de ie ire din microcontroler.
Nume
mrime

Pin
microcontroler

Y1

RD3

Y2

RD4

Configurarea
pinului

Semnificaia semnalului generat de


microcontroler pe pin
1 logic P avanseaz capul de presare
TRISD.RD3=0 0 logic nu avanseaz capul de presare
1 logic P retrage capul de presare
TRISD.RD4=0 0 logic P nu retrage capul de presare

Tabelul care descrie mrimile de ie ire din microcontroler a fost completat n felul
urmtor:
coloana 1 indic numele sau prescurtarea numelui mrimii de ie ire;
coloana 2 indic pinul microcontrolerului la care se conecteaz mrimea de
ie ire (conform foii de catalog a microcontrolerului);
coloana 3 indic registrele microcontrolerului care trebuie setate pentru
configurarea corespunztoare a pinului;
2

coloana 4 indic strile logice n care poate s fie pinul i semnificaia


acestora.
4. Proiectarea structurii de control a automatizrii utiliznd modelul la stare
n prima etap se determin strile stabile n care se poate afl automatizarea.
Etapa se materializeaz prin completarea tabelului de descriere a strilor stabile.
Tabelul 3 Descrierea strilor stabile
Nume
A
B
C

Descriere stare
Automatizarea a teapt apsarea
butonului de pornire.
P avanseaz capul de presare
P retrage capul de presare

Stare
X
-

Setarea ie irilor
Y1
Y2
0
1
0

0
0
1

Tabelul care descrie strile stabile a fost completat n felul urmtor:


coloana 1 indic numele strii stabile;
coloana 2 descrie activitatea pe care o efectueaz structura de control;
coloana 3 indic dac starea respectiv este iniial. Starea iniial este
starea n care se afl automatizarea n momentul n care aceasta porne te
(cnd se alimenteaz cu tensiune microcontrolerul);
coloana 4 indic pentru fiecare stare stabil valoarea logic a ie irilor.
n continuare se determin diagrama de stare care descrie modul de funcionare al
automatizrii (v. ASCN II). Cu cercuri vor fi notate strile stabile iar arcele
reprezint tranziiile dintre dou stri stabile. Tranziiile se efectueaz doar dac
starea anterioar este activ i condiia trecut pe arc este ndeplinit. Diagrama de
stare pentru automatizarea descris n aceast lucrare este prezentat n figura 2.

Fig. 2. Diagrama de stare a automatizrii.


5. Implementarea structurii de control pe microcontroler
Programul C care implementeaz o diagram de stare trebuie s conin n funcia
main urmtoarele seciuni:
declararea strilor;
3

iniializarea mrimilor de intrare;


iniializarea mrimilor de ie ire;
iniializarea strilor;
reconfigurare stri;
reconfigurare ie iri.

Seciunea de iniializare a mrimilor de intrare se completeaz cu informaia din


colana Configurarea pinului din tabelul care descrie mrimile de intrare din
microcontroler.
Seciunea de iniializare a mrimilor de ie ire se completeaz cu informaia din
colana Configurarea pinului din tabelul care descrie mrimile de ie ire din
microcontroler.
n seciunea de declarare a strilor, pentru fiecare stare stabil din tabelul 3, se aloc
o variabil n program. Variabila respectiv va avea valoarea 1 dac starea este
activa, respectiv 0 dac starea este inactiv.
n seciunea de iniializare a strilor se realizeaz completarea variabilelor alocate la
pasul anterior n funcie de coloana Stare iniial a tabelului de descriere a
strilor. Variabila alocat unei stri se va iniializa cu valoarea 1 dac starea este
iniial, respectiv 0 dac starea nu este iniial.
n seciunea de reconfigurare a strilor se verific pentru fiecare tranziie dac starea
din care pleac este activ i dac condiia de efectuare a tranziiei este ndeplinit.
n cazul n care ambele condiii sunt ndeplinite se activeaz starea n care ajunge
tranziia i se dezactiveaz starea din care pleac.
n seciunea de reconfigurare a ie irilor se determin strile active i se
reconfigureaz ie irile microcontrolerului conform coloanei Stare ie ire a
tabelului de descriere a strilor.
Seciunile de reconfigurare a strilor, respectiv ie irilor, trebuie s fie incluse ntr-o
bucl while infinit.
Codul C realizat pentru microcontrolerul care realizeaz controlul automatizrii
descrise n aceast lucrare este prezentat n continuare:
int main()
{
//seciunea de declarare a strilor
short A;
short B;
short C;
4

//seciunea de iniializare a mrimilor de intrare


TRISD.RD0=1;
TRISD.RD1=1;
TRISD.RD2=1
//seciunea de iniializare a mrimilor de ie ire
TRISD.RD3=0;
TRISD.RD4=0;
//seciunea de iniializare a strilor
A=1;
B=0;
C=0;
while(1)
{
//seciunea de reconfigurare a strilor
if ((A==1)&&(PORTD.RD0==1) {A=0; B=1;}
if ((B==1)&&(PORTD.RD2==1) {B=0; C=1;}
if ((C==1)&&(PORTD.RD1==1) {C=0; A=1;}
//seciunea de reconfigurare a ie irilor
if (A==1) {PORTD.RA3=0; PORTD.RA4=0;}
if (B==1) {PORTD.RA3=1; PORTD.RA4=0;}
if (C==1) {PORTD.RA3=0; PORTD.RA4=1;}
}
}
6. ntrebri
1. Care sunt etapele de realizare a unei aplicaii cu microcontrolere?
2. Cu ce informaii se completeaz coloanele Nume mrime i Pin
microcontroler ale tabelului care descrie mrimile de intrare n microcontroler?
3. Cu ce informaii se completeaz colana Configurare port a tabelului care
descrie mrimile de intrare n microcontroler? Exemplu.
4. Cu ce informaii se completeaz colana Semnificaia semnului primit de
microcontroler pe pin a tabelului care descrie mrimile de intrare n
microcontroler?
5

5. Cu ce informaii se completeaz coloanele Nume mrime i Pin


microcontroler ale tabelului care descrie mrimile de ie ire din microcontroler?
6. Cu ce informaii se completeaz colana Configurare port a tabelului care
descrie mrimile de ie ire din microcontroler? Exemplu.
7. Cu ce informaii se completeaz colana Semnificaia semnului generat de
microcontroler pe pin a tabelului care descrie mrimile de ie irile din
microcontroler?
8. Cu ce informaii se completeaz coloanele Nume stare i Descriere stare a
tabelului care descrie strile stabile ale automatizrii?
9. Cu ce informaii se completeaz coloana Stare iniial a tabelului care descrie
strile stabile ale automatizrii?
10. Cu ce informaii se completeaz coloana Setarea ie irilor a tabelului care
descrie strile stabile ale automatizrii?
11. Ce este o stare iniial?
12. Care sunt seciunile unui program C care implementeaz o diagram de stare?
13. Ce seciuni ale programului C care implementeaz o diagram de stare se pun n
bucla while infinit?
14. Cu ce se completeaz seciunea de iniializare a mrimilor de intrare din cadrul
unui program C care implementeaz o diagram de stare?
15. Cu ce se completeaz seciunea de iniializare a mrimilor de ie ire din cadrul
unui program C?
16. Ce conine seciunea de declare stri din cadrul unui program C?
17. Ce reprezint valoarea 1 dintr-o variabil alocat pentru o stare?
18. Ce reprezint valoarea 0 dintr-o variabil alocat pentru o stare?
19. Ce conine seciunea de iniializare stare a unui program C?
20. Ce conine seciunea de reconfigurare stri a unui program C?
21. Ce conine seciunea de reconfigurare ie irilor a unui program C?

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