TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: cmontoya en 16 de Septiembre de 2014, 19:02:01
-
Hola amigos
He montado un sensor lm35 y funciona bien..... pero tambien me interesa montarlo con una termocupla y un ad595 pero no se como hacer la conversion matematica para el pic utilizando ADC=10
el codigo del lm35
delay_us(20); //Retardo para que tenga tiempo de convertir
Temperatura=read_adc(); //leemos la entrada analoga
Temperatura=(Temperatura*300)/610; //Operacion para convertir
if(TEMPERATURA!=Ayuda){//Si Temperatura es diferente a Ayuda
lcd_gotoxy(1,2); //Cursor en segunda linea
printf(lcd_putc," %.2f Grados ",Temperatura);//Escribimos el resultado
Ayuda=Temperatura;//Enviamos convercion a Temperatura
}
Gracias por su ayuda
-
cmontoya, con la expresión de resolución puedes descodificar, voy a poner un ejemplo. La ecuación de resolución viene dada por
Res = (Vref+ - Vref-)/(2^n - 1)
Donde n es el número de bits, ahora para el caso de un LM35 el fabricante garantiza una respuesta lineal de 10mv/ºC (si mal no recuerdo), es decir que, V = 0.01T (donde T es la temperatura en ºC). Luego se puede calcular el valor del voltaje así:
V = Res*(ValorConversion)
El valor de ValorConversion se encuentra para este caso entre 0 y 1023. Combinando las ecuaciones se obtiene lo siguiente:
0.01T = Res*ValorConversion
Despejando T se obtiene lo siguiente
T = 100*Res*ValorConversion
Con esta expresión se puede descodificar cualquier valor de una conversión análogo a digital para un LM35.