Sunteți pe pagina 1din 26

UNIVERSITATEA POLITEHNICA BUCUREȘTI

FACULTATEA DE TRANSPORTURI

Sistem automat pentru menținerea


temperaturii în seră

Profesor Îndrumător: Student:


S.l.dr.ing. Angel Ciprian Cormoș

2020
Cuprins

1.Introducere…………………………………………………………………………………………pag.2
2.Schema bloc a senzorului……………………………………………………………………… pag.3
3.Sistemul de automatizare……………………………………………………………………… pag.4
3.1 Schema electrică………………………………………………………………………pag.4
3.2 Descrierea componentelor……………………………………………………… pag.5
3.3 Cablajul imprimat……………………………………………………………………… pag.9
4.Circuitul de afișare…………………………………………………………………………………pag.12
4.1 Schema electrică……………………………………………………………………… pag.12
4.2 Descrierea componentelor…………………………………………………………… pag.13
4.3 Cablajul imprimat…………………………………………………………………… pag.15
5.Schema logică a programul sistemului de automatizare…………………………………… pag.18
6.Programul sistemului de automatizare………………………………………………………… pag.19
7.Schema logică a programului sistemului de afișare…………………………………………pag.20
8.Programul sistemului de afișare………………………………………………………………… pag.21
9.Modul de funcționare si mentenanță…………………………………………………………… pag.24
10.Bibliografie……………………………………………………………………………………… pag.25

1
1. Introducere

Monitorizarea temperaturii și umidității este esențială pentru creșterea productivității,


scăderea consumului de energie, creșterea eficienței și diminuarea pierderilor de producție sau
depozitare. În depozitele frigorifice, depozitele de legume-fructe, ciupercării, sere, etc, este
necesară menținerea unei anumite temperaturi.
Neavand un control asupra acestor parametri există riscul să pierdem banii investiți și
chiar putem ajunge la faliment, în funcție de natura și dimensiunea afacerii.
În acest caz apare necesitatea utilizării unui sistem de monitorizare de la distanță, sistem
care oferă instantaneu date despre temperatura din incintă. Să presupunem că avem o seră în care
temperatura este vitală pentru creșterea plantelor.
Se pot programa limite minime și maxime pentru temperatură astfel încât atunci când
acestea sunt depășite să se activeze sistemele de încălzire respectiv răcire. Chiar daca suntem la
birou, într-o călătorie de afaceri sau în vacanță, vom știi sigur că sistemul funcționează corect,
deci nu este necesar să ne contactam angajații.
Un astfel de sistem elimină erorile factorului uman, cheltuielile suplimentare cu
personalul, aduce aport de timp ce-l puteți utiliza în dezvoltarea afacerii și va prezenta cu
obiectivitate starea de depozitare (camere frigorifice de carne, lactate, preparate, sere, depozite
de legume-fructe etc). Daca vă doriți un asemenea sistem, ar fi bine să luați în considerare ceea
ce este prezentat mai jos. Afișajul sistemului poate fi pus oriunde doriți sau poate fi înlăturat,
totul după dorință dumneavoastră. Temperatura va fi menținută între limitele dorite, culturile
dumneavoastră neavand de suferit. Daca v-am stârnit curiozitatea, puteți încerca fiabilitatea și
simplitatea produsului descris în paginile următoare.

Avantalele acestui senzor


Un mare avantaj al acestui ansamblu este simplitatea și posibilitatea de a adăuga sau nu
circuitul de afișare, deoarece, sistemul de automatizare funtioneaza independent. Un alt mare
avantaj este posibilitatea de a adăuga mai multe intrări și ieșiri pentru acționări diverse: pompa
de apa. Un dezavantaj este prezența a două microcontrolere, deoarece crește costul de proiectare.
Desi prețul este crescut, avantajul celui de-al doilea microcontroler (din circuitul de afișare)
constituie posibilitatea de amplasare a acestuia la distanță față de primul controler (din sistemul
de automatizare).

