[webdirectory]

Туристические маршруты

Всякие разности

slider image

Ардуинки в самодельной технике

  1. Home
  2. »
  3. Ардуинки в самодельной технике
Description:

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

Пример будет - квадрокоптер с полетом по нескольким направлениям снимая все на видео и с возвращением обратно в точку вылета.   и автомат строящий карту подземной выработки или пещеры, используя два датчика на разных принципах ультразвук и лазер.

 

несколько проектов

фонари (2018)

USBISP - заливаем собственную прошивку в фонарик

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

| Обзор | Лайв им. SinuX

Реклама

Наверняка у многих имеются фонари фирмы 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 к компу, запускаем консоль и переходим в папку с сохраненной прошивкой. Для начала выставим фьюзы командой:

 

 

.">

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

.">

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

.">

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

SOIC клипса

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

.">

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

.">

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

.">

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

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

.">

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

.">

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

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

.">

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

.">

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

.">

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

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

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

.">

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

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

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

 

 

 

 

 

 

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

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

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

 

 

 

 

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

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

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

 

 

 

 

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

 

 

 

 

 

 

 

 

Реклама

 

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

.">

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

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

Реклама

22 комментария

V

Полезно. Спасибо.
D

Без какой-то доли иронии, меня зацепил заголовок, с большим уважением к проделанной работе, но «Прошивка для фонарика» — это круто вообще!
S

Это все конечно любопытно, но реальной необходимости перепрошивать фонарь и реальных преимуществ после перепрошивки, я как-то не заметил…
S

«При разряде аккумулятора ниже 3В фонарь начинает сбрасывать яркость, но полностью не отключается — используйте аккумуляторы с защитой, если боитесь их убить.»
Приз за антифичу года! =)
99.999%, что в итоге по забывчивости, в спешке, передав фонарь кому-то другому и тд все закончится несколькими убитыми АКБ…
S

Как можно забыть про разряженный аккумулятор, если фонарь сбрасывает яркость на минимум сразу после включения любого режима?) И по-моему страхи по поводу убийственного переразряда сильно преувеличены, у меня несколько разных банок (sanyo, samsung, panasonic) без защиты садились в 0.0В. После прикуривания другой заряженной банкой они нормально заряжаются и работают, потеря емкости после этого — максимум 5%. Поэтому из вариантов остаться без света в самый неподходящий момент или купить новый акк в самом худшем случае я выбрал второе
S

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

Зачем таскать, если можно не таскать?) В минимальном режиме фонарь может проработать довольно долго до начала урона аккуму, часов 6 точно. И, к слову, отключения при критическом заряде нет и в оригинальной прошивке, оно вообще мало где используется. Проще поставить акк с защитой и не париться
S

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

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

Зачем таскать, если можно не таскать?)

Не ожидал от вроде технически грамотного и тд человека перехода на демагогию…

S

Просто не понятна суть недовольства, есть разные типы аккумуляторов, которые имеют разное критическое напряжение, те же NCR18650B можно и нужно сажать до 2.5В. По-вашему нужно сделать отдельную прошивку под каждый тип аккумулятора?) По-моему логично предоставить пользователю самому выбирать, нужен ему свет до отсечки, или пойдет защищенный аккумулятор, который сам отрубится. На фирменных акках типа keeppower сюрпризов с защитой нет
S

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

keeppower

Фирменные — это хотя бы самс, лг, сони, саньо, панас… Остальное — китай той или иной степени подвальности… 😉

S

самс, лг, сони, саньо, панас

Так это все сами OEM банки, а keeppower, liitokala и т.п.- это сборки на основе них, обычно они пишут какая банка завернута) Хотя liitokala в последнее время ругают часто, походу заворачивают старые банки с просевшей ёмкостью, но зато они и стоят дешевле всех

н

Это сколько ж нужно иметь свободного от отдыха времени, чтоб таким заниматься.Как говорил Жванецкий-*это какому нормальному человеку в голову придет?*.А вообще вы реально в голове весь этот миллион режимов фонарика держите и действительно им пользуетесь? Еще нехватает только чтоб вош фонарик молвил человеческим голосом, варил кофе и тапки приносил.По моему это уже перебор.
NoName.Man

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

Вот тоже интересно. Особенно «SOS».

S

Особенно «SOS»

Все несколько проще — все сделано по аналогии с заводской прошивкой, у которой закрыты исходники

A-Gugu

А я делаю эргономичный драйвер, для нормальных людей, а не для полукликеров-счётчиков 🙂
S

Вы намекаете, что среднестатистический тип не в состоянии разобраться в двух группах по 4/7 режимов, отличающихся только мигалками?)

я делаю эргономичный драйвер

Если вам не нужна карманная лампочка с одним режимом вкл/выкл, то придется ставить МК и возвращаться к режимам)

A-Gugu

Доделаю, там увидите всё 🙂
i

Спасибо.Очень интересна данная тема.Так как на али не нашел драйвера на свой налобник на 3 раздельных светодиода то как можно реализовать все то же самое только на 3 разных ногах микроконтроллера.Если не трудно пожалуйста напишете как задействовать еще 2 свободные ноги микроконтроллера программно-переключение между светодиодами.Плату сделаю сам обвязку тоже на полевиках а вот программировать к сожалению не умею.Вот только как сделать кнопку включения-в моем случае питание остается а переключение с помощью разомкнутой кнопки.Нашел микросхему на али CX2812 но она работает только как переключатель между светодиодами без управления яркостью.Думаю такая прошивка заинтересовала бы многих.Использую фонарь на рыбалке синий красный и белый свет при необходимости.Рыба не боится красного цвета- кстати выползки тоже)С уважением Иль.

