Новое сердце для китайского фонарика

    Купив множество китайских фонариков, мощностью от 100 до 16000 люмен, так и не остался доволен.

    В большинстве случаев фонарик не отдаёт заявленный продавцом световой поток. Так получается из-за того, что продавцы в лучшем случае указывают максимальный световой поток, который может отдавать установленный светодиодный модуль, но в результате экономии на материалах светодиод работает, если повезёт, в половину от своего максимума. Для ограничения тока применяются тонкие провода, это позволяет отказаться от использования источника постоянного тока и ограничиться простым ШИМ контроллером с силовым ключём.

    В качестве донора был выбран «2500Lm CREE XM-L T6 LED Headlamp» ценой в 12 долларов, у которого через год использования умер ШИМ контроллер CX2812. Данный контроллер имеет три выхода для нагрузки, два входа для настройки режимов работы и один вход для кнопки переключения режимов. Первым неприятным моментом практически любого китайского фонарика для меня оказалось наличие режимов Strobe и SOS. В случае с данным контроллером, достаточно подать на вход OPT1 логическую единицу и из пяти режимов останется только три (High, Low, Off). Если единицу подать на оба OPT входа, то режим Low тоже исчезнет.



    Продавец заявляет, что в фонарике используется светодиод Cree XM-L T6 и он жарит аж 2500 люменов на максимальном режиме. На сайте Cree для данного светодиода заявлена светосила 100 люменов на ватт и максимальная мощность 10 ватт. На самом деле используется светодиод XM-L U2, его характеристики не сильно отличаются от T6, но из-за толщины проводов до светодиода доходит только 1.1А, что при напряжении аккумулятора 4.1В составляет 4.51Вт. Получается, что на максимальном режиме фонарик излучает примерно 451 люмен. Люксметр показывает 420 люменов, и это довольно далеко от цифры 2500.



    Схема драйвера проще некуда и усложнять её не будем. В качестве нового каменного сердца был выбран микроконтроллер ATtiny85, хотя хватило бы и ATtiny13(a), но в нужном корпусе его под рукой не оказалось. Кнопка переключения режимов удачно попала на ножку PB2/INT0, а вот база транзистора оказалась подключенной к выходу RESET. Имея на борту аппаратный ШИМ, было решено использовать именно его, поэтому дорожка ведущая к RESET была перерезана, а база транзистора подключена перемычкой к выходу PB1/OC0B. Для удобства программирования необходимые пины были вынесены наружу. Провода зафиксированы соплями термоклея. Провода от аккумуляторов до платы заменены на чуть более толстые.



    Прошивка собиралась в Arduino 1.0.6, в качестве программатора использовался Arduino Nano. Установлены фьюзы в соответствии со схемой «ATtiny85 @ 1 MHz (internal oscillator; BOD disabled)». Вес прошивки в бинарном виде на данный момент составляет 278 байт. В выключенном состоянии фонарик потребляет 0.3мкА, при кратковременном нажатии на кнопку включается минимальный режим, потребление увеличивается до 7.6мА. Для выключения необходимо кратковременно нажать и отпустить кнопку. Если продолжить удержание кнопку, то яркость плавно увеличится до максимальной. Частичная замена проводов не дала существенного прироста яркости, ибо провода от блока питания до головы остались узким местом. На данный момент на максимальном режиме потребление получилось 1.2А, напряжение АКБ 4.2, получается примерно 500 люменов.

    Но даже несмотря на то, что китайские продавцы указывают в несколько раз завышенные показатели по светосиле, зачастую даже минимальный, из предложенных, режим был слишком ярким для меня. После переделки, минимального режима вполне достаточно для того, чтобы ночью не запнуться на лесной тропинке или использовать фонарик в качестве ночника при ночёвке в пещере. Итого буквально за пару часов из мёртвого фонарика удалось сделать фонарик моей мечты. Надеюсь мой опыт окажется для кого-нибудь полезным. Код доступен по ссылке HeadLamp.ino.

    Обновление 04.02.2015: Подумав немного, добавил возможность моментального включения фонарика на максимальный режим (два быстрых клика), а так же режим стробоскопа (три быстрых клика). Для активации этих режимов необходимо раскомментировать соответствующие дефайны в начале кода.
    • +9
    • 33.5k
    • 2
    Share post

    Similar posts

    Comments 2

      –1
      налобный фонарик, чтоб светить и все. микроконтроллер и прошивка, чтоб собрать нужен программатор. но ведь же… налобный фонарик? убейте меня!
        +1
        Именно таким фонариком я пользовался когда то давно. Один режим, три мизинчиковые батарейки, час работы в максимальном режиме, ещё пару часов слабого свечения и всё. Только и успевай бегать в магазин за батарейками, да не забывай брать с собой батарею запасных батарей. Сейчас же дешёвые налобные фонарки почти наверняка имеют в комплекте к «просто светить» два дополнительных режима SOS и Strobe, которые не нужны, но тем ни менее частота их включения ничуть не реже, чем у других режимов, ведь переключаются они одной кнопкой, последовательным перебором.

        Если же у фонарика, который я упомянул в статье, сделать один мощный режим, то одного заряда АКБ хватит часа на 4 максимум, это мало. В случае с оригинальным драйвером (CX2812/CX2829), в минимальном режиме одного заряда хватит уже на 8 часов, тоже не густо. После произведённой модификации, минимальный режим позволяет фонарику работать больше 500 часов.

        Наверняка те, кто профессионально занимаются электроникой решили бы данную задачу без МК, но моя специализация настолько далека от этого, что мне проще взять ATtiny85 за 40 рублей и потратить немного времени на работу с паяльником (на модификацию третьего фонарика ушло всего лишь 15 минут) и написание прошивки. А оставшихся 7.5кб свободного пространства ещё хватит для блэкджека и даже OLED дисплея.

      Only users with full accounts can post comments. Log in, please.