Czas czytania: 3 min.

Jak sterować prędkością silnika? Jak przyciemniać i rozjaśniać diody LED? W tym artykule odpowiadamy właśnie na te pytania. Ta wiedza przyda się Wam w wielu projektach.

Czym jest PWM i wypełnienie?

PWM to w rozwinięciu Pulse-Width Modulation, czyli z angielskiego “modulacja szerokością pulsu”. Jest to metoda sterowania sygnałem prądowym lub napięciowym, poprzez zmianę wypełnienia sygnału. Amplituda oraz częstotliwość sygnału pozostaje stała, ale zmienia się tak zwane wypełnienie. 

Wyobraź sobie prosty układ, w którym zainstalowana jest dioda LED, która włącza się i wyłącza na przemian programowo. Od momentu włączenia diody, przez jej wyłączenie, aż do ponownego włączenia okres czasu jest równy 1 milisekundę. Za “włączenie” można uznać moment, w którym do diody dostarczany jest sygnał logiczny “1”, czyli na jej wyprowadzenie podano zasilanie o właściwej dla niej wartości napięcia. Wyłączeniem natomiast nazwiemy moment, w którym dioda otrzymuje logiczne “0”, czyli jest pozbawiona zasilania. Dioda przez pół milisekundy świeci, natomiast przez drugie pół milisekundy jest wyłączona i ten proces powtarza się w kółko. W ten sposób wygląda każda milisekunda. Z perspektywy ludzkiego oka nawet nie widać mrugania – zmiana jest dla nas zbyt szybka do zauważenia, co daje złudny efekt, że dioda po prostu świeci słabiej, niż gdyby była na stałe włączona.

układ z diodami LED
Elektroniczny układ z diodami LED to jeden z najprostrzych do zbudowania obwodów.

Zmieniając współczynnik wypełnienia, tak naprawdę zmienia się czas trwania stanu wysokiego (świecenia diody) podczas określonego okresu (w tym przypadku 1 milisekundy). Przykładowo, jeżeli wypełnienie zostanie zwiększone, to dioda może świecić 0,8 milisekundy i nie świecić przez 0,2 milisekundy. W efekcie, dla ludzkiego oka dioda będzie po prostu świeciła jaśniej niż z wypełnieniem pozwalającym świecić jej tylko przez 50% okresu. Procent okresu, w którym stan logiczny jest wysoki nazywamy właśnie współczynnikiem wypełnienia. Czyli w uproszczeniu, zasada działania sygnału PWM to sposób modulacji prostokątnego sygnału, poprzez regulację szerokości impulsu (czyli regulację współczynnika wypełnienia w danym przedziale czasowym).

PWM w Arduino i Raspberry Pi

PWM to powszechnie stosowany sygnał w technice mikroprocesorowej. Można go łatwo zaimplementować programowo, ale w płytkach takich jak Arduino czy Raspberry Pi przygotowane są odpowiednie porty do tego celu. Sygnał PWM jest w tym przypadku generowany sprzętowo, co może znacząco odciążać działanie programu oraz ściąga z programisty konieczność samodzielnego pisania takiego kodu, wykorzystując przerwania mikroprocesora. Dla przykładu w Arduino UNO znajdują się kanały, które są w stanie sprzętowo generować sygnał PWM – najczęściej w tego typu urządzeniach pełny okres to 1/490 sekundy, a wypełnienie może mieścić się w granicach od 0 do 255 (8 bitów).

Minikomputer Raspberry Pi 4
Raspberry Pi 4
Minikomputer Arduino
Arduino UNO

Do czego może być wykorzystywany PWM?

Najbardziej oczywiste wykorzystanie sygnału PWM to oczywiście sterowanie jasnością świecenia diody LED, ale powszechnie stosuje się go do znacznie szerszego spektrum zastosowań. Dobrym przykładem jest sterowanie pracą silnika DC. Zmieniając wartość wypełnienia możesz łatwo ograniczać lub zwiększać prędkość obrotów wału silnika. 

Dzięki takiemu sterowaniu możesz sensownie sterować na przykład prędkością jazdy Twojego robota mobilnego. Możesz łatwo sprawdzić działanie takiego układu. Wystarczy do tego celu płytka stykowa, silniczek, kilka przewodów połączeniowych, mostek H oraz na przykład Arduino i potencjometr. Po prawidłowym połączeniu komponentów możesz sterować potencjometrem zmieniając wypełnienie sygnału PWM podawanego na silnik DC. 

Podobny efekt możesz uzyskać zamiast silniczka podłączając buzzer. Zmieniając wypełnienie będziesz w stanie sterować głośnością emitowanego dźwięku. Kolejnym praktycznym zastosowaniem tego sygnału może być na przykład serwomechanizm. Odpowiednio zmieniając wypełnienie możesz precyzyjnie ustawiać jego położenie. Im większa rozdzielczość sygnału PWM, tym dokładniej będziesz mógł określać zadaną pozycję. 

Obwód elektryczny
Wystarczy najprostszy układ, by poznać i przetestować działanie syngału PWM.

To znakomite rozwiązanie, które świetnie sprawdzi się na przykład do robotów wymagających dużej precyzji w ruchach. Próbując uzyskać ten sam efekt za pomocą zestawu zwykłego silnika DC oraz enkodera, niestety otrzymasz znacznie mniej dokładny rezultat. 

Jest jeszcze praktycznie nieskończona ilość innych praktycznych zastosowań dla sygnału PWM. Warto samodzielnie poćwiczyć i sprawdzić w jaki sposób działa to zjawisko, aby w przyszłości móc je sprawnie wykorzystywać w swoich projektach.

Jak oceniasz ten wpis blogowy?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena: 4.5 / 5. Liczba głosów: 32

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.

Podziel się:

Picture of Mateusz Mróz

Mateusz Mróz

Marzyciel, miłośnik podróży i fan nowinek technologicznych. Swoje pomysły na Raspberry Pi i Arduino chętnie przekuwa w konkrety. Uparty samouk – o pomoc prosi dopiero wtedy kiedy zabraknie pozycji w wyszukiwarce. Uważa, że przy odpowiednim podejściu można osiągnąć każdy cel.

Zobacz więcej:

Patryk Mądry

Drukarka 3D Bambu Lab P1P – najważniejsze informacje

Nie da się ukryć, że firma Bambu Lab w ostatnim czasie wprowadziła dużo świeżości na rynku drukarek 3D. Ich niesamowita prędkość druku i łatwość obsługi sprawiła, że w krótkim czasie firma ta zyskała dużą ilość fanów. Dziś przyjrzymy się najtańszemu modelowi z rodziny P1 a dokładnie modelowi P1P.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ze względów bezpieczeństwa wymagane jest korzystanie z usługi Google reCAPTCHA, która podlega Polityce Prywatności oraz Warunkom użytkowania.