Однорежимный драйвер для фонаря. Микросхемы-драйверы светодиодов

Драйвер для светодиодного фонаря: широкий ассортимент продукции

Светодиодные фонари, как и любые другие электрические источники света (светильники, лампы и пр.), способны полноценно и бесперебойно функционировать в том случае, если имеется пускорегулирующее устройство - драйвер. Благодаря такому современному и инновационному устройству приборы могут работать практически вечно. В специализированном интернет-магазине ForLed представлен колоссальный ассортимент продукции. У нас каждый желающий сможет купить драйвер для фонаря, а также все необходимые комплектующие к нему. Современный мир - век светодиодов и именно поэтому источники питания пользуются широким спросом и востребованностью. Кроме того, драйвер фонарика выполняет ряд важных функций.

Во-первых, благодаря ему потребители значительно экономят денежные средства на приобретение новых электрических устройств, которые в несколько раз дороже самого драйвера;

Во-вторых, с помощью них светодиодные фонари могут полноценно и бесперебойно функционировать практически вечно.

Каталог продукции интернет-магазина ForLed предлагает колоссальный ассортимент пускорегулирующих элементов, отличающихся по производителю, входному напряжению (от 1-3В до 7-30В), выходному току (от 300 мА до 5000 мА), типу (линейные, импульсные и повышающие). В любом случае, каждый представленный автономный источник питания отличается безупречным качеством, надежностью, безопасностью, длительным сроком эксплуатации, а также простотой в работе. Такое устройство способно в полной мере обеспечить полноценную и бесперебойную работу светового прибора. Купить драйвер для светодиодного фонарика любого формата можно в интернет-магазине ФорЛед по справедливой и демократичной цене. Помимо, основного источника питания, в каталоге имеются необходимые комплектующие к нему.

Драйвера для светодиодных фонариков: на что следует обратить внимание

Для того, чтобы правильно выбрать автономный источник питания необходимо знать основные характеристики фонаря, а именно:

Напряжение в В;

Величина максимального тока в мА;

За счет чего происходит питания источника света: аккумулятор или батарейки;

Механизм управления: магнитный ползунок, обычная силовая, тактовая кнопка без фиксации и пр.;

А также диаметр и высота драйвера.

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

Импульсный драйвер для питания светодиодов: преимущества использования

Купить драйвер для светодиодного фонаря любого типа: линейный, повышающий или импульсный можно в интернет-магазине ФорЛед. Последняя разновидность получила более широкое распространение, благодаря высокому уровню КПД (около 95%), а также его компактности. Устройства такого типа способны на выходе создавать высокочастотные импульсы тока, что благоприятно сказывается на светодиодных источниках света. Такой современный и функциональный драйвер для фонарика купить в Украине можно у нас по демократичной и разумной цене.

Во времена увлечения туризмом был приобретен фонарь Duracell c мощной криптоновой лампой на двух больших батарейках типоразмера D (в советском варианте тип 373). Светил отлично, но высаживал батарейки часа за 3-4.

Кроме того, дважды случилась неприятность - батарейки потекли и электролитом залило все внутри фонаря. Контакты окислились, покрылись ржавчиной и даже после чистки и установки новых элементов питания, фонарь уже не внушал доверия, а уж батарейки тем более. Выбросить было жалко, а не имение возможности использовать, натолкнуло на мысль переделать фонарь на модные сейчас литиевый аккумулятор и светодиод. С полгода в закромах лежал литиевый аккумулятор Sanyo 18650 емкостью 2600 мА/ч, у китайских товарищей выписал вот такой светодиод (якобы Cree XML T6 U2) с рабочим напряжением 3-3,6 В, током 0,3-3 А (опять же, якобы - мощностью 10 Вт), световым потоком 1000-1155 люмен, цветовой температурой 5500-6500 К и углом рассеивания 170 градусов.