2
2. Schema bloc a senzorului

Figura 1 – Schema bloc


Blocurile de alimentare împreună cu blocurile Vcc și GND (masa)-> Asigură energia
electrică necesară funcționarii la parametri optimi a întregului sistem.
Senzorul de temperatură-> Are rolul de a citi valoarea temperaturii din mediul înconjurător
și de a o transmite mai departe pentru a fi interpretată și afișată.
Porturile C-> Asigură legătura cu blocurile de alimentare și cu senzorul de temperatură.
Convertorul analog digital-> Are rolul de a converti datele oferite de senzorul în limbaj
mașină.
Porturile D-> Asigură comunicarea între componentele sistemului.
Porturile B-> Asigură legătura cu sistemele de încălzire, răcire și cu afișajul.
Blocurile de acționare a încălzirii și răcirii -> Acestea fac legătura cu sistemele de încălzire
și răcire. Ele răspund comenzilor blocului Port B.
Blocurile Oscilator-> Acestea au rolul de a menține frecventa de tact ridicată.
Blocul Afișare-> Are rolul de a afișa valoarea temperaturii în grade Celsius.

3
3. Sistemul de automatizare
3.1 Schema electrică

Figura 2 – Schema electrică


Sistemul de automatizare este format din: senzorul de temperatură și sistemul de măsură.
Senzorul de temperatură este format dintr-un senzor LM35 care se conectează la sistemul
de măsură prin intermediul unui conector tată cu 3 pini.
Sistemul de măsură este format din: microcontrolerul ATmega328, sistemul de
alimentare, oscilatorul extern, LED-urile care indica acționarea sistemelor de răcire sau încălzire,
releele care acționează aceste sisteme, rezistențele care au rol de limitare a curentului,
tranzistoarele, care au rol de acționare a bobinei fiecărui releu, conectorul mamă cu 3 pini care
face legătura cu senzorul LM35, conectoarele de putere care fac legătura cu sistemele de
încălzire și răcire și conectorul cu 2 pini care va realiza transmisiunea serial. Legătura între
senzor și microcontroler se va face printr-un cablu cu mufa mamă și tată.

4
3.2 Descrierea componentelor

Senzor de temperatură LM35

LM35 sunt senzori de temperatură a căror tensiune de ieșire este direct proporțională cu
temperatura în grade Celsius. LM35 nu necesită calibrare externă pentru a furniza o precizie de
±0.25°C la temperatura de 25°C și de ± 0.75°C pe tot domeniul de temperatură. Impedanța de
ieșire scăzută , ieşirea liniară şi calibrarea internă fac din LM35 un circuit ușor de conectat cu
alte circuite de citire sau de control. În plus, dacă se dorește afișarea în grade Fahrenheit se
utilizează circuitul din aceeași serie, LM36.

Caracteristici:
 Calibrare directă în grade Celsius (°C)
 Gama de măsurare de la -55 ° C la +150°C
 În aplicația noastră, senzorul măsoară doar temperaturi între 0-110oC. Pentru a mări
gama este nevoie de un montaj suplimentar
 Potrivit pentru aplicaţiile de la distanţă
 Tensiune de alimentare de la 4V la 20 V
 Curentul consumat 60 μA
 Auto-încălzire în timpul funcționarii 0.08 °C (capsula aflată în aer)
 Tensiunea de ieșire a senzorului este proporțională cu 10mV/oC <=> Vout=10mV/ oC

Figura 3 – LM35

5
Graficul Tensiune de ieșire-Temperatură LM35
(pentru sistemul prezentat)
1200

1000

800
Vout(mV)

600

400

200

0
0 20 40 60 80 100 120

Temperatura oC

Figura 4 – Graficul tensiune de ieșire - temperatură

Temperatura Valoare in Binar Valoare in Hexazecimal


