Esta técnica es utilizada para generar señales analógicas mediante la utilización de un dispositivo digital ( como el MCU). En esta entrada les voy a explicar funciona el PWM, en un Atmega2560 (Arduino Mega).
En esta entrada voy a utilizar un Arduino Mega 2560, pero no utilizaré el lenguaje Arduino, sino que utilizaré el entorno eclipse, y programaré directamente en lenguaje C. Material interesante es el datasheet de avr.
PWM - Modulación de Ancho de Pulso
La mayoría de los dispositivos digitales generan dos tipos de salidas. Encendido ó HIGH que son 5 V, y apagado ó LOW que es representado con 0 V. Pero, ¿qué sucede si quisiéramos generar una salida de 2V o 3.2V? La solución es la utilización de la técnica de PWM.
Normalmente, la señal de salida de un MCU tiene una forma cuadrada, que tiene algunas características a notar:
- La señal se encuentra en un intervalo de tiempo en HIGH. (Ton)
- La señal se encuentra en un intervalo de tiempo en LOW. (Toff)
- Cuando la señal se encuentra en HIGH la salida es de 5V.
- Cuando la señal se encuentra en LOW la salida es de 0V.
Figura 1: Señal cuadrada de la salida normal de un MCU |
Duty Cycle (ciclo de trabajo)
El ciclo de trabajo se define con la siguiente fórmula:
(Ton/Ttotal) * 100 = Duty Cycle
Esto es el porcentaje del tiempo que la señal se encuentra en HIGH. Como se puede observar en la Figura 1 el Ton = Toff = Mitad del tiempo del periodo. Si la frecuencia de la salida (5V) es alta, entonces se obtendría 2.5V.
Por ejemplo si se quiere generar 1V como salida, se tendría que hacer un simple despeje de fórmulas y una regla de 3 simple, se obtendría el ciclo de trabajo necesario para generar 1 Volt.
Si 5V -> 100% of Vcc
1V -> x = 20%
Entonces el ciclo de trabajo es 20%.
Haciendo
(20/100)*1 = 0.2 -> Ton.
Otro ejemplo, si se tiene un Duty cycle de 75% se tiene un 75% del Vcc de salida, es decir 3.75V.
En próximas entradas mostraré como generar una señal PWM con un AVR.
Entonces el ciclo de trabajo es 20%.
Haciendo
(20/100)*1 = 0.2 -> Ton.
Otro ejemplo, si se tiene un Duty cycle de 75% se tiene un 75% del Vcc de salida, es decir 3.75V.
En próximas entradas mostraré como generar una señal PWM con un AVR.
No hay comentarios:
Publicar un comentario