Модуль 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. Со сканируем выходы…

Анализатор позволяет не только визуально увидеть, что мы запрограммировали, но измерять и оценить подученные параметры цифровых сигналов, мы еще не раз прибегнем к его услугам.


Проект использования ШИМ – 

Icon

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

Модуль PWM - широтно импульсная модуляция (ШИМ)....


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


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


  • Проблемы классической светомузыкиПроблемы классической светомузыки
    Светомузыка – что это такое? Определение: Светомузыка  (жаргонное: цветомузыка)  — вид искусства, основанный на способности человека ассоциировать звуковые ощущения со световыми восприятиями. Такое явление в неврологии получило название – синестезии. …
  • LCD индикаторы на драйвере ML1001LCD индикаторы на драйвере ML1001
     ML1001 – статический LCD GOG (чип в стекле) драйвер для 40-сегментного LCD в позолоченном противоударном исполнении. На них можно каскадно строить цельные из 80 или 120 сегментов LCD индикаторы. Описание драйвера  …
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
    Введение   CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований CAN 2.0B …
  • LED модуль P10C4V12LED модуль P10C4V12
    LED панели на обычных регистрах типа 74HC595. Они выпускаются как монохромные так двух и полно цветные, особенность, что они предназначены для текстовой информации и имеют один уровень яркости. Общую яркость панелей легко …
  • Проект с использованием MCC часть 04Проект с использованием MCC часть 04
    Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое главное , …
  • Регулятор влажностиРегулятор влажности
    Регулятор ILLISSI-CH-1000 предназначен для контроля и регулировки относительной влажности в диапазоне от 0 до 100%. Регулятор позволяет работать как в режиме осушения, так и увлажнения. Для измерения возможно использовать аналоговые …
  • NeoPixel LED и PIC18NeoPixel LED и PIC18
      Еще раз об управлении светодиодами на драйвере WS2812 и ему подобных. Как известно эти светики управляются по однопроводной шине. Основная особенность, что программно можно описать передачу данных, но это …
  • MCC – K42 – настройка модуля DMAMCC – K42 – настройка модуля DMA
    MCC – в версии v.3.95.0 и начиная ядра 4.85.0 конфигуратор предоставляет графический интерфейс для настройки модуля DMA. Для начала: Посмотреть какая версия МСС можно в закладке версии, если у вас …
  • Применение typedef, struct и unionПрименение typedef, struct и union
    Полезные описания переменных Часто необходимо в памяти расположить последовательно разные виды данных, что бы потом можно было их использовать. Полезные ссылки Взято и переработано с сайта http://www.butovo.com/~zss/cpp/struct.htm http://cppstudio.com/post/9172/ Синтаксис структур. …
  • ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302
    На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11  самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств он даже …



Tagged with →  
Share →
Translate »

Copyright © Catcatcat electronics 2013-2020. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com