TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: rr4v en 24 de Abril de 2008, 22:13:38

Título: Tiempo de espera para lectura ADC
Publicado por: rr4v en 24 de Abril de 2008, 22:13:38
Quiero leer valores analógicos en un PIC 18F4525 por 11 canales secuencialmente. ¿Cuanto tengo que esperar entre lectura y lectura? ¿Tengo que poner el delay antes o despues del read_adc()? ¿o quizas en ambos sitios?

Gracias de antemano!
Título: Re: Tiempo de espera para lectura ADC
Publicado por: poseidon20 en 25 de Abril de 2008, 01:26:45
En ves de poner un delay, cuando el pic tiene una digitalizacion de la lectura en su ADC, este activa un flag, entonces antes de pasar a hacer la lectura en el siguiente canal podrias preguntar por este flag y esperar a que se active, una vez que se active recien pasar al siguiente canal, pero no te olvides que una vez que leas este flag deberas ponerlo nuevamente a cero para que en la proxima lectura puedas seguir sensandolo. Todo esta informacion y mas puedes encontrarlo en el datasheet del pic a que vas a usar, y tambien en el compilador que pienses usar que parece que es CCS.
Título: Re: Tiempo de espera para lectura ADC
Publicado por: manutek en 25 de Abril de 2008, 01:38:00
Hola amigos, Tambien puedes acelerar la lectura(si no te importa tanto la resolucion de 10 bit)puedes tomar la info antes del flag de finalisacion de convercion y llebarla a 8 bit o menos(pero mucho mas rapido) :-)
Título: Re: Tiempo de espera para lectura ADC
Publicado por: poseidon20 en 25 de Abril de 2008, 01:57:22
uno puede configurar la resolucion del ADC en 8 o 10 bits. los pics hacen la conversion por aproximacions sucesivas.
Título: Re: Tiempo de espera para lectura ADC
Publicado por: manutek en 25 de Abril de 2008, 03:14:28
uno puede configurar la resolucion del ADC en 8 o 10 bits. los pics hacen la conversion por aproximacions sucesivas.
o menos bits(- d 8) si lo quieren rapido y la resolucion no importa

http://ww1.microchip.com/downloads/en/DeviceDoc/31023a.pdf

DS31023A-page 23-12
Título: Re: Tiempo de espera para lectura ADC
Publicado por: rr4v en 25 de Abril de 2008, 05:25:49
Muchas gracias por tantas y tan rápidas respuestas!

Ahora mi duda es otra. He comprobado que el micro hace la lectura correctamente usando como patrón la salida de una pila de 1.5V y el polímetro me mide el mismo valor que el micro (unos 1.375V. ya que la pila está algo gastada). Pero ahora el problema es que esto funciona perfectamente si no conecto ninguna señal a los otros canales. En cuanto conecto alguna señal detecto que el micro deja de medir bien (polimetro:1.375V, micro:1.07V).

¿Porque puede ser esto? ¿Porque influye la conexión de señales de otros canales?

¿Se os ocurre alguna causa y su posible solución?
Título: Re: Tiempo de espera para lectura ADC
Publicado por: manutek en 26 de Abril de 2008, 14:50:17
Podrias mostrar esquemas y programa?