Controle de Temperatura Ventoinha e LM35
Otávio Carlos de Arruda Botelho 136092-2
Kaue Piccelli Costa 136118-x
PROJETO MICROPROCESSADORES II
Guarulhos
2015
O projeto tem como objetivo aplicar conhecimentos de programação em linguagem C aprendidos em sala de aula para resolução de determinado problema utilizando um microcontrolador PIC. No nosso projeto fizemos o controle de velocidade de uma ventoinha por PWM e um sensor de temperatura, juntamente com um display de LCD, gerenciados por um PIC 18f4550.
O sensor de temperatura utilizado foi um LM35DZ, que gera um sinal analógico com resolução de 10mV/ºC, enviando esse dado através da porta analógica AN0 (RA0) do microcontrolador, que internamente através de um conversor Analógico Digital de 10 bits, gera um valor decimal de 0 a 1023, portanto para a conversão desses dados em graus Celsius foi necessário a seguinte fórmula:
Temperatura = an0 * 4.88e-3 / 0,01
Sendo an0 o valor decimal gerado pelo conversor AD nos registradores ADRESH e ADRESL.
Após efetuado o monitoramento da temperatura, foi necessário implementar o controle de velocidade PWM através da porta RC2 do microcontrolador. Para isso configuramos o Duty Cicle através do valor do registrador CCPR1L.
Criamos 5 condições de funcionamento de acordo com a temperatura:
Ventoinha Parada
Duty Cicle 25%
Duty Cicle 50%
Duty Cicle 75%
Duty Cicle 100%
O controle de temperatura já implementado, utilizamos o display LCD para monitorar as informações de velocidade da ventoinha e temperatura em tempo real. Durante a programação aproveitamos os códigos gerados pelo Professor Ernesto para configuração e comandos de escrita no display. Então foi necessário converter a variável tipo flutuante de temperatura para outras duas variáveis inteira, uma com a parte inteira do numero e outra com a parte decimal, para ai sim converte-las em duas strings, possibilitando a escrita delas no LCD.
Código:
//Inicio do programa
#include<p18f4550.h> // Biblioteca do PIC utilizado