Схема. Светодиодный фонарь с регулируемой яркостью
Схема светодиодного фонаря изображена на рис. 1. Полевой транзистор VT1 замыкает и размыкает цепь питания светодиодов EL1—EL9 по сигналам микроконтроллера DD1. Когда на выводе 8 микроконтроллера и на соединённом с ним затворе транзистора установлен низкий уровень, канал сток—исток полевого транзистора закрыт, ток через светодиоды не течёт. Высоким логическим уровнем канал открывается, замыкая цепь и включая светодиоды.
Частота генерируемых микроконтроллером DD1 на выводе 8 импульсов около 100Гц. Этого вполне достаточно, чтобы мигание светодиодов не было заметным человеческому глазу. А коэффициент заполнения (отношение длительности импульсов к периоду их повторения) можно изменять от нуля до 100 % ступенями по 5%, соответственно меняя субъективную яркость свечения светодиодов. Изменение производится нажатиями на кнопки SB1 (в сторону увеличения) или SB3 (в сторону уменьшения). Удержание любой из них нажатой приводит к постепенному изменению яркости до максимальной или нулевой.
Нажатиям и на кнопку SB2 включают и выключают режим маяка, в котором яркость в течение секунды нарастает до максимума, а во время следующей уменьшается до нуля. Этот цикл повторяется, пока режим маяка не будет выключен ещё одним нажатием на ту же кнопку.
Питается схема светодиодного фонаря от гальванической батареи GB1 напряжением 9 В. Из него с помощью интегрального стабилизатора DA1 получают напряжение 5 В, питающее микроконтроллер. Резисторы R5— R7 должны быть подобраны так, чтобы при свежей батарее GB1 максимальный ток, текущий через каждую группу из трёх соединённых последовательно светодиодов, не превышал 18 мА. Это меньше 20 мА, допустимых для светодиодов указанного на схеме типа, и вполне гарантирует их надёжную работу. Можно применить также светодиоды ARL-5613UWW-3cd.
Если, например, в схеме светодиодного фонаря применить полевой транзистор IRL2910, который способен коммутировать ток до 55 А при напряжении до 1200 В, схему светодиодного фонаря легко приспособить для управления более мощными источниками света, в том числе лампами накаливания. Например, если в качестве батареи GB1 использовать аккумуляторную на 12 В от автомобиля, то вместо светодиодов EL1 —EL9 и резисторов R7—R9 можно подключить автомобильную лампу на 12В, 50 Вт. Чтобы избежать в этом случае чрезмерного нагревания полевого транзистора VT1, установите его на теплоотвод. Выключатель SA1 при этом нужен такой, чтобы его контакты выдерживали ток лампы (около 5 А, а с учётом переходного процесса при включении — ещё больше). Но можно обойтись и без замены выключателя, если, минуя его, соединить лампу непосредственно с плюсом батареи. Транзистор VT1 в закрытом состоянии разорвёт цепь питания лампы.
Программа микроконтроллера разработана и отлажена с помощью среды PIC Simulator IDE v6.91. Нужно сказать, что имеющаяся на интернет-странице www.oshonsoft.com/downloadspage.php бесплатная демонстрационная версия среды имеет ряд ограничений (рассчитана всего на 30 запусков по два часа каждый и не может компилировать программы на языке Basic объёмом более 50 строк). Но для трансляции рассматриваемой программы, текст которой приведён в таблице и снабжён поясняющими работу комментариями, она вполне пригодна, Тот, кто не хочет разбираться в программе или вносить в неё изменения, может обойтись и без среды разработки, загрузив в программную память микроконтроллера коды из готового НЕХ-файла, имеющегося в интернет-приложении к статье.
Встроенный в микроконтроллер восьмиразрядный таймер TMR0, считая импульсы, следующие с периодом около 2мкс, переполняется каждые 512 мкс, генерируя при этом запросы прерывания выполняемой микроконтроллером программы. Процедура обработки прерываний, определив, что запрос поступил от этого таймера, устанавливает на выводе 8 (RC2) микроконтроллера высокий уровень, если хранящийся в переменной cnt порядковый номер обрабатываемого запроса меньше значения переменной light, или низкий — в противном случае. После каждых двадцати прерываний их счёт начинается заново. Так происходит формирование импульсов изменяемой с шагом 0,512 мс длительности, следующих с периодом 0,512×20≈10 мс. Процесс иллюстрируют временные диаграммы на рис. 2
Для проверки состояния кнопок SB1—SB3 и реакции на него используются прерывания программы, вызванные переполнениями 16-разрядного таймера TMR1. Таймер настроен таким образом, что переполняется каждые 70 мс. Следовательно, проверка производится приблизительно 14 раз в секунду. Обнаружив нажатую кнопку SB1 или SB3, процедура обработки прерывания каждый раз увеличивает или уменьшает значение переменной light на единицу, пока оно не достигнет предела (0 или 20). После этого изменение становится возможным только в обратном направлении. При включённом нажатием на кнопку SB2 режиме маяка значение переменной light и связанная с ним яркость свечения светодиодов циклически, со скоростью 14 пятипроцентных шагов в секунду, изменяются от одного предела до другого и обратно.
Схема светодиодного фонаря была собрана на односторонней печатной плате, чертёж которой показан на рис. 3. Она рассчитана на резисторы МЛТ или им подобные и керамические или плёночные конденсаторы. Для микроконтроллера DD1 на плате монтируют панель, в которую его вставляют уже запрограммированным. Внешний вид работающего устройства показан на рис. 4.
Загрузка программы в микроконтроллер производилась с помощью программатора, описанного в цикле статей А. Долгого «Программаторы и программирование микроконтроллеров» («Радио», 2004, №2, с. 51, рис.3 — схема, рис. 5 — печатная плата). Поскольку для работы с микроконтроллером PIC16F630 этот программатор предназначен не был, для него изготовлен переходник из панелей для микросхем, схема которого изображена на рис. 5, Боковые стенки переходника сделаны из прозрачного пластика от упаковки DVD, На них изнутри фломастером нанесены стрелки, указывающие правильное положение вставляемого микроконтроллера. Программатор с переходником и микроконтроллером показан на рис. 6. Никаких других переделок программатора не потребовалось.
Для управления загрузкой кодов в микроконтроллер использовалась программа IC-Prog. Следует заметить, что на компьютерах, в которых физический СОМ-порт отсутствует, а используется виртуальный, созданный с помощью преобразователя интерфейса USB-COM, эта программа работает плохо. Лучше установить в свободный слот PCI такого компьютера аппаратный контроллер СОМ-порта.
Прилагаемые файлы: svet1.zip
К. АБДУКАРИМОВ, г. Шымкент, Казахстан
«Радио» №2 2013г.