Поскольку опыт переделки фонарей на питание от литиевых аккумуляторов уже имелся ( и ), то решил пойти тем же путем: применить хорошо зарекомендовавшую себя связку: АКБ 18650 и контроллер заряда TP4056. Оставалось решить одну проблему - какой драйвер использовать для светодиода? Простым токоограничивающим резистором тут не отделаешься - мощность светодиода пусть и не 10 Ватт, как утверждают китайские товарищи, но все же. Изучая материал по «драйверостроению для мощных светодиодов» набрел на очень интересную, и как оказалось, часто применяемую микросхему АМС7135. На основе данной микросхемы китайцы давно и удачно завалили планету своими фонарями). Принципиальная схема питания мощного светодиода на основе АМС7135.

Как видим, допускается питание в диапазоне 2,7...6 В, а это довольно широкий спектр источников питания, в том числе и литиевые аккумуляторы. Задача чипа - ограничить ток, протекающий через светодиод на уровне 350 мА.
Согласно информации производителя чипа, конденсатор Со нужно использовать, если:

  • длина проводника между АМС7135 и светодиодом больше 3 см;
  • длина проводника между светодиодом и источником питания больше 10 см;
  • светодиод и микросхема не установлены на одной плате.

В реальности производители фонарей зачастую пренебрегаю этими условиями, и исключают конденсаторы из схемы. Но как показал эксперимент - напрасно, о чем несколько позже. К дополнительным преимуществам ИС типа АМС7135 можно отнести наличие встроенной защиты при обрыве, КЗ светодиода и диапазон рабочих температур -4О...85°С. Подробно документацию на чип АМС7135 можно .

Схема электрическая фонаря

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

Исходя из нее, ток протекающий через светодиод, составит 1050 мА, что на мой взгляд, более чем достаточно для совсем не тактического, а хозяйственного фонаря. Далее приступил к монтажу все в единую систему. При помощи дремеля в корпусе фонаря удалил направляющие для батареек и контактные шины:


Так же дремелем убрал посадочное гнездо для криптоновой лампы и сформировал площадку для светодиода

Поскольку мощный светодиод во время работы выделяет много тепла, то для его рассеивания решил применить теплоотвод, снятый с материнской платы.


По задумке, светодиод, теплоотвод и головная часть фонаря с отражателем будут создавать одно целое и накручиваясь на корпус фонаря не должны ни за что цепляться. Для этого обрезал грани теплоотвода, просверлил отверстия для проводов и приклеил светодиод к теплоотводу термоклеем.


Давно присматривался к этим микросхемам. Очень часто что-нибудь паяю. Решил взять их для творчества. Эти микросхемы куплены ещё в прошлом году. Но до применения их в деле так и не доходило. Но не так давно моя мать дала мне на починку свой фонарик, купленный в офлайне. На нём и потренировался.
В заказе было 10 микросхем, 10 и пришло.


Оплатил 17 ноября, получил 19 декабря. Пришли в стандартном пупырчатом пакетике. Внутри ещё пакетик. Шли без трека. Был удивлён, когда обнаружил их в почтовом ящике. Даже на почту идти не пришлось.


Не ожидал, что они настолько маленькие.

Микросхемы заказывал для других целей. Планами делиться не буду. Надеюсь, что у меня найдётся время воплотить их в жизнь (планы). Ну а пока немного другая история, приближенная к жизни.
Моя маман, гуляя по магазинам, увидела фонарик с хорошей скидкой. Что больше ей понравилось фонарик или скидка, история умалчивает. Этот фонарик вскоре стал и моей головной болью. Попользовалась она им не более полугода. Полгода проблемы, то одно, то другое. Я купил ей на место этого штуки три других. Но делать всё равно пришлось.


Фонарик хоть из недорогих, но имеет ряд существенных достоинств: в руке лежит удобно, достаточно яркий и кнопочка в привычном месте, алюминиевый корпус.
Ну а теперь о недостатках.
Питается фонарик от четырёх пальчиковых элементов типа ААА.


Поставил батарейки все четыре штуки. Измерил ток потребления – более 1А! Схема простая. Элементы питания, кнопка, ограничительный резистор на 1,0 Ом, светодиод. Всё последовательно. Ток ограничивается только сопротивлением 1,0 Ом и внутренним сопротивлением элементов питания.
Вот, что имеем в итоге.


