Главная > Программирование, Радиоэлектроника > Универсальный драйвер питания мощных светодиодов 2.0

Универсальный драйвер питания мощных светодиодов 2.0

Откопал недавно драйвер питания светодиодов. С тех пор он подвергся некоторой доработке.
А именно, максимальный ток светодиода и опорное напряжение батареи настраивается теперь при помощи дополнительной кнопки на незадействованной ноге контроллера.


По прежнему, драйвер расчитан на питание от одной банки литий-ионного аккумулятора (в моем случае, типоразмера 18650). Однако, устройство будет работоспособно на всем диапазоне питающих напряжений контроллера — 2,7 .. 5,5В.
 

Вариант схемы для топологии SEPIC:

 

Вариант схемы для топологии BOOST:


В данном случае на выходе должно быть несколько светодиодов последовательно, иначе — прямое напряжение падения на светодиоде будет ниже напряжения питания и через катушку, диод и светодиод будет протекать ток даже в выключенном состоянии.

Алгоритм первоначальной калибровки

  1. Зажать кнопку «CALIBR»
  2. Подать питание и продолжать держать кнопку 3 секунды – включается режим калибровки, светодиод мигнет 8 раз.
  3. Убедиться, что батарейка полностью заряжена (или подать с БП ровно 4,2В)
  4. Еще раз зажать на 3 секунды кнопку – 8 раз мигнет светодиод – в EEPROM записалось опорное напряжение батарейки.
  5. Нажимать кнопку калибровки подряд — каждый шаг поднимает ток светодиода (контролировать амперметром).
  6. Как только ток поднялся до необходимого максимального значения — еще раз зажать кнопку на 3с.
  7. Калибровка завершена.
  8. В случае, если на шаге 5 промахнулись и переборщили с максимальным током — можно убрать питание и повторить калибровку сначала

После калибровки в EEPROM запишется 3 значения яркости:

  1. выставленное калибровкой;
  2. 1/2 от максимального значения;
  3. 1/8.

Как и прежде, вкл/выкл происходит кратковременным нажатием основной кнопки. Переключение режимов происходит при удержании кнопки более 0,5 секунд. После переключения режима сигнальный светодиод покажет, текущий заряд батреи: одно мигание — минимально, 5 — максимально.
Автоматические отключение питания происходит при снижении напряжения меньше 3,0В (Если батарейку откалибровать неправильно или будет использоваться отличная от LiIon химия, то Ucutoff = Ucalibrated/1,4 )

Файлы

tiny25-led-v2.hex
tiny25-led-v2-src

