Métodos para convertir PWM a +/- 10v Signal

4

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 está moviendo el motor, ¿cómo podemos convertir estas señales en una señal de 1 +/- 10V donde < 0 es inverso y > 0 es recorrido hacia delante.

Aprecio que haya varias formas de implementar esto, pero es bueno considerar diferentes métodos

    
pregunta M-R

4 respuestas

4

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

simular este circuito : esquema creado usando CircuitLab

Editar:

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

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

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

Interruptor M1 abierto (apagado), tenemos corriente (Vin - Vin / 2) / R2 que fluye a través de R2, por lo que - (Vout - Vin / 2) / R1 debe fluir 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 (supongamos que M1 = 0 \ $ \ Omega \ $) tenemos un término agregado y, al utilizar KCL nuevamente, el resultado es:

Vin / (2 * R2) - Vin / (2 * R4) + (Vout -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.

respondido por el Spehro Pefhany
0

Puedo ver un esquema analógico allí, lo cual es genial, pero una cosa me está molestando. Si tiene una señal de dirección en el sistema, ¿está seguro de que PWM se utiliza para modular realmente la velocidad / posición / voltaje, o se utiliza para generar frecuencia? He visto varios sistemas donde las personas controlaban los 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ó una unidad de pulso / dirección con una unidad analógica, y se requiere algún tipo de interfaz para unir las cosas nuevamente.

Si este es el caso, ningún circuito analógico ayudará. Debido a que la información no es compatible, los pulsos son 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 capturará los pulsos, calcule el valor de comando actual en consecuencia. De hecho, es una de las características de los servodrives modernos. Probablemente tendrá que cerrar el bucle, de lo contrario los errores se acumularán rápidamente. Entonces, en el fondo, si este es el caso, repensar el sistema.

    
respondido por el Gregory Kornblum
0

Aquí hay una solución de un solo IC que te acerca bastante:

Notas

  • V1 es su circuito generador de PWM. Esto debería ser de baja impedancia. La mayoría de las salidas de microcontroladores 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í simple.
  • R4 se utiliza para ajustar el desplazamiento. Si su PWM de entrada es de 0 V a + 3,3 V y el rango de salida deseado es de -10 V a + 10 V, entonces 6.3k lo acerca bastante.
  • R6 y R5 se utilizan para escalar la salida de voltaje después de ajustar R4.

Ajustando el circuito

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

También podemos usar algunas matemáticas para encontrar nuestras relaciones de circuito. En este circuito, ajustar R4 es realmente ajustar el divisor de tensión de R1 y R4 para que

$$ (\ frac {V1_ {max}} {2} - V_ {neg}) \ frac {R_4} {R_1 + R_4} - V_ {neg} = 0 $$

Suponiendo que V1 = 3.3V y V neg = 10V:

$$ (\ frac {3.3V} {2} - 10V) \ frac {R_4} {R_1 + R_4} - 10V = 0 $$ $$ (11.5V) \ frac {R_4} {R_1 + R_4} - 10V = 0 $$ $$ \ frac {R_4} {R_1 + R_4} = 0.8696 $$ $$ 6.67R_1 = R_4 $$

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

$$ V_ {out, max} = GV_ {in, max} $$

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,

$$ G = 1 + \ frac {R5} {R6} $$

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

    
respondido por el slightlynybbled
-1

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

DIR PWM | Salida
1 0 | 1 (Dirección hacia adelante)
0 0 | 0 (adelante)
1 1 | 0 (Reverso)
0 1 | 1 (Reverso)

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

    
respondido por el user111156

Lea otras preguntas en las etiquetas