Métodos para convertir PWM a señal +/- 10v

Supongamos que tenemos una señal PWM que controla la velocidad de un motor y un pin digital que especifica en qué dirección se desplaza un motor, ¿cómo podemos convertir estas señales en una señal de 1 +/- 10 V donde <0 es inversa y >0 es directa? viajar.

Aprecio que habrá varias formas de implementar esto, pero sería bueno considerar diferentes métodos

Cuando dice una señal de +/- 10 V, ¿esa "señal" alimenta el motor o es una señal de baja corriente que pasa a una entrada de alta impedancia que luego hace otra cosa (es decir, un controlador)? Además, ¿cuál es el voltaje de la señal PWM? ¿Y cuál es la frecuencia PWM?
Inversor + filtro paso bajo...
Ya le di un enlace en su pregunta anterior sobre VFD y MCU.
¿ Por qué vuelves a preguntar ? No aceptó ninguna de las respuestas de su pregunta anterior.

Respuestas (4)

Algo como esto debería funcionar bien. Las piezas son solo un ejemplo, la optimización requerirá más trabajo (e información).

esquemático

simular este circuito : esquema creado con CircuitLab


Editar:

Me han pedido un análisis del amplificador (ganancia = +2 para interruptor cerrado, -2 para interruptor abierto).

Primero observe que las entradas del amplificador operacional siempre están en Vin/2 en equilibrio debido a R3/R5.

(Tenga en cuenta también que siempre son positivos ya que Vin varía de 0 V a 5 V, por lo que M1 siempre ve un voltaje positivo en el drenaje: 0 a 2,5 V para 0 a 5 V de entrada)

Interruptor M1 abierto (apagado), tenemos corriente (Vin - Vin/2)/R2 fluyendo a través de R2, entonces - (Vout - Vin/2)/R1 debe estar fluyendo a través de R1, usando KCL.

Resuelva para Vout/Vin = 1/2 - R1/(2*R2) = -2.00 para R1 = 5*R2


Con el interruptor cerrado (asumir M1 = 0 Ω ) tenemos un término agregado y usando KCL nuevamente, el resultado es:

Vin/(2*R2) - Vin/(2*R4) + (Vsal -Vin/2)/R1 =0

Resuelva para Vout/Vin = 1/2 +R1/(2*R4) - R1/(2*R2) = +2.00 para R1 = 5*R2 R4 = (25/40) * R2.


Bien, estaba pensando en un circuito de ganancia conmutada (+1/-1) con un interruptor analógico en lugar del FET. (como una cosa de tipo lockin). Tengo varios de esos garabateados en un cuaderno. Uno podría invertir el PWM y luego usar un MUX seleccionado por el "bit" de la unidad para cambiar el signo.
@GeorgeHerold Gracias Esto da una ganancia de +/-2 con un solo interruptor SPST. Si te sientes cómodo, es más fácil y quizás más preciso usar un interruptor analógico DPDT y un amplificador de instrumentación, pero eso cuesta 100 veces más.
Buena respuesta @SpehroPefhany: tenía algo más parecido a lo que George tenía en mente. Perdone mi ignorancia, pero no creo haber visto esa topología para un opamp antes (excluyendo el interruptor FET, la configuración básica del amplificador). ¿Te importaría hacer un poco del análisis del circuito? ¿O es una configuración relativamente estándar que podría buscar en otro lugar? Cuando trato de analizar obtengo resultados incorrectos.
@stefandz, sin el FET, es un amplificador operacional diferencial. (Es por eso que también se podría usar un amplificador de instrumento... por aún más dinero, puede comprar un solo IC, AD630).
@GeorgeHerold, tiene toda la razón: tengo la cabeza en un lío al tratar de analizarlo como un opamp inversor con un desplazamiento en la entrada no inversora. Análisis perezoso = ¡respuestas incorrectas! Ahora que lo veo me da vergüenza no haberlo hecho antes. Pero gracias por ponerle el nombre al diablo!

Puedo ver un esquema analógico allí, lo cual es genial, pero una cosa me molesta. Si tiene una señal de dirección en el sistema, ¿está seguro de que PWM se usa para modular realmente la velocidad/posición/voltaje, o se usa para generar frecuencia? He visto varios sistemas en los que la gente controlaba motores paso a paso con señal de dirección y señal PWM, que se usaba para la señal de paso. ¡Esto está mal! Sin embargo, la gente lo hace.

De hecho, la pregunta sugiere que en ciertos sistemas se reemplazó un controlador de pulso/dirección con un controlador analógico, y se requiere algún tipo de interfaz para volver a unir las cosas.

Si este es el caso, ningún circuito analógico ayudará. Debido a que la información no es compatible, los pulsos son de posición, mientras que el comando analógico es actual (bueno, normalmente, no siempre). Y si este es el caso, necesita un dispositivo digital, FPGA o microcontrolador, que capture los pulsos y calcule el valor del comando actual en consecuencia. De hecho, es una de las características de los servoaccionamientos modernos. Probablemente tendrá que cerrar el ciclo; de lo contrario, los errores se acumularán rápidamente. Entonces, en resumen, si este es el caso, reconsidere el sistema.