Странно, что безымянный светодиод оказался живым.


Первым, что сделал – изготовил пустышку из старой батарейки.


Теперь будет питаться от 4,5В, как все китайские фонарики в основной своей массе.
И самое основное, вместо сопротивления поставлю драйвер AMC7135.
Вот стандартная схема его подключения.

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


В данной схеме через кнопку-выключатель большой ток больше не будет течь в принципе. Через кнопку протекает только ток управления и всё. Ещё одной проблемой меньше.


Кнопку я тоже перебрал и смазал на всякий случай.

Вместо сопротивления теперь стоит микросхема с током стабилизации 360мА.


Всё собрал на место и измерил ток. Подключал и батарейки и аккумуляторы, картина не меняется. Ток стабилизации не меняется.


Слева – напряжение на светодиоде, справа – ток, через него протекающий.
Что же я добился в результате всех переделок?
1. Яркость фонаря практически не меняется при эксплуатации.
2. Разгрузил кнопку включения-выключения фонаря. Теперь через неё протекает мизерный ток. Порча контактов из-за большого тока исключена.
3. Защитил светодиод от деградации из-за большого протекающего тока (если с новыми батарейками).
Вот, в общем, и всё.
Как правильно распорядиться сведениями из моего обзора каждый решает сам. Я же могу гарантировать правдивость своих измерений. Кому что-то неясно по поводу этого обзора, задавайте вопросы. С остальным – кидайте в личку, обязательно отвечу.
На этом ВСЁ!
Удачи!

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

Планирую купить +59 Добавить в избранное Обзор понравился +58 +118

Светодиоды для своего питания требуют применения устройств, которые будут стабилизировать ток, проходящий через них. В случае индикаторных и других маломощных светодиодов можно обойтись резисторами. Их несложный расчет можно еще упростить, воспользовавшись "Калькулятором светодиодов" .

Для использования мощных светодиодов не обойтись без использования токостабилизирующих устройств – драйверов. Правильные драйвера имеют очень высокий КПД - до 90-95%. Кроме того, они обеспечивают стабильный ток и при изменении напряжения источника питания. А это может быть актуально, если светодиод питается, например, от аккумуляторов. Самые простые ограничители тока - резисторы - обеспечить это не могут по своей природе.

Немного ознакомиться с теорией линейных и импульсных стабилизаторов тока можно в статье "Драйвера для светодиодов" .

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


Простой драйвер. Собран на макетке, питает могучий Cree MT-G2

Очень простая схема линейного драйвера для светодиода. Q1 – N-канальный полевой транзистор достаточной мощности. Подойдет, например, IRFZ48 или IRF530. Q2 – биполярный npn-транзистор. Я использовал 2N3004, можно взять любой похожий. Резистор R2 – резистор мощностью 0.5-2Вт, который будет определять силу тока драйвера. Сопротивление R2 2.2Ом обеспечивает ток в 200-300мА. Входное напряжение не должно быть очень большим – желательно не превышать 12-15В. Драйвер линейный, поэтому КПД драйвера будет определяться отношением V LED / V IN , где V LED – падение напряжения на светодиоде, а V IN – входное напряжение. Чем больше будет разница между входным напряжением и падением на светодиоде и чем больше будет ток драйвера, тем сильнее будет греться транзистор Q1 и резистор R2. Тем не менее, V IN должно быть больше V LED на, как минимум, 1-2В.

Для тестов я собрал схему на макетной плате и запитал мощный светодиод CREE MT-G2 . Напряжение источника питания - 9В, падение напряжения на светодиоде - 6В. Драйвер заработал сразу. И даже с таким небольшим током (240мА) мосфет рассеивает 0,24 * 3 = 0,72 Вт тепла, что совсем не мало.

Схема очень проста и даже в готовом устройстве может быть собрана навесным монтажом.

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


Еще более простой драйвер на микросхеме LM317

