PWM, czyli modulacja szerokości impulsu, reguluje czas załączenia sygnału w powtarzającym się okresie. Zmiana wypełnienia D pozwala sterować silnikiem, jasnością diody LED lub napięciem po filtracji. Wyjście mikrokontrolera dostarcza sygnał sterujący, a zasilanie większych odbiorników wymaga stopnia mocy.

Co oznaczają wypełnienie, okres i napięcie średnie PWM?

Okres T to czas pełnego powtórzenia przebiegu, a t_on oznacza czas stanu wysokiego w tym okresie. Dla przebiegu aktywnego stanem wysokim obowiązują zależności:

D = t_on / T; f = 1 / T; t_on = D · T.

Wypełnienie mieści się od 0 do 1; zapis procentowy to D · 100%. Nie jest stosunkiem częstotliwości. D = 0 oznacza stały stan niski, D = 1 — wysoki. Przy sterowaniu aktywnym stanem niskim odbiornik działa przez część okresu 1 − D.

Przykład przebiegu PWM

Napięcie średnie jest średnią po czasie, dlatego dla idealnego przebiegu prostokątnego V_avg = D · V_high + (1 − D) · V_low. Jeśli V_low = 0, wzór upraszcza się do V_avg = D · V_high. V_high i V_low to napięcia obu stanów. Przed filtrem nadal występują impulsy o pełnej amplitudzie.

Tabela wypełnienia i napięcia średniego

Założenia (przykład hipotetyczny): idealny przebieg, V_low = 0 V, V_high = 3,3 V albo 5 V. Tabela zawiera podstawienia do V_avg = D · V_high oraz wyniki.

Wypełnienie DV_avg dla 3,3 VV_avg dla 5 V
0% = 00 · 3,3 V = 0 V0 · 5 V = 0 V
25% = 0,250,25 · 3,3 V = 0,825 V0,25 · 5 V = 1,25 V
50% = 0,50,5 · 3,3 V = 1,65 V0,5 · 5 V = 2,5 V
75% = 0,750,75 · 3,3 V = 2,475 V0,75 · 5 V = 3,75 V
100% = 11 · 3,3 V = 3,3 V1 · 5 V = 5 V

Tabela nie określa mocy ani obciążalności wyjścia. Dla rezystancji R zasilanej impulsami od 0 do U moc średnia wynosi P = D · U² / R, a nie (D · U)² / R. W silniku znaczenie mają również indukcyjność i obciążenie.

Współczynnik wypełnienia sygnału PWM

Rozdzielczość licznika i częstotliwość PWM

N-bitowy licznik ma 2N stanów, czyli nominalnie 2N poziomów nastawy PWM. Przeliczanie kodów na wypełnienie oraz obsługę krańców zakresu sprawdź w dokumentacji.

Dla szybkiego PWM ze zliczaniem w górę przez 2N stanów obowiązuje f_PWM = f_zegara / (preskaler · 2N). Preskaler jest dzielnikiem zegara. Krok wypełnienia wynosi nominalnie ΔD = 1 / 2N. Przy stałym zegarze i preskalerze dodatkowy bit zmniejsza częstotliwość o połowę. Wzór nie dotyczy zliczania w obu kierunkach ani skróconego zakresu.

W klasycznym Arduino Uno analogWrite przyjmuje nominalnie wartości 0–255, od wyłączenia do pełnego załączenia. Częstotliwość to typowo około 490 Hz albo około 980 Hz na różnych wyprowadzeniach, zależnie od licznika sprzętowego i konfiguracji. Funkcja nie wytwarza napięcia analogowego.

Jak dobrać częstotliwość i oszacować straty?

Wyższa częstotliwość zmniejsza tętnienia, lecz zwiększa straty przełączania i ogranicza rozdzielczość. Może ograniczyć pisk, ale słyszalne drgania nadal mogą wynikać z modulacji lub pracy przerywanej.

Przy liniowym przybliżeniu zboczy orientacyjne straty przełączania wynoszą P_sw ≈ ½ · U · I · (t_r + t_f) · f. U to napięcie, I — prąd przełączania, t_r i t_f — efektywne czasy narastania i opadania. Mnożnik ½ wynika z trójkątnego przybliżenia impulsów mocy podczas zboczy.

Moc ładowania bramki wynosi P_g = Q_g · U_GS · f, przy sterowaniu od zerowego napięcia bramki do U_GS. Q_g to całkowity ładunek bramki. Energia Q_g · U_GS jest tracona w sterowniku i rezystancjach bramki, nie w całości w tranzystorze mocy.

Przykład strat przełączania i sterowania bramką

