Zgodnie z definicją PWM (Pulse-Width Modulation), jest metodą regulacji przebiegu o stałej amplitudzie i częstotliwości polegającą na zmianie wypełnienia. Modulacja PWM jest używana np. do sterowania silnikami elektrycznymi. Jest to też łatwy sposób zmiany jasności świecenia diod LED. Na rysunku 1 pokazano typowy przebieg PWM.
Zgodnie z podaną wcześniej definicją jego okres jest stały, a zmianie podlega czas tw oznaczający czas trwania impulsu. Ze wzoru wypełnienie = (tw/okres impulsu PWM)×100% można obliczyć wypełnienie przebiegu PWM podawane w procentach. Dla zilustrowania opisu, na rysunku 2 pokazano dwa przebiegi PWM o wypełnieniach 50% i 25%. W ekstremalnych przypadkach dla wypełnienia równego 100%, wyjście generatora PWM przyjmie poziom wysoki, natomiast dla wypełnienia równego 0% będzie wyzerowane. Te informacje są prawdziwe dla założenia, że poziomem aktywnym jest poziom wysoki.
Sterowanie diod LED przebiegiem PWM
W typowym urządzeniu z mikrokontrolerem, do sterowania diodami LED wykorzystuje się wyjścia cyfrowe. Ponieważ taka linia może przyjąć jeden z dwóch stanów, można jej użyć do zaświecenia lub zgaszenia diody LED, ale nie da się zmienić jasności jej świecenia.
Jeżeli dioda LED będzie okresowo włączana z odpowiednio dużą częstotliwością, oko człowieka nie zarejestruje migotania, natomiast zmiana czasu trwania włączenia, czyli wypełnienie przebiegu PWM, będzie wpływała na subiektywnie odczuwaną jasność świecenia diody. W ten sposób w systemie cyfrowym można w prosty sposób uzyskać efekt sterowania analogowego.
Użyta do eksperymentów płytka ewaluacyjna KA-NUCLEO-F411CE ma zamontowane dwie diody LED, pojedynczą i potrójną, którymi można sterować za pomocą aplikacji. W tym przykładzie zostanie użyta 3-kolorowa dioda LED D2. Sposób jej połączenia z portami kontrolera STM32F411CE pokazano na rysunku 3. Wybrane przez konstruktorów płytki porty kontrolera, nie są zupełnie przypadkowe, ponieważ są to wyprowadzenia kontrolowane przez Timer1, sprzętowy zegar STM32F411, a jedną z funkcji timerów może być generowanie przebiegów PWM.