📌 Pulse-Width Modulation (PWM)
PWM — метод управления аналоговыми величинами с помощью цифрового сигнала, путём изменения длительности импульса при фиксированной частоте.
🧠 Как работает
PWM-сигнал — это прямоугольная волна, где изменяется длительность импульса (ширина), но частота остаётся постоянной.
- Duty Cycle (скважность) — процент времени, когда сигнал находится в высоком состоянии (
HIGH
) - Среднее напряжение = (duty cycle) × (макс. напряжение)
- Используется Timer и GPIO пин в режиме ШИМ
- Управление может быть ручным или аппаратным (через MCU/SoC)
Формула среднего напряжения:
Vavg = Vmax × (T_on / T_total)
⚙️ Где применяется
Область | Применение |
---|---|
Motor Control | Управление скоростью вращения |
LED-драйвера | Регулировка яркости |
Audio | Генерация простых звуковых волн |
Power Electronics | Импульсные источники питания |
Signal Generation | Аналоговые выходы в MCU |
💻 Пример (Arduino C)
int led = 9;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
analogWrite(led, 128); // 50% duty cycle (из 255)
}
📐 Сигнал PWM
|‾‾‾‾‾| |‾‾‾‾‾| |‾‾‾‾‾| ← 75% duty cycle
| |_____| |_____| |
🧩 Связанные технологии
-
GPIO — пины, поддерживающие PWM-выход
-
DAC — альтернатива для аналоговых сигналов
-
H-Bridge — используется с PWM для управления моторами
✅ Преимущества
-
Энергоэффективный способ управления мощностью
-
Простая реализация с использованием Timer
-
Высокая точность регулирования аналоговых величин
❌ Недостатки
-
Требует фильтрации для получения “чистого” аналогового сигнала
-
Зависимость от тактирования и точности Timer
-
Электромагнитные наводки при высокочастотной коммутации