Здравствуйте, уважаемые читатели! В данной статье я расскажу как с помощью Arduino UNO измерить частоту ШИМ сигнала. Измерить можно как частоту ШИМ сигнала самой Ардуино, так и частоту ШИМ сигнала, генерируемого другими микроконтроллерами.
Вот отличие от степени заполнения ШИМ сигнала, которая нам обычно известна, т.к. задается вторым аргументом функции analogWrite() . Частота работы ШИМ сигнала микроконтроллера параметр не очевидный и в среде разработки Arduino IDE стандартных функций по его изменению нет. Однако неправильно подобранная частота ШИМ сигнала, может негативно сказаться на работе оборудования. Например, для диммеров, управляющих освещением, рекомендуемая частота ШИМ составляет более 1КГц. Так же важно правильно подбирать при управлении электродвигателями.
Очень просто измерить частоту ШИМ сигнала с помощью Ардуино. Для этого достаточно написать в Arduino IDE, вот такой скетч (ссылка на него в конце статьи):
В скетче будем использовать стандартную для Arduino IDE функцию pulseIn() . Которая считывает продолжительность сигнала (HIGH или LOW) на заданном порту. Т.е. если у нас задано считывание HIGH, функция вначале ожидает пока на заданном порту не появиться значение HIGH. А когда значение HIGH получено, включается таймер, который и отсчитывает время, пока на заданном пину не появится значение LOW. В случае, если вторым аргументом является LOW, то всё происходит наоборот. Функция возвращает результат в микросекундах.
В результате суммируя время присутствия высокого и низкого сигнала на 8 пину мы получаем общее время сигнала, а далее, переходя от микросекунд к секундам, вычисляем частоту в Гц. И выводим данные раз в секунду в монитор порта.
Для проверки работы Считывать данные мы будем с 5 и 9 пина Arduino UNO . Всего у Arduino UN O c ШИМ сигналом могут работать 6 пинов. Это пины 3, 5, 6, 9, 10, 11 обозначенные тильдой.
Причем установленная по умолчанию для этих пинов частота ШИМ сигнала отличается:
Загружаем скетч в Ардуино, открываем Монитор порта и при соединении 8 пина с 5 пином , получаем результат 982 Гц . А при соединении 8 пина с 9 пином , получаем результат 493 Гц . Т.е. значения практически соответствуют установленным по умолчанию.
А вот как изменить эти значения, установленные по умолчанию, на другие, я расскажу в завтрашней статье.
Ссылка на скетч - https://disk.yandex.ru/d/fkS66NhFcAdaEw.
_________________________________________________________
Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!