Входное напряжение может быть до 37В, оно должно быть как минимум на 3В выше падения напряжения на светодиоде. Сопротивление резистора R1 рассчитывается по формуле R1 = 1.2 / I, где I – требуемая сила тока. Ток не должен превышать 1.5А. Но при таком токе резистор R1 должен быть способен рассеять 1.5 * 1.5 * 0.8 = 1.8 Вт тепла. Микросхема LM317 также будет сильно греться и без радиатора не обойтись. Драйвер также линейный, поэтому для того, чтобы КПД был максимальным, разница V IN и V LED должна быть как можно меньше. Поскольку схема очень простая, она также может быть собрана навесным монтажом.

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

Следующий драйвер является импульсным понижающим. Собран он на микросхеме QX5241 .


Схема также проста, но состоит из чуть большего количества деталей и здесь уже без изготовления печатной платы не обойтись. Кроме того сама микросхема QX5241 выполнена в достаточно мелком корпусе SOT23-6 и требует внимания при пайке.

Входное напряжение не должно превышать 36В, максимальный ток стабилизации – 3А. Входной конденсатор С1 может быть любым – электролитическим, керамическим или танталовым. Его емкость – до 100мкФ, максимальное рабочее напряжение – не менее чем в 2 раза больше, чем входное. Конденсатор С2 керамический. Конденсатор С3 – керамический, емкость 10мкФ, напряжение – не менее чем в 2 раза больше, чем входное. Резистор R1 должен иметь мощность не менее чем 1Вт. Его сопротивление рассчитывается по формуле R1 = 0.2 / I, где I – требуемый ток драйвера. Резистор R2 - любой сопротивлением 20-100кОм. Диод Шоттки D1 должен с запасом выдерживать обратное напряжение – не менее чем в 2 раза по значению больше входного. И рассчитан должен быть на ток не менее требуемого тока драйвера. Один из важнейших элементов схемы – полевой транзистор Q1. Это должен быть N-канальный полевик с минимально возможным сопротивлением в открытом состоянии, безусловно, он должен с запасом выдерживать входное напряжение и нужную силу тока. Хороший вариант – полевые транзисторы SI4178, IRF7201 и др. Дроссель L1 должен иметь индуктивность 20-40мкГн и максимальный рабочий ток не менее требуемого тока драйвера.

Количество деталей этого драйвера совсем небольшое, все они имеют компактный размер. В итоге может получиться достаточно миниатюрный и, вместе с тем, мощный драйвер. Это импульсный драйвер, его КПД существенно выше, чем у линейных драйверов. Тем не менее, рекомендуется подбирать входное напряжение всего на 2-3В больше, чем падение напряжения на светодиодах. Драйвер интересен еще и тем, что выход 2 (DIM) микросхемы QX5241 может быть использован для диммирования – регулирования силы тока драйвера и, соответственно, яркости свечения светодиода. Для этого на этот выход нужно подавать импульсы (ШИМ) с частотой до 20КГц. С этим сможет справиться любой подходящий микроконтроллер. В итоге может получиться драйвер с несколькими режимами работы.

(13 оценок, средняя 4.58 из 5) 

Наверняка у многих имеются фонари фирмы Convoy, они давно зарекомендовали себя как недорогие и качественные источники света. Но мало кто знает, что с помощью программатора за $3 и клипсы за $3 можно залить в некоторые фонари кастомную прошивку, которая будет иметь больше функций или будет удобнее в использовании. Сразу оговорюсь, что в статье речь пойдет о прошивке фонарей с драйверами на базе микроконтроллера Attiny13a, такие драйвера стоят во всех конвоях S серии (кроме нового S9), а так же в Convoy M1, M2, C8. Многие другие производители так же ставят в свои фонари драйвера с Attiny, к ним данный мануал тоже применим, но следует уделять внимание фьюзам и используемым портам Attiny.

Краткий ликбез

