TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: cmontoya en 16 de Septiembre de 2014, 19:02:01

Título: 16f877 formula para termocupla
Publicado 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

Código: [Seleccionar]

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
Título: Re: 16f877 formula para termocupla
Publicado por: Chenao en 17 de Septiembre de 2014, 00:22:03

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.