SoloCodigo

Programación Específica => Microcontroladores => Programación en C => Mensaje iniciado por: farmada en Viernes 14 de Abril de 2006, 22:19

Título: Interferencia Entre Ports Ad
Publicado por: farmada en Viernes 14 de Abril de 2006, 22:19
Gente:

      Estoy queriendo leer por ejemplo los ports ADC 0 y 1. COmo ejemplo pongo el canal 0 a masa directamente y el canal 1 a un pote. Cuando vario el pote hasta que me marca 127 aprox en el rango de 0-255 anda bien. pero cuando subo de estos valores el canal 0 que esta a masa en vez de seguir marcando 0 me entra a marcar valores que van desde 18 a 64. Es decir me influye un canal en el otro y no encuentro como solucionar el problema.
Si alguien se le ocurre algo por favor hagamelo saber.

Sera que uso lenguaje C ?


Les adjunto el programa.

setup_adc_ports(AN0_AN1_AN2_AN3_AN4_AN5);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
PosA = read_adc();
set_adc_channel(1);
PosB = read_adc();
Título: Re: Interferencia Entre Ports Ad
Publicado por: Huguen_aus_Tirol en Jueves 20 de Abril de 2006, 22:56
Hola Farmada!
Me pasó algo parecido, es solo cuestión de darle tiempo al ADC a que "capture" la entrada analógica; es decir que, despues de la linea donde selecciones el canal AD pon una pausa de... bueno, no se que micro usas :D  Pero prueba con unos 20 microsegundos en adelante.
Mejor aún, puedes convertir un canal e inmediatamente despues seleccionas el otro; haces alguna otra tarea y luego realizas la conversión AD (el tiempo es dinero ;) )
Saludos y nos cuentas!
Título: Re: Interferencia Entre Ports Ad
Publicado por: farmada en Lunes 24 de Abril de 2006, 03:19
Gracias Huguen:

    He probado y he podido leer bien las dos entradas analogicas. Disculpa por mi ignorancia pero no lo sabia.
Título: Re: Interferencia Entre Ports Ad
Publicado por: Huguen_aus_Tirol en Lunes 24 de Abril de 2006, 06:14
Super!
Nedie tiene que disculparse por aprender, y nadie es ignorante :)
A mi tambien me ha pasado, asi como me pasan otras muchas cosas...

Saludos! :hola: