Select Page

El PWM es un tipo de señal de tensión que usamos en electrónica con muchos objetivos distintos y para muchas tareas distintas. Vivimos rodeados de dispositivos que usan PWM para realizar alguna operación.

La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que 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.

wikipedia

Pero realmente, nos dice algo esta excelentísima definición de libro en wikipedia? Si estás en este post es porque estás buscando ejemplos y aplicaciones específicas.

Vas a encontrar las más importantes y las más útiles en los siguientes títulos, pero vale la pena aclarar que la modulación PWM aplica a tensión o corriente continua, para realizar un dimmer en AC como por ejemplo la velocidad de un ventilador o una lampara (foco) se realiza bajo otros fundamentos que no vamos a tocar en este post.

Qué es un PWM

El PWM nace de la necesidad de tener varios niveles de tensión a partir de una señal continua, ya sea que venga del mundo digital (microcontroladores) o del mundo analogico (una simple «señal» de continua) que queremos que «parezca de menos» tensión.

Imaginemos por un segundo que tenemos 5v de continua viniendo de una fuente (microcontrolador o alimentación) y que tenemos que prender un led de 1V (es una situación hipotética) y por nada del mundo podemos encontrar una resistencia para que no se queme el led. ¿Qué hacemos?

La modulación de ancho de pulso está formada por una señal de onda cuadrada que no siempre tiene la misma relación entre el tiempo que esta en alto y el tiempo que está en bajo.
La modulación de ancho de pulso está formada por una señal de onda cuadrada que no siempre tiene la misma relación entre el tiempo que está en alto y el tiempo que está en bajo.

En el último gráfico tenemos nuestra señal continua de la que hablábamos. El pwm nace de cortar esta señal y alimentarla de a INTERVALOS (normalmente regulares, siempre al mismo tiempo) y … ¿esto como aplica a nuestro led? Aplicar que por la mayor parte del tiempo (80% del tiempo) el led va a estar prendido y por el 20% del tiempo el led va a estar apagado.

Detengamos por un segundo en este momento y pensemos juntos los dos puntos que se suscitan:

  1. Dijimos que el led era de 1v y le estamos aplicando 5v por un tiempo determinado y luego lo apagamos. Por el momento se seguirá quemando.
  2. Pero asumiendo que no se queme, el led se vería menos brillante para el ojo humano, esto se llama dimmer.

Sigamos con el ejemplo: Imaginando que el led se sigue quemando, pasemos al siguiente gráfico. Hagamos que el led este prendido el 40% del tiempo (y apagado el 60%). Según el punto 2, veriamos el led menos brilloso… pero ACÁ VIENE LA PAPA !!

Los componentes electrónicos se queman por temperatura (por eso se lo llama QUEMAR) pero la temperatura en un cuerpo tiene cierta inercia es por eso que no te quemas tocando el mango de una holla.

Entonces el LED en el tiempo que está apagado tiene tiempo de ¡enfriarse! y no se quema nada.

Así es como nace el PWM.

Hagamos algunas conclusiones de esto. Primero al led de 1v, lo estamos alimentando con 5v, pero de a intervalos muy cortos para que no se queme.

Esto nos da dos ventajas: una que no se quema y la otra es que estamos ahorrando energía! Porque el led solo esta prendido el 40% del tiempo, pero nosotros lo vemos como prendido constantemente en el caso que se quede quiero. Es por eso que en los aparatos a led modernos SI LOS MOVEMOS como en el caso de un auto, podemos ver como titila literalmente. ¡Hace la prueba!

Este mismo principio, aplica a control de velocidad de motores, si lo prendemos por un ratito, el motor acelerará a su velocidad nominal, pero si le quitamos la alimentación ANTES de que llegue a su velocidad nominal, comenzará a desacelerarse. Si lo mantenemos dentro de esa aceleración y desaceleración periódica, el humano lo percibe como una velocidad «constante» y menos a la nominal.

