sensor temperatura/pic16f819/877a

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

sensor temperatura/pic16f819/877a

Mensagempor alex1000 » 29 Nov 2008 10:33

Sei que é meio offtopic mas gostaria que alguem me indicasse um sensor de temperatura com vários canais para trabalhar com o 819/877a pois vou precisar de mais informações de temperatura em vez do LM-35.
Queria algo barato, com boa precisão(mais ou menos 0,25 graus de variação) e como o LM-35 para a escal de temperatura em graus, sem precisar conversão no PIc.
Alguem saberia de algum?
Obrigado
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor lpagano » 30 Nov 2008 10:10

alex1000,

Já tentou o MCP9700 da Microchip?
É um sensor monocanal bem barato, tem uma precisão um pouco melhor que o LM35 e está pronto para ser ligado direto no PIC.

Valeu!
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor Djalma Toledo Rodrigues » 30 Nov 2008 10:46

Dalas DS18B20

Até 128 em rede one wire. (Dois fios)

Veja na Revista Elektor #80, deste mes.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor alex1000 » 30 Nov 2008 18:39

O MCP9700 parece que é 2,00 na Farnell. Já o outro um pouco mais caro.
Vou tentar acha-los.
Agora e quanto um sensor de temperatura vom varios pontos (local ou remoto)?
Eu estava vendo o Max 1668 mas não sei se seria interessante e é caro, suficiente para comprar varios LM-35 da vida.
de qualquer forma obrigado pelas informações.
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor mastk » 30 Nov 2008 19:06

MCP9700 não sei, mas o DS1820 vc acha em qlqr quitanda
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Mensagempor alex1000 » 02 Dez 2008 14:58

Um problema surgiu colocando-se o LM35 ao A0 do Pic16F877a, a tensão que aparece no A0 é (no máximo) 1.5 V.
Olhando-se o datasheet do LM35 que ele trabalha de 2v a 4V, indicando de
-55 a 150°. Retirando-se o LM do circuito e aumentando e diminuindo a temperatura a sua volta ele apresenta estas tensões no Vout.
Parece que o Pic está impedindo-o de apresentar esta tensão.
Antes que perguntem isto ocorreu em outros pinos também.
Alguem tem alguma solução?
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor otavio luiz » 02 Dez 2008 15:41

Pode até não ser mas voce já desligou os comparadores internos??? Costumam dar alguns problemas se não forem desligados.
Lembre-se, zona de Fresnel não é nenhuma franquia de puteiro.
Avatar do usuário
otavio luiz
Byte
 
Mensagens: 257
Registrado em: 11 Out 2006 13:56
Localização: Barretos - SP, terra de Peão

Mensagempor alex1000 » 02 Dez 2008 16:15

otavio, teria um exemplo de como fazer isto?
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor otavio luiz » 02 Dez 2008 16:59

Lembre-se, zona de Fresnel não é nenhuma franquia de puteiro.
Avatar do usuário
otavio luiz
Byte
 
Mensagens: 257
Registrado em: 11 Out 2006 13:56
Localização: Barretos - SP, terra de Peão

Mensagempor alex1000 » 02 Dez 2008 18:28

Acredito que seja este comando e coloquei a desativação da tensão de referencia:
setup_comparator(NC_NC_NC_NC);
setup_vref(false);

Não estou em meu serviço mas simulanmdo com o Proteus ainda não mudou nada....
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor jorgeluiz » 04 Dez 2008 00:09

O LM35 pode ser alimentado ate' 30 volt. Para que funcione de -55 a 150, voce deve usar fonte simetrica.( tem um esquema no datashet). Para cada grau ocorre uma variaçao precisa de 10 mVots. Voce pode alterar essa variaçao usando um A.O. A saida e' de baixa impedancia.
Avatar do usuário
jorgeluiz
Byte
 
Mensagens: 448
Registrado em: 26 Mar 2007 02:26

Mensagempor alex1000 » 04 Dez 2008 12:45

