Medidor de capacitores, problema con operacional

Hola queridos amigos de la comunidad, estoy desarrollando un medidor de capacitores electrolíticos de valor relativamente altos, o sea >1uF. Estoy simulando en multisim por ahora colocando una R de 100 Ohm en serie con el capacitor a medir alimentando todo con 5V, así el tiempo de carga es T = R * C de este modo sabiendo el tiempo y la resistencia puedo saber el valor del capacitor.
Esto lo conecto a un PIC, debería supuestamente utilizar un pin de ADC para medir cuando la tensión en el capacitor llega a aproximadamente 5V, el problema es que el tiempo mínimo para el muestreo es de 1.6uS lo cual me daria un margen de error debido al tiempo que toma la conversión, entonces queria por medio de un AO en comparador dar un 1 o 0 a la salida dependiendo de si el voltaje esta cerca de los 5V o no pero no funciona!!
Uso un LM324 alimentado a 5V y GND, entrada inversora a fuente de referencia de 4.9V y entrada no inversora al capacitor, el problema es que cuando hago esto el capacitor ya aparece cargado en la simulación y la salida en 1 es esto correcto?? La unica solucion que encontre fue colocar un transistor antes de la entrada no inversora de este modo funciona pero ahora comparando cuando llega a los 0V ya que el transistor me invierte la curva de carga.
Por que sucede esto con el operacional??

Saludos y espero puedan ayudarme !!
 
Primero tene en cuenta que el 324 a su salida en saturado tendra Vcc-1,5v, osea que si lo alimentas con 5v a la salida podes tener como minimo 3,5v, ojo con eso por el tema de los niveles con el pic.

Segundo, ¿de cuanto es el cristal que usas en el Pic? ¿es mas rapido que el ADC?. Ahora si en vez de usar el operacional, usas el ADC como dijiste en un principio, no seria mas sencillo hacer el crecimiento de la carga mas lento usando una resistencia de 1kohm (1uF*1kohm=1mS), asi con tu ADC de 1,6uS podes hacer hasta 625 conteos, con 10k harias 6250 y asi.... tal vez te conviene darle un tiempo importante de carga y asi obtener la mejor resolucion posible obviamente hasta un cierto limite supongamos 100mSeg a 1Seg.

Osea darle un cierto rango de forma tal que el usuario lo configure segun el capacitor:

1uF ----> R=10kohm
10uF ---> R=1kohm
....

O lo podrias hacer en forma automatica, haciendo una 1era medicion con la resistencia mas alta y segun el tiempo (supone 100uS) evaluar a que tension se cargo y de esta forma aproximada ver en que rango se encuentra el capacitor para luego con el rango mas adecuado si realizar la medicion.

A la larga, lo que deberias hacer es implementar un mux analogico, ya sea con transistores o con un 4052.
 
....Uso un LM324 alimentado a 5V y GND, entrada inversora a fuente de referencia de 4.9V y entrada no inversora al capacitor, el problema es que cuando hago esto el capacitor ya aparece cargado en la simulación y la salida en 1 es esto correcto?? La unica solucion que encontre fue colocar un transistor antes de la entrada no inversora de este modo funciona pero ahora comparando cuando llega a los 0V ya que el transistor me invierte la curva de carga.
:confused: Por que en lugar de meter un operacional no usás un 555 directamente?
Es equivalente a lo que estás queriendo hacer (compara a 2/3 Vcc ==> menos error que con 4.9V) y no necesitás usar el ADC.

Además, para minimizar el error, en lugar de usarlo como monoestable (mas o menos lo que hacías con el LM324) lo usás astable y medís el tiempo de varios períodos.

Por que sucede esto con el operacional??
Leer el datasheet no produce impotencia. Ningún operacional puede trabajar con las entradas tan próximas a Vcc.
 
Gracias a todo no sabia eso de los operacionales, si probablemente lo que haga es usar una resistencia mas grande y hacerlo por escalas, el MUX analógico serviría no influiría en la resistencia? Me quería evitar el uso de varias escalas por el tamaño que implica y estoy en un espacio bastante limitado ya que hay varias cosas en la placa ya.

Saludos y gracias!!!!
 
Atrás
Arriba