Você está na página 1de 6

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO ESPRITO SANTO

CAIO CSAR DIAS E JOO PAULO MARCHESI

RELATRIO DE MICROCONTROLADORES PROJETO FINAL

VITRIA 2014

1. INTRODUO
O presente relatrio tem por objetivo esclarecer os procedimentos e resultados para a realizao do projeto final do curso de Microcontroladores. No projeto utilizaram-se softwares de programao e simulao para a averiguao do programa e, ento, testou-se os resultados do kit SD-1700 que conta com os componentes necessrios. Utiliza-se nesse curso o

microcontrolador PIC16F877A.

Alm disso utilizou-se alguns dispositivos

eletrnicos para a implementao do circuito do qual o projeto depende. O projeto objeto deste relatrio um medidor de temperatura que utiliza o transdutor de temperatura AD590. Tal dispositivo fornece uma corrente de 1A de corrente, quando alimentado em tenso continua de 5 a 15V, para cada unidade Kelvin de temperatura do ambiente em que se encontra. Como o PIC s reconhece tenso utilizou-se um resistor de 10k para realizar a converso. Alm disso, utilizou-se o amplificador operacional AD620 para otimizar os resultados. Tal amplificador tem o ganho definido apenas por um resistor externo colocado entre seus pinos 1 e 8. Para a experincia, no utilizou-se resistor externo, logo o ganho de 1. A sada do amplificador foi conectada a entrada do PIC, o qual, atravs de instrues internas, realizou a converso analgico digital.

2. DESENVOLVIMENTO 2.1 FLUXOGRAMA

2.2

CDIGO

# include <16F877A.h> # device adc=10 # include <C:\Program Files (x86)\PICC\Drivers\LCD.C> # fuses XT, NOWDT, PUT,NOLVP # use delay (clock = 4000000) # byte PORTA=5 # byte PORTB=6 # byte PORTD=8

int i; float VOLTAGE=0; float TEMP=0;

void main() { set_tris_a(0xFF); set_tris_b(0b00000011); set_tris_c(0x00); lcd_init(); LCD_PUTC ("\f"); LCD_GOTOXY(1,1); LCD_PUTC("TEMPERATURA"); setup_adc_ports(AN0); // Define asentradas analgicas setup_adc(ADC_CLOCK_DIV_32); // Define clock da converso A/D delay_ms(500); LCD_PUTC ("\f"); while(true){ for(i=0;i<16;i++){ // Faz 16 leituras e tira a mdia, miniza o erra de //leitura; set_adc_channel(1); // seleciona canal de leitura delay_us(50); VOLTAGE += read_adc(); // l porta armezena em VOLTAGE) delay_us(100); } VOLTAGE = VOLTAGE/16; TEMP=(((VOLTAGE/204.8)*100)-273); //realiza a converso

//hexadecimal e retira osganhos do resistor e da escala kelvin LCD_GOTOXY(1,1); PRINTF(LCD_PUTC,"VALOR=%f",TEMP); LCD_PUTC("C"); delay_ms(1000); } } 2.3 DESCRIO DO CDIGO

O Cdigo do projeto bem simples. Ele responsvel pela leitura da tenso na sada de um Amplificador operacional e a consequente converso analgico-digital seguida da converso tenso-temperatura. Para cada valor mostrado aconteciam 16 leituras por meio de uma funo FOR. A cada medida a porta era escolhida (porta 1) e o valor era acumulado na varivel VOLTAGE. Ao fim das dezesseis medidas a varivel VOLTAGE dividida por 16 e seu valor passa por uma converso de tenso em corrente. Divide-se esse valor por 204,8 para a converso hexadecimal-decimal. Multiplica-se por 100, o que retira os ganhos do resistor de 10000ohms. Por fim, subtrai-se 273 para realizara a converso Kelvin-Celsius. Aps isso a o valor dessas operaes guardado na varivel TEMP que impressa no visor LCD.

3. CONCLUSO
O projeto desenvolvido nos mostrou a utilizao da programao C em uma de suas aplicaes e contribuiu para o exerccio da lgica. O programa Proteus teve extrema importncia no teste do projeto desenvolvido que foi feito nos seguintes passos: entendimento da lgica do programa, descrio do programa e teste no Proteus. Aps simulao no Proteus realizou-se o teste no kit SD-1700, o projeto foi concludo com sucesso e com a aprovao do professor. Com o fim desse projeto, chega ao fim, tambm, o curso de microcontroladores. Tal curso se mostrou uma ferramenta para entendermos melhor vrias reas da programao e pode se mostrar essencial e extremamente til em um futuro bem prximo.

Você também pode gostar