Beleza Jorge.
O que eu notei é que o pic não esta apresentando a temperatura correta.
Quando isolado o LM35 próximo a uma fonte de calor apresenta um aumento de tensão no vout , quando colocado o vout ligado ao pino A0
não apresenta o mesmo aumento de tensão incorrendo no erro de temperatura.
É como se o PIC não deixasse o LM35 chegar a tensão real .
Engraçado que não li nada sobre isso na vasta documentação que consultei.
Olha meu código

Código: Selecionar todos
#include<16f877a.h>
#device ADC=10
#fuses NOWDT,NOPROTECT,PUT,NOLVP,HS
#use delay(clock=4000000)

#include<flex_lcd.c>


void main()
{
signed int32  analog;
float result;
set_tris_a(0b11111111);
set_tris_c(0b00000000);
set_tris_d(0b00000000);

output_a(0x00);
output_c(0x00);
output_d(0x00);

lcd_init();

setup_ADC_ports(RA0_analog); //configurA pino_a0 para conversão AD
setup_adc(adc_clock_internal); //configurar o clock interno para o AD
set_adc_CHANNEL(0);

while(1)
{

analog=(int32)READ_ADC();

result=(float)(analog*0.488);
printf(lcd_putc, " \f TEMP %0.2f C ",result,);
delay_ms(10);
}

}


Foi testado em protoboard.
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor MOR_AL » 04 Dez 2008 13:41

Olá Alex1000.

alex1000 escreveu:Um problema surgiu colocando-se o LM35 ao A0 do Pic16F877a, a tensão que aparece no A0 é (no máximo) 1.5 V.
Olhando-se o datasheet do LM35 que ele trabalha de 2v a 4V, indicando de
-55 a 150°. Retirando-se o LM do circuito e aumentando e diminuindo a temperatura a sua volta ele apresenta estas tensões no Vout.
Parece que o Pic está impedindo-o de apresentar esta tensão.
Antes que perguntem isto ocorreu em outros pinos também.
Alguem tem alguma solução?


Parece que você viu o gráfico da tensão de alimentação mínima em função da temperatura.

Este LM35 tem uma saída de 10mV/grau Célcius. (GS = Graus Célcius)

Ou seja:

Vout = 0,01 (volts/GS) * Temperatura (GS)

EXEMPLO:
Se Temperatura for igual ao máximo (150GS)
, a tensão de saída será:

Vout = 0,01 (V/GS) * 150 (GS) = 1,5V

Parece que estava faltando uma carga na saída, para funcionar direito.
Se você quiser que para a temperatura de 150 GS a tensão de saída seja de 5V, então terá que colocar um amplificador operacional. Aí vai ter que usar dupla alimentação, pois os operacionais não gostam de fornecer tensões próximas ao zero volt com -Vcc = 0 :lol:

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor alex1000 » 04 Dez 2008 14:20

Ola Moral.
Nos meus ultimos testes ocorrem o seguinte:

No LM35,colocado no protoboard, sem conexão ao PIC, Vout ligado a um osciloscopio apresenta um aumento da temperatura devido a fonte de calor, No osciloscopio aparece uma tensão continua.

Este mesmo LM35, na mesma posição e próximo desta mesma fonte de calor, conectado ao A0 do Pic877A, apresenta no osciloscopio, uma tensão MENOR do que aquela vista no LM35 isolado e um sombreado abaixo desta linha de tensão.

Conclusão>não há problema na resolusão ou no programa, pois ele está funcionando. O problema é que o Pic(parece) que não esta permitindo que o LM35 apresente a tensão relativa a temperatura. Isto seria possivel?
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Mensagempor alex1000 » 04 Dez 2008 17:22

Pessoal, ninguem teria uma ideia sobre o problema?
Já está batendo o desespero :D :D
alex1000
Byte
 
Mensagens: 104
Registrado em: 02 Out 2007 23:39

Próximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x