Converter em graus celsius a saida do TC1047A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor Andre_Cruz » 27 Set 2012 13:37

antonio,

Beleza o CAD esta OK.

Só pra conferir o printf, atribua um valor constante a variável temp por exemplo 22,3 e mostre no LCD você já fez esse teste ?

Abraço
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor antonio » 27 Set 2012 16:18

Andre_Cruz escreveu:antonio,

Beleza o CAD esta OK.

Só pra conferir o printf, atribua um valor constante a variável temp por exemplo 22,3 e mostre no LCD você já fez esse teste ?

Abraço


Andre fiz sim o teste do printf e funciona bz!

Hoje fazendo mais uns testes consegui fazer as temperatura aproximar da realidade ,mas não a temperatura real do sensor , embora incrementndo a temperatura no sensor ou diminuindo por vezes da certo a temperatura do sensor com a que mostra no LCD ! Porquê??

aqui vai os testes!

a 30°C da certo a temperatura do sensor como o LCD!
Imagem
Uploaded with ImageShack.us

Com a temperatura no sensor a 1°C não dah certo!
Imagem
Uploaded with ImageShack.us

assim com 4 volts no sensor não dah certo no LCD
Imagem
Uploaded with ImageShack.us

E assim incrementando e diminuindo a temperatura no sensor por vezes bate certo outras vezes não!
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor antonio » 27 Set 2012 16:21

Andre eu esqueci o codigo aqui vai!

Código: Selecionar todos
#include <18F452.h>
#device ADC=10

#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay (clock=20000000)

#include <flex_lcd.c>

#USE STANDARD_IO(A)
#USE STANDARD_IO(B)


void main()
{

int16 value;
float temp;
setup_port_a(ALL_ANALOG);
setup_adc(adc_clock_div_32);
set_adc_channel(0);

lcd_init();


do{
delay_ms(1000);
value=read_adc();
lcd_gotoxy(1,1);
printf(lcd_putc,"%4lu",value);
temp =((4.88*value)-500)/10;
 lcd_gotoxy(1,2);
 printf(lcd_putc, "%3.1f",temp);
 }while(true);
}
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor Andre_Cruz » 27 Set 2012 17:41

antonio,

Tenta:

temp =0.4887*value -50.014;

Onde:
temp é a temperatura medida pelo sensor em graus celsius
value é o valor da conversão do A/D

Abraço
Editado pela última vez por Andre_Cruz em 27 Set 2012 17:53, em um total de 2 vezes.
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor antonio » 27 Set 2012 17:46

Andre vou estar uns dias sem entrar no forum devia a viajar quando voltar faço os testes como vc indicou e posto os resultados !

Grato !
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Anterior

Voltar para PIC

Quem está online

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

x