Autor Tema: Aumentar resolución del ADC  (Leído 12881 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Aumentar resolución del ADC
« Respuesta #15 en: 08 de Febrero de 2008, 15:23:49 »
Gracias Andros por responder pensé que mi tema habia quedado en el olvido, muy interesante lo del amplificador expansor y el ENOB, investigaré mas sobre estos dos puntos.

Sobre el AD620 creo que te da una ganancia programable a traves de una R y claro con un MUX puedes seleccionarla digitalmente, bueno no habia pensado en dicho IC porque dificil que lo encuentre por aqui, pero si habia pensado en escalar la fuente usando el MUX es decir si coloco el comun del mux CD4051 con una R a Vfuente y los otros canales con diferentes R's a GND (formando varios divisores de tensión) el problema aqui es que el común estaria "sometido" a 30V cuando la fuente opere al maximo y según "data-chip" el máximo que soporta el mux es 15V por eso lo descarté.

Tambien pensé en usar unos reles pequeños para switchear las diferentes R's pero no quiero que algo esté "sonando" en mi circuito a medida que el voltaje varia, asi que se me ocurrió otra idea para lograr los 12bits pero no me agrada porque es mucha cosa, las soluciones mas inteligentes para mi son las que no requieren tanta cosa e igual son muy efectivas, igual paso a explicar y a ver que opinan:

Como el pic tiene 10 bits, con la tecnica del cambio de referencia obtengo 1 bit mas, ahora me falta otro bit mas, entonces mi logica dice: cuando mi registro final detecte el valor 2047 entonces habilito un opamp-restador que resta 5v a la entrada analoga del pic de esta manera en el pin V+ del opamp-restador le llega 5v+(delta) y el restador le resta 5v por tanto a la salida del restador que esta conectado a la entrada del pic le llega "delta voltios" en este caso habilito un bit mas y vuelvo a registrar 2048 valores adicionales por lo tanto el pic registró 2048 valores con restador = 0v y 2048 valores mas con restador = 5v en total registró 4096 valores y aqui están mis 12 bits de resolución.

Obviamente mi divisor de tensión de la fuente está calculado para que a la entrada del V+ del opamp restador le llegue maximo 10V porque aqui el restador al restar 5v hará que le llegue al pic 10v - 5v =5v maximo.

Espero se haya entendido, y tambien seguiré esperando mas sugerencias para obtener 12bits en el adc.

Javicho.

Desconectado andros

  • PIC16
  • ***
  • Mensajes: 111
Re: Aumentar resolución del ADC
« Respuesta #16 en: 08 de Febrero de 2008, 18:01:29 »
Hola javicho, te juro que el ad620 es fácil de conseguir.. (sis e consigue por acá se consigue en cualquier lado, jajaja!), sino analog te lo manda por correo (demora una a dos semanas).

respecto a tus propuestas, podrías hacer un esquema básico, es que ando un poco corto de entendimiento... :(. Lo otro, averigua lo de las tablas, ahora no estoy en mi casa, pero cuando llegue veré si encuentro la documentación..., en serio, cuando lo ví parecía muy fácil.

Suerte.
Andros!

Desconectado andros

  • PIC16
  • ***
  • Mensajes: 111
Re: Aumentar resolución del ADC
« Respuesta #17 en: 08 de Febrero de 2008, 18:10:25 »
Para lo del común de 30 V en el mux se me ocurre que puedes atenuar antes de esto la señal por 2, es decir 15..., se me ocurre porque si hay circuito pre-amplificadores no veo porque no sería útil un pre - atenuador!!. No sé, depronto estoy diciendo un disparate.

Lo de los relevos si es para descartar de plano..., los transitorios que generan la conmutación se te tira el circuito entero, no lo recomendaría, tienes razón para descartarlo.

El otro esquema que planteas me parece razonable, hay que ver que tanta precisión alcanzas, aunque si tu amplificador restador es una entrada diferencial !wala! me parece súper, las entradas diferenciales antes te brindan mayor desempeño, gracias al CMRR (factor de rechazo en modo común) (espero haber entendido).

Suerte.

P.D: Que tal sería combinar todas estas técnicas?

Andros!

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Aumentar resolución del ADC
« Respuesta #18 en: 08 de Febrero de 2008, 20:33:54 »
Respecto a lo del "pre-atenuador" bueno en si ya estoy "pre-atenuando" el voltaje de fuente por 3 osea al maximo de 30V mi "pre-atenuador" me entrega 10V.

En caso de conseguir el AD620 como se podria obtener los 12 bits de resolución?
Quisiera saber como es el asunto de las tablas esperare tus comentarios amigo Andros.

Aqui un bosquejo de lo que explique anteriormente, el restador es el clasico restador con opamp lleva 4 resistencias asociadas se me hace dificultoso colocar las R's que le acompañan por eso lo he colocado como un bloque.

Alguien implemento un "adc a mano" usando el timer y comparador o algún metodo parecido? cuales son las ventajas y desventajas de este metodo?

Javicho.

Desconectado andros

  • PIC16
  • ***
  • Mensajes: 111
Re: Aumentar resolución del ADC
« Respuesta #19 en: 09 de Febrero de 2008, 03:11:53 »
Te adjunto el documento donde esá lo de las tablas, espero te ayude (pag 11 -13 ).

Revisé algo del diseño haciendo la configuración diferencial del op - amp y la respuesta del restador tal como se conoce no es muy satisfactoria, pues depende mucho de la tolerancia de las resistencias, me explico, he hecho la resta entre los voltajes de entrada en el caso que v2 = 10, y v1 = 5, con la ayuda del simulador apliqué el análisis montecarlo..., y para resistencias de 5% de tolerancia la variación del voltaje a tu salida puede ser del orden de 300mv (es decir, este análisis dice que tu salida puede estar en un valor cualquiera en este rango para resistencias de 5% de tolerancia), si son de 1% el rango es de 80mV. En ese sentido el uso de un amplificador de instrumentación como el ad620 o cualquier otro te ayudaría a hacer la misma resta, y en ese caso no necesitarías resistencias extras, pues si el ad620 no tiene resistencias la ganancia es 1. Hay otros amplificadores como asd524 y el amp02.

Lo otro, de como sería con el ad620 y las escalas.., pues dejame analizar entonces en profundidad el caso, pues a diferencia de como me tocó a mi me tocaba medir voltajes del orden de los 30u voltios hasta 1 voltio, en este caso la cuestión es atenuar.., y es distinto, de todas formas estoy pensando en ello....
« Última modificación: 09 de Febrero de 2008, 03:15:31 por andros »
Andros!

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Aumentar resolución del ADC
« Respuesta #20 en: 09 de Febrero de 2008, 12:32:21 »
Gracias por el documento amigo Andros, aunque me parece que no podré aplicar esa técnica aqui en mi medición de la fuente por lo siguiente: ahi parten del hecho de que el sistema auditivo humano es un proceso logarítmico en el cual los sonidos de gran amplitud no requieren la misma resolución que los sonidos de baja amplitud, entonces usan un compresor de señales y en la recepción un expansor y a este proceso le llaman "Companding", hay 2 estandares el u-Law (U.S. y Japón) y el A-Law (Europeo) cada uno tiene su formula de expansión y compresión y a partir de ello generan unas tablas para compresión y expansión y en resumen lo que hacen las formulas es eliminar los bits de menor peso a medida que la señal va creciendo y asi la compresión se forma a 7 bits que hasta puede ser de 5 bits y para recuperar la señal se usa la formula de expansión que trata de regenerar "lo mejor posible" a la señal original.

Como ves mi amigo Andros no creo que esta técnica pueda aplicarla a la medición de mi fuente porque aqui se trata de que la resolución siempre sea de 10mv para "señales bajas o altas" de mi fuente (por decirlo de alguna manera) ... a menos que mi fuente hable :D

Vi tu simulación, ese efecto podria suceder aun no he montado esa parte, pero una vez que lo haga comentaré los resultados, lo que quiero hacer es calibrarlo usando un potenciómetro de precisión e ir ajustando el error que me pueda originar esta configuración, esto si es algo muy probable que suceda, ojalá el restador no deforme la señal de fuente (al menos no mucho) igual trataré de buscar el AD620 por aquí.

Javicho.

Desconectado andros

  • PIC16
  • ***
  • Mensajes: 111
Re: Aumentar resolución del ADC
« Respuesta #21 en: 09 de Febrero de 2008, 15:17:48 »
si..., ley el pdf... y tienes razón!!!, que embarrada...

suerte.
Andros!

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Aumentar resolución del ADC
« Respuesta #22 en: 11 de Febrero de 2008, 12:02:33 »
Un método para aumentar la resolución de tu conversor, puede ser utilizar un amplifiador con ajuste de cero programable (amplificador restador). De esta forma cuando colocas tu Vout a la entrada del ADC, y tomas la primera muestra, te fijas si sobrepasa cierto valor, si este fuese el caso, ya sabes que la tensión a la entrada del ADC es superior, digamos, a 2V.

Ahora reconfiguras el cero del amplificador y vuelves a tomar una muestra, si es superior a cierto valor, significa que ahora la tensión a la entrada es superior a 2V anterior + 2V actual, 4V.

Vuelves a reconfigurar el ajuste de cero y tomas otra muestra, ahora tendrías un valor de 10bits, entre 0 y 1V, que sumarías a los 4V anteriores. Con eso tienes una resolución alta, pero debes probar y ver que tal te sale.

Lo complicado en este método es que tendrías que utilizar o un DAC para restar una tensión conocida a la entrada del restador o tendrías que utilizar un potenciómtero digital para hacer lo mismo. Conclusión, que lo más recomendable y menos complicado es buscarse un conversor de 12 bits y engancharlo directamente al PIC. Yo no anduviese complicandome demasiado y haría precisamente eso.

Saludos
Reinier

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Aumentar resolución del ADC
« Respuesta #23 en: 12 de Febrero de 2008, 13:15:39 »
Hola Reinier, ese método es el que expliqué en un post anterior solo que mi Vref+ no es 2V sino 2.5V y aquí quisiera hacer una aclaración tal vez estoy equivocado o nose ... según "datachit" tenemos:
      2V       < (Vref+) - (Vref-) < VDD + 0.3V         ... (1)
VDD - 2.5V <       (Vref+)       < VDD + 0.3V         ... (2)
   -0.3V      <        (Vref-)        < (Vref+) - 2V        ... (3)
   -0.3V      <          Vin           < (Vref+) + 0.3V     ... (4)

Si Vref+ = 2V y Vref- = 0v cumple en (3), entonces (Vref+) - (Vref-) = 2V y esto cumple en (1) pero para que también cumpla en (2) entonces VDD deberia ser 4.5V y no 5V, esta es la razón por la que no uso Vref+=2V porque me obligaria a calibrar mi VDD a 4.5V.

Lamentablemente estas pruebas las haré este sabado, estos dias no podré hacerlo asi que comentaré mis resultados el sabado por la noche o el domingo. Saludos y gracias a todos por responder.

Javicho.

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Aumentar resolución del ADC
« Respuesta #24 en: 22 de Febrero de 2008, 13:16:16 »
Bueno finalmente luego de largas pruebas, desdoblar en 2 rangos (0 a 2.5v y 2.5v a 5v) para obtener un bit mas de resolución (osea tener 11 bits de ADC) el método si funciona "pero" como la fuente a medir tiene ruido entonces usé un filtro Butherworth de 2do orden pero igual se mantiene el ruido de aprox 38mV esto hace que la lectura muestre un valor variable entonces hize un promedio de muestras y mejoró pero por ser un promedio en pantalla ya no va a llegar al maximo digamos en el rango de 10.23 a 20.47V entonces se queda en pantalla maximo hasta 20.35V para solucionar esto cambié los rangos de 0 a 2.2V y 2.2V a 4.4V y ahora si llega bien al máimo de 20.47V y digamos que hasta aqui todo va mucho mejor pero esto solo seria para una fuente de hasta 20.47V y yo tengo una fuente de hasta 30V y aqui el restador no me funcionó, bueno ni siquiera lo armé porque justo antes de empezar a hacerlo me percaté que mi divisor de tensión antes calibrado hasta 20.47V debia cambiarlo para que acepte hasta 30V y aquí estuvo el error.

La conclusión de todo esto es que si bien es cierto el "datachit" te dice que VDD-2.5V < Vref+ .. osea si VDD=5V entonces deberiamos usar 2.5V < Vref+, no implica que no se pueda usar un Vref+ = 2.2V lo que sucede es que la precisión del conversor en este caso ya no estaria garantizada por el fabricante, pero lo probé y anduvo bastante bien.

Para terminar con este tema, no me quedó otra que cambiar el divisor de tensión para 30V y mostrar una resolución en LCD de 0.1V ... algo es algo peor es nada :D.

Gracias a todos los que colaboraron en el tema.

Javicho.

Desconectado totuer

  • PIC10
  • *
  • Mensajes: 31
Re: Aumentar resolución del ADC
« Respuesta #25 en: 05 de Abril de 2011, 23:27:56 »
Se que es un pos-tumo porque este tema murió pero quiero dejar una experiencia personal, al trabajar con delta  vREF menores a los indicados en la hoja de datos, en los extremos del intervalo de medición se generan una multitud de defectos, como valores que nunca tomará porque salta y simplemente nunca alcanza ciertos valores, sobre todo los cercnos a 1000, también salta de forma incontrolable en la zona baja moviendose continuamente y si el potencial a medir es cercanoa 5 volt es un desastre, prácticamente in-usable y la mitad de la escala no es la mitad del valor ADC (asimetria).
Todos estos efectos se ven claritos con Delta vref de 0.5 volt.
Conclusión, si necesitan mas presición utilkicen un conversor AD externo que por unos dolares hay inclusive I2C de 18 bit super limpios que no presisan superpromedios ni cuentas complejas y mientras anto el micro hace muchas otras cosas.