Todo esto tiene su fundamento matemático a través de integrales pero no nos vamos a meter con eso. Creanmé que todo cierra y mediante una integral, vamos a ver como el tiempo que el led está prendido vs el tiempo apagado, da un valor promedio de 1V por mas que le apliquemos 5v.

MAGIA

Cómo funciona un PWM

El tiempo que la señal se encuentra en el nivel alto ( 5 voltios ) lo denominamos como tiempo on ( Ton ) mientras que el tiempo que está en nivel bajo lo denominamos tiempo off ( Toff ). La suma del tiempo on y el tiempo off es el periodo de la señal ( T ).

CÓMO FUNCIONA EL PWM y como aplicarlo a tu proyecto correctamente 1
T = Ton + Toff

Y como en toda señal periódica, el inverso de del periodo ( 1 / T ) es la frecuencia de la señal.

¿Cómo funciona el PWM? Variando su valor de tensión entre dos valores conocidos, por ejemplo Vcc y GND en periodos concretos de tiempo y con una frecuencia fija. Estos periodos reciben nombres especiales.

Uno de las características más importantes de una señal PWM es su ciclo de trabajo o Duty Cycle, en ingles, ya que este es el que varia en un PWM.

El ciclo de trabajo no es otra cosa que la relación entre el tiempo de encendido y el periodo o tiempo total del PWM.

 \begin{equation*} DC \ = \ \frac{T_{on}}{T} \end{equation*}

(1) 

Cuanto mayor sea el duty cycle, mayor tiempo estará la señal de tensión en alto, sin variar el periodo. Por consecuencia, como el periodo no varia y la suma de Ton y Toff, si el tiempo de encendido aumenta, el tiempo de apagado disminuye.

En la siguiente animación puedes ver cómo varía el duty cycle al variar el tiempo de encendido.

CÓMO FUNCIONA EL PWM y como aplicarlo a tu proyecto correctamente 2
Agradecimiento: rinconingenieril

Este es el motivo por el cual se llama modulación de ancho de pulso, porque literalmente se varia el ancho del pulso de nievel alto.

Normalmente el valor de ciclo de trabajo se expresa en porcentaje y para ello solo debemos multiplicar por 100 a la ecuación (1).

 \begin{equation*} DC \ = \ \frac{T_{on}}{T} \ \cdot 100 \end{equation*}

(2) 

Cuando el ciclo de trabajo es 90%, como en la siguiente imagen, la señal está en nivel alto durante el 90% del periodo.

PWM 90%
PWM 90%

Cuando el ciclo es de 20%, como en la siguiente imagen, la señal estará el 20% del tiempo en nivel alto y el 80% en nivel bajo.

PWM 20%
PWM 20%

Para qué sirve un PWM

Hasta entendemos los fundamentos, espero por tu bien que seas tan o más ansioso que yo y ya hayas programado algo en un Arduino Nano o Arduino UNO, pero si no, olvidate, vamos a poner unos cuantos ejemplos.

Lo cierto es que al variar el duty cycle de una señal PWM, lo que estamos haciendo es variar su tensión media y esta es la clave por la cual usamos tanto el PWM.

Cuando aplicamos PWM a ciertos componentes electrónicos, por ejemplo, los LED, los motores de corriente continua o ventiladores, incluso altavoces y zumbadores, cambiamos su comportamiento normal y podemos exprimir su jugo mucho mas.

para motores – control de velocidad

Una opción puede ser controlar la velocidad de un motor de corriente continua, por ejemplo los que usan algunos ventiladores de PC 0 coolers, aunque se puede usar con cualquier motor de corriente continua tal y como vimos en un tutorial anterior sobre controlar un motor de corriente continua con PWM.

Cuando varía el ciclo de trabajo, varía la velocidad ya que varía la tensión media en el bobinado del motor. Con un ciclo de trabajo de 100%, el motor girará a la máxima velocidad. Al reducir el ciclo de trabajo, se reducirá la velocidad.