Не все знакомы с устройством современных фонарей, поэтому прежде чем перейти к колдовству, я постараюсь ввести вас в курс дела. Итак, электрическая схема типичного карманного фонарика состоит из следующих частей:

  • Кнопка выключения - у «тактических» EDC фонариков типа Конвоев обычно располагается в хвосте
  • Аккумулятор - обычно это Li-ion банка
  • Драйвер - самая важная часть фонаря, его мозги
  • Светодиод - говорит сам за себя

Из всего этого безобразия нас, как вы уже поняли, интересует в первую очередь драйвер. Он отвечает за работу фонаря в различных режимах яркости, запоминание последнего включенного режима и прочую логику. В одноаккумуляторных фонарях чаще всего встречаются ШИМ-драйвера. В качестве силового ключа в таких драйверах обычно используется либо полевой транзистор, либо куча линейных регуляторов AMC7135. Например, так выглядит довольно популярный драйвер Nanjg 105D:


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

Предыстория

Сейчас на рынке представлено поистине огромное количество карманных EDC фонариков, и, что характерно, каждый производитель норовит изобрести свою собственную прошивку с собственным уникальным™ управлением. Из всех существующих решений мне больше всего нравилась прошивка, с которой до недавних пор поставлялись фонари Convoy с драйвером Nanjg 105D. Она имела 2 группы режимов (1 группа: Мин-Средний-Макс, 2 группа: Мин-Средний-Макс-Строб-SOS). Смена групп в ней осуществлялась интуитивно просто: включаем минимальный режим, спустя пару секунд фонарь моргнёт - кликаем кнопкой, и группа режимов переключена. С недавних пор Convoy начал поставлять свои фонари с новой прошивкой biscotti. Она имеет больше возможностей (12 групп режимов, возможность включения-отключения памяти последнего режима, запоминание режима в выключенном состоянии (т.н. off-time memory)), но у нее есть несколько жирных минусов, которые лично для меня перечеркивают все достоинства:

  • Сложное управление. Чтобы сменить группу режимов нужно помнить наизусть шаманскую последовательность кликов кнопкой
  • Off-time memory не работает при использовании светящихся кнопок (например, таких)
  • Много бесполезных групп режимов, отличающихся лишь порядком следования

Когда у меня накопился приличный зоопарк фонарей с разными прошивками, но одинаковыми драйверами, я решил унифицировать их, залив всем одну и ту же прошивку. Все бы ничего, но нельзя просто так взять и перешить Nanjg 105D на старую добрую прошивку с двумя группами, потому что в свободном доступе ее нет, и производитель установил запрет на считывание дампа памяти микроконтроллера, т.е. оригинальную прошивку взять неоткуда. В репозитории прошивок для фонарей аналога данной прошивки нет, поэтому у меня остался один выход - написать все самому.

Встречайте Quasar v1.0

Взяв за основу прошивку luxdrv 0.3b от DrJones , я сваял собственную с блекджеком и лунапарками. Я постарался сделать ее максимально похожей на стоковую прошивку Nanjg 105D и более масштабируемой. Что может мой Quasar:

  • 2 группы режимов: (Минимальный - Средний - Максимальный - Турбо) и (Минимальный - Средний - Максимальный - Турбо - Строб - Полицейский строб - SOS)
  • Строб злой (частота вспышек около 12Гц)
  • Новый режим - полицейский строб - делает прерывистые серии по 5 вспышек, режим может быть полезен велосипедистам, т.к. повышает заметность
  • Переключение групп осуществляется как в заводской прошивке: включаем первый режим, ждем пару секунд, кликаем сразу после того, как фонарь моргнет
  • Путем модификации исходников можно добавить до 16 групп, в каждой группе можно задать до 8 режимов
  • Используется традиционная on-time память, можно использовать светящиеся кнопки без потери функциональности
  • При разряде аккумулятора ниже 3В фонарь начинает сбрасывать яркость, но полностью не отключается - используйте аккумуляторы с защитой, если боитесь их убить.
  • Удобная фича для проверки текущего уровня аккумулятора: в любом режиме делаем 10-20 быстрых полу-нажатий кнопкой до тех пор, пока фонарь не перестанет включаться. После этого фонарь сделает от 1 до 4 вспышек, каждая вспышка означает уровень заряда соответственно < 25%, < 50%, < 75% и < 100%.

