Kalkulator KB-45
Kalkulator PWM timera mikrokontrolera
Ustawienia timera bez ręcznych obliczeń i błędów o jeden.
Wynik
W skrócie: Obliczanie PWM timera mikrokontrolera: częstotliwość na podstawie zegara, preskalera i TOP (ARR), rozdzielczość, wartość porównania dla wypełnienia, napięcie średnie. Przykład: Częstotliwość PWM: 7,813 kHz.
Przykład obliczeń
| Częstotliwość zegara | 16 MHz |
|---|---|
| Preskaler | 8 |
| TOP (ARR) | 255 |
| Wypełnienie | 50 % |
| Napięcie wyjściowe | 5 V |
| Wymagana częstotliwość | 1000 Hz |
| Częstotliwość PWM | 7,813 kHz |
|---|---|
| Rozdzielczość | 8 bit |
| Czas trwania jednego kroku | 500 ns |
| Wartość porównania | 128 |
| Napięcie średnie | 2,5 V |
| TOP dla wymaganej częstotliwości | 1999 |
Jak to jest obliczane
bity = log₂(TOP + 1)
Timer zlicza takty od zera do TOP, a jeden pełny cykl zliczania odpowiada jednemu okresowi PWM. Im wyższa częstotliwość przy tym samym zegarze, tym mniej kroków pozostaje do regulacji. W STM32 do rejestru PSC wpisuje się wartość o jeden mniejszą od preskalera.
Na co zwrócić uwagę
- W przypadku diod LED wybierz częstotliwość powyżej 200 Hz, aby migotanie nie było widoczne na kamerze ani gołym okiem.
- Silniki najlepiej zasilać sygnałem PWM o częstotliwości powyżej 16–20 kHz — wtedy znika słyszalny pisk.
Często zadawane pytania
Jak obliczyć częstotliwość PWM timera?
f = fclk / (PSC · (TOP + 1)). Przy 16 MHz, preskalerze 8 i TOP 255 otrzymujemy 7,81 kHz i rozdzielczość 8 bitów.
Jak uzyskać PWM 1 kHz?
TOP = fclk / (PSC · f) − 1. Przy 16 MHz i preskalerze 8 wynosi on 1999, a rozdzielczość około 11 bitów.
Jaką częstotliwość PWM ustawić dla silników i diod LED?
Dla diod LED co najmniej 200 Hz, a żeby nie było migotania na kamerze — co najmniej 1 kHz. Dla silników najlepiej 16–20 kHz: znika słyszalny pisk. Przy tej samej częstotliwości taktowania wyższa częstotliwość oznacza mniejszą rozdzielczość.
