Проект с использованием MCC часть 07

Views: 953


Модуль 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 - широтно импульсная модуляция (ШИМ)....


Простое перепрограммирование не всегда интересно. У нас есть две кнопки управления, задействуем их для управления яркость светодиодов. Для начала простое управление яркость, одна кнопка увеличивает, другая уменьшает – все это в следующей теме


Это может быть интересно


  • VU Meter Tower ART – part 2VU Meter Tower ART – part 2
    Views: 963 Проект – VU Meter Tower ART получил продолжение в своем развитии. Теперь можно заказать набор деталей из акрила для самостоятельной сборки. В проект корпуса внесено целый ряд доработок, …
  • Arduino LCD + STONE STVI056WT-01 + Strain gaugeArduino LCD + STONE STVI056WT-01 + Strain gauge
    Views: 441 Author li grey email: greyli1987@outlook.com The strain assessment instrument is used to assess the degree of corresponding muscle strain by obtaining the muscle surface action potential through silver …
  • Проект с использованием MCC часть 05Проект с использованием MCC часть 05
    Views: 1883 Эту часть назовем так как избавься от delay, там где а это реально не надо. Для это нам потребуется научиться использовать прерывания и работать с таймерами. Что такое …
  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Views: 2155 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Views: 834 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …
  • MPLAB® Code ConfiguratorMPLAB® Code Configurator
    Views: 1768 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
  • Проект с использованием MCC часть 14Проект с использованием MCC часть 14
    Views: 807 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
  • LED драйвер TM1639LED драйвер TM1639
    Views: 2167 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
  • Простой цифровой милливольтметр постоянного токаПростой цифровой милливольтметр постоянного тока
    Views: 4049 Простой цифровой вольтметр постоянного тока. Три диапазона измерений с автоматическим переключением 1 – 0,001 – 0,999 V, 2 – 0,01-9,99 V, 3 – 0,1-99,9. Четыре управляемых выхода с возможностью задания функции контроля …
  • Цифровой тахометр для автомобиля CH-С3300Цифровой тахометр для автомобиля CH-С3300
    Views: 1887  Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика …



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее