Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы приведем несколько решений на PIC-микроконтроллеров. PIC10F320/322 это идеальное решения для создания всевозможных регуляторов освещения. При этом мы получаем довольно функционально навороченное устройство с минимальной стоимостью и минимальными затратами времени на изготовление. Этот проект направлен для начинающих, для которых необходима информация как с нуля начать программировать и получить базовые знания по микроконтроллеру и по языку программирования Си.


Пример первый, самый простой регулятор с управлением яркостью от потенциометра, яркость задается вращением потенциометра от 0 до 100% (256 уровней яркости).

ch_dimm_bs

Схема регулятора.

ch_dimm_v1.0

Яркость задается напряжением сниманием с потенциометра R1. Это управляемое напряжение подается на вход RA0, настроенным как аналоговый вход и подключенным ко входу AN2 АЦП микроконтроллера. Процедура АЦП помещена в основный цикл работы программы, полученное значение напрямую грузиться в регистр ШИМ микроконтроллера. Выход ШИМ RA1 управляет силовым ключом на транзисторе V1. Как видно со схемы все элементарно просто. Стабилизатор предназначен для получения стабилизированного питания для микроконтроллера и само сбой разумеется можно такую схему использовать в цепях стандартного напряжения 12-24 вольта постоянного напряжения. Силовой транзистор можно брать любой с логическим уровнем управления, т.е. это те транзисторы, которые при подаче 1-2 вольта на затвор полностью открывают свой канал. Например на транзисторе IRF7805 можно коммутировать ток до 13 Ампер (естественно при определенных условиях), а для любых условий до 5 ампер легко. Соединитель CON1 предназначен, только для внутрисхемного программирования контроллера, для этой цели предназначены и резисторы R2 и R5, т.е. если микроконтроллер запрограммирован, то эти элементы можно не ставить, ну и R4 и BAV70 предназначены для защиты от перенапряжения и неправильного включения напряжения питания. Конденсаторы C1 и C2 керамические и предназначены для подавления импульсных помех, а также для надежности работы аналогового стабилизатора LM75L05.


Построения программы.

Построение начинается у указанием компилятору с чем он работает, а также конфигурирования микроконтроллера:

После того как контроллер сконфигурирован необходимо настроить порты ввода вывода, настроить ШИМ, настроит работу АЦП. Это все уже выполняется в программе:

И как итог главный цикл программы с супер сложно навороченным кодом состоящим из 4 строк, из которых только три имеют место к самой работе регулятора света.

  1. Запустить АЦП на измерение.
  2. Дождаться окончания измерения.
  3. Загрузить полученное значение в ШИМ.

Всё! Как вы убедились – микроконтроллеры это просто!!!


Фото проекта:

ch_dimm_v1.0_01

 


Видео работы диммера:

 


Пример второй. Так как мы работаем с микроконтроллером, добавим две кнопки, то выполним вариант задание яркости потенциометром, а управлением кнопками функции включено / выключено.

Схема для примера.

ch_dimm_v3.0

К свободным входам RA0 и RA3 добавим тактовые кнопки подключенные к земле.

Изменение программы для возможности добавления двух кнопок для получения функций управления:

Получение доступа к порту RA3:

Описание, для удобства названия кнопок и к какому порту они подключены:

Изменение настроек портов и включение подтягивающих резисторов (это для создание потенциала каким можно будет управлять кнопками):

И для тестового варианта, самая простая программа которая будут просто включать выключать освещения. Необходимо учитывать, что переделывается программа с примера 1 в котором яркость управляется при помощи ШИП, для включения необходимо в ШИМ записать значение 255, для отключения значение 0.

В этом фрагменте программы достигнут эффект управления кнопками простого включения/выключения освещения на 100%.

В следующем примере совместим функции регулировки яркости и функции включения выключения освещения кнопками.

В этом примере потенциометром задается яркость, а кнопками реализована функциями ВКЛ/ВЫКЛ.

Схема для варианта управления кнопками.

ch_dimm_v4.0

Вариант программы позволяющей регулировать яркость двумя кнопками:

 В этом примере можно найти один из решений проблемы блокировки дребезг от механики кнопок и функции контроля одиночного нажатия кнопки. Каждое нажатие выполняет изменение яркости на SHAG если SHAG=5 единиц, в этом варианте мы будем иметь 51 ступень яркости. Для изменения ШАГА яркости (уменьшения ступеней яркости) необходимо константу SHAG. Увеличение значения уменьшает количество ступеней яркости. В текущем примере шаг это константа 5. Ниже приведем вариант когда шаг яркости может быть в довольна широких значениях, что даст возможность приспособить для любых проектов.

Для управления добавим пару параметров:

Сам главный цикл:

В этом примере константу можно менять от 1 до ~100 т.е. получить даже 2 ступени яркости.

Видео демонстрации работы примера 2

  


Пример третий. Выполним вариант задание яркости с применением двух кнопок (режим автоповтора). В этом примере при нажатии на кнопку яркость изменяется на 10 единиц, при удержании кнопки реализовано плавное изменение яркости с шагом равной 1.