25°C 00000000 00110010 0032 h
10,5°C 00000000 00010101 0015 h
0,5°C 00000000 00000001 0001 h
0°C 00000000 00000000 0000 h
-0,5°C 11111111 11111111 FFFF h
-24,5°C 11111111 11001111 FFCF h
-25°C 11111111 10010010 FF92h

6
Rezultatul conversiei Interpretare
Octet Octet
superior inferior
00000000 00010101 - Octetul superior, 00h ne arată că valoarea citită este
pozitivă, deci octetul inferior se citește direct.
-Bitul 0 din octetul inferior ne arată dacă se adaugă 0,5°C.
Deoarece el are valoarea 1, îl vom aduna la final.
- Din octetul inferior se rețin doar biții 1-7, bitul 0
primind valoarea 0, adică: 00001010=10
- În final, temperatura interpretată va fi
10°C +0,5°C= 10,5°C

11111111 11001111 - Octetul superior este FFh, deci temperatura este


negativă, iar octetul inferior se citește în complement față
de doi (fiecare bit din octetul inferior va primi valoarea lui
inversă: 1 devine 0 și 0 devine 1).
- înainte de a face complementarea, scădem 1(adică
valoarea 0000001 în binar), pentru a păstra intact bitul 0
intact.
- După ce am efectuat complementarea obținem
00110001.
- Bitul 0 este 1, deci vom adaugă 0,5°C la final.
- Din noua valoare a octetului inferior păstrăm biții 1-7,
bitul 0 primind valoarea 0, adică 00011000=24.
- În final, temperatura interpretată va fi -24,5°C.

Microcontroler ATmega328
Caracteristici tehnice:
 Tensiune de alimentare: 1.8V - 5.5V;
 Frecvență de funcționare: până la 20MHz;
 Are rol de codor si decodor.
 Tensiune de referința internă-> 1.1V

Microcontrolerele sunt dispozitive ce conțin o unitate de procesare și alte periferice ce au


rolul de a controla circuite electronice. Microcontroler-ul ATmega328p-PU se programează în
mod inițial cu ajutorul unor dispozitive hardware adiționale, numite programatoare prin pinii
ICSP (In-Circuit Serial Programming).

7
Acesta are rolul de a primi informațiile din exterior și a decide dacă este cazul să activeze
vreun sistem. În plus acesta transmite valoarea temperaturii la al doilea microcontroler, care face
legătura cu afișajul.

Tensiunea de referință a microcontrolerului este 1,1V. Dacă împărțim 1.1V la 1024


(numărul de perioade de tact), fiecare pas convertit din analog în digital este
0,0010742V=1,0742mV. Dacă un grad Celsius este reprezentat de 10mV, atunci
10mV/1,0742mV= 9,31. În concluzie, pentru fiecare schimbare cu un grad Celsius a
temperaturii, avem o schimbare de 9,31 a valorii analogice.

LED-urile
Au rolul de a indica dacă este comandat sistemul de încălzire, respectiv cel de răcire. Ele
au un diametru de 3mm și o greutate de 0.02g, având distanța dintre terminale de 2.54mm. În
plus, funcționează la o tensiune între 2.6V- 3.2V.

Releele
Au rolul de a acționa sau nu sistemele de încălzire sau răcire. Aceste relee consumă
360mW la un current de 72mA. Contactele suportă un curent maxim de 8A la 30V în curent
continuu sau 10A la 240V în curent alternativ. Timpul de operare este de 10ms. Domeniul de
temperatură în care funcționează este de -40oC-85oC.

Tranzistoarele
Au rolul de a controla , adică de a transmite comanda de la microcontroler la releu. Ele
au curentul emitor-colector de maxim 40V. Curentul de colector este de 600mA și puterea
disipată este de 625mW, având o carcasă tip TO92.

Cristalele de cuarț și condensatoarele


