No soy ingeniero eléctrico, por lo que una tarea simple me ha desconcertado durante la última semana más o menos.
Estoy trabajando en un proyecto en el que debo alimentar un dispositivo de caja negra con un voltaje ajustable estable. La caja tomará muestras del voltaje proporcionado por la lectura analógica.
Las lecturas que proporcione serán alrededor de 1,8 y 3,1 V (2 modos de funcionamiento) y cambiarán para valores de 0,01 V a límites de +-0,2 (por lo que en el modo 1 necesito lecturas entre 1,6 y 2,0 y en el modo 2 necesita 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, calcular el voltaje y sacar un PWM.
Estoy usando un pro mini, alimentado por 5V aplicados a su pin sin procesar que pone el dispositivo en modo 3.3V. Por lo tanto, mi ciclo Aref y 100% PWM equivalen a 3.3V
La frecuencia de PWM es de aproximadamente 20 kHz (puedo modificar esto ligeramente si es necesario).
He juntado otro Arduino para que actúe como mi analizador de señal (ya que me falta un osciloscopio), con el que estoy probando la línea Vout (implementa una pantalla LCD y empuja los datos de lectura analógica a la pantalla, con algunos calificadores adicionales puedo hacer que me muestre los valores extremos de Vout).
Entonces, ahora que puedo ver lo que se está escupiendo, puedo comenzar a trabajar en ello. Así que leo mucha literatura sobre filtros, pero la mitad de ella realmente no tiene sentido para mí. Lo que deduje es que necesito implementar un filtro de paso bajo para suavizar Vout.
Así que traté de construir un filtro RC, seleccionando los valores C y R "por suerte", probando diferentes combinaciones y órdenes de filtros RC que puedo lograr para bajar el swing de Vout (inicialmente 3.3-0) a 3.3-2.7 cuando apunta a 3V. Aunque mejor, todavía no está cerca de la precisión que necesito. (Las piezas que tengo a mano en este momento son un poco limitadas, por lo que había 0.1uC, 1/8uC 1uC, 100uC, 1500uC y resistencias de 10K a 0.25K en mis pruebas) IIRC la combinación que he establecido actualmente es 100uC/1K 1er pedido (agregar pedidos me estaba dando mejoras insignificantes, por lo que podría estar malinterpretando ese concepto)
La lectura adicional ha insinuado que podría necesitar un poco más que 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 del LM317 parece ser la parte del regulador que podría usar para esto, pero parece que no puedo descifrar la parte de resistencia variable que necesito.
Entonces, mi pregunta es doble, ya que asumo que podría haber ido en la dirección equivocada con esto:
¿Es ésta la mejor manera de hacer ésto? Estoy tratando de mantener bajos los números de piezas y costos, por lo que no quiero seguir todo el camino del regulador MOSFET si resulta que solo estoy usando un filtro incorrecto.
¿Cómo resuelvo este desafío?
Hay muchas formas de hacer lo que quieras. Incluso hay circuitos integrados que lo harán por usted (reguladores de voltaje programables).
Pero si desea seguir su camino, 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 tiene la resolución correcta.
Entonces necesita 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 manguito 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, seleccione R de la siguiente manera:
R = 1/(2 x pi x C xf)
Luego, debe almacenar en búfer para la salida del filtro. Esto se puede hacer con un amplificador operacional usado 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 con CircuitLab
Seleccione R1/R2 para establecer la ganancia (o atenuación), seleccione R4/(R3+R4) para establecer la compensación, seleccione C*R2 para establecer la frecuencia del filtro. La salida será opuesta a su configuración de PWM (0 = máx., 255 = mín.).
Si tiene una señal PWM de 5 V, a 20 kHz, un filtro de paso bajo con un ciclo de trabajo del 10 % a unos 2 kHz debería proporcionarle unos 0,5 V, el 50 % serían unos 2,5 V y el 100 % serían 5 V. 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 por una ganancia inferior a uno, necesita un divisor de voltaje (es decir, resistencias en serie) o un amplificador inversor (amplificador operacional), que deberá volver a invertir más adelante. La compensación se manejaría con un amplificador operacional.
La otra alternativa es modificar los anchos de pulso PWM para obtener lo que necesita.
Me parece que un componente llamado Digital to Analog Converter (DAC) haría lo que usted quiere. Probablemente pueda hacer lo que quiera con PWM y un filtro de paso bajo de orden alto, pero el DAC podría ser más simple para usted.
Los DAC están disponibles con entradas digitales en serie y en paralelo. Mencionas Arduino, así que voy a sugerir que quieras usar un DAC en serie porque la interfaz en serie usa menos pines de E / S del Arduino. Sin embargo, las transferencias en serie son más lentas que las paralelas.
Hay MUCHOS dispositivos diferentes para elegir. Al poner la cadena "serial dac" en Google, aparece una gran cantidad de opciones. Dos de las primeras opciones: Linear Technology y Maxim ofrecen muestras gratuitas. Sospecho que la mayoría de los fabricantes de DAC hacen lo mismo.
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:
Básicamente, se trata de un filtro de paso bajo de tercer orden con una frecuencia de corte de alrededor de 350 Hz. Para una señal PWM de 20 kHz, la ondulación estará por debajo de 1 mV.
Si cambia el ancho de pulso, la señal tardará unos 2,5 ms en estabilizarse.
Dwayne Reid
Jim Dearden
ebis
ebis
ebis