Seguramente, el uso de PWM para impulsar una señal de paso en un paso a paso se descartaría rápidamente como una solución, porque no cambiaría la velocidad (a menos que se refiera a omitir pasos por completo en ciclos de trabajo bajos, y posiblemente muy altos).
No, depende. Para los sistemas que no son de tiempo real, es la única forma de mantener la velocidad, por lo que para velocidades bajas está bien, siempre que no se requiera control de posición. Para velocidades más altas, incluso pueden construir un perfil simple, nuevamente, sin control de posición. ¿Y por qué defendería esta cosa? Ni idea...
Estoy totalmente confundido: seguramente si está usando PWM para impulsar una señal de paso, ¿solo está cambiando el ancho del pulso, no la frecuencia y, por lo tanto, no puede cambiar la velocidad? No estoy seguro de que valga la pena discutir esto aquí (como usted señala), ¡pero me intriga qué detalle me estoy perdiendo!
No, ciclo de trabajo constante del 50%, pero frecuencia variable. La cuestión es que el periférico PWM es independiente del programa, por lo que solo necesitan cambiar el valor en el registro de frecuencia de vez en cuando.
Entendido. Entonces, periférico PWM, pero en realidad se usa como un controlador PFM (pero solo velocidad, no posición). ¡Uf, pensé que había perdido mis canicas allí!

Aquí hay una solución de IC único que lo acerca bastante:

ingrese la descripción de la imagen aquí

notas

  • V1 es su circuito generador de PWM. Esto debería ser de baja impedancia. La mayoría de las salidas del microcontrolador serían suficientes, dependiendo de la impedancia de entrada de su filtro de paso bajo.
  • R1 y C1 forman el filtro de paso bajo. Puedes hacer esto tan elaborado o tan simple como quieras. Elegí sencillo.
  • R4 se utiliza para ajustar el desplazamiento. Si su PWM de entrada es de 0 V a +3,3 V y su rango de salida deseado es de -10 V a +10 V, entonces 6,3 k lo acerca bastante.
  • R6 y R5 se usan para escalar su salida de voltaje después de ajustar R4.

Ajuste del circuito

Si necesita ajustar el circuito manualmente, le sugiero que cortocircuite R5 para hacer un seguidor de voltaje y ajuste R4 hasta que un ciclo de trabajo del 50% proporcione un voltaje de salida de 0V.

También podemos usar algunas matemáticas para encontrar las relaciones de nuestros circuitos. En este circuito, ajustar R4 es realmente ajustar el divisor de voltaje de R1 y R4 para que

( V 1 metro a X 2 V norte mi gramo ) R 4 R 1 + R 4 V norte mi gramo = 0

Asumiendo V1= 3,3 V y V neg = 10 V:

( 3.3 V 2 10 V ) R 4 R 1 + R 4 10 V = 0
( 11.5 V ) R 4 R 1 + R 4 10 V = 0
R 4 R 1 + R 4 = 0.8696
6.67 R 1 = R 4

Una vez que haya ajustado su compensación, comience a ajustar R5 hasta que el ciclo de trabajo del 100 % obtenga 10 V y el ciclo de trabajo del 0 % obtenga -10 V. Nuevamente, debería poder calcular este paso:

V o tu t , metro a X = GRAMO V i norte , metro a X

Donde 'G' es la ganancia del circuito opamp y V in,max es el voltaje máximo en V + (o el PWM al 100% del ciclo de trabajo). En un amplificador inversor,

GRAMO = 1 + R 5 R 6

A partir de este punto, debería poder usar la sustitución y llegar a valores adecuados para R5 y R6.

¿Dónde está la entrada de dirección para este circuito?
Vergonzosamente, leí mal la pregunta y me perdí la entrada de dirección. El circuito está diseñado para funcionar solo con PWM, donde el ciclo de trabajo del 0 % se escala a -10 V y el ciclo de trabajo del 100 % se escala a +10 V. Lo dejaré aquí para la posteridad en caso de que alguien se tropiece con esta pregunta con esa necesidad particular, pero la respuesta proporcionada por spehro es más adecuada para la pregunta y voté a favor de su respuesta.

Como muestran algunos de los comentarios, necesitamos un poco más de información. Asumiré aquí que está utilizando microcontroladores y que tanto su PWM como sus pines de salida digital están funcionando a 0-3.3V. Aquí está la lógica digital que primero está tratando de implementar:

PWM DIR | Salida
  1 0 | 1 (dirección de avance)
  0 0 | 0 (Adelante)
  1 1 | 0 (Reversa)
  0 1 | 1 (Reversa)

Esto representa la lógica XOR. Entonces, la forma más fácil de implementar esto sería usar un IC XOR simple y un cambiador de nivel. Realmente no es muy necesario un filtro de paso bajo si está impulsando un motor, ya que las bobinas del motor actuarán como un filtro de paso bajo.