Частота разработки для ШИМ - PullRequest
2 голосов
/ 17 февраля 2012

Это должна быть простая формула, но я не могу понять это.

У меня микросхема AVR 16 МГц.

Мне нужно, чтобы сигнал ШИМ был 24 кГц.

Какова формула, чтобы решить, какой лучший Prescaler.

Я использую 16-битный таймер.

Ответы [ 2 ]

5 голосов
/ 17 февраля 2012

Прочитайте таблицу данных (здесь, например, из таблицы ATmega328P, 16-битный таймер / счетчик1), чтобы получить формулу:

Частота ШИМ для выхода может быть рассчитана по следующему уравнению

fPWM = fclk_IO / (N * (1 + TOP))

Переменная N представляет делитель предварительного масштабирования (1, 8, 64, 256 или 1024).

2 голосов
/ 17 февраля 2012

16 МГц / 24 кГц дает вам ...

(16 *1024* 1024) / (24 * 1024) дает вам ...

16777216/24576 дает вам ...

682,667

Поскольку ваш прескалер может быть только целым числом, и в зависимости от того, насколько точным он вам нужен, вы можете при желании изменять значение прескалера в программном обеспечении на каждом третьем такте. Например, каждые первые два тика будут иметь прескалер 683, а каждый третий тик - 682.

...