Исходники, скомпилированный бинарник с двумя группами режимов и проект для Atmel Studio вы можете найти на моем гитхабе . Помните, что исходники распространяются под лицензией CC-BY-NC-SA, и прошивку вы используете на свой страх и риск без каких-либо гарантий.

Принадлежности

Для заливки кастомной прошивки нам понадобятся:

  • SOIC клипса Купить
  • Любой клон Arduino Nano 3.0 для использования в качестве программатора Купить
  • Arduino у меня уже была, поэтому я решил завести отдельный самостоятельный девайс для прошивки фонарей и купил USBISP программатор Купить
  • Dupont провода для подключения клипсы к программатору Купить

Подготовка программатора

Для прошивки драйвера подойдет обычная Arduino Nano 3.0 с залитым скетчем ArduinoISP, но я решил завести отдельный программатор, поэтому купил USBISP. Он имеет форм-фактор флешки в алюминиевом корпусе:


Из коробки этот программатор определяется на компе как HID устройство и работает только с китайским кривым софтом, чтобы использовать его с avrdude можно перепрошить его в USBASP. Для этого нам, как ни странно, понадобится другой рабочий программатор. Здесь нам поможет Arduino Nano, подключаем её к компьютеру, открываем Arduino IDE и открываем стандартный скетч ArduinoISP:


Раскомменчиваем строку #define USE_OLD_STYLE_WIRING:


И заливаем скетч в Nano. Теперь у нас есть AVRISP программатор, которым можно перепрошить наш USBISP в USBASP. Для этого нам в первую очередь понадобится avrdude, он лежит в папке установки Arduino IDE по пути \hardware\tools\avr\bin. Для удобства советую добавить полный путь к avrdude.exe в переменную окружения PATH.

Теперь нам необходимо открыть USBISP и перевести его в режим программирования, установив перемычку UP:



Заодно убеждаемся, что на плате распаян Atmega88 или 88p, как в моем случае:


Другие перемычки, несмотря на советы в инете, трогать не нужно, все прекрасно прошивается и с ними.

Теперь внимательно смотрим на распиновку USBISP программатора, нанесенную на его алюминиевом корпусе, и подключаем его к Arduino Nano:

  • VCC и GND к VCC и GND сответственно
  • MOSI к D11
  • MISO к D12
  • SCK к D13
  • RESET к D10

У меня не оказалось Female-Female проводов, поэтому я заюзал мини-макетку:


Следующий шаг - скачиваем прошивку usbasp.atmega88-modify.hex , подключаем Arduino к компу, запускаем консоль и переходим в папку с сохраненной прошивкой. Для начала выставим фьюзы командой:

Avrdude -p -m88 -c avrisp -b 19200 -U lfuse:w:0xff:m -U hfuse:w:0xdd:m

Затем заливаем прошивку командой:

Avrdude -p m88p -c avrisp -b 19200 -U flash:w:usbasp.atmega88-modify.hex

После этого убираем перемычку на USBISP, подключаем его к компьютеру, и если все сделано правильно, - на нем загорится синий светодиод:


Теперь у нас есть полноценный компактный USBASP программатор в удобном металлическом корпусе.

SOIC клипса

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


Подключаем контакты клипсы к программатору в соответствии с распиновкой микроконтроллера:


Для большей надежности я припаял провода к клипсе и затянул все это термоусадкой:


Заливаем прошивку в фонарь

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


Крепим клипсу, соблюдая ориентацию. Ориентир в данном случае - кругляш на корпусе микросхемы, он обозначает первый её пин (RESET в нашем случае):


Смотрим, чтобы все пины клипсы утопились в корпус. Подключаем программатор к компу, теперь дело осталось за малым - нужно залить прошивку) Для этого идем на гитхаб, качаем бинарник quasar.hex , запускаем консоль, переходим в папку с бинарником и выполняем команду:

