Светодиодный фонарик на литиевом аккумуляторе

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (6 оценок, среднее: 5,00 из 5)
Загрузка...

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

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

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

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

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

Если у Вас возникнут вопросы или Вы захотите связаться со мной, сделайте это с помощью формы на страничке «Обратная связь»

51 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-х вольт — все работает как и задумано.

    1. Проверил с новой прошивкой — при напряжении на аккумуляторе 4,14в («свежезаряженный») индикация работает(зеленый). Большое спасибо.

  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?

  8. Здравствуйте Эдуард! Спасибо за ваши разработки.Спаял схему,всё заработало. Прикошачил для паяльника на батарейках).Как бы три ступени нагрева жала.Но обнаружилась такая вещь.Бывает при касании жала происходит отключение.С выхода ШИМ через резистор 1 кОм, и 10 кОм на минус пустил на MOSFET.Может я чего то с ключом намутил? MOSFET использовал что был под рукой irf8313.

    1. Доброго дня.
      Не сильно понял со включением.. Зачем резисторы? Транзистор рассчитан на напряжение затвора вольт 10+, поэтому ограничивать там нечего, даже маловато слегка.
      Жало изолировано от источника питания?

          1. Эдуард,Спасибо за направление хода мысли)!Сопротивление убрал,особой роли не сыграло.А потом прочитал про емкостную связь,вспомнил ход событий).Питаю его от сетевого usb 5v.Эффект был замечен когда залуживал проводину без изоляции,соответственно держал один край провода рукой.Провёл эксперименты)).При пайке платы всё норм,а вот когда рукой касаюсь вывод диода и жалом торкаю,тогда выключается.

  9. Предлагаю следующую доработку конструкции в плане индикации разряда батареи :
    Оставляем один красный светодиод, его можно будет поставить сверхяркого типа с соответствующим ограничительным резистором и цвет по вкусу или какой у кого окажется под рукой.Далее изменяем программу пика чтобы светодиод информировал флешами (вспышками) осостоянии батареи — приблизительно таким образом :
    заряд от 100 до 60…50% — светодиод не горит
    заряд от 50.до 30% — светодиод даёт одну вспышку с частотой 0.5 Гц
    заряд от 30. до 20 % — светодиод даёт две вспышки с частотой 0.5 Гц
    заряд от 20 до 10% — светодиод мигает 2…3 Гц.
    заряд менее 10% — светодиод горит постоянно.
    (Соотношение % к напруге АКБ определим отдельно)
    Если батарея разряжени ниже минимального уровня , то при попытке включить фонарь сетодиод должен загораться на пару секунд, но фонарь не должен включаться.
    слежение за такой импульсной индикацией гораздо удобней и информативней, чем отслеживание соотношения оттенков двух разноцветных светодиодов, да и расход энергии АКБ на постоянное питание матовых светодиодов будет заметный.
    Реализовавши такой метод индикации, можно будет подумать как использовать оставшийся незадействованный вывод пика.
    Стати, если после реализации такого порядка оповещения о степени заряда АКБ, вместо или парарельно индикаторному светодиоду подсоединить звуковой извещатель, как этого хотел Beginner, то можно будет конструкцию применять там , где более удобно будет звуковая сигнализация состояния батареи, и не только для фонарика — универсальность и функцмональность конструкции позволит более широко применять устройство с минимальными изменениями в обвязке.

  10. Собрал схему с преобразователем на NCP1529 . С ШИМ-10% преобразователь не успевает запустится (ШИМ-1,87кГц) . С ШИМ-50% (ШИМ-900Гц) и ШИМ-100% работает . Калибровочная PIC12F675 заводская (3488). ШИМ на 1 ножку NCP1529 в корпусе TSOP-5.

  11. Всем доброго дня!Я -новенький,прошу поделиться рабочей схемой на основе этого микроконтроллера.
    Очень хочется сделать хороший фонарик на работу-на пенсии,но еще работаю электриком в ЖЭУ

  12. Диод анодом подключенный на 2 вывод PIC12F675 ,а катодом на 1 вывод NCP1529 и конденсатор 1нанофарад(подбирать номинал для нужной яркости свечения светодиода),второй вывод конденсатора на минус -решил проблему с NCP1529 и ШИМ -10%.
    Спасибо Эдуард.

  13. Здравствуйте Эдди! И опять я с глупыми вопросами. Собрал фонарик, но использовал схему вот эту «http://eddy71.ucoz.net/publ/linejnyj_indikator_na_12_svetodiodakh/1-1-0-50». Радости море. Экономия. Все 12 потребление 4,1мА. Ну всё вроде правильно. Собираю 1 светодиод и 2 резистора, без проца. Потребление 4,9мА. НО! Парадокс! Освещённость от 12 больше чем от 1, хотя по смыслу, в момент времени, светит только один! Для лития эту схемку http://eddy71.ucoz.net/publ/kontroller_litievogo_akkumuljatora_na_pic16f676/1-1-0-39 . С кнопкой вкл. индикации. Для экономии. По расчётам вышел отличный фонарик. Месяца на три ночами светить. А можно такое же написать для pic16f676 ? Ногов больше. Исходник на pic12 у меня есть. Или твой же вольтметр на 3 цифры, дин.индикация. Без измерений пусть светят все 32, но в динамическом режиме. Это же просто. И делать ничего не надо.
    С уважением и спасибо за твои труды.
    З.Ы. … при установке реостата/датчик движения/микрофон получается регулировка яркости, уменьшая количество горящих светодиодов. В палатке/дома/на дорожке к дому помогает. Собрать бы это всё на один чип, было бы здорово.

    1. Ну, раз есть исходник, подправьте и поэкспериментируйте.
      У меня после ареста ни одного исходника не осталось. А необходимость оплачивать дорогое съёмное жилье под Киевом съела всё свободное время. Так что пока нет времени на хобби, паяю с утра до ночи на работе..

  14. Добрый день.Если кто то повторил данную конструкцию проверьте пожалуйста логику работы.У меня -нажал коротко включилось 100% нажал второй 50% а если после этого нажать длинно включается на 100%- выключить ни у кого кроме меня не получилось.Надо опять нажать длинно он возвращается в 50% и нажать коротко и вуаля. Проверьте пожалуйста.

  15. Эдуард ты писал что у тебя такой фонарь собран .Попробуй нажми коротко а потом длинно-куда он попадёт. Собрал вторую макетку результат тот же.

  16. GURU, здравствуйте! Проверил свою самоделку — работает, как написано у уважаемого автора. В любом режиме — длительное нажатие отключает светодиод. Как индикаторный, так и в нагрузке.

  17. Доброго дня. Трапилась оказія, жінка колеги неправильно вставила аккумулятор в доволі гарний налобник. Все, хитра мікросхема встала в позу, на натискання не реагує, постійно горить світлодіод. Використав данну схему, замість 12f675 знайшов 12f629. Прошив з рідною калібровкою, мікру перестала бачіти программа. Але при тестованні працює. Так як просили мінімальний гайд(щоб дише вмикалось і вимикалось), регулювання потужності пішло бонусом.
    Доречі використав лише 4 контакти мікри. Плюс, мінус, шим, та кнопка.
    Все працює. Дякую Єдуарде.

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