комментариев 96 to “Универсальный драйвер питания мощных светодиодов 2.0”

  1. Александр:

    уважаемый Клим а возможно ли в Вашей второй версии сделать замер тока как на http://www.mikrocontroller.net/topic/132105 и вот бы еще прикрутить энкодер заместо кнопок)) чтоб плавно регулировать ,и вообще есть ли смысл в дополнительных каскадах перед полевиком?немогу выйти на ток 1.4А при двух последовательных светодиодах.Спасибо

  2. Klim:

    Не особо понял немецкий. Но что-то меня сильно смущает идея замера тока. Там ведь будет напряжение на входе АЦП выше напряжения питания — сомневаюсь что оно вообще будет что-то полезное выдавать. Можете проверить, если есть желание. На с точки зрения прошивки, по идее, ничего не меняется.
    Энкодер, конечно можно, но у меня под рукой нету, так что отладить не на чем. Тогда не совсем ясно, как производить калибровку.
    Драйвер полевика для больших токов, думаю нужен. Нога контроллера все таки мало тока выдает, тем более, напряжения достаточно низкие для полевиков.

  3. Александр:

    у энкодера тоже кнопка присутствует,на момент калибровки ее можно перепаять с 7 на 5ю ногу,а в протеусе не могли бы прогнатьесли не затруднит Вас?Спасибо

    • Klim:

      Что за энкодер, что за кнопка ?
      В любом случае, не считая ресета — у нас всего 2 вывода. Оба будт заняты энкодером. Также отпадает индикаторный светодиод.

  4. Александр:

    ну индикаторный светодиод не очень и нужен,в составе крутилки энкодера присутствует и нажатие(кнопка),ну как на импортных аудио центрах

    • Klim:

      про кнопку уже понял, но все равно остается нехватка ног )
      Можн конечно ресет заюзать, но будут проблемы с отладкой в таком случае.

  5. Александр:

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

  6. Klim:

    Откуда 70ма ??
    Выключаться может при нулевом уровне заряда батареи или при просадке питания.
    Насчет немецкой схемы — можете самостоятельно проверить в протеусе.

  7. Александр:

    какраз с этим у меня проблемы((( паять умею а вот в программах чайник

  8. Sanchos:

    Кстати а откуда брал методику расчета сепика?

  9. Sanchos:

    хм.
    Вопрос по тексту программы:

    цитата:
    » if (mode>2)
    mode=0;»

    чет я не понимаю синтаксиса? а где стандартные {} ?
    попробовал перекомпилить-работает.Странно.Но нигде до этого не видел чтоб без скобок было.

    • Sanchos:

      прошу прощения.припел сюда вопросы по коду программы выложенной в теме про sepic driver.

      • Klim:

        стандартный, вроде, синтаксис)
        если оператор только один — то скобки не нужны

        • Sanchos:

          хм.
          Сколько перечитал разных источников по С-ни разу не видел такого,ини у кого не видел такого в уоде.Но буду знать.

  10. Sanchos:

    буду задавать вопросы здесь,пригодится тем,кто захочет ен просто скопировать а еще и разобраться.
    строки:

    eeprom unsigned int modesMin[3];// = {30,100,330};
    eeprom unsigned int modesMax[3];// = {40,110,350};
    eeprom unsigned char modeEEP=0;

    зачем располагать константы в ЕЕПРОМ? почему не во ФЛЭШ?

    • Klim:

      это настройки режимов яркости. Поскольку могут быть изменены путем перекалибровки — хранятся во флеше.
      Эти строчки просто запиывают начальные значения, если в ЕЕПРОМе пусто.

  11. Aleksey:

    На счет зависаний при переключении режимов — необходимо ножку 5, используемую для калибровки привязать к плюсу через резистор, килоом 10. У себя наблюдал такиеже глюки. После доработки более неполадок не заметил.
    Крутая схема! С удовольствием использую. Спасибо авторам!

  12. FDoich:

    А ATtiny15L можно использовать? Есть пара штук.

    • Klim:

      В таком виде естественно нет. Там нету RAM вообще, да и флеша 1К только и PLL 24МГц против 64 у tiny25

  13. J-Tec:

    Не мог бы кто нибудь посчитать параметры для тока 2.4А.
    А то не могу понять как посчитать, чет не выходит.

  14. ysmat:

    а можно ли выключить усилитель ацп 20x

  15. Александр:

    А какое потребление при указанных на схеме номиналах?

    • Klim:

      при 1х1вт светодиоде КПД было порядка 75-78%, т.е. ~0,32А от одной литиевой банки. Если светодиодов>1, то при повышающей топологии >80% будет

  16. Евгений:

    Какие требования к конденсаторам с1-с4 ? и какие более мощные диод и транзистор можно поставить?

  17. Евгений:

    Какие параметры и тип C2 ?
    Можно перекомпиллировать под 45 и добавить строб с SOS ?
    P.S. комментарии теперь работают !

  18. J-Tec:

    Спасибо буду пробывать

  19. jn79:

    R5 0.05 Ома ? типоразмер 1206 ? не шибко распространён 🙁

    • Евгений:

      2 параллельно 0805 на 0.1 Ома по мощности подойдут ?

      • Klim:

        Ну если брать в расчет, что 0805 могут рассеивать 0,125Вт — то максимально допустимый ток через них должен быть не более 2,2А

        • Евгений:

          Я так понял вы освободились и как обещали переделаете на 45 и добавите режим SOS и строб ? 🙂
          Кстати если вместо R5 поставить более распространенный 0.1R прошивку сильно менять придется ?
          Действительно 0805 2А — а такая «крохотуля», но параллелить придется только ставить рядом второй а не сверху — говорят не так греться будет!

  20. jn79:

    если оборвет светодиод как поведет себя схема ?

    • Klim:

      По переполнению коэффициента заполнения шима отключится.
      В принципе, можно поставить стандартную защиту в этом случае — стабилитрон+ резистор между выходом преобразователя и входом ОС по току.

  21. Евгений:

    прошивку новую можно ждать ?

  22. Евгений:

    DALE R05F только на taobao.com нашел 🙁

  23. Евгений:

    Проверьте плату http://www.onlinedisk.ru/file/837106/

  24. felix:

    Что то не отправляется((((

  25. felix:

    Тоже заинтересовала схема ,своей простотой и настройкой «под себя».Скажите при разряде акб перед выключением , есть
    какая либо индикация? или едешь ..едешь..бах свет потух)) Неплохо было бы сделать помигивание основного сд перед
    отключением (раз в 5-10сек), да и индикаторный сд показывал состояние акб не только между переключениями (например
    ,чем ближе к разряду тем чаще мигает),вообще контроль акб очень важен в дальних поездках на велосипеде.Надеюсь у
    автора или сочувствующих найдется время и желание усовершенствовать проект.

    • Klim:

      сейчас этого нет, хотя в прошивке остались куски кода закоментированные.
      Доделать несложно, но времени этим заниматься особо нет, к сожалению.

  26. Владимир:

    Ув. Klim, подскажите, при отключении питания (при снятии батареи на зарядку) калибровка сбивается? Или она в память прописывается.

  27. Владимир:

    Спасибо за оперативный ответ. Пробуем собирать.

  28. Евгений:

    Насколько сложно выделить время для доработки ?
    Может деньгами помочь ? 🙂 чисто по человечески
    Просто очень надо 🙁

  29. Евгений:

    можно хотя бы перекомпилировать под attiny45 ? а то схема уже готова
    фьюзы какие выставлять ?

  30. Владимир:

    Собрал, подал 4,2-4,3В. Калибровка почему то ограничена током в 0,4А токоизи. резистор роли не играет, что 0,05, что 0,025Ом. При калибровке на тех же 0,4А после снятия и подачи питания регулировка яркости следующая: 28мА, 6мА, 5мА.
    Вариант схемы для топологии SEPIC
    Хочу выжать 1А для XP-G.
    Подскажите пожалуйста в как ток поднять, и почему при калибровке не запоминает значения?

  31. Владимир:

    Глюки. Комменты не доходят. 🙁

    • Владимир:

      Собрал вариант схемы для топологии SEPIC для xp-g. Хочу выжать 1А.
      При калибровке выставляются значения 0,4 А (это потолок). При переключении режимов выдает 28, 6. 5 мА. В чем может быть косяк? При калибровке одно значение, а в работе другое? И почему ток ограничен на 0,4 А? Резюк уменьшал до 0,025 Ом, ток поднимается до 0,5 А. Но в работе те же мА…

  32. Владимир:

    Вариант схемы для топологии SEPIC. Калибровочный ток не поднимается выше 0,4А. Далее режим регулировки яркости 28, 6, 5 мА. Резюк уменьшил до 0,025 ток при калибровке записывает уже 0,5 А. Но режим тот же не более 30 мА. Хотелось бы выжать 1 А для xp-g. Кто знает в чем косяк?

  33. Александр:

    Есть такое дело…….

    • Klim:

      Та печаль какая-то с этим вордпрессом… Он и меня в спам посылает…

      • Александр:

        Klim, каменты раз в неделю получается написать, других способов связятся с вами нет ?

        • Klim:

          tklim@mail.ru
          Надо наверное опять поставить капчу. потому как без антиспама будет совсем печально — в день по 200-300 спам-комментов сыпется

  34. Евгений:

    что то дымит транзистор…прошивка под attiny45

  35. Александр:

    Резистор я в SEPIC впаял 0,015, транзистор IRLML0030, диод шотки SK24, дроссели на ток 1,8 ампера,

  36. Александр:

    ток меняется практически от нуля до выхода из строя полевика из за перегрева,

  37. Александр:

    для XML ток выставлял 1,5 ампера можно и больше но транзистор из за перегрева перестаёт управляться.

  38. Евгений:

    у меня дроссели на 4.7 а 🙂 диод пока на 1W… напортачил в разводке платы но перед пайкой исправил, контроллер прошивал уже в схеме
    транзистор надо ампер на 50 🙂

  39. Александр:

    При указаных мною номиналах 1,2 ампера на XML схема вполне нормально тянет.

  40. Александр:

    При одностороннем монтаже без дополнителного теплоотвода.

  41. Александр:

    Греется в основном диод шотки,

  42. Александр:

    у мосфета фронты немного завалены если применить драйвер

  43. Александр:

    из двух биполярных транзисторов для его управления

  44. Александр:

    то он совсем грется не будет, шотки ампера на 3

  45. Александр:

    и при дроселях на 4,7 ампера ток на светодиоде

  46. Александр:

    можно смело до 2-2,2 ампера поднять

  47. Александр:

    Я каменты так пишу потому что больше 5-6 слов не пропускает……задолбаный вордпресс

  48. Евгений:

    прошивка для attiny45 не работает

  49. Евгений:

    мощнее транзистор нужен …

  50. Константин:

    Народ подскажите, можно-ли прошить Attiny25 программатором AVR910 в CodeVisioneAVR 2.04.Если да то какие фьюзы выставить?Особенно такие данные http://klim.in.ua/wp/2010/10/power-led-sepic-driver-tiny25/comment-page-1/#comment-2711

Оставить комментарий

Или