Amplificador operacional con ganancia controlada por voltaje y ganancia de CC unitaria

Tengo un motor de asiento de automóvil que conduzco a través de PWM y mi objetivo es medir su posición contando las variaciones menores en el voltaje a través de una resistencia de detección de corriente conectada al lado bajo de un FET a medida que el motor gira. En deberes más altos, el Vpp es significativamente menor (30mV) que aquellos con un deber del 25% (4,7V). Actualmente toco la señal para medirla con 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 para que solo se necesite 1 ADC.

Antes de entrar en lo que he intentado, quiero plantear mi pregunta principal. ¿Cómo ajusto dinámicamente la ganancia de mi forma de onda para emitir una señal a un Vpp constante cuando mi Vpp de entrada oscila entre 30 mV y 4,7 V?

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

Actualmente el caudal 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 no inversor de alta ganancia. Filtra la señal PWM de 20 kHz
  4. Abrazadera de diodo para reducir la polarización. Ahora sé que puedo poner un condensador entre la resistencia y la 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 trabajo bajo, ya que más ganancia hace que el trabajo más bajo haga que la señal actual sature el amplificador operacional.
  6. Abrazadera de diodo para reducir la polarización de CC.
  7. Otro Sallen-Key LPF idéntico al filtro anterior, sin grifo. Tenía muchas ganas de filtrar ese ruido.
  8. Amplificador operacional LPF no inversor de alta ganancia. Las señales de servicio más altas se aprovechan aquí.

El problema con el que me he encontrado es que en el trabajo más alto, la salida de Vpp es lo suficientemente baja como para que a veces sea difícil distinguir los pulsos. En el servicio de 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 usar la señal PWM utilizada para impulsar el motor como un medio para ajustar la ganancia en un amplificador de solo ganancia separado. La ganancia se establece para poner la señal de alto rendimiento en el Vpp deseado. A medida que aumenta el deber, la copia invertida del deber 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 inversor en el amplificador con la etapa de ganancia. Pero cuando hago esto, la CC emitida en el paso 5 hace que la señal se sature en el riel superior del amplificador operacional cuando se usan cargas bajas. Si coloco una abrazadera de diodo entre la señal del paso 5 y el amplificador de solo ganancia, puedo controlar la ganancia como esperaba. Cuando coloco un capacitor entre la resistencia de ganancia conectada a tierra y tierra para reducir la ganancia de CC a la unidad y eliminar la necesidad de la abrazadera de diodo, la ganancia ya no se controla y la ganancia de CC no es la unidad. La abrazadera del diodo debe reemplazarse ya que los diversos valores de Vpp necesitan diferentes compensaciones 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 un Vpp de 30 mV a 4,7 V según el régimen del motor.

esquemático

simular este circuito : esquema creado con CircuitLab

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

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

(1) ¿Tiene alguna toma de alcance? (2) ¿Qué causa estos pulsos en el motor? Parece una elección difícil de seguimiento de posición.
Se han añadido tomas de alcance. Creo que los pulsos provienen del conmutador que gira y cambia entre cepillos. Sí, esta es una forma difícil de rastrear, pero tengo que quedarme con la forma en que se rastrean actualmente los motores de este sistema. Ojalá usara sensores de efecto hall.
Esas dos tomas de alcance implican para mí que un comparador simple y rápido funcionaría, así que muestre una toma de alcance de donde cree que ocurre la forma de onda del problema.

Respuestas (1)

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

El filtro de muesca Fliege es un filtro versátil y un poco indulgente, y he ejecutado uno para los 20kHz:

muesca de 20kHz

Tiene esta respuesta simulada:

Respuesta de muesca

La profundidad de muesca es de -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 -3dB es de unos 2kHz.

Como este filtro es de ganancia unitaria en CC, sería sencillo introducir una compensación de CC para que funcione con un solo suministro.

Tenga en cuenta que R7 solo está presente para permitir que la simulación converja, y la profundidad de la muesca es proporcional a la relación C 0 R 0

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

La señal que me importa está entre 300 Hz y 500 Hz. La parte del filtro del circuito tiene una ganancia de +8 dB a 300 Hz, una ganancia de +6 dB a 500 Hz y una ganancia de -50 dB a 20 kHz. Cae por debajo de la ganancia unitaria alrededor de 815Hz. No creo que mis filtros estén atenuando la parte de la señal que necesito. Gracias.