TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: marcoscab1166 en 15 de Octubre de 2015, 02:18:37

Título: PIC y Conversor AD externo
Publicado por: marcoscab1166 en 15 de Octubre de 2015, 02:18:37
Hola gente del foro, estoy queriendo hacer un proyecto en el que necesito leer muchas entradas analogicas. Lo pense hacer con el hardware del pic, pero despues pense que podria hacerlo con un integrado ADC separado, pero no se, asi que quiero saber que me recomiendan. Estamos hablando de 14 entradas analogicas, que tienen que ser medidas todo el tiempo. Si alguno tiene algo hecho q me pase se lo agradesco.
Título: Re:PIC y Conversor AD externo
Publicado por: KILLERJC en 15 de Octubre de 2015, 03:17:34
Creo que va a depender mas de que velocidad de sampleo estas hablando, si necesitas samplear todos juntos a la ves (Aunque esa cantidad no creo que exista uno que poseea sampleo simultaneo), la cantidad de bits, que pensas hacer luego con los datos, tenes pines de PIC de sobra como para los canales ADC ? Un mejor PIC solucionaria lo que necesitas ( + pines, + velocidad, sampleo multiple etc ) ?.

El que el micro posea el ADC puede ser beneficioso ya que si posee DMA podes hacer algunas cosas sin consumirle tiempo al micro. Si pensas en tratar los datos tenes que darte cuenta que para pedir los canales de un ADC externo vas a tener que usar algun modulo del PIC, SPI, I2C, y por ahi lo que ganas en velocidad de samplear el dato, con eso lo perdiste todo (Ya que no solo vas a tener el tiempo adquisicion/conversion sino el de transmision, incluso con DMA) y ni contar si el PIC tiene una FIFO pequeña de 1/2 bytes como normalmente traen. Pero si necesitas muchos bits entonces no te queda otra que ir por el ADC externo.

un ADC externo no es TAN barato tampoco. Los que vi de 16 canales (por que de 12 pasa a 16) en TI, de 10 bits estan en 3.5 a 4.5 dolares, y de 12 bits de 4 a 5.5 dolares ( los 1000 )
El mas barato era de 2.25 dolares de 8 bits, todos 1 MSPS ( si no mal recuerdo ). Obviamente no se comparan a las prestaciones de un ADC en un micro. Asi que tambien va a depender de que tan preciso queres que sea. No me fije en otras marcas tampoco.

Bueno esto es mi opinion, alguno puede llegar a tener otra.
Título: Re:PIC y Conversor AD externo
Publicado por: juaperser1 en 15 de Octubre de 2015, 06:10:27
tu pregunta es demasiado genérica tal y como dice te dice el compañero killer, dependiendo de una cosa u otra podrás quedarte con el propio microcontrolador o irte a un ADC, los ADC tambien tienen sus tecnologias como sigma delta, SAR, Pipeline etc. dependiendo de tu aplicación.

incluso podrías irte a otros micros mas potentes en temas de adc como kinetic de freescale con 16 bits de adc. o en el peor de los casos una FPGA y hacer las virguerias que te de la gana, hay lo harias en paralelo completamente, con un microcontrolador con DMA algo parecido y con un externo, te deberas resignar a un SPI, o gastarte mucho dinero y comprar un paralelo.

un saludo

Título: Re:PIC y Conversor AD externo
Publicado por: MerLiNz en 15 de Octubre de 2015, 09:27:14
Yo hice un proyecto que usaba un dspic33e y un adc externo de TI se comunicaban por SPI y utilizaba el DMA, no consumia nada la CPU del micro ya que era un sampleo automatico, el propio dma+spi se encargaban de hacer un sampleo a X velocidad de todos los canales (no se si eran 10 o 12) y para ver el valor de cualquier canal en el momento estaba almacenado en un array en la RAM.

Aun asi, te recomiendo que te busques un MCU con los canales que hace falta y lo hagas directamente desde ahi, todo lo demas seria mas componentes externos, mas costes...
Título: Re:PIC y Conversor AD externo
Publicado por: marcoscab1166 en 15 de Octubre de 2015, 10:42:59
Tomando todas las respuestas, creo que voy a optar por usar un micro y optimizar la velocidad de sampleo lo mas que pueda. En cuanto a la presicion, no es mucho problema, con uno de 10 bits andaria. Pero como puedo hacer para tomar varias lecturas en poco tiempo? Hay alguna forma de hacerlo simultaneamente?
Título: Re:PIC y Conversor AD externo
Publicado por: juaperser1 en 15 de Octubre de 2015, 11:21:08
Citar
  Pero como puedo hacer para tomar varias lecturas en poco tiempo? Hay alguna forma de hacerlo simultaneamente?
Simultaneamente, no un microcontrolador no trabaja en paralelo, y solo suele tener un adc con un multiplexor que va conmutando las distintas entradas.

Lo que puedes hacer es ponerlo a trabajar a la máxima frecuencia, el micro me refiero,  y leer a la máxima velocidad que te permita, o haciendo uso de las herramientas hardware del micro.

Un saludo.
Título: Re:PIC y Conversor AD externo
Publicado por: gera en 15 de Octubre de 2015, 14:46:34
Hola! Yo he tenido excelentes resultados con este IC:
http://www.ti.com/product/adc128s102

Es de 8 canales, pero podrías emplear varios multiplexandolos, o bien conseguir una versión para más canales.
Actualmente lo estoy usando con un PIC18f26j50 utilizando el módulo DMA del mismo. De este modo la transferencia de datos se realiza de forma automática sin intervención del procesador.

Saludos!
Título: Re:PIC y Conversor AD externo
Publicado por: KILLERJC en 15 de Octubre de 2015, 16:34:46
Los dsPIC y/o PIC24 creo que poseen los ADC y tienen la opcion de samplear al menos unos 4 canales creo al mismo tiempo... luego eso esta multiplexado con entrada al ADC, deberias leer la parte del ADC y ver si te convence.
Título: Re:PIC y Conversor AD externo
Publicado por: RALF2 en 15 de Octubre de 2015, 17:48:42
Puedes utilizar el modulo CCP en modo de disparo especial para realizar la conversion analogica digital de manera automatica  :mrgreen:
Y para los 14 canales puedes utilizar el PIC18F25K50  ;-)

Saludos
Título: Re:PIC y Conversor AD externo
Publicado por: marcoscab1166 en 01 de Noviembre de 2015, 13:47:44
Hola! Yo he tenido excelentes resultados con este IC:
http://www.ti.com/product/adc128s102

Es de 8 canales, pero podrías emplear varios multiplexandolos, o bien conseguir una versión para más canales.
Actualmente lo estoy usando con un PIC18f26j50 utilizando el módulo DMA del mismo. De este modo la transferencia de datos se realiza de forma automática sin intervención del procesador.

Saludos!

hola, me gusto tu idea, y me gustaria si tenes algo ya hecho que me lo puedas pasar, de todas formas sigo investigando...