Założenia (przykład hipotetyczny): U = 24 V, I = 2 A, t_r = 40 ns, t_f = 60 ns, f = 20 kHz, Q_g = 20 nC, U_GS = 10 V. Prąd podczas obu zboczy przyjmujemy jednakowy; pomijamy prądy pojemnościowe i odzyskiwanie ładunku diody.

P_sw ≈ ½ · 24 · 2 · (40 + 60) · 10−9 · 20 000 W = 0,048 W.
P_g = 20 · 10−9 · 10 · 20 000 W = 0,004 W.

Wyniki nie wyznaczają temperatury ani strat przewodzenia i diody. Czasy zboczy oraz ładunek bramki dobierz z karty katalogowej dla właściwych warunków. Napięcie progowe MOSFET-a nie zapewnia małej rezystancji włączenia.

Regulator napięcia i kontroler prędkości PWM

Filtr RC: napięcie średnie, tętnienia i czas odpowiedzi

Szeregowy rezystor i kondensator do masy tworzą filtr pierwszego rzędu. Dla idealnego źródła i nieobciążonego wyjścia stała czasowa to τ = R · C, a częstotliwość graniczna f_c = 1 / (2πRC). Większe RC zmniejsza tętnienia, lecz spowalnia odpowiedź.

Dla impulsów od 0 do U, w stanie ustalonym i przy RC ≫ T, tętnienie szczyt–szczyt można oszacować jako ΔU ≈ U · D · (1 − D) / (f · R · C). Wzór wynika z ładowania prądem około U · (1 − D) / R przez czas D / f. Ponieważ D · (1 − D) = ¼ − (D − ½)², maksimum przypada na D = 0,5.

Przykład filtru RC

Założenia (przykład hipotetyczny): U = 3,3 V, D = 0,5, f = 20 kHz, R = 10 kΩ, C = 100 nF. Źródło jest idealne, a wejście odbiornika nie pobiera prądu; obliczenia dotyczą stanu ustalonego.

T = 1 / f = 1 / 20 000 s = 50 µs.
RC = 10 000 · 100 · 10−9 s = 1 ms = 20 · T.
f_c = 1 / (2π · 0,001 s) ≈ 159 Hz.
V_avg = D · U = 0,5 · 3,3 V = 1,65 V.
ΔU ≈ 3,3 · 0,5 · 0,5 / (20 000 · 10 000 · 100 · 10−9) V = 0,04125 V = 41,25 mV.

Wynik nie gwarantuje dokładności. Obciążenie R_L obniża średnią do D · U · R_L / (R + R_L), a stała czasowa zmienia się na (R ∥ R_L) · C. Uwzględnij też tolerancje i rezystancję źródła. RC tworzy sygnał napięciowy; nie zastępuje zasilacza mocy.

Filtr LC w przetwornicy obniżającej napięcie

Dla przetwornicy obniżającej w stanie ustalonym, przy ciągłym prądzie cewki i idealnych elementach, bilans napięcia na cewce daje (U_in − U_out) · D − U_out · (1 − D) = 0, czyli U_out = D · U_in.

Z di/dt = U_L / L i czasu załączenia D / f wynika tętnienie prądu szczyt–szczyt: ΔI_L = (U_in − U_out) · D / (L · f). L to indukcyjność, U_in i U_out — napięcia wejścia i wyjścia. Dodatnia część trójkątnego prądu kondensatora przenosi ładunek ΔI_L · T / 8. Z zależności ΔU = ΔQ / C otrzymujemy ΔU ≈ ΔI_L / (8 · f · C), przy pominięciu rezystancji szeregowej kondensatora.

Przykład tętnień prądu i napięcia

Założenia (przykład hipotetyczny): U_in = 12 V, D = 0,5, L = 100 µH, f = 100 kHz, C = 100 µF, średni prąd odbiornika I_out = 1 A. Przyjmujemy stałe obciążenie, stan ustalony, idealne elementy i ciągły prąd cewki.

U_out = 0,5 · 12 V = 6 V.
ΔI_L = (12 − 6) · 0,5 / (100 · 10−6 · 100 000) A = 0,3 A.
I_min = I_out − ΔI_L / 2 = 1 − 0,3 / 2 = 0,85 A.
ΔU ≈ 0,3 / (8 · 100 000 · 100 · 10−6) V = 0,00375 V = 3,75 mV.

Dodatnie I_min oznacza ciągły prąd w tym modelu. Wynik pomija rezystancję kondensatora, przepięcia, spadki na kluczach i nasycenie cewki. Nie określa stabilności regulatora. Przy nieciągłym prądzie U_out = D · U_in wymaga zmiany.

PWM do silników, diod LED i serwomechanizmów

