¿Qué es PWM y cómo usarlo?

- Categorías : Productos , Teoría

1.  Introducción al concepto de PWM y modulación 

PWM son las siglas de Pulse Width Modulation (Modulación por ancho de pulso). Para transmitir una señal, ya sea analógica o digital, se debe modular para que sea transmitida sin perder potencia o sufrir distorsión por interferencias.

PWM es una técnica que se usa para transmitir señales analógicas cuya señal portadora será digital. En esta técnica se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. El ciclo de trabajo (duty cycle) de una señal periódica es el ancho de su parte positiva, en relación con el período. Está expresado en porcentaje, por tanto, un duty cycle de 10% indica que está 10 de 100 a nivel alto.

Duty cycle = t / T

t = tiempo en parte positiva

T = Periodo, tiempo total

Básicamente, consiste en activar una salida digital durante un tiempo y mantenerla apagada durante el resto, generando así pulsos positivos que se repiten de manera constante. Por tanto, la frecuencia es constante (es decir, el tiempo entre disparo de pulsos), mientras que se hace variar la anchura del pulso, el duty cycle. El promedio de esta tensión de salida, a lo largo del tiempo, será igual al valor analógico deseado.

En este caso:

Por ejemplo, si con una tensión Vcc de 5V queremos una señal PWM de 1V, se generará una señal que el 20% del tiempo valdrá 5V y el 80% restante 0V.

1.   2. ¿Para qué se usa PWM?

Esta modulación es muy usada para controlar la cantidad de energía que se envía a una carga, es una técnica utilizada para regular la velocidad de giro de los motores, regulación de intensidad luminosa, controles de elementos termoeléctricos o controlar fuentes conmutadas entre otros usos.

La mayoría de los automatismos, incluido Arduino, no son capaces de proporcionar una señal analógica. Sólo pueden proporcionar una salida digital de -Vcc o Vcc. (por ejemplo, 0V y 5V). Entonces, para conseguir una señal analógica, la mayoría de los automatismos usan PWM. Se usa esta técnica porque como se ve en los ejemplos anteriores, no siempre quieres un valor digital de la señal (ON/OFF), si no que necesitaremos proporcionar un valor analógico de tensión que usarán para las aplicaciones deseadas.

1.  3. ¿Por qué se necesita un condensador en PWM? 

Como hemos dicho, cuando requieres una señal analógica, los autómatas suelen usar PWM, y por tanto la tensión obtenida es el promedio de la salida PWM. Pero la señal resultante son pulsos bruscos, los cuales pueden tener sus desventajas ya que incluso se pueden dañar los componentes que se conectan si a tensión Vcc es superior a la tensión máxima admisible por el componente. 

Si la respuesta del sistema es lenta en comparación con la frecuencia del PWM, la salida PWM puede ser suficiente. De lo contrario, es necesario mejorar esta respuesta de la señal analógica. 

Para ello, lo más sencillo es usar un filtro paso bajo (filtro RC), el cual consta de una resistencia y un condensador, que filtrará la señal dejándola como una señal analógica más auténtica. Básicamente, el condensador se encarga de rectificar los pulsos. Estos se conectan de la siguiente forma:

Este filtro paso bajo, como su nombre indica, deja pasar las frecuencias bajas, eliminando las altas. Por tanto, se calculará para la frecuencia de corte deseada en función de los valores de sus componentes. La frecuencia de corte es aquella donde la amplitud de la señal de entrada cae hasta un 70.7 % de su valor máximo.

Para el cálculo de la resistencia y el condensador se tiene que tener en cuenta la frecuencia de la salida PWM, así como la tensión de salida filtrada y la deseada. La señal de salida filtrada aun así tendrá un rizado, como se puede observar en la imagen.

Al usarse valores normalizados de resistencias y condensadores, lo habitual para calcular los componentes es conocer la tensión de salida y el duty cycle, y fijar el valor de la resistencia en función a la que tengamos disponible (del orden de k Ω normalmente).

