Всем привет!
Надеюсь, по заглавному фото всем стало ясно, о чём будет обзор :)
Если нет, то про это: «Lis3dh импортированы оригинальные подлинные поддельные потерять начиная одиннадцать больших ценовые преимущества — HWDDZ» — как гласит описание товара со страницы продавца :))
Ну, а если серьёзно, то будет рассказано про то, что на aliexpress такие микросхемы есть (в отличие от Украины, где они появились совсем недавно), они рабочие и про поделку, которую я собрал с её помощью.
Итак, предыстория такова.
Дочка научилась кататься на велосипеде и папа сообразил ей светотехнику на батарейке.
Включать передние и задние габариты она умеет сама, но вот выключать забывает, что в 3,5 года простительно :)
Поэтому я решил собрать схему автоматического включения-выключенния, которую придумал Дмитрий Погребняк и реализовал в своём
велофонаре. Пользуясь случаем, хочу передать ему огромное спасибо за плату и прошивку.
Схема собрана на основе акселерометра LIS3DH.
У нас в Украине таких микросхем в продаже я не нашел (на тот момент), потому и заказал на aliexpress.
Цена, конечно, не маленькая, но в момент поиска и заказа у продавца была акция «минус 2 доллара за заказ от 2,1», чем я и воспользовался.
В итоге лот из 5-ти штук мне обошелся в 5,2 доллара.
Посылка пришла через 3 недели, микросхемы упакованы в катушечную ленту, такую, как на фотографии (свои фото не делал):
Сами микросхемы:
Оригинальные или нет, я, конечно, не скажу, но на фотографии
адаптера компании
www.st.com маркировка вполне похожая на оригинал:
Судя по
даташиту, на данной микросхеме собирается куча всего:
— функция активирования по движению;
— обнаружение свободного падения;
— распознание нажатия/двойного нажатия;
— интеллектуальное энергосбережение для портативных устройств;
— шагомер;
— ориентация дисплея;
— устройства игровые и виртуальной реальности;
— реагирование и регистрация на удары или воздействия;
— мониторинг и компенсации вибрации.
(перевод мой с помощью google, поэтому могут быть ошибки).
Моя конструкция получилась такой:
Платка простенькая, собиралась на скорую руку для проверки акселерометра.
Работает так:
— при первом нажатии на кнопку фонарик включается, при езде светятся крайние и центральный светодиоды, периодически вспыхивая в режиме авиалайнера. Если воздействия нет (велосипед поставили у стены), через 1 минуту выключается. От воздействия моментально включается.
— при втором нажатии крайние и центральный светодиоды светятся без вспышек.
В этих двух режимах активные тряски приводят к яркому свечению всех светодиодов.
Работают функции переноски, парковки и падения.
— при третьем нажатии постоянно светятся три центральных светодиода без реагирования на положение фонаря и без автовыключения.
— четвёртое нажатие выключает фонарь.
Видео работы не показываю, потому что качественное снять нечем, а на некачественном мало что понятно.
Видео есть на страничке автора схемы,
здесь или
здесь.
Вывод: микросхемы LIS3DH хорошие, брать стоит.
Всем пока и спасибо за внимание!
Перевернуть кверху пузом и проводочками :)
На плиту — реальней, к ремонтникам — еще и проще :)
Плюс в статье нет ссылки на сырцы платы и прошивки.
Ну или прожектор галогеновый с трафаретом вниз, и строительным феном сверху… я так у GPU на своей видеокарте шары перекатывал, когда заняться было нечем.
Судя по вопросу, первый ответ — нет, нужна сноровка.
А второй, по большому счету — можно залудить контактные площадки на чипе и плате. Поставить плату на подогрев (можно использовать металлокерамическую бытовую поверхность, не индукционку, либо утюг, но на нем сложней). Предварительно совместить чип и место на плате, положить сверху гайку, размером примерно с чип, но максимально тяжелую для этого размера. Затем прогревать всю поверхность снизу.
Но если был задан первый вопрос, то может лучше обратиться к ремонтникам мобил, например, они за пиво припаяют.
оно, конечно, не по термопрофилю, но вполне себе работает.
Да, по фото понятно, что речь о чем-то китайском :)
Вот такие.
Весь акселерометр там — цилиндрик, свитый из довольно мягкой проволоки, в центре которого второй проводник, из жесткой проволоки.
Работают, блин, хотя наверняка у этой микросхемы функций больше, да и надежность выше — те мне все равно не нравятся. :)
А за обзор плюс.
Есть не именно такие, но аналогов вполне достаточно, стоят правда раза в полтора дороже, но доступны здесь, сейчас и поштучно.
Есть и LIS3DSH, стоит 53грн или около 2.2 бакса.
А насчёт аналогов интересовался у автора схемы, оказалось, для других микросхем нужно сильно менять программу.
Попробуйте обратиться к нему по вышеуказанным ссылкам.
www.drive2.ru/b/1072182/ или vk.com/wall-66175676_37
и современные диоды Cree? Неужели потому, что себестоимость увеличится на пару баксов?А вот чисто для автоматического выключения фонаря чересчур трудоёмко, имхо, проще протянуть провод от геркона велоспидометра и соорудить простейшую схемку выключения по принципу перехода в ждущий режим велокомпа, а то и вовсе найти и вывести с него сигнал ожидания.
Но это я не про борьбу с забывчивостью детей в качестве цели сооружения, естественно :-)
Я вот тоже собрал по данной схеме фонарик, даже прошил с трудом, но прошил. Мой стандартный USBASP v2.0 без обновления прошивки не очень-то хотел работать с разными прогами. Получилось с горем пополам только через eXtreme Burner
Sinaprog, Khazama, Avrdudess, Avrdudeprog, Ponyprog и прочие либо не видели программатор, либо видели, но «не могли открыть порт», либо им что-то не нравилось с SCK.
eXtreme Burner увидел, выругался, что нет в базе Atmega88PA (позже я в базу его внёс и он уже не ругался, но это не спасает), но прошил. Фьюзы тоже прошил нормально, как завещалось в скромном мануале от автора Дмитрия с Drive.ru) (62, DE, FF). А вот потом начались проблемы.
Я довольно быстро понял, что, то ли не до конца продуманы-подогнаны все коэффициенты в прошивке, то ли мой режим езды на электровелосипеде какой-то особенный, но возникла необходимость внести изменения как в реакции, так и в сами режимы горения, например: Сделать чувствительнее режим экстренного торможения, переработать режим обычного маяка, что-то настроить с обычным торможением, а то во время обычной езды он как-то хаотически смешивался ещё с каким-то миганием и получалась полная ерунда.
Ни один из тех зрителей, кому я показывал «смотри, какой крутой фонарик я сделал», не впечатлился. Говорили — нифига не понятно, что вообще сработало и сработало ли. Более-менее понятно, когда экстренное торможение мигает, но 1-2 секунды и оно тухнет и возникает ощущение «что это было?» Мало того, что само торможение не долго длится, так ещё и не всегда и не совсем явные изменения. По уму вообще после экстренного торможения не сразу прекращать его бешенное мигание, а хотя бы ещё секунд пять чтобы помигало. А то я резко тормознусь до полной остановки, а через секунду уже почти темнота и мне в зад въедет кто-нить…
Ну и таких допиливаний режимов можно придумать много.
Я и стал копать. Конечно разжёванных смыслов в файле VeloTailLight.h нет, но мало-помалу стал делать что мне нужно. С непосредственно миганиями почти разобрался. но нужны были попытки и попытки для отлаживания…
А вот теперь сама проблема:
Влить без последствий новую прошивку получалось один раз из 4-5. В остальных случаях Фонарик становился кирпичом.
При этом фьюзы я не трогал — просто лил прошивку. eXtreme Burner мог на середине процесса выругаться на что-то и всё, амба.
Приходилось выпаивать чип, обнулять его и стрепетом пытаться снова. Точно помню, что он хорошо прошился на плате, где ничего кроме чипа не было впаяно. Считал фьюзы, залил свои, затем залил прошивку. Гладко. Потом уже, на этой же плате второй раз так не прокатило…
Выпаиваю и затираю я не сам, т.к. нет ни фена ни параллельного пограмматора ни фьюз-доктора, поэтому эта эпопея бешенно затянулась, да и человека просить неудобно уже…
Скажите, вы с таким не сталкивались? Или просто один раз залили и радуетесь тому, что есть, поэтому не заметили ничего такого? Может быть у вас программатор менее проблемный?
Писал Дмитрию, он предположил, что это уход чипа на слишком низкие частоты (8 Кгц), в сон и поэтому его программатор не видит… Не понятно только, что, это во время прошивки тоже происходит?)) Кнопкой он не будится — просто камешек…
Сделал две платы — прошились и работают одинаково, без проблем, по алгоритму автора.
Меня устраивает то, что: взял велик — фонарь загорелся, оставил велик — потух.
Прошивание микросхемы через переходник, прямо на макетке, посредством USBASP
А вот тут видос, как я выпаивал ейаз32 Атмегу 100 Вт паяльником с платы фонарика:
Вторая часть, продолжение
До вытравливания. Ролик «Как сделать весь цикл качественного ЛУТ за 20 минут» я когда-нибудь сделаю на своём канале.
До <--|--> После. Заменил штатные два диода на 5 нормальных по 30 Кд. Потребление на них правда судя по всему возросло.
Проверка работы
Всё воспроизводимо. Теперь работает стабильно.
Помимо переработки более половины режимов, я добавил очень важную, как оказалось, вещь — калибровку горизонта (точнее, просто компенсацию наклона).
Без неё фонарик, в случае не очень ровного закрепления, становился или бездушным кирпичом (при завале назад) или гиперчувствительным, при завале вперёд). Как реализовать это, подсказал мой друг-программист (к моему огромному к сожалению на мои предложения довести до ума конечно и без того отличный. но с небольшой недоработочкой код, автор сказал: «у меня нет на это времени»..) а дальше пришлось ломать голову самому.
Работает для небольших наклонов в пределах 10-15°. При больших просто уменьшается чувствительность по нужным осям. Всё потому, что там не по уму математически создаются некие виртуальные «правильные» оси, а просто добавляется поправка… Ну… работает как надо, но наклонить вбок плату на 90°, откалибровать и радостно использовать не получится..((( Поэтому, в случае, если будете использовать прошивку для вертикально расположенной платы, просто придётся вам играться с заменой осей в исходниках. Но, что на что менять — это не ко мне.
А вот так реализована Alterlux'ом фильтрация данных с акселерометра. Неплохо. Задержка ни на что не влияет.
Это я пытался разобраться в работе этого фильтра и сделал график… Так до конца и не понял суть математики… ну и ладно)))
Вставил я это в распространённый на Али фонарик с солнечной батарейкой.
Снизу закрыл отверстие армированным скотчем, чтобы не залетала вода и пыль. Мелкие 20 мАч Ni-MH аккумуляторы заменил на 80 мАч 16 мм в диаметре. Они туда отлично становятся.
Моя плата в Easyeda после допиливания в Кореле и других прогах, если надо в каком-то ином формате,
пишите тут или vk.com/write226228
Эх… если бы я заказывал на заводе, выглядела бы она так… Сделано в EasyEDA:
easyeda.com/NyyphoHerr/smart_led-light_for_bike
Для самостоятельного изготовления рекомендую последний вариант, где есть метки-дорожки для установки акселерометра:
«LUT_PCB_WITH_HOLES»
easyeda.com/projects/bf43cb6d653e477a81fc26caca5d3174/documents/0b6fd6f6699d4534b0598b5b727fd71e/download_gerber — Гербер-файлы
Здесь есть немного технического видео по данному фонарику. vk.com/videos-165313526
Нормальный видеообзор всех функций, в том числе и изменённых и новых я до сих пор не сделал. Но расписал текстом их тут в группе: vk.com/smart_bycicle_flashlight — там же есть архив с моей прошивкой
Подробное описание режимов и функций в обсуждениях: vk.com/topic-165313526_37669745
Та прошивка на мой взгляд сделана без сомнения очень крутым программистом, но, как он сам признал, «велосипедистом не аховым». Дело не в крутости велосипедиста конечно, а в том, как часто он сталкивается с тем, как должен работать велофонарик и как много думает над тонкими ньюансами этого… И как много у него времени, чтобы тратить его на доделку безделушки. Я сперва довольно много вопросов задавал автору с Drive-ру и они были поначалу достаточно примитивны (уровня, чем прошивать и какую использовать прогу. Но ведь это не сложно было написать там же в теме, не так ли, чтобы повторить могло побольше народа, чем 1-2 на СНГ). А потом либо я его достал, либо он стал очень занят…
Поэтому пришлось достаточно много допиливать режимы горения, разбираться в чужом коде самому, чтобы они хоть как-то дифференцировались водителями и подгонять уровни чувствительности под реалии наших дорог (без авторских мануалов и комментариев), а потом выяснилось, что для адекватной работы ещё и калибровать надо… Я показывал своим товарищам-автомобилистам работу на родной прошивке и ни один из них не понял, что это вообще индикация торможения… Мало ли что там мигает и какие режимы в веломигалках.
Чтобы хоть как-то это работало, разница между режимом езды и торможения должна быть максимально адской! Поэтому дефолтовый режим я немного приглушил, а торможение сделал вырвиглазным и т.д…
Про необходимость периодической калибровки ещё пара слов.
Фонарик я снимаю, если вел где-то пристёгиваю, да и закреплён он не на суперклее или болтах.
Это вызвало проблему. Надевается он на крепёж с подложенной резинкой и иногда в спешке можно наклон крепежа «прощелкнуть» или просто резинка даст просадку со временем. И вот эти градусы как оказалось, критичны.
Допиливать… допиливать… месяц наверное страдал…. пока оно стало из почти хаотической мигалки, работающей только в идеальных условиях, чем-то нормальным, на данный момент даже испытанным временем.
(реально на родной прошивке в условиях, отличных от стадионных торможений, так и было. Я был сперва удивлён, что автор этого поста остался доволен, но потом прочитав ответ, что «останавливается — гаснет, едешь — загорается» — это круто и удивление пропало)
Уже больше месяца почти ежевечерне использую.
Группу создал, куда всё выложил. Думал привлечь программистов, чтобы мне помогли с допилингом или хотя бы просто энтузиастов, но пока никто интереса не проявил))))
Пришлось самому корячиться. Нехватка гиков с руками))