Aceste componente formează blocurile oscilator care asigură frecvența de tact a
microcontrolerelor. Pentru fiecare microcontroler s-au folosit un cristal de cuarț de 16MHz și
câte două condensatoare de 22pF.

8
Rezistențe
Rezistențele de 1kΩ/0.125W au rolul de a limita curentul în baza tranzistorului, iar
rezistențele de 270Ω/0.125W de a limita curentul trecut prin LED-uri pentru a evita deteriorarea
acestora.

Conectoarele de putere și cele cu 2 sau 3 pini


Conectoarele de putere au rolul de a face legătura între sistemul de încălzire, respectiv
răcire cu releele de comandă. În plus mai au rolul de a asigura alimentarea întregului sistem.

Conectoarele cu 2 și 3 pini au rolul de a asigura legătura între cele două microcontrolere,


respectiv între primul microcontroler și senzorul LM35.

3.3 Cablajul imprimat

Figura 5 – Cablajul imprimat

9
Cablaj sistem automatizare
Este un cablaj dublu placat, ce conține piesele necesare sistemului de automatizare. În
aceasta imagine scara este 1:1.

Figura 6 - Cablaj top layer (scara 1:1)

10
Figura 7 - Cablaj bottom layer(scara 1:1)

Dimensiunile găurilor necesare pentru realizarea cablajului sunt:


1. Microcontroler (U1)-> 0,81mm
2. Conectroare de putere (PowerConn, PowerConn1, PowerConn2)-> 1,65mm
3. Conectorul Mamă (jp1)-> 0,91mm
4. Conector RX-TX (jp2)-> 1,01mm
5. Cristal de cuarț (X1)-> 0,5mm
6. Leduri (U4,U5)-> 0,79mm
7. Tranzistoare NPN (Q1, Q2)-> 0,72mm
8. Relee (RL1, RL2)-> 1,65mm
9. Rezistențe si Capacitoare (R1, R2, R3, R4, C1, C2)-> 0mm. Acestea se montează la
suprafață, deoarece sunt SMD (prescurtare provenită din engleză, care înseamnă surface
mounted device)

11
4.Circuitul de afișare
4.1 Schema electrică

Figura 8 – Schema electrică a circuitului de afișare

Acest circuit conține: microcontrolerul care comandă afișarea pe un display de tip LCD1602,
potențiometrul care reglează contrastul, oscilatorul care este de același tip cu cel din sistemul de
automatizare, conectorul de putere pentru alimentare și conectorul Rx-Tx prin care se face
transmisia între cele două circuite. Legătura se realizează prin intermediul unui cablu cu 2 mufe
tată identice.

12
4.2 Descrierea componentelor

Microcontroler ATmega328 (vezi descrierea precedentă)


Caracteristici tehnice:
 Tensiune de alimentare: 1.8V - 5.5V;
 Frecvență de funcționare: până la 20MHz;
 Are rol de codor si decodor.
 Tensiune de referință internă-> 1.1V

Acest microcontroler transmite valoarea temperaturii pe care o primește de la primul


microcontroler si face legătura cu afișajul.

Potențiometrul R1
Acest potențiometru are rolul de a regla contrastul display-ului LCD prin găsirea tensiunii la
care ecranul are contrastul cel mai bun pentru ochiul utilizatorului.

Conectorul de putere si cel cu 2 pini


Conectoarele de putere au rolul de a face legătura între sistemul de încălzire, respectiv
răcire cu releele de comandă. In plus mai au rolul de a asigura alimentarea întregului sistem.

Conectorul cu 2 pini are rolul de a asigura legătura cu primul microcontroler.

Cristalele de cuarț si condensatoarele


Aceste componente formează blocurile oscilator care asigură frecvența de tact a
microcontrolerelor. Pentru fiecare microcontroler s-au folosit un cristal de cuarț de 16MHz și
cate doua condensatoare de 22pF.