Avrdude -p t13 -c usbasp -u -Uflash:w:quasar.hex:a -Ulfuse:w:0x75:m -Uhfuse:w:0xFF:m

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


Просто, да? А вот нифига, с вероятностью 90% вместо загрузки прошивки вы увидите это:


Причина чаще всего кроется в том, что у новых моделей драйверов замкнуты пины 5 и 6 (MISO и MOSI), что делает невозможным программирование. Поэтому если avrdude жалуется на target doesn"t answer, то первым делом вооружаемся скальпелем и внимательно смотрим на плату. Нужно перерезать дорожку, как показано на картинке:


После этого прошивка обычно заливается без проблем. Если нет - внимательно посмотрите на микроконтроллер, возможно у вас вовсе не Attiny13a, по крайней мере мне попадались драйвера с Fasttech с PIC контроллерами.

Модификация прошивки

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


Перечислю наиболее интересные места в коде:

#define LOCKTIME 50

Задает время, через которое текущий режим будет сохранен. Значение 50 соответствует 1 секунде, соответственно поставив 100 можно получить интервал ожидания в 2 секунды

#define BATTMON 125

Задает критический уровень напряжения на аккумуляторе, при достижении которого фонарь начнет сбрасывать яркость. У стандартного Nanjg 105D величина 125 соответствует примерно 2.9 вольтам, но все зависит от величин резисторов делителя напряжения на плате. Если удалить эту строку целиком - фонарь не будет следить за напряжением аккумулятора.

#define STROBE 254 #define PSTROBE 253 #define SOS 252

Определения режимов-мигалок, цифровые значения трогать не следует, если не нужен какой-либо режим - соответствующую строку можно удалить, не забыв после этого поправить объявления групп режимов в массиве groups.

#define BATTCHECK

Включает режим индикации уровня аккумулятора после 16 быстрых кликов. Можно удалить, если эта функция не нужна.

#define MEM_LAST

Задает запоминание последнего режима. Возможны следующие значения: MEM_LAST - фонарь включается в последнем включенном режиме, MEM_FIRST - фонарь всегда включается в первом режиме, MEM_NEXT - фонарь всегда включается в следующем режиме.

#define MODES_COUNT 7 #define GROUPS_COUNT 2

Задают количество режимов в группе и количество групп соответственно. Тесно связаны со следующим массивом groups:

PROGMEM const byte groups = {{ 6, 32, 128, 255, 0, 0, 0 }, { 6, 32, 128, 255, STROBE, PSTROBE, SOS }};

Здесь перечислены сами группы режимов работы. Числа 6, 32, 128, 255 - значения яркости, STROBE, PSTROBE, SOS - обозначения специальных режимов. Нулевые значения яркости игнорируются, поэтому в разных группах можно задавать разные количества режимов (в данном случае в первой группе 4 режима, во второй - 7).

Например, если вы хотите оставить один единственный режим работы со 100% яркостью, то сделать это можно так:

#define MODES_COUNT 1 #define GROUPS_COUNT 1 PROGMEM const byte groups = {{ 255 }};

Если вам нужны 3 группы режимов без мигалок и с обратным следованием (от максимального к минимальному), то можно сделать так:

#define MODES_COUNT 4 #define GROUPS_COUNT 3 PROGMEM const byte groups = {{ 255, 0, 0, 0 }, { 255, 64, 6, 0 }, { 255, 128, 32, 6 }};

При таком раскладе в первой группе всего один режим со 100% яркостью, во второй - 3 режима, в третьей - 4 режима с более плавным уменьшением яркости. Легко и просто, правда? Остается лишь скомпилировать исходник в hex файл с помощью студии, для этого выбираем «Release» в диспетчере конфигураций и жмем «Запуск без отладки»:


Если нигде в коде не накосячили, то в папке проекта появится директория Release, а в ней - hex файл, который остается залить в драйвер описанным в предыдущем разделе способом.

На этом все, надеюсь сей мануал будет кому-нибудь полезен. Если у кого возникнут вопросы - милости прошу в комменты)