Acondicionamiento de señales de pulsos de corriente

ingrese la descripción de la imagen aquí

Hay un instrumento que emite trenes de pulsos de corriente similares a pwm proporcionales a su velocidad de rotación. Convierto los pulsos de corriente de salida en pulsos de voltaje mediante una resistencia de derivación para que los lea un hardware DAQ. Los pulsos se muestrean con 12kHz. El software detecta los flancos ascendentes y calcula la frecuencia de cada pulso. Arriba en la figura de la izquierda está lo que veo de la salida del instrumento. P es el período, T es la duración del pulso. Cualquiera que sea la velocidad de rotación, la duración del pulso T permanece igual alrededor de 80us-120us (entre 80 y 120 microsegundos). El periodo P puede estar entre 330us hasta 2000us.

Tengo dos preguntas:

1- Como se muestra en el lado derecho de la figura anterior, quiero convertir estos pulsos similares a pwm en otros más agudos. ¿Qué tipo de configuración de amplificador operacional sugeriría para esta aplicación?

2- Dado que la frecuencia se cuenta entre los flancos ascendentes, ¿cuál debería ser la tasa de muestreo? Mi conjetura es 2*(1000000/80) = 25kHz. ¿Estarías de acuerdo?

3- Si no puedo llegar a esa tasa de muestreo, ¿hay alguna solución para tasas de muestreo más bajas?

Un comparador rápido (donde "rápido" significa "lo suficientemente rápido para su aplicación". Puede elegir el nivel de voltaje donde "corta" los pulsos. Demasiado bajo y ve ruido: demasiado alto y se reducen. Consulte la respuesta de WhiskeyJack en histéresis para una respuesta parcial al problema del ruido.
también necesito aumentar el ciclo de trabajo

Respuestas (4)

Para agregar a la respuesta de Rodion, aquí hay un circuito que usa un comparador en lugar de un opamp. Está construido alrededor del muy barato y popular LM311:

ingrese la descripción de la imagen aquí

R1 y R2 forman un divisor de voltaje que establece el voltaje de umbral.

R5 da un poco de histéresis al proporcionar retroalimentación positiva. Eso asegura que incluso si hay un poco de ruido en su señal de entrada, obtendrá flancos ascendentes y descendentes limpios.

V + es su voltaje de suministro. Puede ser cualquier cosa entre 5V y 15V. Vio es el voltaje esperado en su hardware DAQ o microcontrolador. Puede por cualquier cosa entre 3V y Vio.

Este circuito es lo suficientemente bueno para frecuencias de hasta 500 khz más o menos.

¡Genial! ¡Olvidé por completo mencionar la adición de histéresis, que en mi opinión es crucial!
opamp y opamp2 en LTSpice no tienen 6 pines. ¿Cómo puedo crear eso? Tengo el archivo de la directiva de especias.
@jjuserjr Sí, probablemente sea un símbolo personalizado. He comprimido todo el proyecto de simulación: torus.untergrund.net/comparator_example.zip Es posible que deba copiar el archivo .asy en la carpeta ltspice lib/sym.
gracias. solo un par de preguntas. ¿Cuál es el sexto pin conectado a tierra en DIP? y ¿cuál es el propósito de Vio?
otra pregunta es ¿puedo usar esto para agudizar cualquier entrada de pulso?
@jjuserjr el pin GND es un pin GND para el transistor de salida. Define el voltaje en la salida en caso de que el comparador indique un estado 'bajo'. Vio, por otro lado, es el voltaje para el estado 'alto'. Puedes correr con V+ igual a Vio muy bien.
@jjuserjr Sí, funciona en cualquier señal. Solo asegúrese de que el voltaje de entrada esté dentro del rango válido del LM311.
bien, solo la punta de los pulsos no son como esquinas afiladas: s3.postimg.org/49pet5s1f/upt.jpg ¿quizás no importa al contar pulsos?
agradable, pero creo que también necesito aumentar el tiempo después de esto con un temporizador 555 como lo mencionaron otros usuarios para poder muestrear con una frecuencia más baja. su salida debe ir al temporizador 555. ¿alguna idea para implementarlo?
@jjuserjr sí, hay una pequeña imperfección en la respuesta al impulso. Si necesita algo mejor (poco probable), obtenga un mejor chip comparador. Si necesita algún retraso, puede agregar un pequeño condensador entre la entrada no inversora y tierra.
Lo intenté con 555, pero sea cual sea la combinación RC, obtengo el siguiente resultado: postimg.org/image/pk4tnqu3v , ¿qué está mal?

No está directamente relacionado con su pregunta, pero podría ayudar a alguien que termina aquí buscando respuestas similares.

Para el acondicionamiento de señales, se pueden usar disparadores Schmitt (el 74C14 es uno común). Además de hacer que la conmutación sea más nítida, también eliminan el ruido de la señal. Aquí hay un extracto de la nota de aplicación de TI (scea046.pdf):

trigonometría sch

A diferencia de los comparadores, la presencia de histéresis lo ayudará a eliminar el ruido de la señal entrante. Aquí hay una comparación entre un comparador y un disparador schmitt ( robado de aquí ):

wiki

¿Qué tipo de configuración de amplificador operacional sugeriría para esta aplicación?

El amplificador operacional es una buena idea, pero es posible que desee algo aún más dedicado: el comparador, por ejemplo, LM393. También tiene dos entradas y alterna la salida cuando una de las entradas está encima de la otra. Entonces, enrutará su línea a una entrada y, digamos, el divisor de dos resistencias a otra (para que pueda elegir a qué voltaje alternar la salida). Si usa un comparador con colector abierto, también querrá una resistencia pull-up en la salida.

Sin embargo, a partir de su imagen, no creo que realmente necesite desinfectar la entrada, de todos modos parece estar bien para calcular períodos ...

Dado que la frecuencia se cuenta entre los flancos ascendentes, ¿cuál debería ser la tasa de muestreo?

Eso es correcto. Sin embargo, no estoy seguro de por qué habla de frecuencia de muestreo aquí: ¿está leyendo pulsos con ADC?

Si no puedo alcanzar esa tasa de muestreo, ¿hay alguna solución para tasas de muestreo más bajas?

Puede, por ejemplo, extender la duración de los pulsos (¡manteniendo el período sin cambios!). Use algo como un disparo basado en el temporizador 555 después del comparador, por ejemplo.

Otra idea, quizás más sencilla, es poner el flip-flop que se alterna por los flancos ascendentes. Obtendrá una salida con un nivel alto durante un período y con un nivel bajo durante otro. Es decir, la frecuencia se reduce dos veces (que puede volver a calcular en el lado del software), pero los pulsos se convierten en el 50% del período.

Awwww, has sido más rápido mientras dibujaba un circuito :-)
Oh, por favor lo siento. De todos modos, creo que el dibujo será más útil en comparación con mis torpes explicaciones...
No hay necesidad de disculparse, su respuesta está bien :-)
"Puede, por ejemplo, extender la duración de los pulsos (¡manteniendo el período sin cambios!). Use algo como un disparo basado en el temporizador 555 después del comparador" ¿Me pueden ayudar a implementar esto en LTdpuce? No estoy familiarizado con los temporizadores.
entonces no te metas con los temporizadores, creo. La idea con flip-flop me parece mejor. Creo que simplemente toma algo como el flip-flop 74LS74 (o 74HC74) (la mitad) y luego conecta la entrada D con la salida invertida Q, mientras que la entrada C es donde conecta la salida del comparador.
@RodionGorkovenko Pero este flip-flop reducirá a la mitad las frecuencias de pulso con un ciclo de trabajo del 50%, ¿verdad?
@RodionGorkovenko Lo implementé en LTSpice. Véalo aquí junto con la trama debajo de los esquemas: postimg.org/image/6c5swdl77 ¿Son correctas las conexiones D flip flop? El pulso de salida es de solo 1V.
Por cierto, si P no es constante y dado que nos estamos saltando uno de los flancos ascendentes mediante el método flip flop, el promedio de las frecuencias ya no es el mismo. Digamos que la entrada de dos pulsos tiene períodos P1 y P2, después del flip-flop será P3. el software promedia todos los pulsos. pero en este caso creo que hay algo mal en mi caso ya que no puedo interferir con el software
Lo intenté con 555, pero sea cual sea la combinación RC, obtengo el siguiente resultado: postimg.org/image/pk4tnqu3v , ¿qué está mal?

