6-канальный ШИМ с частотой 2 - 5 кГц

Можно ли установить все 6 частот ШИМ на значение от 2 до 5 кГц?

Я читал, что базовая частота для контактов 5 и 6 составляет 62 500 Гц. А делители для контактов 5 и 6 только такие: 1, 8, 64, 256 и 1024.

Ближайшее, что я могу получить, это 7,812,5 Гц с делителем 8. Есть ли другие возможности для достижения этого?

, 👍0

Обсуждение

Честно говоря, я не знаю. Я еще не выбрал. Моей первой попыткой было сделать это с Raspberry, но мне предложили использовать Arduino. Итак, я нашел этот пример: https://playground.arduino.cc/Code/PwmFrequency/, @Wa Kai

Итак, я знаю, что это будет Arduino, но не точно какая модель, потому что я не знал, какие из них соответствуют моим требованиям в моем вопросе. Если вам это ооочень непонятно, то идите и голосуйте., @Wa Kai

ок, раз уж вы про ардуино точно говорите, снимаю голосование, чтобы закрыть, @jsotola


1 ответ


Лучший ответ:

2

Судя по тому, что вы упомянули 62,5 кГц в качестве базовой частоты для контакты 5 и 6, я предполагаю, что вы говорите об Arduino Uno или что-то похожее.

Если вы установите таймер 0 в фазовый режим ШИМ (именно так Ядро Arduino настраивает остальные таймеры), тогда его базовая частота равна около 31,373 кГц (F_CPU/510). С набором прескалеров до 8 вы получаете частоту ШИМ около 3,922 кГц на контактах 5 и 6.

Обратите внимание, что в этом режиме можно установить все три таймера и получить 6 ШИМ. каналов на этой частоте. Но учтите также, что при перенастройке Timer 0 вы потеряете все стандартные функции синхронизации Arduino.

,

Спасибо за ваш ответ. Есть ли другие модели, которые лучше подходят для этого? Но тем не менее, это весьма полезно. Спасибо!, @Wa Kai

@WaKai: В Mega гораздо больше таймеров. С другой стороны, если вам не нужны функции синхронизации Arduino, Uno вполне справится с этой задачей, а Mega будет излишним., @Edgar Bonet

Ах я вижу. Тактовая частота: 16 МГц, разделенная на 510 в режиме фазовой коррекции для базовой частоты ~ 32 кГц. Аккуратный :-) Насколько я могу думать наперед, мне больше не понадобятся таймеры. Так что UNO должен быть идеальным., @Wa Kai