![]() |
#1 (ссылка) |
Crow indian
Регистрация: 21.02.2009
Возраст: 44
Сообщений: 29,764
Поблагодарил: 397 раз(а)
Поблагодарили 5960 раз(а)
Фотоальбомы:
2576
Записей в дневнике: 692 Загрузки: 710
Закачек: 275
Репутация: 126089
|
Тема: Регулятор для тепло-холодного светодиодного светильникаРегулятор для тепло-холодного светодиодного светильника В. РУБАШКА, г. Лисичанск, ЛНР "Дизайн — это не то, как предмет выглядит, а то, как он работает". Стив Джобс Большой выбор светодиодной продукции для освещения заставляет радиолюбителей придумывать различные удобные устройства для управления ими. Как, например, комбинировать освещение тёплого и холодного оттенков в различных пропорциях? Самый простой ответ очевиден: нужны два органа управления. Например, два выключателя дадут четыре режима работы. Видел такой светильник у знакомого дизайнера. Оба выключены, включены по одному или оба вместе. Но тут невольно напрашивается аналоговое управление для изменения их яркости. Два переменных резистора позволят микшировать свет в различных пропорциях. А если делать кнопочное управление яркостью, то их понадобится вообще четыре штуки. В некоторых случаях это не очень удобно и практично. Например, чтобы быстро включить оба источника света на полную яркость или так же быстро выключить. Нужно что-то другое, чтобы можно было одним движением руки установить желаемые пропорции тёплого (горячего) и холодного источников света. Поэтому из органов управления оставим только один переменный резистор. А вот алгоритм управления будет таким, что он реализует и полное выключение, и максимальную яркость, и промежуточные варианты для двух источников света. Конструкция будет, конечно же, на одном из модулей Arduino, хотя это явно избыточно по всем параметрам, но удобство применения и наличие модуля Arduno Nano проголосовали "за". Если появится желание, устройство нетрудно перевести на более дешёвый контроллер. ![]() Схема регулятора показана на рис. 1. Управление осуществляется с помощью переменного резистора R1. С его движка постоянное напряжение в интервале 0...5 В через помехоподавляющий фильтр R2C1 поступает на аналоговый вход А5 модуля Arduino Nano. Питающее напряжение на светодиодные ленты EL1 и EL2 подают мощные полевые транзисторы VT1 и VT2, которые управляются ШИ-сигналами с выходов D3 и D5 модуля. Необходимо отметить, что для питания лент нужен источник питания с максимальным выходным током, превышающим их суммарный ток. В авторской конструкции использовались ленты с погонной мощностью 4,8 Вт/м и две пятиметровые ленты при максимальной яркости потребляюющие мощность 48 Вт. Поэтому был выбран сетевой импульсный блок питания с выходным напряжением 12 В и током до 4 А. Хотя лучше использовать блок питания с небольшим запасом. ![]() Теперь несколько слов об алгоритме управления, его поясняет рис. 2. Напряжение с движка переменного резистора измеряется и сравнивается с четырьмя зонами регулирования. Весь интервал АЦП составляет 1024 значения. В крайних значениях интервала обе ленты выключены. При среднем значении обе ленты включены на полную яркость. Промежутки между выключенным состоянием и полной яркостью, в свою очередь, разбиты на две зоны. В этих зонах одна из лент имеет постоянную яркость, а у второй яркость плавно изменяется. Если описать изменение яркости по всем зонам, то получится следующее:
Ещё одна особенность — экспоненциальное управление яркостью. Органы зрения и слуха человека имеют логарифмическое восприятие окружающего мира. Это позволяет слышать тихий шёпот и рёв взлетающего самолёта, видеть в сумерках и при ярком солнечном свете. Поэтому линейное управление яркостью источника света приводит к нелинейному восприятию — резкий скачок в начале и практически незаметное изменение в конце. Для получения плавности регулирования во всём интервале яркости необходим антилогарифмический или экспоненциальный характер их изменения. В управляющей программе расчёт яркости можно делать "на ходу", а можно рассчитать зависимость заранее и оформить в виде массива данных. Разработчик должен сам определиться, какой вариант использовать, исходя из того что использование массива данных обеспечивает большее быстродействие, но при этом для него потребуется больше памяти микроконтроллера. Программа управления написана в двух вариантах на двух языках — werilog для Arduino и Bascom-AVR, кому что ближе. В исходнике Bascom-AVR присутствуют несколько избыточных таблиц (файлы Exponential_1.1—Exponentials.0) с разной степенью экспоненты. ![]() Цифры указывают на степень экспоненты, чем она больше, тем больше крутизна характеристики. Это актуально для светодиодов разного цвета свечения, например, чтобы получить белый цвет в максимальном интервале яркости для RGB-светильника. Практика показывает, что для красного цвета степень экспоненты должна иметь значение 1,2, для зелёного — 1,8, а для синего — 2. Для каждого типа светодиодов она может быть разной, поэтому подбирается экспериментально по наилучшему визуальному восприятию. Для перехода на другую таблицу достаточно в вызове функции указать её название. Например, заменить строку PwmOb = Lookup(bright_ cold , Exponential-1.4) строкой PwmOb = Lookup(bright cold , Exponential-1.6). А для модуля Arduino нетрудно добавить необходимые таблицы из кода bascom, оформив их соответственно массиву TAB_BRIGHTS[256]. Программа на Bascom-AVR начинается с указания используемого контроллера, его тактовой частоты, настройки аппаратного ШИМа, портов, аналого-цифрового преобразователя и задания ► переменных. В основном » цикле Do—Loop происходит измерение напряжения на движке переменного резистора, затем с помощью функции Select-Case рассчитывается значение яркости для каналов тёплого и холодного света. Далее с помощью функции Lookup получаем соответствующее значение яркости и отправляем в программный канал ШИМа. Программа для Arduino аналогична. Вначале настраивается периферия и объявляются переменные. В основном цикле также происходит измерение напряжения на движке переменного резистора, потом вычисляется яркость светильников. Только в этом случае используется функция if -else if. Стоит отметить, что код можно переделать, и на Bascom-AVR использовать функцию if -else if, а в Ардуино — select-case. Это значит, что для достижения одного и того же результата могут быть использованы разные подходы. Программирование — дело творческое. Можно написать приложение для таксопарка, а можно - прошивку для микроконтроллера. Тут у кому что больше нравится. Элементы устройства смонтированы на макетной плате размерами 23x34 мм. Модуль Arduino Nano установлен на плату бутербродом с помощью разъёмов серии PBS (рис. 3—рис. 5). Это придаёт компактность всей конструкции. Провода от источника питания и светодиодных лент подключают к винтовым клеммникам-разъёмам. Для прошивки микроконтроллера в среде Arduino-IDE нужно установить настройки в соответствии с рис. 6, указав используемый номер COM-порта. В программе Bascom-AVR последних версий появилась возможность программировать и модули серии Arduino. В настройках программатора надо выбрать Arduino, скорость — 57600 бод и номер COM-порта, который присвоила модулю операционная система (рис. 7). Что можно усовершенствовать? В одном из крайних положений переменного резистора реализовать эффект плавного поочерёдного изменения яркости лент. В дизайне, да и в декоративной подсветке жилья, это может быть востребовано. Для начинающих реализовать подобную функцию будет очень интересно. Ещё один вариант — использовать подобный алгоритм в RGB-лампе настроения. Крайние положения регулятора — белый цвет и выключено, а в промежутке — фиксированные цвета радуги. Можно использовать другой модуль серии Arduino или микроконтроллер серии AVR со своей обвязкой. Успехов! От редакции Скетч для программирования находится по адресу http:// ftp. radio, ru/pub/2023/12/hea t- cold, zip на нашем FTP-сервере. |
![]() |
Цитировать 12 |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Доработка светильника "Облик" | Admin | Автоматика в быту | 0 | 07.06.2015 07:32 |
[Новости БЧ] Станция Юшки: рельсы – стальные, тепло – душевное | Анонимный | Новости на сети дорог | 0 | 06.09.2014 00:04 |
=Сход вагонов= 21.06.12г. ст. Хребет Ю-Уральская ж.д. Сход холодного паровоза в составе поезда | Grin59 | Нарушения безопасности на сети дорог | 1 | 27.06.2012 11:41 |
[Новости РЖД] Тепло из-под земли для железнодорожников | Андрей13 | Новости на сети дорог | 3 | 10.05.2012 20:00 |
[Гудок] [19 апреля 2011] Кочегар не нужен. Тепло дадут еез пыли и дыма | Admin | Газета "Гудок" | 0 | 19.04.2011 07:36 |
![]() |
Возможно вас заинтересует информация по следующим меткам (темам): |
, |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|