Las fórmulas de dicha tensión de salida y de la frecuencia de corte, según la Ley de Ohm, son:

Un ejemplo:

Teniendo los siguientes valores:

o    Voltaje: 5V

o    Frecuencia PWM: 500Hz (Periodo = 0.002 segundos)

o    Duty cycle: 50%

o    Resistencia: 10kΩ

o    Condensador: 1uF

Frecuencia corte:

Voltaje promedio (sin rizado): 2.5 V

Rizado: 0.2498 V

4. ¿Cómo se utiliza el PWM para controlar los servomotores?

Un servomotor es un dispositivo alimentado por corriente continua que puede controlar de modo muy exacto la posición (de 0º a 180º) o la velocidad (en revoluciones por minuto, rpm, en sentido horario o antihorario). Tienen 3 pines para su conexión: alimentación (5 V, normalmente), tierra (GND) y el pin de la señal. Por este último, a través del sistema de control le emitirá la señal PWM que le indicará al servomotor la posición o la velocidad que debe alcanzar, según el tipo de servomotor usado. 

Habitualmente hay 2 tipos, los servomotores de rango de giro limitado que son los más usados, cuyo ángulo va de 0 a 180º; y los Servomotores de rotación continua, los cuales giran 360º y se puede controlar tanto su giro como su velocidad. 

La señal de servocontrol típica tiene un período de 20 ms, mientras que el ancho de pulso varía de 1 ms a 2 ms, desde la posición mínima a la máxima de servo.

Esta configuración de servomotor y PWM ofrece muchas aplicaciones, ya que con un autómata puedes controlar varios servomotores a la vez, incluso usando controladores como potenciómetros para su ajuste, sin ningún tipo de electrónica externa. 

Para mas información, consulta el artículo de Servomotores.

5. Utilización de los estabilizadores/reguladores. ¿Lineales o conmutados?

En nuestros circuitos podemos encontrarnos con problemas de potencia debido a la diferencia entre la potencia emitida por la fuente de alimentación y la potencia que consume realmente nuestra carga. Esto conlleva que se pierda potencia en forma de calor, haciendo que la fuente gaste más energía de la necesaria. Por ejemplo:

Potencia de motor: Pmot = I * Vmot = 0,2A * 5V = 1W

Potencia de pila:  Pbat = I * Vbat = 0,2A * 10V = 2W

Como podemos ver, el motor tiene la mitad de potencia que la batería, por tanto, el resto se pierde en forma de calor, haciendo que los componentes se calienten.

Por tanto, para evitar este problema se usan los estabilizadores, también llamados reguladores. La serie más conocida de reguladores integrados es la 78xx y la serie 79xx, como el típico LM7805. Este está especificado como un regulador de 5V, 1.5A. Pero los de mayor potencia necesitarán un disipador de calor, y este es el principal problema de los reguladores serie lineales tanto discretos como integrados, porque como hemos dicho, al estar en serie con la carga, las caídas de tensión en sus componentes provocan grandes disipaciones de potencia.

Por otra parte, existen los reguladores conmutados que, como su nombre indica, se encienden y apagan a un ritmo muy rápido, proporcionando una fuente de alimentación estable y con resultados muy eficientes. Estos reducen mucho más la disipación de calor. Es por ello que a pesar de que su coste es mayor, así como el número de componentes pasivos requeridos, son más recomendables para usos con potencias considerables. 

Dentro de los reguladores conmutados, también conocidos como convertidores, existen los reductores (Buck o step down), elevadores (Boost o step up) y los reductor-elevador (Buck-Boost), los cuales como su nombre indica, reducen o aumentan la tensión en su salida. 

En el caso del ejemplo anterior, deberíamos usar un regulador reductor, ya que la tensión de alimentación es mayor que la usada por la carga. Con esto solucionaremos la pérdida de potencia.

6. Control y alimentación de los motores