OdbiornikCzęstotliwość i sterowanieZakres wymagający uwagi
Silnik prądu stałegoKompromis między tętnieniami, hałasem i stratami; potrzebny stopień mocy.Małe D może nie zapewniać rozruchu. Pomijanie tego zakresu wymaga sprawdzenia prądu i skoku momentu.
Dioda LEDCzęstotliwość zależy od migotania i rejestracji kamerą. Konieczne ograniczenie prądu impulsu.Krótkie impulsy bywają zniekształcane. Pomijanie dolnych nastaw ogranicza ściemnianie; odczuwana jasność nie jest liniowa względem D.
Serwomechanizm modelarskiTypowo okres około 20 ms i szerokość impulsu około 1–2 ms. Właściwe wartości zależą od modelu; znaczenie ma czas impulsu, nie samo D.Granice impulsów wynikają z dokumentacji modelu; nie należy dowolnie pomijać zakresu poleceń.

Sprawdź minimalny czas włączenia i wyłączenia. Sterownik górnego tranzystora wymagający doładowania kondensatora zasilającego bramkę może nie utrzymywać pełnego wypełnienia. Silnik potrzebuje diody swobodnego przepływu lub mostka zapewniającego recyrkulację prądu. Utrzymanie zadanej prędkości wymaga sprzężenia zwrotnego.

Schemat obwodu tranzystorowego PWM

Schemat ilustruje sterowanie impulsowe; dobór tranzystorów i zabezpieczeń zależy od odbiornika oraz zasilania.

Wiele kanałów i ładowanie akumulatora

Generator PCA9685 sterowany przez I²C odciąża mikrokontroler od odmierzania impulsów. Wyjścia sygnałowe nie zasilają serw. Napięcia, prądy i nastawy częstotliwości sprawdź w dokumentacji układu i modułu.

Moduł sterownika PWM I2C
Zielona dioda LED zasilania na płytce PWM

Kontrolka nie potwierdza poprawności impulsów ani wydajności zasilania.

Schemat sterownika ładowania PWM z Arduino

Schemat ładowarki z Arduino wymaga uzupełnienia o pomiary i algorytm zgodny z chemią akumulatora. Rysunek nie określa zabezpieczeń ani dopuszczalnego prądu.

Jak prowadzić sygnały PWM i obwody mocy na PCB?

O zakłóceniach decydują zbocza i geometria połączeń. Prześledź drogi prądu podczas obu stanów klucza.

  • Pętle prądowe: skróć obwody obejmujące kondensator zasilania, klucze i elementy recyrkulacji. Odsprzęganie umieść blisko wyprowadzeń zasilania i powrotu.
  • Bramka tranzystora: rezystor umieść blisko bramki. Większa rezystancja może tłumić oscylacje, ale wydłuża zbocza i zwiększa straty.
  • Masa: zapewnij krótki powrót sterowania do źródła tranzystora. Oddziel powroty prądów mocy od odniesienia pomiarów. Unikaj szczelin masy pod PWM.
  • Węzeł przełączający: ogranicz jego powierzchnię i odsuń wejścia pomiarowe, uwzględniając chłodzenie elementów.
  • Pomiary i stan spoczynkowy: zapewnij punkty pomiarowe oraz rezystor ustalający stan bramki podczas uruchamiania.

Położenie kondensatora odsprzęgającego powiąż z pętlą prądu. Ścieżki i przelotki uzgodnij z producentem PCB według prądów i nagrzewania. Dokumentacja montażu PCB powinna wskazywać wymagania chłodzenia i polaryzację elementów.

Na prototypie płytki sprawdź rozruch i skrajne obciążenia. Bramkę mierz względem źródła, z krótkim połączeniem odniesienia sondy.

Co sprawdzić przed zleceniem/wdrożeniem

  • Czy określono napięcia, polaryzację, częstotliwość i zakres wypełnienia?
  • Czy licznik zapewnia wymaganą rozdzielczość bez konfliktu z innymi funkcjami programu?
  • Czy sterownik obsługuje najkrótsze impulsy i skrajne nastawy?
  • Czy tranzystor, sterownik bramki i droga recyrkulacji odpowiadają prądowi rozruchu oraz warunkom wyłączenia?
  • Czy obliczenia filtru uwzględniają obciążenie, tolerancje, rezystancję kondensatora i nasycenie cewki?
  • Czy ograniczono pętle impulsowe i zakłócanie masy pomiarowej?
  • Czy ustalono kontrolę temperatury, tętnień i reakcji na błędy?

Czego ten artykuł nie rozstrzyga: obliczenia nie określają obciążalności, stabilności regulatora ani temperatury. Dopuszczalne napięcia, prądy, czasy impulsów i warunki montażu zależą od kart katalogowych oraz specyfikacji producenta.