cap3

12
1. Descrierea modelării și funcționării proiectului Primul lucru pe care trebuie sa il faci inainte de a putea programa placa Arduino, este sa ii instalezi driver-ele pe PC. Daca rulezi Linux sau MAC, ai scapat, nu ai nevoie de driver-e. Daca insa rulezi Window, va trebui instalezi si drivere-le, ca pentru orice alt dispozitiv hardware. Dupa ce ai instalat drivere-ele, urmatorul pas este sa iti programezi placa Arduino. Arduino se conecteaza la PC prin intermediul unui port serial. Primul pas pe care il ai de facut este sa determini acest port. Cea mai simpla cale este de conectezi placa, astepti circa 30 de secunde – 1 minut, ca sa fii sigur ca a fost detectata de PC, iar apoi deschizi meniul "Tools -> Serial Port". Lucrarea de licență este dedicată proiectării unui sistem pe bază de microcontroller, care conține senzori de umeditate (LM- 393), senzori de măsurare a nivelului apei, de la care sunt captate informații care la rîndul lor vor fi transmise pe placa de bază ARDUINO. Placa ARDUINO conține un microcontroler ATmega328, ce procesează informația de la senzori și transmite un impuls către RTC, acesta la rîndul lui asigură conexiunea la curent către pompa de apă.

description

sistem de irigare automat

Transcript of cap3

1. Descrierea modelrii i funcionrii proiectuluiPrimul lucru pe care trebuie sa il faci inainte de a putea programa placa Arduino, este sa ii instalezi driver-ele pe PC. Daca rulezi Linux sau MAC, ai scapat, nu ai nevoie de driver-e. Daca insa rulezi Window, va trebui instalezi si drivere-le, ca pentru orice alt dispozitiv hardware.Dupa ce ai instalat drivere-ele, urmatorul pas este sa iti programezi placa Arduino. Arduino se conecteaza la PC prin intermediul unui port serial. Primul pas pe care il ai de facut este sa determini acest port. Cea mai simpla cale este de conectezi placa, astepti circa 30 de secunde 1 minut, ca sa fii sigur ca a fost detectata de PC, iar apoi deschizi meniul "Tools -> Serial Port".Lucrarea de licen este dedicat proiectrii unui sistem pe baz de microcontroller, care conine senzori de umeditate (LM-393), senzori de msurare a nivelului apei, de la care sunt captate informaii care la rndul lor vor fi transmise pe placa de baz ARDUINO.Placa ARDUINO conine un microcontroler ATmega328, ce proceseaz informaia de la senzori i transmite un impuls ctre RTC, acesta la rndul lui asigur conexiunea la curent ctre pompa de ap. Pentru afiarea procesele i starea n care se afl circuitul n orice moment de timp, este folosit un LCD 20x4 un buzzer ce emite sunete la apariia diferitor erori sau defeciuni n sistem.Principiul de funcionare al sistemului este urmtorul: Conectarea circuitului la sursa de alimentare i iniializarea programului; Senzorii de umiditate i de msurare a nivelului apei, capteaz informaia i o transmite la placa de baz; La fiecare schimbare de potenial, pe LCD sunt afiate procesele i starea senzorilor; La depistarea erorilor n sistem sau cnd rezervorul este gol se activeaz buzzerul, care emite un semnal de alarm;Coninutul de ap este utilizat ntr-o gam larg de domenii tiinifice i tehnice, i se exprim printr-un raport, care poate varia de la 0 (complet uscat) la valoarea de saturaie a solului. Sistemul dat face controlul de umeditate a solului, fcnd indicaii prin LED-uri i, n caz de este depistat solul uscat emite un semnal vizual i sonor. n ceea ce privete msurarea folosind DC cu sondele de sol ca un difuzor de tensiune care alimenteaz ntr-un port analogic, aceasta fiind cea mai simpl soluie .Etapa de proiectare a sistemului, controler pentru sistem de irigare arat n felul urmtor:

Figura Controler pentru sistem de irigareStructura de baz a software-ului este o rutin de pornire, care iniializeaz echipamentele periferice urmate de un bloc de startare, ce permite sistemului de a comuta ntre diferite moduri de lucru. Exist, de asemenea, mai multe cronometre n codul programului care permite dirijarea sistemului, i monitorizarea strii lui n timp real.

2. Descrierea materialelor folosite n proictARDUINO Uno reprezint o plac de dezvoltare la baza creia st un microcontroler ATmega328, placa conine 14 intrri digitale, dintre care 6 din ele pot fi utilizate ca ieiri PWM, 6 intrri analogice, o conexiune USB, o muf de alimentare, o muf ICSP, un buton de resetare i un semnal de ceas cu valoare de 16MHz.ARDUINO Uno conine tot necesarul pentru a dezvolta aproape orice, de la sisteme mici pn la roboi inteligeni. Principiul de funcionare este foarte simplu, doar cu conectarea plcii printr-un cablu USB la calculator, prin conectarea alimentatorului AC DC sau baterie pentru a ncepe crearea unui sistem personalizat cu aceast plac fantastic.Uno se difereniaz fa de plcile precedente din seria ARDUINO, prin faptul c nu folosete un cip driver FTDI USB serial. n schimb, acesta are ncorporat microcontrolerul ATmega8U2 programat ca un convertor USB serial.Specificaii tehnice:

Figura ATmega328pATmega328p este un microcontroler low-power CMOS pe 8 bii, care face parte din familia AVR i mbuntit prin arhitectura RISC. Prin executarea instruciunilor puternice ntr-un singur ciclu de ceas, ATmega328p realizeaz debite de aproape 1MIPS pe MHz, ceea ce permite proiectantului de sistem de a optimiza consumul de energie comparativ cu viteza de procesare.Arhitectura AVR are dou locuri de memorie principale, memorie de date i spaiul de memorie al programului, de asemenea ATmega328p dispune de o memorie EEPROM cu capacitatea de 1Kbytes pentru stocarea datelor. Toate cele trei locuri de memorie fiind liniare i regulate.Memoria EEPROM la microcontrolerul ATmega328p, este organizat ca un spaiu separat avnd o rezisten de cel puin 100 000 de cicluri de scriere-tergere. Accesul ntre EEPROM i procesor este descris prin registrele EEPROM Adres, EEPROM Registrul de date i EEPROM Registrul de control.Nucleul AVR combin un set de instruciuni cu ajutorul a 32 de regitri de uz general. Toi regitrii sunt conectai la Unitatea Aritmetic Logic, permind ca doi regitri independeni s fie accesai ntr-o singur instruciune cu un singur semnal de ceas.Parametrii de baz al microcntrolerului ATmega328p sunt: 32 Kbytes flash cu capaciti de citire-scriere 2 Kbytes memorie RAM 28 de pini de intrare-ieire 20 MHz frecvena de operare 24 de ntreruperi externe

FiguraSenzor de umiditate:Senzorul de umiditate reprezint o component care sesizeaz nivelul de umiditate al mediului. ntr-o camer obinuit, valoarea citit de portul analog variaz ntre 900 (mediu saturat cu vapori de ap) i 300 (foarte uscat). Pinul de semnal stnga se conecteaz la un pin analogic al plcii ARDUINO Uno. Senzorul de umiditate nu este calibrat, el nu poate obine direct o valoare a umiditii relative exprimare n procente, de aceea utilizatorul trebuie s interpreteze datele citite conform caracteristicii din datasheet-ul asociat acestui senzor. n schimb valoarea citit indic gradul de umiditate din mediu.

LCD:LCD-ul este capabil s afieze 20 de caractere pe fiecare dintre cele 4 rnduri, are backlight de culoare verde i dispune de un backpack I2C care permite conectarea la ARDUINO Uno folosind 2 fire. Pentru a-l utiliza cu ARDUINO Uno, trebuie nlocuit librria LiquidCrystal din folderul libraries. Este foarte important ca vechea librrie LiquidCrystal s nu mai existe n acest folder, nici chiar sub alt nume. LCD-ul 20x4 dispune de 8 adrese distincte, ceea ce nseamn c poi comanda pn la 8 LCD-uri folosind doar doi pini ARDUINO, pentru a seta adresa, concetm cei trei jumperi de la spatele plcii sau doar o parte din ei.

FiguraCeasul de sistemIntrarea de ceas (OSC1) este intern divizat cu patru pentru a genera patru semnale de ceas n cuadratur i fr suprapunere, Q1, Q2, Q3 i Q4. Intern, contorul programului (PC) este incrementat la fiecare perioad Q1, codul instruciunii este citit din memoria de program i este memorat n registrul de instruciuni n Q4. Instruciunea este decodificat i executat n urmtoarele perioade Q1 pn la Q4. Diagramele temporale ale semnalelor de ceas i fluxul de execuie al instruciunii sunt ilustrate n fig.

Figura Ceasul de sistem, ciclu instruciuneOrganizarea memoriei de programFamilia de microcontroller-e PIC16C71X dispune de un contor de program (PC) cu lungimea de 13 bii, capabil s adreseze un spaiu de memorie de program de 8k x 14 cuvinte.

Figura Organizarea memoriei de program la familia de microcontrollereCapacitatea memoriei de program disponibil pentru fiecare reprezentant al familiei este prezentat n tabelul urmtor:

Tabelul Reprezentant Capacitatea memoriei de program Spaiul de adrese

PIC16C710 512 x 14 0000h-01FFh

PIC16C71 1k x 14 0000h-03FFh

PIC16C711 1k x 14 0000h-03FFh

PIC16C715 2K x 14 0000h-07FFh

Pentru acei reprezentani dispunnd de o capacitate a memoriei de program mai mic de 8K, accesarea unei locaii de memorie n afara spaiului fizic implementat va determina o blocare a funcionrii. Vectorul de reset se afl la adresa 0000h, iar vectorul de ntrerupere la adresa 0004h.

Porturi de intrare-ieireUnii dintre pinii acestor porturi de intrare/ieire (I/O) sunt multiplexai cu funcii alternative pentru implementarea caracteristicilor periferice speciale ale dispozitivelor. n general, atunci cnd este activat o astfel de funcie, pinul corespunztor nu poate fi utilizat ca un pin general de intrare/ieire.