La tasa de muestreo mínima dependerá un poco del filtro anti-aliasing en su sistema DAQ, pero su número de 25kHz suena razonable: la mayor parte de la energía con un ciclo de trabajo de 3kHz al 25% está en los primeros tres armónicos, así que doble 9kHz para Nyquist, y un poco más estaría bien, por lo que 25kHz es razonable.

No estoy seguro de que agudizar los pulsos y luego introducirlos en un ADC haga que los resultados se vean muy diferentes: obtendrá una señal blanda debido al filtro anti-aliasing a menos que su DAQ sea algo así como un sucesivo tipo de aproximación que carece de dicho filtro.

A menudo, este tipo de cosas se hace digitalmente con un temporizador: agudiza los pulsos y cuenta los períodos en un tiempo determinado, o cuenta el tiempo durante uno o más períodos, según la tasa de actualización que necesites. Un método te da un número que es proporcional a la frecuencia, el otro al recíproco de la frecuencia.

la cosa es que no puedo muestrear más de 10kHz. Necesito encontrar otra solución después de agudizar las señales.
Me gusta la idea que sugirió @rodion de dividir la frecuencia antes de medirla, lo que también le dará un ciclo de trabajo del 50% más favorable. 2:1 o 4:1 (un solo 74HC74, por ejemplo) lo haría.
por alguna razón, no debería cambiar el período del pulso que lee el software.
Lo intenté con 555, pero sea cual sea la combinación RC, obtengo el siguiente resultado: postimg.org/image/pk4tnqu3v , ¿qué está mal?