Tener en cuenta, que se necesita un driver de corriente para alimentar el motor con PWM, de ninguna manera podes conectar el motor directamente a un 555 o un arduino porque lo vas a quemar por corriente. Más info.

para led RGB y dimmer

Si tenemos un LED común o un led RGB conectado a un microcontrolador, podemos variar el brillo con el que se enciende el LED variando la señal PWM a la que se sometemos o cambiarle el color, dado que al cambiar el brillo de cada color, podemos mezclar 16M de colores.

CÓMO FUNCIONA EL PWM y como aplicarlo a tu proyecto correctamente 3

Si le enviamos una señal de 100% de ciclo de trabajo, el LED se encenderá con todo su potencia óptica y por tanto con todo su brillo. Si lo conectamos a una señal del 50% de duty cycle, el LED se encenderá con la mitad de su brillo.

en fuentes switching

Este punto es complejo y avanzado, pero no quería dejar de mencionar que una fuente switching funciona con PWM.

CÓMO FUNCIONA EL PWM y como aplicarlo a tu proyecto correctamente 4
Fijarse en el PWM COMParator

Básicamente se usa el PWM para alimentar una bobina y por el funcionamiento de la misma, se regula una tensión de salida según sea el ancho de pulso de este PWM.

en un buzzer

Otro clásico es enviar una señal PWM que varía su duty cycle a un altavoz o zumbador para generar sonidos y melodías de manera sencilla y rápida. Un ejemplo puede ser cuando tocamos la Marcha Imperial con arduino o El Mario en Arduino.

Acá hay una trampa de la teoría musical, para generar distintos sonidos, se necesitan diferentes frecuencias y el PWM como ustedes ya saben, MANTIENE LA FRECUENCIA. Con lo que (el pwm) no genera realmente distintos sonidos, aunque TAL VEZ y solo tal vez nuestro cerebro interpreta esto (por los armónicos).

Pero la POSTA, la papa, la real realidad es que con pwm podemos controlar el volumen del buzzer, de la misma manera que controlamos el volumen de un led, es decir su intensidad.

en servos

Existen dos grandes tipos de servos en este mundo al dia de hoy.

  • Servo Analógico
  • Servo Digital

El primero se maneja con una señal de CC de diferentes valores de tensión y el otro se maneja con un PWM. A esta altura podes bien deducir que el analogico lo vamos a poder controlar con un PWM pero el digital SOLO se podrá controlar por un pwm dado que necesita contar el tiempo entre pulsos. No diré más, para eso puedes hacer click en nuestro post sobre servos, salvo que el digital es mucho más preciso.

CÓMO FUNCIONA EL PWM y como aplicarlo a tu proyecto correctamente 5

PWM con 555

Cómo crear o generar una señal PWM con Arduino

Como siempre, existen muchas alternativas a la hora de generar una señal PWM. Una de las más clásicas es usar un microcontrolador.

SI decides usar un microcontrolador, existen dos posibilidades, que no exista ninguna librería disponible que lo haga, o que si si exista. Si no existe, el PWM lo puedes crear usando un temporizador del microcontrolador.

Otra alternativa puedes ser usar el clásico Arduino para generar la señal de modulación de ancho de pulso. En Arduino la señal de PWM la generamos mediante el uso del método analogWrite(); En el siguiente ejemplo leemos la señal de una entrada analógica la convertimos en una señal de 0 a 255 y la enviamos a la salida PWM.

int value = 0;
void setup() {
pinMode(6,OUTPUT);
}
void loop() {
value = analogRead(0);
value = map(value, 0, 1024, 0, 255);
analogWrite(6, value);
}

Las salidas PWM en Arduino pueden tomar valores entre 0 y 255 (8 bits) que corresponden con 0 y 100% respectivamente. Es por eso que estan MAL llamadas «salidas analogicas» y despues de leer este post, ya estas en condiciones de entender porqué las llaman así: Por el valor medio de tensión que sacan.

A %d blogueros les gusta esto: