Inversión de una salida de sensor analógico de 0,5-4,5 V a 5 V-0 V

Tengo una placa de control de modulación de ancho de pulso (PWM) que usa una entrada de 0-5 V a través de un potenciómetro para controlar la velocidad de un motor de CC. Según entiendo cómo funciona esto, el potenciómetro va de 0% PWM a 0V a 100% PWM a 5V. Quiero usar un sensor de presión que emita 0,5 V CC a 0 PSI a 4,5 V CC a 100 PSI para controlar el motor de CC. Específicamente, el controlador deberá estar al 100 % de PWM cuando la presión sea 0 y al 0 % de PWM (apagado) cuando la presión sea de 43 PSI o 2,2 V CC.

Encontré una pregunta algo similar aquí: ¿Cómo invierto la salida de este sensor de corriente usando el otro lado del LM358? pero la respuesta no me quedó clara.

Entonces, ¿básicamente quiere amplificar la señal del sensor con 1.25, obteniendo un rango de 4 * 1.25 = 5V, y luego cambiar el nivel a 0-5V?
¿Tienes que lograr todo esto con la electrónica analógica? ¿Hay lugar para los microcontroladores?
Camil, si necesito cambiarlo a 0-5V, está bien. Abdullah, construí un controlador usando un Arudino pero falló cuando se puso en servicio. Descubrí que no hay una manera fácil de hacer buenas conexiones confiables con el Arudino. La placa del controlador PWM tiene un mejor conector.
El LM358 no es el amplificador operacional para el trabajo. Busque un amplificador operacional de "Salida de riel a riel", preferiblemente uno que esté diseñado para una operación de suministro único a 5 voltios. Por lo demás, la respuesta ya está ahí abajo :-)

Respuestas (1)

Si tuviera el código para el micro que hace el PWM, este sería un cambio de firmware trivial. Sin embargo, parece que no tiene acceso a las partes internas del "tablero de control".

Por lo tanto, lo que necesita es un amplificador inversor. Desea que 500mV-4.5V se asigne a 5V-0V. O dicho de otra manera, desea una ganancia de -1,25 centrada en torno a 2,5 V. Esto es fácil de hacer:

La ganancia es -R2/R1, que es -1,27 en este ejemplo. R3 y R4 forman un divisor de voltaje para hacer el 1/2 nivel de suministro alrededor del cual este circuito amplificará la entrada. C2 atenúa el ruido de suministro en la tensión de alimentación 1/2.

La mayoría de los amplificadores operacionales de riel a riel funcionarían.

Agregado:

Gracias al comentario de Anindo, ahora veo que el problema es realmente mapear 500mV-2.2V a 5V-0V.
Esa es una ganancia de -2.94 con algo de compensación. En concreto, quieres

  SALIDA = -2.94 * ENTRADA + 6.47

Sin embargo, este circuito esencialmente restará primero, luego multiplicará por la ganancia. Por lo tanto, es más útil escribir la misma relación como:

  SALIDA = -2.94 * (ENTRADA - 2.2)

Eso significa que R3 y R4 deben ajustarse para producir 2,2 V en lugar de 2,5 V, y R2/R1 debe ser de aproximadamente 2,94. Redondeando a valores estándar del 1% obtenemos:

R2 = 294 kΩ 1 %
R3 = 12,7 kΩ 1 %
R4 = 10 kΩ 1 %

OP necesita de 0,5 a 2,2 voltios para mapear a 5V-0V, e ingresa más de 2,2V para dejar la salida en cero. Solo se necesita un cambio de ganancia.
@Anindo: Corregido.
Olin: votado a favor :-)
En realidad, para R3 y R4, hay varias combinaciones de resistencias del 1 % que dan error cero: R4 = 14,3 K y R3 = 18,2 K, R4 = 11,0 K y R3 = 14,0 K, R4 = 12,1 K y R3 = 15,4 K, R4 = 15,4 K y R3 = 19,6 K, R4 = 16,5 K y R3 = 21,0 K, R4 = 82,5 K y R3 = 105 K. En caso de que te lo estés preguntando, hace mucho tiempo escribí un script en Perl para resolver problemas como este.
@Dave: En caso de que alguien tenga una impresión equivocada, solo quiero señalar que cuando dice "error cero", se refiere a ningún error debido a los valores de resistencia nominal. El error debido a la tolerancia del 1% de las resistencias individuales sigue ahí.