Последний раз редактировалось
А

А можно прошить фонарь имея только ардуино?
m

Спасибо!!! Наконец-то настроил фонарик под себя. Сбылась мечта. Часто пользуюсь им на работе, поэтому удобство играет не последнюю роль.

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

Сейчас на главной

Новости

Публикации

AliДно #3: сравнение трех измерителей CO2 с AliExpress

Обзор
По всей видимости, в одном из них нет датчика CO2. Но есть и хорошая новость – пару-тройку лет назад самый дешевый домашний прибор мониторинга CO2 стоил минимум 80 долларов, а сейчас достаточно...

Что такое цифровой рубль и когда Россия начнет им пользоваться?

Рассуждения
 Уже давно в России ведутся разговоры, что нам не помешала бы своя цифровая валюта. В 2020м году активно шло обсуждение этого вопроса на высших уровнях и с декабря 2021го года началось создание...

Пляжный поиск сокровищ станет легче: обзор пинпойнтера Shrxy Dive Q20 с большой катушкой

Обзор
Сегодняшний обзор посвящен новому прибору для металлодетекторного поиска от компании Shrxy.  В Модели Dive Q20 реализованы новые тренды в ручных поисковых приборах: складная конструкция, надежная...

Моющий пылесос Dreame H11 Max из экосистемы Xiaomi для ежедневной уборки

Обзор
Как убрать дом или квартиру и помыть полы с минимальными затратами сил? Моющий беспроводной аккумуляторный пылесос Dreame H11 Max из эко-системы Xiaomi протирает полы с вращающимся роликом и...

Телефонные мошенники нового уровня: теперь жертвам звонят с вашего номера! Как это работает и можно ли что-то сделать

Рассуждения
Итак, вы принимаете звонок с неизвестного номера. Мошенники? Нет — звонящий заявляет что с вашего номера ему только что звонили и пытались обмануть. В худшем случае — уже обманули и звонящий,...

Чем отличается торговля криптовалютой от торговли на обычном фондовом рынке?

Рассуждения
Технически торговля криптовалютой на криптобирже не сильно отличается от торговли на обычной бирже на традиционном фондовом рынке. То есть в основном используются все те же инструменты...
 на сайте есть 3 проекта - фонарик на 6 ватт из лампы для интерьера и более мощный 20-30 ватт из светодиодной сборки на радиаторе. 1919 и включается одним преобразователем от 3 вольт. используется схема инвертора на mc34063 - рассчитаной на 3 вольта! и на второй более мощной сборке либо 34063 либо tl494 . ключи на полевиках до 200 (140) ампер в импульсе а катушка 2 витка в 16 проводов на cs40125 кольце 125 проницаемости  и  4см на полтора до 3000 ампер на метр. От 3 вольт до 300 ватт а от 48 вольт до 5 киловатт эта катушка. Выход 220 вольт - кристаллы светодиодных сборок. 6-ваттный фонарь на одном полевике irfz44  а где надо 300 ватт по 3 штуки 2 плеча - корейские транзисторы 250 ампер 7 миллиом 200 вольт с драйвером (кт816 кт817) и через 1 ом резисторы к затвору, импульс тока затвора при 14 вольтах на драйвере 18 ампер емкость 60000 пф либо 40000 при 2 транзисторах фронт и срез 90 - 150 нс.  аккумулятор от 3 в параллель LG HG2 до 36 штук. 3.2 4.18 вольт. ( 2 преобразователя с 3 на 12 либо 14 на 3 ватта и второй с 3 на 220 используя 14 вольт для схемы).

Related Images:

Leave a Reply

Your email address will not be published. Required fields are marked *

Send message to listing owner

Send message to moderator

здесь - скрытая часть сайта доступ платный

hidden area pay money

 

  • Кондуки
  • Романцево
  • Епифань
  • Старица
  • Таруса
  • юг Подмосковья

Крымская поездка 2004 еще в Украину. Турецкие 3 или 4 экскурсии за несколько лет. Черногория Будва. Записи интересные, у нас хорошая техника видеокамера с приближением в 140 раз, зеркалка фото - одна правда навернулась в пещере. Россия и Украина, еще если найду Болгарские экскурсии с 2002 - 2003. Вот в этом клипе который здесь есть восхождение на гору аю-даг по южной тропинке, и небольшой привал уже на северной стороне. С видом на поселок Гурзуф и лагерь Артек. Посмотрите что это возможно, хоть там очень крутой склон, больше 45 градусов и высокий 530 метров. А сейчас все в мобильник только забираются а лагерь Артек подключается по удаленке.. неа, одна прорвалась туда

крым 1996

[/crayon]
Снимок экрана от 2022 11 09 14 35 52
информация для перевода - Monero monero:88BF2ctx37b6kyCAWf3YmadRLrV4asMDuAZyYXZrbHpULDqES7UTv22D1ju9uakwwoXJXg5FeaYFB7cj1vC4HZU5V7s1niN

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

Related Images: