Op-Amp con ganancia controlada por voltaje y ganancia DC de Unity

2

Tengo un motor de asiento de automóvil que conduzco a través de PWM y apunto a medir su posición contando las pequeñas variaciones en el voltaje a través de una resistencia de detección de corriente unida al lado bajo de un FET cuando el motor gira. En derechos más altos, el Vpp es significativamente menor (30 mV) que aquellos con un 25% de servicio (4.7V). Actualmente tomo la señal para medir por medio de un microcontrolador ADC en dos etapas de ganancia diferentes para manejar esto, pero deseo que todo esto suceda en una etapa con un circuito de ganancia variable, por lo que solo se necesita 1 ADC.

Antes de entrar en lo que he intentado, quiero formular mi pregunta principal. ¿Cómo ajusto dinámicamente la ganancia de mi forma de onda para emitir una señal a una Vpp constante cuando mi Vpp de entrada varía de 30mV a 4.7V?

Uso un amplificador operacional TI LMV344 con rieles en 0V y 5V. Los motores son de 12V.

Actualmente el flujo del circuito es:

  1. Salida de resistencia de detección
  2. Abrazadera de voltaje de diodo para eliminar la polarización de CC
  3. Amplificador operacional LPF de alta ganancia y sin inversión. Filtra la señal PWM de 20 kHz
  4. Pinza de diodo para reducir el sesgo. Ahora sé que puedo poner un condensador entre la resistencia y una conexión a tierra en la parte de ganancia del LPF anterior
  5. Sallen-Key LPF para reducir aún más la señal PWM de 20 kHz. Baja ganancia. Aquí es donde hago tapping para señales de bajo nivel, ya que cualquier ganancia más causa que el menor de los deberes haga que la señal actual sature el amplificador operacional.
  6. Abrazadera de diodo para reducir el sesgo de CC.
  7. Otro LPF de Sallen-Key idéntico al filtro anterior, sin toque. Tenía muchas ganas de filtrar ese ruido.
  8. Amplificador operacional LPF de alta ganancia y no inversión. Las señales de servicio superior se capturan aquí.

El problema con el que me he topado es que en el servicio más alto, la salida de Vpp es lo suficientemente baja como para que a veces sea difícil distinguir los pulsos. En el cruce, alrededor del 60%, el Vpp en el lado de servicio alto se está saturando y el Vpp en el lado de servicio bajo es demasiado pequeño.

Mi intento actual de resolver este problema es utilizar la señal PWM utilizada para impulsar el motor como un medio para ajustar la ganancia en un amplificador de ganancia solo por separado. La ganancia se establece para colocar la señal de servicio alto en la Vpp deseada. A medida que aumenta el trabajo y la copia invertida del trabajo se filtra en una señal analógica (representada por V3) y se alimenta a través de un seguidor de voltaje conectado al pin de inversión en el amplificador con la etapa de ganancia. Pero cuando hago esto, el DC emitido en el paso 5 hace que la señal se sature en el riel superior del amplificador operacional cuando se usan tareas bajas. Si coloco una pinza de diodo entre la señal del paso 5 y el amplificador de solo ganancia, puedo controlar la ganancia como esperaba. Cuando coloco un condensador entre la resistencia de ganancia conectada a tierra y a tierra para reducir la ganancia de CC a la unidad y eliminar la necesidad de la pinza de diodo, la ganancia ya no se controla y la ganancia de CC no es la unidad. La abrazadera de diodo debe reemplazarse ya que los distintos valores de Vpp necesitan diferentes desplazamientos para que no se saturen.

Aquí está el último párrafo como un esquema. Los amplificadores operacionales son amplificadores operacionales LMV344, no LMV324 como sugiere la ilustración. La señal de entrada tiene una Vpp de 30 mV a 4,7 V dependiendo del servicio del motor.

simular este circuito : esquema creado usando CircuitLab

Y aquí hay dos ejemplos de la señal de entrada. La primera es la forma de onda del consumo de corriente al 100% de servicio y la segunda es el dibujo de corriente al 25% de trabajo.

¿Cómo puedo obtener un circuito de ganancia variable, amplificar señales con Vpp entre 30mV y 4.7V a aproximadamente 4.7V, mientras evito la saturación debido a los niveles de entrada de CC? Gracias de antemano. Esto me ha consumido durante el último mes.

    
pregunta user122407

1 respuesta

1

Un problema es que los filtros para eliminar el PWM pueden estar atenuando la señal que desea medir, por lo que sugeriría un filtro de muesca para eliminar gran parte de la señal de PWM.

El filtro de muesca de Fliege es un filtro versátil y un tanto indiferente, y he ejecutado uno para 20kHz :

Tieneestarespuestasimulada:

La profundidad de la muesca es -55dB aquí, aunque esperaría -40dB como una respuesta más realista con dispositivos y diseño reales. El ancho de banda entre los puntos de -3dB es de aproximadamente 2kHz.

Como este filtro es la ganancia unitaria en DC, sería sencillo introducir un offset de CC para ejecutarse en una sola fuente.

Tenga en cuenta que R7 solo está presente para permitir la convergencia de la simulación, y que la profundidad de la muesca es proporcional a la relación \ $ \ frac {C_0} {R_0} \ $

Luego, podría usar un filtro de paso alto para atenuar los armónicos de la señal de la unidad PWM, lo que puede simplificar el resto de la cadena de señal.

    
respondido por el Peter Smith

Lea otras preguntas en las etiquetas