13
Display-ul LCD
Caracteristici tehnice:
 Tensiune de alimentare: 5V;
 Curent consumat de LCD: 1.1mA;
 Tensiune de alimentare a luminii de fundal: 4.2V;
 Curentul luminii de fundal: 100mA.
 Dimensiuni: 80mm x 36mm x 12mm.

Modulul este ideal pentru proiecte de electronică ce trebuie sa afișeze informații către
exterior. LCD-ul este foarte bun atât pe lumină cât și pe întuneric, având iluminare de fundal
galben-verde, cu contrast ajustabil.

Un afișaj LCD se prezintă sub forma unui ecran afișor (display) care este comandat
electronic printr-un decodificator de caractere numerice și alfabetice. Este folosit frecvent în
construcția ceasurilor digitale (ceasuri care au în locul acelor arătătoare un afișor de tip LCD), la
afișările de date la mașini CNC, mașini de uz casnic, inscripții și semnalizări electronice.

Fiecărui caracter de pe ecran îi corespunde o locație prestabilită din memoria RAM


pentru afișare. Pentru un afișor cu două rânduri a cate 16 caractere, corespondența între memoria
RAM și poziția caracterului pe ecran este prezentată in tabelul de mai jos.

Figura 9 – Afișaj LCD

14
4.3 Cablajul imprimat

Figura 10 - Cablaj circuit de afișare

Este un cablaj dublu placat, ce conține piesele necesare circuitului de afișare. În această
imagine scara este 1:1.

15
Figura 11 - Cablaj top layer (scara 1:1)

16
Figura 12 - Cablaj bottom layer (scara 1:1)

Dimensiunile găurilor necesare pentru realizarea cablajului sunt:


1. Microcontroler (U1)-> 0,81mm
2. Conectroare de putere (PowerConn1)-> 1,65mm
3. Conector RX-TX (jp2)-> 1,01mm
4. Cristal de cuarț (X1)-> 0,5mm
5. Potențiometrul (R1)-> 0,76mm
6. Display LCD(X2)-> 0,79mm
7. Capacitoare (C1, C2)-> 0mm. Acestea se montează la suprafața, deoarece sunt SMD
(prescurtare provenită din engleză, care înseamnă surface mounted device)

17
5. Schema logică a programului sistemului de automatizare

Figura 13 – Schema logică a programului sistemului de automatizare

18
6.Programul sistemului de automatizare
#include <SoftwareSerial.h>
float tempC;
int reading;
int tempPin = 0;
int led1Pin = 10;
int led2Pin = 9;
SoftwareSerial mySerial(2, 3); // RX, TX
void setup()
{
Serial.begin(57600); // Deschide portul serial de comunicare și așteaptă să fie comandat
while (!Serial) // Așteaptă conectarea portului serial
{ ; }
}
void setup1()
{
analogReference(INTERNAL);
Serial.begin(9600);
Serial.println("Temperatura este");
mySerial.begin(4800); // seteaza rata de transfer a datelor
mySerial.println(tempC);
}
void loop() { // bucla care se repetă la nesfârșit
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
reading = analogRead(tempPin);
tempC = reading / 9.31;
Serial.println(tempC);
delay(1000);
if (tempC <25)
{
digitalWrite(led1Pin, HIGH);
delay(1000);
}
if (tempC >30)
{
digitalWrite(led2Pin, HIGH);
}
if (tempC>=25 or tempC<=30)
{digitalWrite(led1Pin, LOW);

19
digitalWrite(led2Pin, LOW);
delay(1000);}}

7. Schema logică a programului sistemului de afișare

Figura 14 - Schema logică a programului sistemului de afișare

20
8. Programul sistemului de afișare

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
float tempC;
int reading;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
SoftwareSerial mySerial(2, 3); // RX, TX
void setup() {
Serial.begin(57600); // Deschide portul serial de comunicare și așteaptă sa fie comandat
while (!Serial) // Așteaptă conectarea portului serial
{;}
}

