Conversión de 0-5 voltios (lineal) a +2,5 -- 0 -- +2,5 voltios ("vee")

Estoy tratando de encontrar una manera simple de convertir una salida de 0-5 V de un sensor de efecto hall de joystick a +2.5 -- 0 -- +2.5 V. Así es como quiero que se vea la respuesta:

ingrese la descripción de la imagen aquí

El voltaje de salida se enviará a un convertidor de frecuencia y luego a un controlador de motor paso a paso. Quiero tener el mismo voltaje en ambos extremos para que la frecuencia (velocidad del motor) sea la misma independientemente de la dirección positiva o negativa del joystick. Tengo la intención de usar un comparador en el punto cero (con una banda muerta adecuada) para invertir la dirección del controlador paso a paso.

He pensado en algunas formas de lograr esto, pero ninguna parece ser particularmente sencilla:

  • Cree una segunda salida invertida del sensor y cambie la fuente de entrada (a través del comparador y mux) al convertidor de frecuencia en el punto medio de 2,5 V. Esto proporcionaría 2,5-0 V de la salida invertida y 0-2,5 V de la salida original.
  • Cambie el rango de 0-5 V a -2,5-2,5 V y luego use un circuito de valor absoluto para invertir la parte negativa de la salida.
  • Genere un voltaje de polarización, basado en la posición del joystick, y súmelo o réstelo de la salida del sensor.

Idealmente, me gustaría tener una sola entrada al convertidor de frecuencia en lugar de intentar cambiarlo a otra fuente, como una salida invertida. La segunda idea anterior satisfaría esa preferencia, pero requeriría una fuente de voltaje negativo. Además, estoy tratando de usar componentes discretos en este diseño, por lo que un microprocesador no es una opción para mí.

¿Hay una manera más fácil de realizar esta tarea? El problema parece bastante sencillo, pero tengo problemas para encontrar una solución más simple. Agradezco la ayuda.

Bienvenido a EE.SE. Es mejor cambiar de nivel después del joystick usando amplificadores operacionales y divisores de resistencia o un TL431 de 2,5 voltios ref. O use -2.5V para un lado, de modo que el joystick tenga una posición media con cero voltios.
@Sparky256 ¡Gracias, me alegro de estar aquí! Solo para aclarar mi publicación, todas las ideas de cambio de nivel que tenía ocurrirían después del joystick. El sensor de efecto Hall toma un voltaje de entrada específico y solo emite 0-5 V según la posición mecánica. Por esa razón, es un poco menos flexible que un joystick de potenciómetro donde puedo manipular los niveles de voltaje en las dos patas de la olla.
¿Qué estás usando como convertidor de voltaje a frecuencia?
@τεκ Estoy planeando usar un LM331.

Respuestas (6)

Usaría el circuito de valor absoluto y un restador para cambiar la salida al rango de 0-2.5V. La respuesta de Jasen proporciona un circuito de valor absoluto que he usado antes y que debería funcionar aquí. Seguiría eso con un amplificador de diferencia de amplificador operacional con una ganancia de 1.

Necesitará una referencia de 2,5 V tanto para el circuito de valor absoluto como para el amplificador de diferencia. Puede usar un divisor de resistencia simple de su fuente de alimentación positiva (que amortiguaría con otro amplificador operacional) o un IC de referencia de 2.5V.

Aquí hay un esquema que puede simular (supuse que había un suministro de 5V disponible para la referencia de 2.5V):

esquemático

simular este circuito : esquema creado con CircuitLab

No presté mucha atención a los valores de las resistencias, solo me aseguré de que tuvieran las proporciones correctas. Sabrás mejor qué valores funcionan en tu aplicación. Del mismo modo, acabo de usar un amplificador operacional genérico.

Un barrido de CC de la entrada de 0 V a 5 V produce las siguientes salidas para el circuito de valor absoluto (en naranja) y el amplificador diferencial (azul):

barrido de CC

Dado que hay cuatro amplificadores operacionales, es posible que pueda usar un único IC de amplificador operacional cuádruple. O bien, si usa un IC de referencia de 2,5 V (por lo que solo necesita 3 amplificadores operacionales), podría usar un IC de amplificador operacional dual para el circuito de valor absoluto y uno simple para el amplificador de diferencia.

Esa es una muy buena solución. No sabía que el circuito de valor absoluto también funcionaría en entradas no negativas. Me gusta que esta solución se pueda manejar con solo un IC de amplificador operacional cuádruple. ¡Gracias por la explicación clara y la simulación del circuito!

Aquí hay una forma de hacerlo que usa un amplificador operacional cuádruple barato y un montón de resistencias de 100K (y opera desde un solo suministro de +5V):

esquemático

simular este circuito : esquema creado con CircuitLab

OA1 proporciona los dos voltajes de referencia utilizados desde el suministro.

