Предисловие
В этой статье речь пойдёт о том, как я попытался сделать задний фонарь-мигалку для велосипеда, который бы по максимуму удовлетворял всем моим хотелкам. Основные исходные требования к фонарю, от которых я отталкивался:
- достаточная яркость, чтобы обозначить себя на дороге;
- достаточный (на моё усмотрение) минимум режимов свечения;
- отсутствие лишних, не нужных функций;
- минимальное энергопотребление в рабочем режиме и в режиме ожидания;
- сменные элементы питания, для достижения большей автономности;
- простота и удобство включения/выключения/переключения режимов;
- удобный форм-фактор.
Поскольку найти готовое решение, полностью удовлетворяющее моим хотелкам, не удалось, решено было купить китайский фонарик подходящего форм-фактора, а электронную начинку сделать свою, на микроконтроллере ATtiny13.
Изначально мне очень понравились круглые компактные фонари с креплением на салазки под седло. Но именно в таком форм-факторе я не нашёл дешёвых фонарей, а только, так называемые, «умные» фонари (Meroca, Rockbros, X-Tiger и т.п.) со встроенными стоп-сигналами, датчиками ускорения, освещённости и т.п. плюшками. Больше всех мне понравился фонарь Meroca WR15, который и был взят за основу.
На момент покупки он мне обошёлся порядка 650руб. Что мы имеем за эти деньги:
- стильный, лёгкий,неплохо пыле-влаго-защищённый корпус из алюминиевого сплава с креплением на салазки под седло (так же, опционально, доступен вариант крепления резиновым ремешком на подседельный штырь);
- достаточно яркое свечение с неплохой засветкой в стороны;
- шесть режимов свечения/мигания;
- автоматическое включение стоп-сигнала при торможении;
- возможность ручного или автоматического включения/выключения фонаря по сигналу от датчика ускорения;
- автоматическое выключение фонаря при ярком освещении по сигналу от датчика освещённости;
- встроенный литий-полимерный аккумулятор ёмкостью 500мАч, заряжаемый от USB.
Казалось бы, а зачем тогда что-то вообще переделывать, если уже имеем такой навороченный фонарь? А всё дело в том, что многие из его плюсов на деле как раз оказываются минусами, которые зачастую перевешивают все плюсы подобных «умных» устройств!
Во-первых, самый жирный и неприятный минус — это ОЧЕНЬ высокое энергопотребление! Вся эта обвеска из датчиков освещённости/ускорения, понятное дело, требует питания. Для обеспечения всех эти автоматических режимов, датчики потребляют ощутимые токи порядка нескольких десятков микроампер, а иногда доходящие и до нескольких миллиампер, причём не только в рабочем режиме, но и в режиме ожидания.
Аккумулятор у нас литий-полимерный, встроенный, заряжается от USB через разъём, спрятанный под винтовой крышкой. А значит, будьте добры, раз в несколько дней фонарь от крышечки открутите и поставьте на зарядку (судя по отзывам, в среднем, каждые два-три дня, а кто интенсивно катается, возможно и каждый день) — это уже неудобно. Если фонарь сел в дороге — тут тоже всё понятно. О дальних поездках тут речь уже совсем не идёт, так как автономность у фонаря получилась слабенькая.
Во-вторых, большинство этих навороченных функций — мало того, что расходуют заряд аккумулятора, но ещё и работают зачастую не так, как хотелось бы. Взять автоматическое включение стоп-сигнала при торможении: вроде не плохая задумка, но на деле она живёт своей жизнью — стоп-сигнал срабатывает почти на каждой кочке, а если вы едете по пересечёнке, то это вообще будет полная дискотека, которая вам ещё и аккумулятор высадит гораздо быстрее, чем ожидается. Автоматическое выключение при засветке — тоже спорная функция. Ну едем мы по дороге, сзади автомобиль ярким светом фар осветил — фонарь выключился. И какой в этом смысл? Авто-отключение, когда велосипед неподвижен — тоже… Представьте, остановились на обочине по какой-то причине, прислонили велик к столбу, фонарь поморгал немного и заснул, в итоге мы остались не обозначенными на дороге — опять больше вреда чем пользы.
Поэтому решено: всю лишнюю требуху вырезаем, схему максимально упрощаем, оставив только самое необходимое, элемент питания ставим заменяемый Li-Ion.
Разборка фонаря Meroca WR15
Начинать разборку фонаря нужно не с задней крышечки, как я пытался сначала, а со стекла свето-рассеивателя, которое нужно тонким ножом аккуратно поддевать со всех сторон, по кругу, пока оно не выйдет (естественно, там не стекло, а красный пластик). Рассеиватель у меня был плотно запрессован в корпус, возможно чем то слегка приклеен, шёл достаточно туго, но главное его сдвинуть с места, дальше дело техники:
Затем все внутренности можно спокойно достать наружу.
Электронная начинка фонаря состоит из двух спаянных между собой плат: на первой — установлены основные светодиоды, зелёный индикаторной светодиод, кнопка переключения режимов и датчик освещённости; на второй — двадцатиногий микроконтроллер со стёртой маркировкой (предположительно что-то типа STM8), схема питания и заряда аккумулятора, датчик ускорения и прочая обвязка.
Переделка фонаря на ATtiny13
Плату со светодиодами и кнопкой я оставил полностью родную, без изменений. Датчик освещения тоже остался на месте, но в моей схеме он не задействован, поэтому я его просто оставил не подключенным (хотя при желании, если он кому-то будет нужен, можно подключить и его).
Вторую плату изготовил самодельную, по размерам родной платы, так, что она разъём-в-разъём встаёт вместо неё. Плата изготавливается из двухстороннего стеклотекстолита толщиной 1мм.
Вот такая у меня получилась схема фонаря:
Управление основными светодиодами осуществляется ШИМ методом через полевой транзистор VT2. На элементах R5, VD1, VT1 собран простенький драйвер управления полевым транзистором VT2.
В схеме не предусмотрено непосредственной защиты от переразряда аккумулятора, но такая защита присутствует программно, в прошивке. Для контроля напряжения питания служит делитель (резисторы R2, R3), с которого напряжение подаётся на вход АЦП (ADC1) и сравнивается с опорным напряжением 1,1В. Номиналы резисторов делителя выбираются из расчёта, что при изменении напряжения питания от 0 до максимума (в моём случае 4,2В), напряжение на выходе делителя должно изменяться от 0 до Uопор. (1,1В). То есть, кратность делителя в моём случае должна быть примерно 3,8. Номиналы резисторов R2, R3 можно подобрать из того, что есть под рукой, но следует выбирать их как можно большими — для уменьшения тока, протекающего через делитель и, соответственно, уменьшения энергопотребления. Я использовал резисторы сопротивлением 910 КОм и 330 КОм соответственно. В архиве с проектом (см. ниже) есть Excel таблица для облегчения расчёта делителя.
В режиме ожидания (когда фонарь выключен) схема потребляет менее 5мкА (мой мультиметр показал порядка 2-3 мкА)!
В качестве элемента питания я использовал Li-Ion аккумулятор 3,7В типоразмера 14250 (1/2AA) ёмкостью 280мАч, т.к. они отлично вписываются по размеру в корпус моего фонаря. Аккумуляторы заказывал комплектом из четырёх штук (порядка 400руб. на Алиэкспресс) То есть три штуки можно брать с собой в запас в поездку или заряжать дома, пока четвёртый используется в фонаре. Фонарь у меня уже откатался с этими аккумуляторами не один сезон в режиме: две-три вечерних покатушки по городу в неделю . За весь сезон менял аккумуляторы всего два-три раза.
Контакт для «плюса» аккумулятора припаян на плату, контакт для минуса — сделал в виде подпружиненной съёмной панельки, которая прижимается крышкой при закручивании. Плата закреплена внутри корпуса термоклеем, а также, приклеен кусочек вспененного материала, чтобы аккумулятор не болтался внутри корпуса:
Программная часть
Прошивка фонаря рассчитана на работу МК с тактовой частотой 600кГц. Для корректной её работы нужно выставить следующие фьюзы: HFUSE=0xFF (по умолчанию, можно не трогать), LFUSE=0x69 (тактовая частота 4.8МГц от встроенного генератора, включен делитель на 8).
В моём варианте прошивки реализованы следующие функции:
- шесть основных режимов мигания/свечения;
- выбранный режим сохраняется после выключения/включения фонаря;
- включение и переключение режимов осуществляется короткими нажатиями кнопки; выключение — длинным нажатием;
- при разряде аккумулятора примерно до 3,5В начинает мигать зелёный индикаторный светодиод, а при критическом разряде примерно до 3,1В, фонарь мигнёт индикаторным светодиодом и выключится во избежание переразряда аккумулятора.
Основные режимы работы фонаря:
- Одинарное размеренное мигание;
- Двойные стробоскопические вспышки;
- Плавное волнообразное изменение яркости;
- Постоянное слабое свечение;
- Постоянное свечение средней яркости;
- Постоянное яркое свечение.
Скачать архив проекта (схема и плата в DipTrace, hex-файл прошивки, исходник прошивки, Excel таблица для расчёта делителя напряжения):