Proporcionar un voltaje de CC ajustable lineal de PWM (1.5V a 3.3V)

2

No soy un ingeniero eléctrico, así que una tarea simple me ha desconcertado durante la última semana o algo así.

Estoy trabajando en un proyecto en el que debo alimentar un dispositivo de caja negra con un voltaje ajustable estable. La caja muestreará el voltaje proporcionado por la lectura analógica.

Las lecturas que ofrezco serán alrededor de 1.8 y amp; 3.1V (2 modos de operación) y cambiará para valores de 0.01V a límites de + -0.2 (así que en el modo 1 necesito lecturas entre 1.6 y 2.0 y en el modo 2 necesito lecturas entre 2.9 y 3.3) Estas lecturas cambiarán, por lo que Vout debe reflejar los cambios de manera oportuna.

Estoy usando un Arduino para obtener los datos, calcularlos a voltaje y expulsar un PWM.

Estoy usando un Pro mini, alimentado por 5V aplicado a su pin en bruto que pone el dispositivo en modo de 3.3V. Por lo tanto, mi ciclo Aref y 100% PWM son igual a 3.3V

La frecuencia de PWM es de aproximadamente 20 kHz (puedo modificar esto si es necesario).

He golpeado a otro Arduino para que actúe como mi analizador de señales (ya que carezco de un osciloscopio), con el que estoy sondeando la línea Vout (implementa una pantalla LCD y lleva los datos de lectura analógica a la pantalla, con algunos calificadores agregados puedo hacer que me muestren los valores extremos de Vout).

Así que ahora que puedo ver qué se está escupiendo, puedo empezar a trabajar en ello. Así que leí un montón de filtros de literatura, pero la mitad de eso no tiene realmente sentido para mí. Lo que he recopilado es que necesito implementar un filtro de paso bajo para suavizar Vout.

Así que intenté construir un filtro RC, seleccionando los valores C y R "por suerte", Probando diferentes combinaciones y órdenes de filtros RC puedo lograr que el Vout swing (inicialmente 3.3-0) baje a 3.3-2.7 cuando esté apuntando a 3V. Aunque mejor, todavía no se acerca a la precisión que necesito. (Las partes que tengo disponibles ahora son un poco limitadas, por lo que hubo 0.1uC, 1 / 8uC 1uC, 100uC, 1500uC y resistencias de 10K a 0.25K en mis pruebas) IIRC la combinación que he configurado actualmente es 100 ° C / 1K 1er orden (agregar órdenes me estaba dando mejoras insignificantes, por lo que podría estar entendiendo mal ese concepto)

Otras lecturas han sugerido que podría necesitar un poco más que solo un filtro para lidiar con esto, hasta ahora la mejor sugerencia de internet parece ser una combinación de LM317 como un regulador ajustable y un MOSFET para convertir el PWM en una resistencia variable .

La Figura 37 en la hoja técnica de LM317 parece ser la parte reguladora que podría usar para esto, pero Parece que no puedo entender la parte de resistencia variable de lo que necesito.

Así que mi pregunta es doble, ya que supongo que podría haber tomado una dirección equivocada con esto:

  1. ¿Es esta la mejor manera de hacer esto? Estoy tratando de mantener bajos los números de partes y costos, por lo que no quiero ir por toda la vía del regulador MOSFET si resulta que solo estoy usando un filtro incorrecto.

  2. ¿Cómo resuelvo este desafío?

pregunta Ebis

4 respuestas

2

Hay muchas formas de hacer lo que quieres. Incluso hay circuitos integrados que lo harán por usted (reguladores de voltaje programables).

Pero si desea seguir su ruta, primero necesita un PWM con una resolución de más de 8 bits (10 mV es el paso, 3.3 V es el voltaje máximo que desea alcanzar, esto es 330 pasos o 9 bits), asegúrese de que su PWM tenga la resolución correcta.

Entonces necesitas filtrar la salida PWM. La solución "más simple" es de hecho RC. Este no es el más eficiente, pero está bien si puede aceptar alguna ondulación. Tome una frecuencia de brazalete que sea al menos 10 veces más pequeña que la frecuencia PWM para una atenuación de ondulación razonable (2 kHz en su caso). Para un filtro RC de primer orden, selecciona R de la siguiente manera:

R = 1 / (2 x pi x C x f)

Entonces necesitas un buffer para la salida del filtro. Esto se puede hacer con un amplificador operacional utilizado como seguidor. Asegúrese de que la tensión de alimentación del amplificador operacional sea suficiente para evitar la saturación y que el amplificador pueda suministrar suficiente corriente para su aplicación.

Puedes tener algo así:

simular este circuito : esquema creado usando CircuitLab

Seleccione R1 / R2 para establecer la ganancia (o atenuación), seleccione R4 / (R3 + R4) para configurar el desplazamiento, seleccione C * R2 para configurar la frecuencia del filtro. La salida será opuesta a la configuración de PWM (0 = máx, 255 = min).

    
respondido por el MAC
1

Si tiene una señal PWM de 5V, a 20 kHz, el filtrado de paso bajo en un ciclo de trabajo del 10% a aproximadamente 2 kHz le dará aproximadamente 0.5v, el 50% será aproximadamente 2.5V y el 100% sería 5V. Es solo el valor medio en un ciclo PWM.

Una vez que tenga esto en la mano, debe saber cómo escalar y compensar su señal. Si necesita escalar en una ganancia inferior a uno, necesita un divisor de voltaje (es decir, resistencias en serie) o un amplificador inversor (amplificador operacional), que deberá reinvertir más adelante. La compensación se manejaría con un amplificador operacional.

La otra alternativa es combinar los anchos de pulso de PWM para obtener lo que necesitas.

    
respondido por el Scott Seidman
1

Me parece que un componente denominado convertidor de digital a analógico (DAC) haría lo que usted desea. Probablemente pueda hacer lo que quiera con PWM y un filtro de paso bajo de alto orden, pero el DAC podría ser más simple para usted.

Los

DAC están disponibles con entradas digitales tanto en serie como en paralelo. Mencionas Arduino, por lo que sugeriré que quieras usar un DAC serial porque la interfaz serial usa menos pines I / O de Arduino. Sin embargo, las transferencias en serie son más lentas que en paralelo.

Hay MUCHOS diferentes dispositivos para elegir. Poner la cadena "serial dac" en Google trae una gran cantidad de opciones. Dos de las primeras opciones: Linear Technology y Maxim ofrecen muestras gratis. Sospecho que la mayoría de los fabricantes de DAC hacen lo mismo.

    
respondido por el Dwayne Reid
1

Un filtro de paso bajo es el camino a seguir. Hago exactamente lo mismo en un circuito en el que estoy trabajando en este momento, así que tengo algo que funciona:

Esto es básicamente un filtro de paso bajo de tercer orden con una frecuencia de corte de aproximadamente 350Hz. Para una señal PWM de 20 kHz, la ondulación estará por debajo de 1 mV.

Si cambia el ancho de pulso, tomará aproximadamente 2,5 ms para que la señal se estabilice.

    
respondido por el Nils Pipenbrinck

Lea otras preguntas en las etiquetas