Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: El_parche en 05 de Mayo de 2004, 12:22:00
Título: No me coje los datos bien el A/D del 16f876
Publicado por: El_parche en 05 de Mayo de 2004, 12:22:00
Hola amigos, os voy a exponer mi caso:
Tengo un sensor de ozono, que me da una tension bipolar, conectado a un ina122 (amplificador de instrumentacion) y cuya salida la injecto en el canal RA0 para convertirla a digital. hasta ahy todo bien, lo que pasa es que la conversion me la hace mal, yo adquiero cada segundo y luego lo paso al ordenador por el puerto serie, y sorpresa!!!.... me varia incluso del orden de 70 puntos osea que en mi caso unos 350mV, cuando la señal que sale por el ina122 (mirado con voltimetro) no varia. ¿Que me puede estar pasando? supongo que tendre ruido, aunque lo he mirado en la alimentacion y esta no tiene mas de 10mv de ruido, como puedo solucionarlo, pongo un filtro RC a la entrada del convertidor A/D?... Bueno a ver si me podeis ayudar. Un Saludo. Muchas Gracias
Título: RE: No me coje los datos bien el A/D del 16f876
Publicado por: Sispic en 05 de Mayo de 2004, 13:06:00
¿ ya compruebas ADCON0,2 que aya terminado la conversión ?
Título: RE: No me coje los datos bien el A/D del 16f876
Publicado por: adolfoadc en 06 de Mayo de 2004, 07:25:00
Tienes una tension de referencia estable, la mayor parte de los problemas que se tienen con los convertidores A/D son las referencias de tension, utiliza una buena referencia externa (chip REF02) y a lo mejor se te quitan los problemas.
Suerte!!!!!!!!!!!!!!!!!!!
Título: RE: No me coje los datos bien el A/D del 16f876
Publicado por: El_parche en 06 de Mayo de 2004, 10:16:00
Ya he conseguido hacerlo funcionar, he colocado un filtro RC(10k,1uF) y he hecho que el tiempo de conversion sea mayor (clock de 4mhz enlugar de los 20megas de antes, y poniendo ADCS1=1 y ADCS0=0), de esta manera consigo una buena lectura.
Gracias por todo.
Título: RE: No me coje los datos bien el A/D del 16f876
Publicado por: MASTER_HACKER en 24 de Febrero de 2005, 17:10:00
compis me podriais postear aqui algun programa que me sirva de ejemplo para la adquisicion y tratado de datos analogicos por el convertidor a/d interno del 16f876??
Os lo agradeceria.
Título: RE: No me coje los datos bien el A/D del 16f876
Publicado por: miltonmc en 25 de Febrero de 2005, 22:24:00
hora a todos esta es una rutina que uso y me de buen resultado
;*************************************************************** Adc_001 clrwdt banksel ADCON0 clrf ADRESH movlw b"10000001" movwf ADCON0 ;ADC On, selecciona canal 0 bcf PIR1,ADIF ;Restaura el flag del conversor nop bsf ADCON0,GO ;Inicia la conversión ADC_Wait_1 btfss PIR1,ADIF ;Fin de conversión ?? goto ADC_Wait_1 ;Todavía no movf ADRESH,W movwf Variable_01 ; return ;***************************************************************
Título: RE: No me coje los datos bien el A/D del 16f876
Publicado por: MASTER_HACKER en 26 de Febrero de 2005, 08:02:00
nada maxo, creo k me toy volviendo tonto o algo asi
meto esas rutinas y me da fallos para empezar ya con Adc_001 clrwdt(previamente puesto #asm, para meter rutinas ensamblador)
Título: RE: No me coje los datos bien el A/D del 16f876
Publicado por: miltonmc en 27 de Febrero de 2005, 15:38:00
hora a todos master_hacker si tu estas trabajando en C creo que es mejor que pongas tu pregunta en ese subforo ya que es mas facir que te ayuden. la rutina que te puse puede que te este dando un error ya que si es en C cuando llamas a Adc_001 el compilador cree que es una sentencia en C y Adc_001 es como yo llamo esta rutina, puedes llamarla de cuarquier otra manera en mi caso como yo uso todos los ADC nombro a todas las rutinas ADC_00X la que me indica cual es AD que estoy llamando. y clrwdt es para limpiar el WDT para que no me resetee el PIC, cambia esa linea y nombra esa rutina con otro nombre. puede ser que el compilador use Adc_001 en uno de sus comandos. eso no pasa cuando trabajas en ASM, si puedes pon tu codigo para que podamos ayudarte mejor.