Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы приведем несколько решений на 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

Значок

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

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

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

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

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

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

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

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

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

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

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

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


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

Значок

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

Самый простой диммер для светодиодного освещения...
Схема в формате PDF для примера 2
Значок

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

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

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

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

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

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



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


  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся старым и …
  • Датчик приближения от Румена ЖелеваДатчик приближения от Румена Желева
    Проект на Болгарском языке. Автор Румен Желев. Болгария. Проект,  датчик приближения в котором устранены все недостатки влияния засветки посторонними источниками. Применен совершенно оригинальный принцип контроля ИК излучения. Основната идея на …
  • Проект с использованием MCC часть 15Проект с использованием MCC часть 15
    EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, добавим выход …
  • Проект с использованием MCC часть 16Проект с использованием MCC часть 16
    Продолжим изучение EUSART. На этом этапе отработает передачи данных с ПК и получения эха. Для этого в основной цикл программы добавим код

    [crayon-5f7410329efae741527672/]

    Суть его проста постоянно в главном цикле …

  • APA102 – светодиоды со встроенным драйвером и SPI интерфейсомAPA102 – светодиоды со встроенным драйвером и SPI интерфейсом
    APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих светодиодов, что …
  • MPLAB® Code Configurator and EncoderMPLAB® Code Configurator and Encoder
    Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора режимов работы …
  • Acquaintance with audio-bluetooth modules F-6888 (BK3254).Acquaintance with audio-bluetooth modules F-6888 (BK3254).
    Для проектов появилось необходимость познакомиться с недорогими модулями китайского производства, которые можно приобрести у нас в Украине и у китацев, на алиэкспрессе. Так как меня интересует не просто, как в …
  • Audio-bluetooth modules F-6188 (BK8000L)Audio-bluetooth modules F-6188 (BK8000L)
    Следующий модуль на чипе BK8000L. Заводское обозначение F-6188 также основным производителем не выпускается и отдан на тиражирование. с нижней стороны имеет маркировку В этом варианте мне попалась вроде полноценная прошивка. …
  • Проект с использованием MCC часть 04Проект с использованием MCC часть 04
    Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое главное , …
  • ESP32-первое знакомствоESP32-первое знакомство
    Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как он подключается, …



Tagged with →  
Share →
Translate »

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

e-mail: catcatcat.electronics@gmail.com