Autor Tema: problema con ADC del pic 18f4550  (Leído 13965 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pipipi

  • PIC12
  • **
  • Mensajes: 91
problema con ADC del pic 18f4550
« en: 15 de Mayo de 2010, 21:02:26 »
Hola amigos del foro:

Tengo un problema con el ADC del PIC18f4550, lo que intento hacer es desplegar en una lcd 2x16 la temperatura sensada por el lm35 como es sabido el lm35 entrega un voltaje correspondiente a la temperatura sensada de la sig forma : 10mv * °C, esto es que 100mv  seria igual a 10°C. Teniendo en cuenta esto me apolle en un OPAM para amplificar este voltaje que es muy pequeño para meter al ADC del pic.

La relacion que he optenido con la amplificacion es 1000mV = 10°C es dicer optube una ganancia de 100 para la amplificacion del voltaje. hasta ahi todo va muy bien. El problema ahora es que al realizar la convercion con el ADC del PIC me varia demaciado la temperatura desplegada en la lcd he descartado algun ruido perteneciente a la salida del sensor y a la salida del amplificador ya que tengo dos volmetros conectados a mi circuito. El primer volmetro esta conectado a la salida del sensor midiendo el voltaja en mV y no hay ninguna variacion que pueda afectar mi lectura, el segundo volmetro lo tengo conectado a la salida de la amplificacion y tampoco hay variacion que afecte, por lo tanto dedusco que el problema esta en mi programacion, la he checado varias veces y no noto error, si alguin me pudiera ayudar y decirme que esta pasando se los agradeseria mucho.

el codigo es el siguiente:


#INCLUDE <18f4550.H>
#DEVICE ADC=8
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOWDT
#include <LCD.C>

void main(void)
{
float T_S;


lcd_init(); //Inicializa LCD
setup_adc(ADC_CLOCK_INTERNAL );
setup_adc_ports(AN0); // Inicializacion del ADC
set_adc_channel( 0 );       
T_S=0;

while(TRUE)//Ciclo
{

   T_S = read_adc();
   T_S=(T_S*50)/254;
   lcd_gotoxy(1,1);
   printf(lcd_putc,"T_S: %.1f   ",T_S);
   delay_ms(1000);
   
}

}

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: problema con ADC del pic 18f4550
« Respuesta #1 en: 15 de Mayo de 2010, 21:05:56 »
Hola.

Toma varias medidas, unas 100, y sacas el promedio.

Saludos
El papel lo aguanta todo

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: problema con ADC del pic 18f4550
« Respuesta #2 en: 15 de Mayo de 2010, 22:03:23 »
Tambien podes poner un pequeño filtro pasa bajos RC en la entrada para eliminar el ruido. Y por supuesto, como dice MLO, toma varias muestras y saca un promedio.
Suerte!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado pipipi

  • PIC12
  • **
  • Mensajes: 91
Re: problema con ADC del pic 18f4550
« Respuesta #3 en: 16 de Mayo de 2010, 22:43:43 »
Hola:

Muchisimas gracias por sus respuestas, lo voy a provar y les cuento como me fue gracias. Pero tengo algunas dudas, el tomar varias muestras y sacar el promedio no influye demaciado en el resultado, es decir  que no conincida con lo que en realidad esta midiendo el sensor?????
« Última modificación: 16 de Mayo de 2010, 22:56:30 por pipipi »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: problema con ADC del pic 18f4550
« Respuesta #4 en: 17 de Mayo de 2010, 11:33:18 »
Aparte de todo lo mencionando, hay que hacer un buen diseño del pcb, capacitores de desacople, las lineas de alimentación bien hubicadas, plano de masa, ect.. Eso, aunque no paresza afecta a la medición.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: problema con ADC del pic 18f4550
« Respuesta #5 en: 17 de Mayo de 2010, 12:21:57 »
Bueno, en sin ninguna medida es exacta, pero la aleatoriedad en el modulo del ADC del PIC es la que hay que corregir por soft, no hay de otra, así la medida que saca el sensor sea muy estable, el ADC del PIC le mete ruido ....

Los procesos térmicos son lentos, asi que no creo que haya problema con eso

Saludos
El papel lo aguanta todo

Desconectado pipipi

  • PIC12
  • **
  • Mensajes: 91
Re: problema con ADC del pic 18f4550
« Respuesta #6 en: 17 de Mayo de 2010, 14:48:26 »
HOLA:

he estado tratando de resolver el problema que tengo con el ADC, ya hice algunas pruebes con tomar varias muestras (100 muestras) y sigo teniendo una lectura variable no tanto como la de antes pero si es significativa ya que varia hasta 2  °C, alguien tiene una idea de como resolverlo, el he pensado ahumentar el numero de muestras tomadas antes de desplegar la lectura pero obiamente esto afectaria aun mas mi lectura.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: problema con ADC del pic 18f4550
« Respuesta #7 en: 17 de Mayo de 2010, 15:25:00 »
le tenes los respectivos condensadores de 100n a los vdd y vss del pic?
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: problema con ADC del pic 18f4550
« Respuesta #8 en: 17 de Mayo de 2010, 15:26:35 »
Trabaja a 10 bits de resolución, eso puede mejorar la medida.

Saludos
El papel lo aguanta todo

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: problema con ADC del pic 18f4550
« Respuesta #9 en: 17 de Mayo de 2010, 15:27:58 »
 :shock: no creo q no...o si? trabajando a 10 bits siempre tiende a oscilar el ultimo bit..no?
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: problema con ADC del pic 18f4550
« Respuesta #10 en: 17 de Mayo de 2010, 15:30:14 »
Si, claro, oscila el LSB, pero en la medida corresponde a 4.88mV, mientras que a 8 bits corresponderia a 19.5mV

Saludos
El papel lo aguanta todo

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: problema con ADC del pic 18f4550
« Respuesta #11 en: 17 de Mayo de 2010, 15:37:38 »
mmm ya.. yo una vez tuve el mismo problema con lm35 pero la solucion estaba en el filtrado de la fuente
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: problema con ADC del pic 18f4550
« Respuesta #12 en: 17 de Mayo de 2010, 16:20:31 »
El adc del pic y de cualquier ADC tiene un error en el bit menos significativo por el error de cuantización, por esto siempre este bit se debe descartar, pero esto la mayoría de las veces no trae problemas, por ejemplo si tu estás midiendo un valor de temperatura de 0 a 50 °C que corresponden de 0 a 5V, esto sería 0°->0V->0ADC, 50°->5V->256ADC,
entonces por el error de cuantización, (variando solo el último bit)tendrías una variación en la lectura de 0.19°. Que no se condice con el error que estás teniendo.
Lo que si te está dando problemas es el ruido.
Ahora vamos a la parte externa al pic, dices que tienes un tester midiendo la salida, los tester comunes solo miden la tensión eficaz de DC, y su respuesta en frecuencia es muy pobre. Deberías si te es posible observar la salida del sensor con un osciloscopio y también la salida del operacional, vas a ver que no es nada limpia.
Primero debes estabilizar muy bien la fuente con la que estás alimentando el pic y el lm35 como así también el operacional, toda fuente tiene riple y ese riple se propaga a todos los componentes, por lo tanto si quieres obtener una buena medición la fuente debe ser lo más estable y lo mejor filtrada posible
Ahora el tema de la ganancia del amplificador, dices que lo configuraste con una ganancia de 100 (creo que quisiste decir 10). Supongamos que el LM35 te está dando una salida de 100mv, si esta fuera estable no habría problema, pero ahora se le suma el riple de fuente más algún ruido (térmico, por RF, algún motor que se enciende cerca, etc,etc), supongamos que este ruido es de 10mV, entonces a la salida va a tener 110mV, que multiplicado por 10 tienes 110mV*10=1100mV a la salida del operacional. Ahora traducido a muestras sería 1100mV*256/5=56.32, pero como las muestras son  enteras te puede dar 56 o 57 que traducido a grados es 50*56/256=10.93° o 50*57/256=11.13°, en lugar de los 10 grados.
Si ese ruido es mayor, vas a tener un mayor variación en la lectura. Por lo tanto lo mejor es filtrar bien la fuente, y si te es posible diseña el amplificador, para que filtre la salida a una frecuencia lo más baja posible.
Estás tomando muestras a una frecuencia de 1seg mas o menos, y además la mayoría de los sistemas varían su temperatura muy lentamente, así que colocar un filtro a la entrada no va a dañar demasiado las lecturas. En caso de no poder diseñar el filtro con el amplificador, haz como te han aconsejado y coloca un filtro RC a la entrada del ADC de la frecuencia de corte lo más baja posible.
Espero no haber arruinado la explicación con tantas vueltas, Saludos

Desconectado pipipi

  • PIC12
  • **
  • Mensajes: 91
Re: problema con ADC del pic 18f4550
« Respuesta #13 en: 17 de Mayo de 2010, 18:06:44 »
Hola amigos:

Primero que nada quiero dar las gracias a todos los que han contestado para ayudar. Y si Pablomanieri en lo que estoy en este momento es tratando de ver la señal que me entrega la fuente que estoy ocupando para alimentar el PIC, de todo lo que he estado investigando puedo deducir que lo que puede estar afectando mis mediciones es la alimentacion, el unico problema es que no tengo algun osciloscopio a la mano y tendre que conseguirlo para avanzar en esto.

En cuanto tenga la solucion les cuento como me fue.

Aprobechando este espacio quisiera preguntarles otras inquietudes que tengo, lo que pasa que el sistema que trato de realizar con el PIC es un equipo que debe estar trabajando durante mucho tiempo sin quitarle la alimentacion ni apagarlo, la programacion que pretendo realizar es algo extensa pero me gustaria saber sus opiniones sobre si puedo tener la certeza que el pic funcione bien durante el tiempo requerido, es decir, que no se pierda durante el trabajo que va estar realizando y si no como podria solucionar este problema, me gustaria saber sus opiniones antes de tomar la decesion de seguir trabajando con este pic o si no mudarme a otro de otra tecnologia o mas potente, hay equipos que tardan trabajando años sin que se desconecten o reseteen. Espero sus comentarios. Gracias

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: problema con ADC del pic 18f4550
« Respuesta #14 en: 17 de Mayo de 2010, 18:56:30 »
Hola.

Si estas usando Vdd y Vss como referencia en los voltajes de conversión, la fuente si que debe ser estable, así que pon unos buenos condensadores de desacople.
El papel lo aguanta todo