Контроллер управления светодиодным фонариком на литиевом аккумуляторе

Контроллер светодиодного фонарика на распространенном микроконтроллере PIC12F675 выполняет функцию диммирования светодиода, включение/выключение схемы преобразователя/стабилизатора и контроль за напряжением аккумулятора.

Включение и выключение фонарика выполняется продолжительным (около секунды) нажатием кнопки. Переключение уровня светоотдачи производится той же кнопкой, но короткими нажатиями. Выбираются значения ШИМ 100%-50%-10% на втором выводе микроконтроллера. Включение цепи стабилизатора или преобразователя производится подачей высокого уровня на третьем выводе PIC12F675.

Если аккумулятор заряжен полностью, при включении фонарика горит зеленый светодиод в составе сдвоенного зелено-красного светодиода. При снижении напряжения аккумулятора ниже 3,8в свечение становится оранжевым. По достижении уровня 3,6в горит красный светодиод. При дальнейшей разрядке красный светодиод начинает мигать и при напряжении на батарее 3в фонарик отключается.

Схема минималистически проста. Часть схемы с преобразователем/стабилизатором может быть различной (их сейчас тысячи разновидностей выпускаются различными компаниями), поэтому плата устройства будет в каждом случае своя.
Для зарядки аккумулятора разумно применить готовые платы с Алиэкспресс — они стоят дешевле суммы комплектующих, на них установленных.

Файлы прошивки и схемы можно скачать тут.

28 thoughts on “Контроллер управления светодиодным фонариком на литиевом аккумуляторе

    1. Нет, Михаил, я исходников не выкладывал (разве что по ошибке один раз выложил вместо прошивки исходники на «Пи-тона»). Я не считаю себя образцом для подражания — я не программист, я скорее железячник. Учиться лучше по исходникам, которые выкладывают производители. На сайте Майкрочипа тысячи подробно комментированных и хорошо оформленных исходников в разделе https://www.microchip.com/wwwcategory/taxonomysearch/
      Я по ним учусь. Очень хорошо всё изложено.

    1. Доброго дня
      Поставить конечно можно, если не смущает падение на транзисторе около 0,4в. Если смущает, то лучше взять полевичок немножко получше, например из вышедшего из строя аккумулятора от телефона — внутри стоит полевой транзистор с сопротивлением ключа единицы миллиом.

  1. Здравствуйте Eddy! Возможно ли переделать прошивку, чтобы индикация осуществлялась самим светодиодом фонарика? (как в вашей версии контроллера со старого сайта). Хотелось бы например если на аккумуляторе 3,6 В то фонарик раз в минуту на 0,5 секунды переходит в режим 10%, при 3,5В — 2 раза в минуту(через каждые 30 секунд), 3,3В -3 раза…… При этом если фонарик включен в режим 10%, то индикация полным отключением на 0,5 секунды. Или : 3,6 вольта — 1 мрыг , 3,5В -2 мрыга , 3,4 В — 3…… Думаю что данный вид индикации будет удобнее например для налобного фонарика. Ну и получается индикация на виду, нет надобности поглядывать на светодиод индикации.

    1. Доброго дня

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

      1. Супер! Готов почекати. Раз «идея интересная» то думаю многим понравится. А то что со временем напряженка, так это хорошо, значит есть работа. Хотя когда мне это говорят, то меня это конкретно бесит. Будет время, попробуй, буду очень благодарен.

    2. Здравствуйте. А вот еще одна идея. Вместо цветных светодиодов подключить пьезоизлучатель и сделать индикацию как в компьютерном UPS: чем более разряжен аккумулятор — тем чаще пики 🙂

  2. Пищалка действительно добавит габариты, а фонарик ,в основном, устройство компактное, да и может помешать в самый неподходящий момент, например разбудить сторожа :), или вы любитель в походе почитать под фонарик ночью, когда все спят, да и в шумном месте сигнал можно неуслышать. Подмигивание светодиодом довольно таки информативное, и практически не ограничивает функционал фонарика.(человек ведь моргает глазами, но это не мешает ему непрерывно видеть).

  3. Собрал на макетке, ШИМ работает как и задумано, а вот красный и зеленый светодиоды вообще не светят. Пробовал запитать и от лития, и от регулируемого БП.

  4. Добрый день. Возможно ли доработать прошивку для управления транзистором по типу SI2301DS, т.е выход ШИМ инверсный и в состоянии «выкл» удерживается лог. 1?

  5. Экпериментально было обнаружно, что на «свежезаряженном» аккумуляторе индикация не работает. Стоит снизить напряжение ниже 4-х вольт — все работает как и задумано.

  6. Собрал на макете. С исправленной прошивкой индикация вроде работает так, как задумано, но недостаток, унаследованный от прошлой конструкции фонаря на PIC12F675, остался — после первого выключения в ждущем режиме потребление от АКБ остается на уровне примерно 0,65 мА. Этого недостатка не было в варианте фонаря на PIC12F683.

    1. P.S. Пороги индикации немного не соответствуют описанию: зеленый светит до 3,6В (в описании 3,8В), зелено-красный светит в интервале 3,6 — 3,3В, красный светит при напряжении ниже 3,3В.

  7. По току потребления гляну, что «недовыключилось», а по порогам — они зависят от точности напряжения на TL431 (2,5в). Если напряжение «ушло» то и пороги улетают вслед за ним.

    1. Отобрал из имеющихся TL431 экземпляр с U=2.502V (первоначальная имела U=2.486V). Пороги переключения светодиодов практически не изменились, зеленый уверенно светит до напряжения примерно 3,63В. Ну да ладно, это не столь важно. Для показометра пойдет. Главное — знать реальные пороги переключения 🙂

    1. Прошил новой прошивкой, проверил — теперь все работает замечательно. Ток потребления в слипе менее 0,1 мкА (мультиметр RD700 Sanwa), что более чем хорошо. Спасибо за прекрасную работу. Возвращаясь к хотелкам: Возможно ли доработать прошивку для управления транзистором по типу SI2301DS, т.е выход ШИМ инверсный и в состоянии «выкл» удерживается лог. 1?

Добавить комментарий