Para controlar la velocidad de giro o la posición del servomotor se envían a este, pulsos de 20ms (es decir, a 50Hz). La anchura de estos pulsos, el duty cycle, es lo que va a determinar el ángulo de giro del servomotor. La anchura depende del servomotor utilizado, pero normalmente comprende entre 0.5 y 2.5 milisegundos, siendo para 0º y 180ª respectivamente. 

Para alimentarlos, se usa corriente continua, como se ha explicado antes, son normalmente 5V cuyo cable es rojo. El cable de tierra (GND) por su parte, es negro/marrón. 

7. Impacto de la frecuencia en la PWM

Como se ha comentado en apartados anteriores, la frecuencia, viene controlada por el período de repetición de la onda configurada. En algunos casos la frecuencia de la portadora es fija, en otros varía continuamente o se modifica en función de la modulación. Por otro lado. en algunos casos el usuario puede seleccionarla de acuerdo con sus necesidades y las posibles resonancias mecánicas.

Actualmente la generación de la moduladora y la portadora se realizan de forma híbrida, grabando los valores de la senoide en una memoria que se lee a la frecuencia deseada, y después de ser convertida a una señal analógica, mediante un convertidor analógico-digital, se compara con la triangular de alta frecuencia.

En el caso de Arduino, la frecuencia de PWM es de 500Hz, por lo que el periodo será de 2ms, pudiendo ser modificada si lo deseamos.

Por otro lado, según nuestra aplicación con PWM, la frecuencia escogida puede provocar diversos efectos. Como hemos dicho, la salida de la señal PWM no es completamente analógica. Por tanto, si la usamos por ejemplo para la alimentación de un motor DC, la propia inercia del motor hará que no se noten los pulsos, pero según la frecuencia se puede llegar a notar vibraciones o ruidos. Otro caso es su uso en cargas inductivas (motores, electroimanes, relés, etc.) donde la rápida desconexión, cuando el pulso baja, puede ocasionar daños en las salidas digitales o los propios componentes. Para ello se deberá modificar la frecuencia de funcionamiento del PWM, o incluso en el último caso, disponer de protecciones oportunas, como diodos.

8. ¿Cómo seleccionar la frecuencia?

La elección de la frecuencia depende de la aplicación en la que usemos la salida PWM. 

En el caso de motores DC grandes se debe tener en cuenta varios puntos. El primero es que los pulsos deben ser lo suficientemente rápidos para que el sistema mecánico del motor funcione.

A continuación, podemos destacar lo comentado anteriormente, las vibraciones o ruidos pueden ser perceptibles, si usamos una frecuencia más alta de 20kHz, que es nuestra frecuencia audible dejarían de molestarnos. También afecta la corriente media de las bobinas internas, ya que tendrán cierta resistencia finita y esto hará que se genere una corriente alterna más elevada que no es útil para el movimiento del motor, solo genera pérdidas resistivas. Por último, el cambio de pérdidas generado porque los interruptores reales emplean un pequeño periodo en cambiar de estado. Por ejemplo, si el interruptor gasta 1 µs en la transición en cada pulso, entonces a una frecuencia PWM de 25 kHz, que es un período de 40 µs, el tiempo de transición es 1/40 del total, que es un periodo aceptable. Sin embargo, si la frecuencia de conmutación se incrementara a 100 kHz, lo que significa un período de 10 µs, entonces el tiempo de transición sería del 10%, lo cual probablemente causará problemas.

9. PWM en la práctica, osciloscopios y resumen

En la práctica, la modulación PWM se usa para muchas aplicaciones mencionadas anteriormente, pero sobre todo para la variación del brillo de LEDs, en servomotores y motores e incluso generar sonidos y melodías en altavoces o zumbadores variando la frecuencia.

Los pulsos u ondas cuadradas generadas a la salida se pueden observar perfectamente al conectarse en un osciloscopio, en el que se puede probar a modificar el duty cycle y visualizar su cambio en la pantalla.

En resumen, la modulación PWM puede ser una solución perfecta y sencilla para las aplicaciones que hemos comentado.

Share