Ir ao conteúdo

Projeto com pic16F877A e sensor de temperatura LM35


Fagner Oliveira

Posts recomendados

Postado

Galera to com o seguinte problema, preciso de um projeto que faça a leitura da temperatura com um sensor de temperatura LM35 e envie os dados para o pic16F877A e sendo mostrado num LCD e quando chegar a temperatura maxima ele desative a fonte de aquecimento(Lampadas 220volts)e acione um cooler de resfriamento, sendo também preciso um acionamento de um motor de 12volts. esse projeto tem q ser em linguagem C. POr favor alguem me ajude a montagem do esquema eletrico, pois tenho duvidas do tipo, como fazer pra saida de 5volts do pic ligar as lampadas 220, e e como seria a leitura e a conversao da saida do LM 35 pra o pic. POr favor me ajudem ai. Conto com vocês...

Postado

A lâmpada você pode acender da seguinte forma

Pic envia 5V -> energiza a bobina de um relé -> relé "bate" e liga lâmpada.

A leitura do LM35 é fácil, basta fazer primeiro a leitura analógica do que ele envia, se não me engano ele manda de 0 a 1 né? sendo 0, 0°C e 1 é 100°C? Não vou olhar o datasheet agora, mas la você da uma olhada.

Coloque como VREF no pic (RA3) o valor máximo que o LM35 consegue enviar, então quando o LM35 estiver na tensão máxima o PIC irá ler "1024", esse 1024 equivale à temperatura máxima, então é só fazer uma regra de três e ta resolvida a questão.

Postado

valeu cara, valeu mesmo, so mais uma coisinha pra resolver meu pro, a questao do uso do pwm, pra controlar um motor ligado num timer de 8h em 8h, você sabe como eu poderia fazer????

Postado

como é exatamente esse seu PWM controlando o motor?

Bom, o timer de 8h pode usar o timer 0 do próprio PIC para tal, primeiro faça um RTC dentro dele usando interrupção, vá marcando os segundos em uma variável, e depois quando atinge 60 você soma em minutos e reinicia segundos e assim vai.

Explicando melhor... O timer 0 ele irá "estourar" a cada "n" microsegundos ou milissegundos, toda vez que ele estourar você soma um a uma variável, e quando atingir um numero de estouros que totalize 1 segundo, voc~e apaga essa variável e "soma" 1 segundo na variável de segundos.

Exemplo:

Meu timer 0 com prescaler 32:1 estoura a cada 2,5mseg, ou seja, para atingir 1seg ele precisa estourar 4 vezes.

Timer 0 estouro?

sim> estouro += 1;

estouro == 4?

sim> estouro = 0 ; segundo += 1;

segundo == 60?

sim> segundo = 0; minuto += 1;

etc...

Lembre-se que precisa usar a interrupção de overflow do timer0

  • 2 semanas depois...
Postado

valeu cara, valeu mesmo.

Meu projeto e uma chocadeira com um LM35 e um motor, quando atinge a temperatura maxima ele liga o cooler exaustor e de 8 em 8 horas ele aciona o motor pra mover a bandeja. Sua resposta vai me ajudar muito valeu mesmo.

  • 4 meses depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!