pre zen tare general
TRANSCRIPT
Cap.1 Prezentare generală
1.1 Scurt Istoric
Un controler este o structură electronică destinată controlului unui proces sau,
mai general, unei interacţiuni caracteristice cu mediul exterior, fără să fie necesară
intervenţia operatorului uman. Termenul “controller" este de origine anglo-saxonă, ce
cuprinde un domeniu foarte larg.Primele controlere au fost realizate în tehnologii pur
analogice, folosind componente electronice discrete şi/sau componente electromecanice,
de exemplu releele. Cele care fac apel la tehnica numerică modernă au fost realizate
iniţial pe baza logicii cablate şi a unei electronici analogice uneori complexe, motiv
pentru care erau caracterizate de dimensiuni mari, consum energetic pe măsură şi, nu de
puţine ori, o fiabilitate care lăsa de dorit.
Apariţia şi utilizarea microprocesoarelor de uz general a dus la o reducere
consistentă
a costurilor, dimensiunilor, consumului şi o îmbunătăţire a fiabilităţii. Există şi la ora
actuală o serie de astfel de controlere de calitate, realizate în jurul unor microprocesoare
de uz general cum ar fi Z80 (Zilog), 8086/8088 (Intel), 6809 (Motorola), etc. Pe măsură
ce procesul de miniaturizare a continuat, a fost posibil ca majoritatea componentelor
necesare realizării unei astfel de structuri să fie integrate la nivelul unui singur
microcircuit (cip). Astfel că un microcontroler ar putea fi descris ca fiind şi o soluţie a
problemei controlului cu ajutorul a unui singur circuit. Notaţia prescurtată a unui
microcontroler este MCU, cu următoarea semnificaţie : MicroComputer Unit.
O definiţie, cu un sens foarte larg de cuprindere, ar fi aceea că un microcontroler
este un microcircuit care încorporează o unitate centrală (CPU) şi o memorie împreună
cu resurse care-i permit interacţiunea cu mediul exterior.
Resursele integrate la nivelul microcircuitului ar trebui să includă, cel puţin,
următoarele componente:
unitate centrală (CPU), cu un oscilator intern pentru ceasul de sistem
o memorie locală tip ROM/PROM/EPROM/FLASH şi eventual una de tip
RAM- un sistem de întreruperi
I/O - intrări/ieşiri numerice (de tip port paralel)
un port serial de tip asincron şi/sau sincron, programabil
un sistem de timere-temporizatoare/numărătoare programabile
un sistem de conversie analog numerică(una sau mai multe intrari analogice)
un sistem de conversie numeric analogic şi/sau ieşiri PWM
un comparator analogic
o memorie de date nevolatilă de tip EEPROM
un ceas de gardă (timer de tip watchdog)
facilităţi suplimentare pentru sistemul de temporizare/numărare (captare şi
comparare)
U n microcontroler tipic mai are, la nivelul unităţii centrale, facilităţi de
prelucrare a informaţiei la nivel de bit, de acces direct şi uşor la intrări/ieşiri şi un
mecanism de prelucrare a întreruperilor rapid şi eficient. Utilizarea unui microcontroler
constituie o soluţie prin care se poate reduce dramatic numărul componentelor electronice
precum şi costul proiectării şi al dezvoltării unui produs.Toate aplicaţiile în care se
utilizează microcontrolere fac parte din categoria aşa ziselor sisteme încapsulate-integrate
(“embedded systems”), la care existenţa unui sistem de calcul încorporat este,aproape
transparentă pentru utilizator.
Există la ora actuală un număr extrem de mare de tipuri constructive de
microcontrolere. Un criteriu de clasificare care se poate aplica întotdeauna este lungimea
cuvântului de date. Funcţie de puterea de calcul dorită şi de alte caracteristicise pot alege
variante având dimensiunea cuvântului de date de 4, 8,16,32 sau chiar de 64 de biţi. Nu
este obligatoriu ca dimensiunea cuvântului de date să fie egală cu dimensiunea unui
cuvânt maşină (cuvânt program). Există şi multe variante zise dedicate, neprogramabile
de utilizator la nivel de cod maşină, strict specializate pe o anumită aplicaţie, prin
intermediul codului preprogramat şi al resurselor hardware, utilizate pentru comunicaţii,
controlul tastaturilor, controlul aparaturii audio/video, prelucrarea numerică a semnalului
etc.
1.2 Descrierea temei propriu-zise
Automatul pentru acvariu este un sistem autonom ,care controlează mai multe
dipozitive si realizează anumite funcţii,oferind utilizatorilor condiţii bune de întreţinere a
peştilor şi mai multa libertate.De exemplu daca o familie ar pleca în excursie o perioadă
mai lungă de timp,nu ar avea nevoie să caute pe cineva care sa aibe grijă de acvariu căt
timp ei sunt plecati, deoarce acesta realizează automat principalele funcţii de care un
acvariu ar avea nevoie,cum ar fi hrănirea automată a peştilor,monitorizarea temperaturii
apei,iar dacă aceasta scade sub valoarea propice peştilor,porneşte automat un încalzitor şi
il opreşte cand temperature apei atinge valoarea dorită.Sistemul dispune de un ceas de
timp real şi astfel pot fi programate automat pornirea şi oprirea subsistemelor de reglarea
a microclimatului(pompa de aer ,lumina,hrana) la intervalele de timp dorite pe parcursul
unei zile. Utilizatorul trebuie sa intervină foarte rar,el avand rolul de realimenta dozatorul
de hrana şi a curaţa filtru de apă
Acvarile existente in comerţ sunt foarte costisitoare şi oferă şi ofera anumite funţii
pe care proprietarul nu le doreşte sau nu le foloşeşte,cum at fi protecţie prin parolă
simulări de apus sau de rasarit de soare,acţionări prin telecomandă.Toate aceste funcţii
ridică foarte mult preţul unui acvariu, iar ele au un rol mai putin important de care ne
putem cu uşurinţă lipsi. Produsul realizat de mine oferă doar funcţiile de bază neceesare
pentru a monitoriza si a menţine apa curată şi la temperatura dorită in acvariu,precum şi
pentru hrănirea peştilor, toate acestea reducând foarte mult costul unui acvariu.
Acavariu realizează urmatoarele functii:
Monitorizează temperatura apei din acvariu
Afişează ceasul
Afişează data
Porneşte încălzitorul daca temperatura apei scade sub o anumita valoare
Opreşte încălzitorul daca temperatura apeia crescut la valoarea dorită
Porneşte şi opreşte un motor pentru hranirea peştilor
Porneşte şi opeşte iluminatul in acvariu la orele dorite
Porneşte si menţine pompa de aer pornită în intervalul de timp dorit
Setează ceasul
Setează data
Setează ora la care porneşte motorul
Setează ora de aprindere şi de stingere a neonului
Setează intervalul de timp in care pompa de aer funcţionează
Pentru realizarea automatului se folosesc urmatoarele dispozitive
Microcontroler PIC16F877
Ceas de timp real DS1307
Sensor de temperatură LM35
Ecran LCD LM020L
Motor de curent continuu
Driver de motor L239D
Tub fluorescent Phillips TLD 830
Pompa de aer
Două relee
Două oscilatoare cu cristal
Butoane
Diode
Tranzistori
Condensatori
Rezistenţe
Figura 1.1-1: Schema bloc a acvariului
Creierul automatului pentru acvariu este un microcontroler.Ele se conectează de
toate celălalte dispozitive comandăndu-le prin inpulsuri sa acţioneze in funcţie de anumiti
parametri, cum ar fi ora şi temperatura Microcontrolerul folosit este PIC16F877,un
microcontroler pe opt biţi ce funcţionează la o frecvenţă maxima de 16KHz. De
microcontroler este legat un oscilator cu cristal care osciliză la o frecvenţă de 4MHz.El se
leagă cât mai aproape de microcontroler, pentru a elimina orice interferenţă de pe liniile
pe care microcontrolerul primeşte tactul de ceas.Astefel frecvenţa la care lucrează
microcontrolerul in aces circuit este de 4MHz. De microcontroler se leaga un ceas
autonom de timp real DS1307, care contorizează timpul şi transmite microcontrolerului
data şi ora exactă. Pentru a funcţiona de ceasul de timp real se leagă un oscillator cu
cristal standard, la frecvenţa de 32.768KHz. Comunicarea intre PIC16F877 şi ceasul de
timp real este serială de tipul I2C, in care microcontrolerul este master,iar ceasul DS1307
este slave. Microcontrolerul seteză prin intermediul limbajului C ora şi data aferentă
momentului de programare în ceasul de timp real,acesta începe sa contorizeze data si ora
de incepănd de la acele valori si o trimte actualizată microcontrolerului. Un alt dispozitiv
legat de microcontroler este un ecran LCD LM020L care afişează pe o singură linie păna
la 16 caractere alfanumerice. Este conceput un meniu afişat pe LCD prin care se setează
funcţiile pe care le îndeplineşte automatul. Navigarea prin meniu se face prin intermediul
a şase butoane conectate la pinii portului B, având iniţial valoarea logică 1 datorită
activarii pe portul B a rezistenţelor PULL-UP. Valoarea logică a butoanelor se verifică
repetat prin programare (bucle if), iar cănd se observă o schimbare a valorii logice (din 1
în 0) însemnă că butonul a fost apăsat executându-se instructiune aferentă butonului
respectiv.Se folosec două butoane petru navigarea prin meniu, două pentru intrarea şi
ieşirea din submeniu, iar celăalate doua pentru incrementarea şi decrementarea datelor.
Automatul foloşeste un senzor de temperatură analogic LM35, care timite un semnal
analogic (in V) microcontrolerului in funcţie de temperatura apei din acvariu.Semanalul
esti direct proportional cu temperatura apei din acvariu, este preluat de catre
microcontroler prin modulul convertorului analog-digital, se face o conversie prin care se
transformă în grade Celsius şi se timite ecranului pentru a fi afişată.Alimetarea peştilor se
face cu ajutorul unui motor în curent continuu care învarte prin intermediul unei curele
capacul unui recipient eliberâand astfel mancare.Turatia motorului este controlată de
microcontroler prin PWM (Pulse With Modulation).Pompa de aer este un dipozitiv
acţionat prin intermediul unui releu ce primeşte un impuls de la microntroler la o oră
setată de catre utilizator.Pompa de aer produce un curent de aer ce este directional printr-
un furtun in acvariu. La capatul furtunului din acvariu se pune o piatra de aer care
permite iesirea acestuia sub forma unor bule destul de fine ce au rolul de a oxigena apa.
Se poate face un fitlru biologic cu o pompă de aer şi un burete. Acesta este cu atât mai
eficient cu cât buretele in care este introdusa piatra de aer este mai mare. Buretele se tine
in acvariu si are rolul de "casă" pentru bacteriile din acvariu care transforma substanţele
dăunatoare în substante mai putin dăunătoare respectiv nitriţii in nitraţi.
Încălzitorul este un dispozitiv alcătuit dintr-o rezistenţă introdusă într-o capsulă de sticlă,
care are rolul de a menţine temperatura stabilă intr-un acvariu. Se setează de catre
utilizator temperatura dorită a apei din acvariu, aceasta se compară in permanenţă prin
programare cu temperatura existentă a apei din acvariu, iar dacă temperatura apei din
acvariu la momentul respectiv este mai mică decat temperatura dorită, microcontrolerul
trimite un impuls unui releu ce acţionează pornirea încălzitorului. Când temperatura apei
ajunge la temperatura dorită releul opreşte încălzitorul. Pentru majoritatea pestilor se
recomanda o temperatura intre 24-26 de grade dar exista pesti de acvariu care preferă
temperaturi de 28 de grade C cum ar fi discuşii sau peşti de apă rece (carasul) care ar
prefera o temperatură chiar sub 20 de grade C. Pe timpul verii încălzitorul s-ar putea să
nu fie activat deoarece temperatura apei din acvariu ajunge uşor la 29-30 de grade C, dar
cănd clima este mai rece temperatura peştilor nu trebuie sa varieze şi să scadă foarte mult
deoarece variatiile bruşte de temperatura pot stresa si omorî pestii.De aceea e bine sa
avem un dispozitiv care să o mentina stabilă. Iluminatul acvariului se face prin
intermediul unui neon deoarece consumă mai putin si degajă mai putină caldură.
Intervalul de ore dealungul căruia neonul să lumineze se alege de către utilizator,iar el se
aprinde automat primind un impuls de la microcontoler.Dacă în acvariu nu se ţin plante
se poate folosi orice tip de neon, atâta timp cât nu orbeşte peştii,iar daca se doreşte ca
acvariu sa fie plantat se este nevoie de un neon cu lumină caldă(galbenă).
Acvariu este uşor de întreţinut, datorită automatizări, utilizatorul trebuie doar sa
umple o data pe săptămăna dozatorul de hrană şi să cureţe filtru de apă. Pentru a avea un
acvariu cu peşti şi plante sănătoase, cu apă curată şi fără alge trebuie să scimbam apa
oadată pe saptamănă in proporţie de 25-30% pentru a se elimina din nitriţii adunati şi
pentru a-i pastra neschimbate propietaţile chimice. Un schimb masiv de apă poate duce la
imbolnăvirea peştilor pentru că nu au timp să se obişnuiască cu schimbarea bruscă în
chimia apei. De obicei schimbatul apei se face cu o pompă specială cu furtun si pâlnie la
un capăt cu care se curăţă şi fundul acvariului de resturile ramase de la măncarea peştilor
sau cu excrementele acestora.
Figura 1.2-1 Schmea bloc a automatului
RELEU
SISTEM DE INCALZIRE
POMPĂ DE AER(FILTRU)
TUBFLUORESCENT
CEAS DE TIMP REAL
BUTOANE
PIC 16F877
SENZORTEMPERATURĂ
MOTOR DC
DISPLAY
RELEU RELEU