void setup1()
{
analogReference(INTERNAL);
Serial.begin(9600);
//Serial.println("Temperatura este");-> a

call set_ram ; seteaza prin r17 display-ul la adresa 0x00


ldi r17, 'T'
call put_char
ldi r17, 'e'
call put_char
ldi r17, 'm'
call put_char
ldi r17, 'p'
call put_char
ldi r17, 'e'
call put_char
ldi r17, 'r'
call put_char
ldi r17, 'a'
call put_char

21
ldi r17, 't'
call put_char
ldi r17, 'u'
call put_char
ldi r17, 'r'
call put_char
ldi r17, 'a'
call put_char
ldi r17, ' '
call put_char
ldi r17, 'e'
call put_char
ldi r17, 's'
call put_char
ldi r17, 't'
call put_char
ldi r17, 'e'
call put_char
ldi r17, ':'
call put_char

set_ram:
cbi ctrl2, rs
mov r16,r17
andi r16, 0xF0
out PORTB, r16
sbi ctrl,e
nop
nop
cbi ctrl,e
mov r16,r17
andi r16,0xF0
swap r16
out PORTB, r16
sbi ctrl,e
nop
nop
ret

put_char:
sbi ctrl2, rs
mov r16,r17
andi r16, 0x0F
out PORTB, r16
sbi ctrl,e
nop

22
nop
cbi ctrl,e
mov r16,r17
andi r16, 0x0F
swap r16
out PORTB, r16
sbi ctrl,e
nop
nop
cbi ctrl,e
ret

mySerial.begin(4800); // seteaza rata de transfer a datelor


mySerial.println(tempC);
}
void loop() // bucla care se repetă la nesfârșit
{
if (mySerial.available())
{
Serial.write(mySerial.read());
}
if (Serial.available())
{
mySerial.write(Serial.read());
}
delay(1000);
}

23
9. Modul de funcționare si mentenanță

Senzorul de temperatură LM35 se montează la înălțime de 1m deasupra solului. Acesta


citește valoarea temperaturii și o transmite microcontrolerului care face legătura cu sistemele de
încălzire si răcire. Daca temperatura se află în intervalul 25 oC -30oC atunci nu se acționează
sistemele. Dacă temperatura este sub 25oC se va aprinde LED-ul roșu și va porni sistemul de
încălzire, iar dacă temperatura este peste 30oC se va aprinde LED-ul albastru și va porni sistemul
de răcire. Informațiile vor ajunge la al doilea microcontroler printr-o transmisie serial Rx-Tx. De
la acest microcontroler informația ajunge la ecranul LCD prin legături directe. Contrastul
ecranului se poate regla cu ajutorul potențiometrului amplasat in apropierea lui. De asemenea,
cristalele de cuarț atașate suplimentar oferă o frecvență de tact superioară, deci o viteză de lucru
mai mare.

Pentru o utilizare îndelungată trebuie ca tot ansamblul sa fie ferit de umezeală, de acțiuni
mecanice externe, precum și de expunerea directă la razele solare, deoarece pot fi deteriorate
componentele interne. (exemplu: display-ul LCD, cristalele de cuarț etc.).

Prețul unui asemenea senzor este de 150 de lei.

24
10. Bibliografie

1. http://www.ti.com/product/LM35/datasheet/revision-history#SNIS1593436

2. http://html.alldatasheet.com/html-pdf/241077/ATMEL/ATMEGA328P/153/1/
ATMEGA328P.html

3.http://www.farnell.com/datasheets/2047852.pdf?
_ga=2.225990298.143162917.1516048508-325294768.1509290720

4. https://playground.arduino.cc/Main/LM35HigherResolution

5. https://www.arduino.cc/en/Tutorial/BuiltInExamples

6. https://www.tme.eu/ro/

7. Laboratoarele făcute in cadrul cursului de microcontrolere

25

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