Добавим несколько переменных:

Главный цикл:

Видео проекта для примера 3 и 4 одновременно


Пример четвертый. Добавим третью кнопку с функцией ВКЛ/ВЫКЛ.

Схема.

ch_dimm_v5.0

 

Настройка портов микроконтроллера для работы с 3 кнопками.

Главный цикл программы.

Функции кнопок KN01 – увеличение яркости, KN02 – уменьшение яркости, KN03 – включено – выключено.


P/S. 

PIC10F3xx – самый удобный контроллер для начала изучения программирования и освоения для начинающих.


Пример 1:
Схема в формате PDF для примера 1

Icon

Самый простой диммер для светодиодного освещения схема в PDF v1.00 11.54 KB 488 downloads

Самый простой диммер для светодиодного освещения...
Прошивка для примера 1 v1.0
Icon

Самый простой диммер для светодиодного освещения прошивка v1.0 0.26 KB 388 downloads

Самый простой диммер для светодиодного освещения...
Прошивка для примера 2 v3.0
Icon

Самый простой диммер для светодиодного освещения прошивка v3.0 0.30 KB 376 downloads

Самый простой диммер для светодиодного освещения...
Прошивка для примера 2 v4.0
Icon

Самый простой диммер для светодиодного освещения прошивка v4.0 0.43 KB 348 downloads

Самый простой диммер для светодиодного освещения...
Прошивка для примера 3 v5.0
Icon

Самый простой диммер для светодиодного освещения прошивка v5.0 0.53 KB 365 downloads

Самый простой диммер для светодиодного освещения...
Прошивка для примера 4 v6.0
Icon

Самый простой диммер для светодиодного освещения прошивка v6.0 0.58 KB 413 downloads

Самый простой диммер для светодиодного освещения...


Проект с примерами Microchip MPLAB XC8 C Compiler V1.30, MPLAB X IDE v2.00

Icon

Самый простой диммер для светодиодного освещения проект 58.14 KB 67 downloads

Самый простой диммер для светодиодного освещения...
Login Required Message:
Схема в формате PDF для примера 2
Icon

Самый простой диммер для светодиодного освещения схема в PDF v3.00 11.70 KB 381 downloads

Самый простой диммер для светодиодного освещения...
Схема в формате PDF для примера 3
Icon

Самый простой диммер для светодиодного освещения схема в PDF v4.00 11.43 KB 348 downloads

Самый простой диммер для светодиодного освещения...
Схема в формате PDF для примера 4
Icon

Самый простой диммер для светодиодного освещения схема в PDF v5.00 11.52 KB 584 downloads

Самый простой диммер для светодиодного освещения...



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


  • PIC18 – System ArbitrationPIC18 – System Arbitration
    Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый из уровней …
  • Проект с использованием MCC часть 08Проект с использованием MCC часть 08
    И так создадим проект в котором при помощи двух кнопок мы сможем управлять яркостью светодиодов. При использовании МСС у нас лафа полная, добрые дяди с Microchipa подготовили функции, которыи позволяет …
  • Проект с использованием MCC часть 12-2Проект с использованием MCC часть 12-2
    Настало время для изучения шины I2C. Изучать будем на примере работы с индикатором RET012864E. Что изменили со старой схемы: В прошлой теме я затупил и не добавил подтягивающие резисторы которые необходимы …
  • MCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМMCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМ
    Во многих системах управления, для формирования управляющих сигналов требуется модуль ШИМ, он позволяет не только формировать импульсы заданной длительности, но и с применением обычного RC фильтра строить простые ЦАП. MCC …
  • Гаджеты для домашней автоматики – Датчик движенияГаджеты для домашней автоматики – Датчик движения
    Управление светодиодным освещением – Датчик движения. Данный гаджет предназначен для управления освещением рабочих столов (кухонных столов), освещение прихожих, освещение зеркал в прихожих, автоматическое включение света в коридорах. Датчик позволяет определить наличие …
  • Moving average – скользящее среднееMoving average – скользящее среднее
    Скользящая средняя, скользящее среднее (англ. moving average, MA) — общее название для семейства функций, значения которых в каждой точке определения равны среднему значению исходной функции за предыдущий период. Скользящие средние обычно используются с данными временных рядов для сглаживания краткосрочных колебаний …
  • Сумеречное релеСумеречное реле
    Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока 220 вольт. …
  • PIC32MZ – прерывания (заметки)PIC32MZ – прерывания (заметки)
    Виды формирования запоминая контекста при входе в прерывания. Компилятор представляет три варианта AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот метод является …
  • Контроллер управления светодиодным освещением с дистанционным управлениемКонтроллер управления светодиодным освещением с дистанционным управлением
    Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще можно увидеть …
  • Просто о структурах и объединениях в СиПросто о структурах и объединениях в Си
    Какие задачи нам позволяют решать структуры и объединения? Для разработчика встроенных систем эффективность и компактность кода всегда на первом месте. Если программировании на Ассемблере ты сам определяешь как и где …



Tagged with →  
Share →
Translate »

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

e-mail: catcatcat.electronics@gmail.com