Views: 978
Модуль PWM – широтно импульсная модуляция (ШИМ). ПИК контроллеры часто на борту имеют модули ШИМ. На их основе строятся многие узлы управления электро приводами. В нашем варианте мы будем его использовать для управления яркостью светодиодов.
Модуль ШИМ работает совместно с таймером TMP2, поэтому так же в этой главе будет изучена его работа. Для изучения так же воспользуемся МСС. В окне ресурсы устройства найдем модули PWM.
и двойным кликом добавим их в проект. Нам необходимо два модуля 1 и 2. После успешного добавления окно ресурсы проекта будет выглядеть так:
Приступим к настройкам модулей.
Что нам необходимо знать? Во первых управление яркостью светодиодов в простых режимах осуществляется импульсном режиме. Т.е. выбирается период, часть времени подается напряжение на светодиод, а часть нет, Для глаза это воспринимается как неполная яркость.
Какой должен быть период или частота мигания, что бы глаз перестал замечать световые импульсы. Как известно человеческий глаз перестает различать световые импульсы после 25 герц, частота в переменного тока в электросети 50-60 гц, при этом мы практически не видим мигание ламп освещения, но для комфортного восприятия определено, что частота не должна быть ниже 100 гц (или выше), тогда свечение воспринимается не утомляющим зрение.
Выполним настройки для обоих модулей
Включим выход PWM, активный уровень высокий.
Для работы ШИМ нам потребуется активация таймера 2, для это перейдем в окно ресурсы устройства и двойной счетчиком активируем таймер 2, у нас должно произойти изменения в окне ресурсы проекта. Выберем таймер 2 и выполним настройки
Предделитель установим на 1:64, в окне период вычисления периода таймера зададим 4,096 мс – максимальное значение. Этот параметр влияет на значение записываемые в регистр PIR2 – определяющий период работы таймера. 4,096 мс – это частота ~ 224 Гц.
Запустим сгенерировать код и перейдем в наш проект.
У нас появились новые файлы:
Это файлы pwm1 и pwm2, а также tmp2. Это файлы настройки и управления нашими модулями. Обратите внимание на графическое представление, в нем изменились назначение выводов
В схем нашего устройства также предстоит внести изменения, дело в том, что согласно таблице 1,описания :
Выходы наших модулей ШИМ подключены к определенным выводам микроконтроллера и не совпадают с нашей схемой. PWM1 к RC5, а PWM2 к RC3. По большому счёту нам надо будет изменить подключение только одного светодиода.
При активации выходов модулей PWM к выводу ПИКа подключается модуль, а отключается выходной буфер. Поэтому все наши функции управления светодиодами будут отключены, хотя программа будет корректно управлять выходными буферами.
Перепрошьем ПИК, мы увидим, что светодиоды оба загорелись. Для анализа используем Saleae Logic подключим его к выводам портов управляемых нашими светодиодами (небольшое обучающее видео по работе с анализатором:
Я считаю, что наличие анализатора, это необходимая вещь для начинающего разработчика встроенных систем.
Со сканируем сигнал на выходах ШИМов, и за одно проверим наши расчетные параметры, частота 243,8 Гц, что офигенно точно для микроконтроллера, который использует внутренний генератор (расчетная 244 Гц).
Теперь используя ММС изменим период на PWM1 на 10 %, с генерируем и перепрошьем ПИК
После прошивки уже визуально видно что LD1 один горит слабее чем LD2. Со сканируем выходы…
Анализатор позволяет не только визуально увидеть, что мы запрограммировали, но измерять и оценить подученные параметры цифровых сигналов, мы еще не раз прибегнем к его услугам.
Проект использования ШИМ –
Проект с использованием MCC часть 07 384.91 KB 82 downloads
Модуль PWM - широтно импульсная модуляция (ШИМ)....Простое перепрограммирование не всегда интересно. У нас есть две кнопки управления, задействуем их для управления яркость светодиодов. Для начала простое управление яркость, одна кнопка увеличивает, другая уменьшает – все это в следующей теме…
Это может быть интересно
- Счетчики посетителейViews: 1268 Вас сосчитали!? или счетчики посетителей. Для чего нужны счетчики посетителей? Какие они бывают? ТОРГОВЛЯ. Подсчитайте, сколько ваш магазин посещает человек за день. Кок много человек приходит утром, какое …
- Altium Designer my setup system and project structureViews: 701 Используйте только последнее обновление!!! Updates https://catcatcat.d-lan.dp.ua/altium-designer-my-libraries-project-templates-system-settings-by-catcatcat-v23-09/ Тут хочу поделиться как я настраиваю Altium Designer и как я использую файлы DXPPreferences.DXPPrf для быстрой конфигурации и получения …
- Четырех канальный терморегулятор ch-4000Views: 3184 Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …
- ESP32-первое знакомствоViews: 6438 Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как …
- MPLAB® Code ConfiguratorViews: 1768 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
- Датчик контроля протечки воды ch-c0020Views: 1946 Как здорово летом под теплым дождем с тобою вдвоем оказаться. Как классно по лужам бежать босиком, с тобою играть и смеяться! Но совсем грустно оказаться под таким дождем, который течет с …
- Проект с использованием MCC часть 03Views: 1587 Первым делом перенастроим регистры конфигурации, следующим образом: Отключим выход генератора (CLKOUT function is disabled. I/O function on the CLKOUT pin) Включим сторожевой таймер (WDT enabled) После этой настройки …
- MPLAB® Harmony – или как это просто! Часть 1.Views: 3581 Часть первая – Установка Гармонии. Музыкальная тема к статье, слушаем: В начале запуска нового проекта и выбора микроконтроллера стоит задача правильно его сконфигурировать, прежде чем перейти к реализации …
- AD9833 – Programmable Waveform GeneratorViews: 2830 Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я использовал советский Г3-112, но он себя давно изжил. Все думал купить …
- Altium Designer my Libraries, Project templates, System settings by Catcatcat V24.0 PROViews: 205 Назвемо цей варіант поновлення для професіоналів і не тільки. Що нового? 1. Повністю змінено структуру параметрів бази даних компонента. Це дозволило повноцінної роботи Актив ВОМ. Ви відразу отримуєте …