Калькулятор KB-45
Калькулятор ШИМ таймера микроконтроллера
Настройки таймера без ручных вычислений и ошибок на единицу.
Результат
Коротко: Расчёт ШИМ таймера микроконтроллера: частота по тактовой, предделителю и TOP (ARR), разрядность, значение сравнения для заполнения, среднее напряжение. Пример: Частота ШИМ: 7,813 кГц.
Пример расчёта
| Тактовая частота | 16 МГц |
|---|---|
| Предделитель | 8 |
| TOP (ARR) | 255 |
| Заполнение | 50 % |
| Напряжение выхода | 5 В |
| Нужная частота | 1000 Гц |
| Частота ШИМ | 7,813 кГц |
|---|---|
| Разрядность | 8 бит |
| Длительность одного шага | 500 нс |
| Значение сравнения | 128 |
| Среднее напряжение | 2,5 В |
| TOP для нужной частоты | 1999 |
Как считается
биты = log₂(TOP + 1)
Таймер считает такты от нуля до TOP, и за один полный счёт проходит один период ШИМ. Чем выше частота при той же тактовой, тем меньше шагов остаётся на регулировку. В STM32 в регистр PSC записывают значение на единицу меньше предделителя.
На что обратить внимание
- Для светодиодов берите выше 200 Гц, чтобы мерцание не было заметно на камере и глазом.
- Моторы лучше кормить ШИМ выше 16–20 кГц: так пропадает слышимый писк.
Частые вопросы
Как рассчитать частоту ШИМ таймера?
f = fclk / (PSC · (TOP + 1)). При 16 МГц, предделителе 8 и TOP 255 получается 7,81 кГц и 8 бит разрешения.
Как получить ШИМ 1 кГц?
TOP = fclk / (PSC · f) − 1. При 16 МГц и предделителе 8 это 1999, разрешение около 11 бит.
Какая частота ШИМ нужна для моторов и светодиодов?
Светодиодам от 200 Гц, а чтобы не мерцало на камере, от 1 кГц. Моторам лучше 16–20 кГц: пропадает слышимый писк. Чем выше частота при той же тактовой, тем меньше разрядность.
