Como convertir frecuencia analogica (sine) a digital?

#1
Hola, estoy montando un pequeno digitalizador peek to peek con un op-amp lm358.

Lo que necesito hacer es en en estado pasivo (sin senal en input) tenga un 0 logico,
cuando le ingrese senal senoidal en el input la salida sea "positiva/negativa" o mejor todavia "1V / 0V".

Lo que tengo armado:

Esta alimentado a 3.3v
Pata no inversora (+) puse un voltaje de referencia 0.3V
La pata inversora (-) ingreso la senal senoidal



El circuito no tiene resistencia de retroalimentacion debido que que si la coloco en estado pasivo me encuentro con valores pequenos positivos en el output.

En este estado funciona pero cuando le meto senal por un tiempito el output me queda con carga positiva y esto es lo que realmente me complica.

Necesito digitalizar una senoidal a I/O para luego poder leer estos valores con un micro.

Como hago para lograr esto con LM358?


Gracias por sus comentarios.
 

Adjuntos

#2
Hola, basicamente necesito traducir una frecuencia analogica (sine) a digital I/O (me alcanza el peek to peek, repito solo queiro la frecuencia) para luego leerla con un micro.

Jamas he usado un A/D, pero creo que estos lo que realizan es digitalizar el periodo completo de la funcion cosa que no es lo que necesito.

Estuve trantando con un op-amp logro digitalizar todo perfecto pero cuando la senal analogica se corta tarda mucho en volver a estado
0v y si le pongo una resistencia de retroalimentacion jamas logro 0v en estado pasivo.


gracias por sus comentarios
 

Cacho

Antiguo tableador
#3
Tu descripción no es demasiado exacta, pero...

Si convertís la senoidal en cuadrada, la frecuencia será la misma y el propio PIC podrá hacer todo el trabajo. Leé sobre los Schmitt Trigger o los operacionales usados como comparadores, o comparadores a secas nomás (se me ocurre el LM311).

Con más datos o un esquema puede ser más fácil apuntar...

Saludos
 
#4
Si solo quieres saber la frecuencia te basta con detectar el cruce por cero.

Lo puedes hacer con un transistor y un divisor de tensión para adecuar los valores con los que maneja el µC.

Podrías utilizar el comparador interno del µC si es que posee.


Se me ocurren esas.

En cualquier caso , asegura los niveles de voltaje sean adecuados para el µC.

Te adjunto un diagrama de lo que probe con un transistor.En este caso no mido frecuencia,pero como se ve en el pulso azul lo puedes calcular fácilmente.
 

Adjuntos

Última edición:
#5
Gracias por sus ayudas, ya se que con el pic podria hacer todo pero por una cuestion de comodidad de HW prefiero hacer la digitalizacion por separado.

Con un op-amp llegue hasta este punto:

0v en estado pasivo

lo mejor seria para mi seguir con un amplificador operacional.

gracias.

 
#6
Usar una entrada analógica para medir la frecuencia es absurdo, usa un detector de cruce por cero sin dudar. Eso lo mentes en una unidad de comparación captura y listo, ya tienes la frecuencia haciendo poco/nada.
 
#7
hola scooter, me podrias explicar un poco mas eso que no lo entiendo bien? no se que es una unidad de comparacion captura y deterctor de cruce por cero.

no te olvides que quiero detectar picos arriba de 30mv

gracias.
 
Última edición:
#8
Unidad de comparación captura: Lee el datasheet del micro que estés usando, al igual que entradas analógicas no todos tienen. Básicamente permite contar pulsos o medir anchura de pulsos. Suele ir asociada a un módulo PWM. (puede que en un pic se llame diferente ya que a microchip le encanta cambiar los nombres de todo)
Para contar los pulsos vale cualquier circuito que te de un pulso e un momento concreto de la señal, puede ser cuando pasa por cero o cuando pasa por 3,14159V, a gusto del consumidor. Puede ser un trigger, un optoacoplador....esa señal se mete en el pin que cuente o mida la distancia entre pulsos...
 
#10
Unidad de comparación captura: Lee el datasheet del micro que estés usando, al igual que entradas analógicas no todos tienen. Básicamente permite contar pulsos o medir anchura de pulsos. Suele ir asociada a un módulo PWM. (puede que en un pic se llame diferente ya que a microchip le encanta cambiar los nombres de todo)
Para contar los pulsos vale cualquier circuito que te de un pulso e un momento concreto de la señal, puede ser cuando pasa por cero o cuando pasa por 3,14159V, a gusto del consumidor. Puede ser un trigger, un optoacoplador....esa señal se mete en el pin que cuente o mida la distancia entre pulsos...
Tu circuito es un trigger ¿no?
 
#11
si es tipo trigger pero la frecuencia cambia por eso la necesito leer de forma digital. El circuito que tengo funciona perfecto pero el problema viene cuando le meto una resistencia de retroalimentacion entre la salida y la entrada.
 
#12
Perdón, ¿Que hace tu circuito? ¿es un oscilador o que es?
¿Eso es el acondicionador de señal que propones o es el circuito que quieres medir?
¿Por qué alimentas solo a 3,3V? Aunque quieras detectar una señal de 3V no hay motivo para chacer andar el operacional a 3V
 
#13
Basicamente es la salida de un oscilador que se activa intermitentemente esta alimentado a 3.3v por tema fisico y no tengo manera de modificarlo.
Adjunto la senal que tengo que medir son picos arriba de 0.3 volts.

otro problema es que cuando pongo la mano cerca del op-amp me lee frecuencia en la salida
 

Adjuntos

Última edición:
#17
si ya estuve haciendo pruebas y con el opamp primero en modo seguidor evita problemas de estatica,
en el segundo sigo teniendo el problema de que cuando meto la resistencia de retroalimentacion entre la salida y la entrada de 100k el voltaje en la salida es de 0.2v obviamente con oscilaciones pequenas a negativo, esto hace que mi micro detecte interrupciones.

nose como seguir con esto..
 
#18
Fijate en circuitos de frecuencimetros, como es la entrada, ya que eso es exactamente lo que buscas, busca proyectos de frecuencimetros con pic para que veas como esta resuelto el tema
 
#20
Un A/D ya es otra cosa hace falta rectificar la señal ya que los A/D trabajan con niveles de continua no de AC y en la salida tendras en bytes la señal........... y eso no es lo que estas buscando
 
Arriba