Documente Academic
Documente Profesional
Documente Cultură
Proiect
Profesor Indrumator
Student
Nae Adrian
Microcontrolere
Page 2
Cuprins
1.Cuprins.....................................................................2
2.Prezentare generala.....................................................3
2.1 Descrierea comerciala.............................................3
2.2 Scurt istoric.........................................................4
3.Proiectare conceptuala..................................................5
3.1 Schema Bloc.........................................................5
3.2 Descrierea Blocurilor...............................................6
4.Prezentare placa de dezvoltarea Easy AVR...........................8
5.Proiectare Hardware....................................................10
5.1 Schema electrica placa emisie..................................10
5.2 Schema electrica placa receptie................................12
6. Cablaj imprimat.........................................................14
6.1 PCB placa emisie...................................................14
6.2 PCB placa receptie.................................................14
7.Proiectare Software......................................................15
7.1 Organigrama codului...............................................15
7.2 Codul sursa placa emisie..........................................16
7.3 Codul sursa placa receptie........................................19
8.Masuri de siguranta si mentenanta....................................22
9.Costuri productie.........................................................23
10.Biografie..................................................................24
Microcontrolere
Page 3
2.Prezentare generala
2.1.Descrierea comerciala
Stiati ca o valoare ridicata a umiditatii poate genera conditii favorabile inmultirii
agentilor patogeni, alergenilor sau aparitia mucegaiului?
Umiditatea este un factor important n meninerea
nivelurilor optime de confort i a unei caliti bune
a aerului n interior.
O valoarea a umiditatii prea scazuta provoaca o
senzatie de frig organismului si uscaciune in gat.
Totodata, favorizeaza aparitia acarienilor, virusilor
si bacteriilor care pot duce la infectii respratorii.
O valoare a umiditatii prea ridicata provoaca o senzatie
de fierbinte, iar organismul nu mai reuseste sa-si elimine
surplusul caloric prin transpiratie.
Un mediu prea umed reprezinta un mediu de
inmultire propice pentru bacterii si paraziti, ceea ce duce
implicit la aparitia mucegaiului si a igrasiei.
De aceea,umiditatea este un factor important n meninerea nivelurilor optime de
confort i a unei caliti bune a aerului interior, nivelul optim sanatatii fiind cuprins intre
40% - 60%.
Niciodat nu a fost mai simplu s controlai climatul interior i s aveti grija de
sanatate!
Umidometrul digital este un dispozitiv versatil folosit pentru determinarea nivelului de
apa din aer.
Cu o greutate redusa, usor de utilizat si un design
ergonomic, acesta permite determinarea rapida si precisa a
umiditatii aerului din dormitor, laborator sau chiar depozit.
Un ecran LCD cu functia de modificare a contrastului
permite vizualizarea permanenta a informatiilor despre
valoarea umiditatii relative din interior, gama de masurare a
acesteia fiind intre 10-95%.
Un toc rezistent pentru acoperirea senzorului, confera performan i via lung.
Beneficiind de o dimesiune redusa si o greutate de 143g, acest dispozitiv cu functii
multiple poate fi montat cu usurinta pe un perete sau pozitionat in picioare cu ajutorul
suportului integrat. Bateria de alimentare garanteaza o durata lunga de viata a acestui
umidometru de calitate excelenta si cu aspect deosebit.
Microcontrolere
Page 4
Page 5
Microcontrolere
3.Proiectare conceptuala
3.1 Schema bloc
Emisie
Alimentare
Receptie
Afisaj LCD
Senzor
Umiditate
Convertor
Analog
Digital
Convertor
Numeric
Microcontroler
Atmega16
Codare
Microcontroler
Atmega16
Decodare
Convertor
Max232
Convertor
Max232
Mufa
RS232
Mufa
RS232
Microcontrolere
Page 6
Microcontrolere
Page 7
Microcontrolere
Page 8
Microcontrolere
Page 9
Microcontrolere
Page 10
5.Proiectare Hardware
5.1 Schema electrica placa emisie
Componente folosite :
U1
U2
U3
C1,C3,C4,C5,C6
R1
J1
Jmp1
P1
Pushbuton Reset
Convertorul Max232
Senzorul de umiditate HCH - 1000
Condensatoare de 100nF/1uF/1uF/100nF/470uF
Rezistenta de 10k
Conector USB pentru alimentarea microcontrolerului
Jumper
Conector RS232
Microcontrolere
Page 11
Microcontrolere
Page 12
Componente folosite :
U1
U2
Lcd1
Rv1
C1, C3, C4, C5, C6
J1
Jp1
R1
P1
Pushbuton pentru Reset
Microcontrolere
Page 13
Microcontrolere
6.Cablaj imprimat
6.1 PCB placa emisie
Page 14
Page 15
Microcontrolere
7.Proiectare software
7.1 Organigrama codului
START
Placa Emisie
Initializare
NU
Am primit
date de la
senzor?
DA
Convertire
valoare
Codare
Transmisie
START
Placa Receptie
Initializare
NU
S-au primit
date pe
magistrala ?
DA
Decodare
Conversie
numerica
Afisare
LCD
Microcontrolere
Page 16
Microcontrolere
Page 17
Microcontrolere
Page 18
// slope
// offset
zero_counter();
// numaratorul de 16 biti se
seteaza la 0
PORTB &= ~(1<<PB1);
TCCR1B |= ((0<<CS12)|(1<<CS11)|(0<<CS10));
// seteaza
timerul 1
while((!(PINB & 1)) & (TCNT1<65000));
// asteptam ca iesirea
senzorului sa fie in 1 logic
TCCR1B &= ~((1<<CS12)|(1<<CS11)|(1<<CS10)); // opreste timerul 1
PORTB |= (1<<PB1);
counter_value = read_counter();
// citeste
numaratorul
humidity_value = (m * counter_value) - a;
// converteste valoarea
in umiditate relativa
return humidity_value;
// returneaza valoarea
}
void delay_minutes( int delay ){
int t;
for (t = 0; t < (delay * 60); t++){
_delay_ms(1000);
}
}
Page 19
Microcontrolere
humidity = read_humidity();
itoa(humidity,humidity_str,10);
umiditatea in sir ascii
send_string(humidity_str);
//citeste umiditatea
// converteste
serial
send_string(" %RH");
_delay_ms(1000);
}
return 0;
}
void usart_init();
void usart_putch(unsigned char send);
unsigned int usart_getch();
int main()
{
unsigned char value;
Microcontrolere
Page 20
DDRA=0xff;
// portul a e setat ca port de iesire
DDRB=0x07;
// semnalul de iesire al LDC
init_LCD();
_delay_ms(50);
// intarziere 50ms
usart_init();
// initializare USART
while(1)
{
value=usart_getch();
// functie pentru a primi date
din usart
LCD_cmd(0xC0);
// a doua linie, la inceput a LCD
LCD_write(value); // scrie
}
return 0;
}
void init_LCD(void)
{
LCD_cmd(0x38);
_delay_ms(1);
LCD_cmd(0x01);
_delay_ms(1);
// clear LCD
LCD_cmd(0x0E);
_delay_ms(1);
// cursor ON
LCD_cmd(0x80);
_delay_ms(1);
return;
}
void LCD_cmd(unsigned char cmd)
{
LCD_DATA=cmd;
ctrl =(0<<rs)|(0<<rw)|(1<<en);
_delay_ms(1);
ctrl =(0<<rs)|(0<<rw)|(0<<en);
_delay_ms(50);
return;
}
void LCD_write(unsigned char data)
{
LCD_DATA= data;
ctrl = (1<<rs)|(0<<rw)|(1<<en);
_delay_ms(1);
Page 21
Microcontrolere
ctrl = (1<<rs)|(0<<rw)|(0<<en);
_delay_ms(50);
return ;
}
void usart_init()
{
UCSRB |= (1 << RXEN) | (1 << TXEN); // activeaza circuiteul de
transmitere si receptie
UCSRC |= (1 << URSEL) | (1<<USBS) | (1 << UCSZ0) | (1 << UCSZ1);
// foloseste caractere de 8 biti
UBRRL = BAUD_PRESCALE;
// incarca bitul inferior rata de transfer
UBRRH = (BAUD_PRESCALE >> 8); // incarca bitul superior
}
unsigned int usart_getch()
{
while ((UCSRA & (1 << RXC)) == 0);
// nu face nimic pana cand nu s-au primit date la UDR si
sunt gata de afisat
return(UDR); // returnteaz bit
}
Microcontrolere
Page 22
Page 23
Microcontrolere
9.Costuri de productie
Microcontroler Atmega16 20 RON x 2 buc
- 40 RON;
25RON x 2buc
- 50 RON;
- 4 RON;
Potentometru 10k
4RON x 1buc
Rezistenta 10k
0.6RON x 2buc
- 1.2RON;
- 30RON;
Condensator 100nF
0.4RON x 4buc
-2.4RON;
2RON x 2buc
- 4RON;
1.5RON x 4buc
- 6RON;
25 RON x 1buc
25RON;
Cablaj imprimat
7.5RON x 2buc
- 15RON;
Total
177.6RON
Microcontrolere
10.Bibliografie
http://www.tet.pub.ro
http://www.atmel.com
http://www.mikroe.com
http://www.avrbeginners.net/
http://www.engineersgarage.com/
http://www.adelaida.ro/
http://www.avrfreaks.net/
http://cs.curs.pub.ro
http://www.datasheetcatalog.com
http://www.datasheets360.com
http://www.conexelectronic.ro
http://www.e-piese.ro
http://www.youtube.com
http://office.microsoft.com/ro-ro/templates/
Page 24