OA2 resta el voltaje de entrada de 2*1.25V para dar la parte izquierda de la salida.

OA3 resta 2,5 V del voltaje de entrada para la parte derecha de la salida (ambos se saturan a 0 V con un solo suministro de 5 V, por lo que no se requieren diodos).

OA4 suma los dos para dar el voltaje de salida deseado.

ingrese la descripción de la imagen aquí

Esto definitivamente podría funcionar para mí, especialmente al poder caber en un paquete de amplificador operacional cuádruple. Gracias por incluir una simulación y una descripción paso a paso de cómo funciona el circuito. Seguro que hay muchas resistencias :) pero me gusta cómo los roles de suma y resta están claramente definidos en cada etapa del procesamiento.

el circuito que desea es un " circuito de valor absoluto "

ingrese la descripción de la imagen aquí

pero para obtener la forma de V, necesitará 2,5 V en la entrada no inversora del primer amplificador operacional.

Creo que lo que está proponiendo terminará con la salida nunca por debajo de 2.5 V, que no es lo que solicitó OP. Pero si incluyera un esquema de la propuesta real, sería más claro.
Cerca. Pero creo que la segunda etapa debe tener una ganancia de 2 y debe tener un sesgo de 3,75.

Puedo ver una posible solución con un circuito de superdiodo polarizado a 2,5 V y un par de amplificadores operacionales adicionales para invertir la señal y volver a agregarla a la entrada con la ganancia adecuada.

Sin embargo, en ese momento tengo que preguntar: "¿es eso realmente más eficiente que un pequeño microcontrolador?"

Un microcontrolador de 6 pines sin componentes externos puede realizar esta función Y proporcionarle directamente la frecuencia de salida. Eliminando así la necesidad de otro IC.

Tendré que leer sobre superdiodos, pero a primera vista parecen bastante inteligentes. ¿Este enfoque requeriría un voltaje de suministro negativo? ¿Puede publicar un circuito y / o entrar en un poco más de detalle sobre cómo podría funcionar esto?
Estoy de acuerdo en que un microcontrolador es probablemente el enfoque más eficiente. Hacerlo con componentes discretos es más educativo en mi caso. (De hecho, probé esto con un Arduino, con un código ciertamente malo, y las transiciones fueron muy lentas en las frecuencias más bajas debido a que el sensor se muestreó a la misma velocidad que la frecuencia de salida. Esto seguramente podría solucionarse con una codificación más cuidadosa , aunque.)
@higrafey, la idea básica ya está en la respuesta de @Jasen. Solo requiere un par de modificaciones.

esquemático

simular este circuito : esquema creado con CircuitLab

Figura 1. Los imanes opuestos darán un punto nulo en el centro del trazo.

Si su joystick se puede modificar, es posible que pueda generar la respuesta requerida reemplazando el imán con dos imanes opuestos separados por el golpe del movimiento.

  • Con el joystick en la posición media, los campos magnéticos se cancelarán.
  • Moverse a cualquiera de los extremos del recorrido aumentará el flujo del imán respectivo y aumentará la salida.
  • Puede ser más sencillo ajustar un voltaje de salida > 2,5 V y atenuarlo con un divisor de resistencia.

¡Saca la pistola de pegamento termofusible!

¡Idea inteligente! Esa sería la solución de hardware ideal, creo. De hecho, el fabricante puede configurar el joystick con una variedad de opciones de salida, pero la "V" de 2,5 V no es una de ellas. Lo más cercano que puedo obtener es 0-5 V de un sensor primario y 5-0 V de un sensor secundario, con 2,5 V en el punto medio. Tu truco sería una buena opción para tener. ¡Gracias por la idea!

Conecte un VCO a la entrada sin procesar y bata la salida contra un oscilador fijo, envíe la frecuencia de batido al controlador paso a paso.

también podría vencer a una cuadratura del oscilador fijo y obtener la otra fase para su controlador paso a paso de esa manera, y no necesita un controlador paso a paso :)

No estoy seguro de que el filtro que necesitaría sea factible, pero supongo que eso depende de cuál sea la frecuencia mínima.
Idea interesante. ¿Este enfoque todavía me daría la misma frecuencia en los extremos positivo y negativo del movimiento del joystick? Parece que necesitaría alimentar el VCO con el mismo voltaje en cualquiera de los extremos, que es la situación en la que me encuentro con el convertidor V/F y mi gráfico anterior.
@EdgarBrown Estoy buscando un rango de frecuencia de 0 a 112 Hz, por lo que es bastante bajo. Alimentado a través de un motor de 400 pasos/rev a micropasos de 16:1, esto me da un poco más de 1 rpm.
correctamente ajustado daría +112 Hz en un extremo y -112 Hz en el otro extremo. podría amplificarlo y conducir un motor paso a paso directamente.