No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Modulación de Ancho de Pulsos

21/30
Recursos

Aportes 0

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Mi resumen en graficas
.

.

El uso de PWM nos permite controlar, entre muchas cosas, la intensidad con que brilla un LED o la velocidad la que gira un motor DC. Para ello primero establecemos la **frecuencia** (1/T) que se usará y la **resolución** (#bits). Para manejar la intensidad del LED o la velocidad del motor contamos con el **duty cycle** (%), con lo cual manejamos el porcentaje de la señal prendida y apagada dentro de cada ciclo o periodo. ![](https://exploreembedded.com/wiki/images/5/54/0_LPC1768_PWM.gif)
# **Generación de Señales Simuladas de Tipo Analógico con PWM** ## **¿Qué significa una señal "simulada"?** Los **microprocesadores y microcontroladores** son dispositivos **digitales** por naturaleza, lo que significa que no pueden generar señales analógicas directamente. Sin embargo, podemos utilizar una técnica llamada **Modulación por Ancho de Pulso (PWM, por sus siglas en inglés)** para simular una señal analógica utilizando sistemas digitales. ## **¿Cómo funciona la Modulación por Ancho de Pulso (PWM)?** El principio de PWM se basa en el comportamiento de las **cargas eléctricas** en los dispositivos electrónicos. Para entenderlo mejor, observemos cómo se representa una señal en una gráfica: * **Eje horizontal:** Representa el **tiempo** y muestra cómo evoluciona la señal. * **Eje vertical:** Representa el **voltaje**. En este caso, tomaremos un ejemplo de **0 a 5V**. La señal se divide en **ciclos repetitivos**. Dentro de cada ciclo, podemos ajustar el tiempo en que la señal permanece **en alto (5V)** y **en bajo (0V)**. Por ejemplo: * Si la señal está activa el **25% del tiempo**, el dispositivo percibirá **1.25V en promedio**. * Si está activa el **50% del tiempo**, el dispositivo percibirá **2.5V en promedio**. * Si está activa el **75% del tiempo**, el dispositivo percibirá **3.75V en promedio**. Aunque la señal siempre oscila entre **0V y 5V**, el receptor la percibe como un **promedio de voltaje**, similar a una señal analógica. ## **Frecuencia y Ciclo de Trabajo (Duty Cycle)** Para que este efecto funcione correctamente, la señal debe alternarse a una **frecuencia muy alta** (miles de veces por segundo). * La **frecuencia** se mide en **Hertz (Hz)** o **kilohertz (kHz)**. * El **ciclo de trabajo** indica el **porcentaje del tiempo** que la señal permanece en alto dentro de un ciclo. En el **ESP32**, por ejemplo, si configuramos un ciclo de trabajo del **50%**, el dispositivo recibirá **2.5V en promedio**, aunque en realidad solo recibe pulsos de **0V y 5V**. ## **Implementación de PWM en ESP32** Para configurar el **PWM en ESP32**, utilizaremos la **librería LEDC**, la cual sigue esta estructura: 1. **Timer:** Genera la señal base con una frecuencia específica. 2. **Canal:** Controla el ciclo de trabajo de la señal. 3. **GPIO:** Envía la señal al dispositivo (por ejemplo, un LED). ### **Configuración del Timer** El ESP32 permite elegir entre dos tipos de relojes para el PWM: * **Alta velocidad (hardware):** * Más estable y sin interrupciones. * Puede generar frecuencias muy altas. * Solo hay un reloj disponible. * **Baja velocidad (software):** * Más flexible, ya que se puede modificar en tiempo real. * Puede generar pequeños **glitches** cuando el microcontrolador cambia de tarea. La elección entre estos dos métodos dependerá de la **precisión y estabilidad** necesarias para el proyecto. ### **Configuración del Canal PWM** El canal nos permite establecer **qué porcentaje de uso tendrá la señal** en un pin específico. * El **ciclo de trabajo** puede ajustarse en tiempo real para modificar la señal de salida. * Podemos definir valores como **25%, 50%, 75%**, etc. ### **Resolución del PWM** La resolución determina **qué tan preciso será el control del ciclo de trabajo**. Se define en **bits**, lo que permite dividir el tiempo en fracciones más pequeñas: * **8 bits:** 256 niveles de intensidad. * **12 bits:** 4096 niveles de intensidad. * **Mayor número de bits = Mayor precisión.** No todas las aplicaciones requieren alta precisión, pero en ciertos casos puede ser útil. ### **Funciones Adicionales (Opcionales)** Aunque no las utilizaremos en este caso, el ESP32 ofrece otras funciones avanzadas: * **Fade Control:** Permite hacer **transiciones suaves** entre diferentes niveles de PWM, útil para efectos de atenuación en luces o motores. * **Sistema de Interrupciones:** Genera una señal a intervalos regulares, funcionando como una especie de **alarma interna** en el microcontrolador. ## **Salida de la Señal PWM** Una vez configurada, la señal **sale por el GPIO** y puede utilizarse para controlar dispositivos como **LEDs, motores o sistemas de audio**. Por ejemplo, podemos **regular la iluminación de un LED** entre **0% y 100%** ajustando el ciclo de trabajo de la señal PWM.
la frecuencia del PWM depende de la respuesta en frecuencia de la carga que se va a alimentar, para leds 500 Hz es mas que suficiente pero para motores DC se puede necesitar mas según los parámetros del rotor y el estator del motor para evitar vibraciones