|
|
|
|
259370 536 46 31 |
|
Опции темы | Поиск в этой теме |
09.04.2013, 06:34 | 1 | ||||||||||||||||||||||||||||||
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Модифицируем народный линейный драйвер для тактовой кнопки
Решил и я попробовать свои силы в программировании.
Побудило к этому желание заменить драйвер в налобнике. Поскольку в наличии имелась парочка народных, решил попробовать использовать их, изменив прошивку. Поиск готовых решений/прошивок не принес удовлетворительного результата. Может плохо искал. То режимы не нравились, то скудные возможности, то еще что-то. Да и, по непонятной причине, все что попадалось – ощутимо кушало аккум в выключенном состоянии (от 50мкА и больше). То есть, если оставить пустой аккум в фонаре (не знать, например, что он почти разряжен), то за пару месяцев он будет с большой вероятностью убит. За основу были взяты исходники от Tamagotchi. Возможности драйвера: 1. Потребление фонаря в спящем режиме (выключенном): 0,2мкА. (на порядок меньше тока саморазряда аккума) 2. Три группы режимов по пять уровней яркости:
3. Переключение вверх (короткое нажатие < . >) и вниз (двойное короткое < . . >) только в трех средних режимах яркости текущей группы. Включение самого яркого и самого слабого режима: двумя и тремя длинными нажатиями, соответственно (< _ _ > < _ _ _ >). 4. Включение/выключение длинным нажатием (< _ >). Включается в том режиме, в котором выключился. Возможно непосредственное включение сразу в любом из пяти режимов текущей группы (1: < _ _ _ >, 2: < . _ >, 3: < . . _ >, 4: < . . . _ >, 5 : < _ _ >) 5. Высасыватель батареи – переключение режимов, при низком напряжении, вниз. Вплоть до 2-го режима (в первый режим (5мА), принудительного переключение нет). При напряжении меньше 2.9В -- отключение фонаря. 6. Индикация напряжения на батарее, тройное короткое нажатие < . . . >. Полностью заряжено – 5 миганий, разряжено – одно мигание. 7. Переключение между группами ( 1-я: < _ . >, 2-я: < _ . . >, 3-я: < _ . . . > ). Железная доработка драйвера немного сложнее, чем без тактовой кнопки, поскольку дополнительно нужно: 1. Освободить 6-й вывод для кнопки, ибо только замыканием этого вывода на землю можно разбудить драйвер из глубокой спячки. 2. Нужно отрезать нижнее колено делителя напряжения от земли (что бы уменьшить потребление в спящем режиме) и подключить его к 6-му выводу. 3. Убрать конденсатор с обратной стороны платы (лучше – переподключить его параллельно аккуму). На фотографиях нет двух линейников -- я их позже напаял. Кнопка подключается к 6-му выводу и земле (минусу). Исходники для AVR Studio 5 и прошивку прилагаю. Немного позже в исходники вставлю комментарии. Фьюзы показаны для SinaProg. [Исправлено: ceramic, 09.04.2013 в 06:42] |
||||||||||||||||||||||||||||||
Поблагодарили: 47 раз(а) |
Admin (09.04.2013), AlexeiVP (15.04.2013), AVSel (09.04.2013), AVTOELEKTRIK (19.03.2015), BandEros44 (09.04.2013), Barabas (22.12.2017), blackwolf762 (23.01.2014), Crio (03.03.2015), Dnv (17.07.2018), dr oleg (30.01.2015), Enn (09.04.2013), fnksb (13.09.2014), fonpuh (04.07.2013), funetod (17.08.2013), galex (09.04.2013), garag45 (14.02.2016), grek21 (12.05.2013), GTIb4 (10.06.2016), Hemi (09.11.2017), holomey (09.07.2013), Ikepod (08.10.2014), John Jack (15.08.2013), Katran73 (21.01.2017), Khii! (23.08.2013), klialex (13.12.2019), lexxx-48.48 (20.10.2013), lonish (19.04.2013), MSS (16.06.2013), OldRanger (03.02.2017), Optich (30.03.2019), Pavel_74 (26.03.2018), RedFog (14.03.2014), rus75 (12.09.2017), SERG27 (10.04.2013), shurko_3 (09.04.2013), sk911 (02.09.2019), Storm (11.08.2016), Svetogor (10.04.2013), Tamagotchi (10.04.2013), Techno (10.06.2017), Vasil (26.04.2013), Vladimir0vi4 (18.05.2014), vmr (12.04.2013), yeti (21.01.2014), Артем Квантов (21.10.2018), Жуков (19.07.2015), ФанКол (02.01.2021)
|
09.04.2013, 09:17 | 2 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 22:14 Адрес: Россия, Пермский край
Сообщений: 38929
Сказал(а) спасибо: 6240
Поблагодарили: 34017 раз(а) в 15762 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
класс!
индикации выбранной группы режимов не предусмотрено? чтобы отсечь самый старший режим достаточно тут static inline void SwitchMode() { unsigned char n; if (B == 0b00000111) { for (n = 0; n<5; n++) поставить n<4 или еще надо что-то править? еще список режимов unsigned char Mode[5][3] наверное подрезать? не. туплю что-то... [Исправлено: galex, 09.04.2013 в 09:26] |
09.04.2013, 09:36 | 3 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Старший и младший режим, при переборе "вверх" и "вниз", уже обрезан.
Индикации нет. |
09.04.2013, 09:53 | 4 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 22:14 Адрес: Россия, Пермский край
Сообщений: 38929
Сказал(а) спасибо: 6240
Поблагодарили: 34017 раз(а) в 15762 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
в конкретном случае необходимо чтоб его вообще не было. чтобы намеренно или случайно не включить даже.
хотя можно конечно группу из 5 стабилизаторов не подключать, просто тогда будут скрытые режимы выкл, 350 и 1050, да и бог с ними. это лучше чем неожиданно 3а на xr-e подать. |
09.04.2013, 11:43 | 5 | |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Ни чего не понял.
Скажите это, но медленнее и другими словами Цитата:
Группа из пяти стабилизаторов не связанна с "выкл, 350 и 1050". |
|
09.04.2013, 11:54 | 6 |
Увлеченный
Регистрация: 21.05.2012 Последняя активность: 11.08.2015 21:44
Сообщений: 91
Сказал(а) спасибо: 2
Поблагодарили: 7 раз(а) в 7 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Здорово! Очень интересный вариант.
|
09.04.2013, 12:19 | 7 |
Увлеченный
Регистрация: 21.05.2012 Последняя активность: 11.08.2015 21:44
Сообщений: 91
Сказал(а) спасибо: 2
Поблагодарили: 7 раз(а) в 7 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
ШИМ на 1-3 режиме не мешает? Какой налобник модифицировали?
|
09.04.2013, 13:33 | 8 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 22:14 Адрес: Россия, Пермский край
Сообщений: 38929
Сказал(а) спасибо: 6240
Поблагодарили: 34017 раз(а) в 15762 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
планирую поставить этот драйвер в налобник на диоде XR-E Q5 (зеброид).
подавать на диод ток выше 700ма нет нужды в таком мелком копусе, выше 1050 противопоказано. а старшие режимы хоть и скрыты, но включить их случайно можно, что скорее всего приведет к необходимости замены диода через несколько минут работы. эта группа используется только в старших режимах каждой группы: 1750(5), 2100(5+1) и 2800(5+1+2). так? соответственно если ее не цеплять на 3 ногу микроконтроллера 3 основные режима+мунлайт останутся, а вместо 5-го если все же включить его двумя длинными нажатиями будет по группам: 0(~выкл), 350 и 1050ма. т.е. прошивку можно не трогать, а просто не задействовать 5 стабилизаторов, благо в основной линейке режимов они все равно не используются 9кГц? |
09.04.2013, 14:30 | 9 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Его увидеть еще надо постараться.
http://wallbuys.com/Product... Только на Новый год он $10 стоил. Все понял. Если минимальными изменения прошивки, то: назначить на двойное долгое нажатие младший режим. При желании можно еще убрать переход на третью группу (если 1050 не надо). Но, по хорошему, при возможности отказа от одной из групп линейников, минимальной модификацией прошивку можно сократить вдвое. [Исправлено: ceramic, 09.04.2013 в 14:32] |
09.04.2013, 14:47 | 10 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 22:14 Адрес: Россия, Пермский край
Сообщений: 38929
Сказал(а) спасибо: 6240
Поблагодарили: 34017 раз(а) в 15762 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
09.04.2013, 15:54 | 12 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Можно и так. Тогда минимум можно будет включить и двумя и тремя длинными нажатиями.
Можно просто удалить (закомментировать) else if (B == 0b00110000) Nmode=4; Зы. Длинное нажатие -- дольше 0,25с, пауза больше 0,5с -- окончание ввода. |
09.04.2013, 16:01 | 13 |
Новичок
Регистрация: 01.11.2012 Последняя активность: 08.01.2018 21:36
Сообщений: 26
Сказал(а) спасибо: 7
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
1. Можно ли для 1-ой группы, 2-ой использовать драйвер с 5-ю и 6-ю 7135 соответственно.?
2. Планируется ли для налобника 700мА и 1050мА максимум и режимов поменьше можно. [Исправлено: BandEros44, 09.04.2013 в 16:13] |
09.04.2013, 16:03 | 14 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
09.04.2013, 16:03 | 15 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
09.04.2013, 16:13 | 16 | |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
else if (B == 0b00110000) Nmode=4; ограничивает максимальный ток до 1050мА, уменьшая кол-во режимов (пропадает старший). Что-то я сегодня туго соображаю. Расшифруйте. |
|
Поблагодарили: 1 раз |
BandEros44 (09.04.2013)
|
09.04.2013, 16:29 | 17 |
Новичок
Регистрация: 01.11.2012 Последняя активность: 08.01.2018 21:36
Сообщений: 26
Сказал(а) спасибо: 7
Поблагодарили: 0 раз(а) в 0 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Если для текущего фонаря и светика буду использовать максимум 2100мА и имеется в наличии драйвер на 6шт. 7135, обязательно ли напаивать еще два. Т.е. изначально буду пользоваться группой 2.. При переключении на 3 группу с 6-ю стабилизаторами максимум останется 2100. Допустим размещение стабилизаторов при 6-ти штуках как на фото 2 - пост 1.
Спасибо за ответы. |
09.04.2013, 17:03 | 18 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Если коротко, то надо соблюсти правила: 1. 1 чип на пятой ноге. 2. 2 чипа на второй ноге. 3. оставшиеся чипы (задействованы только в самом ярком, пятом, режиме) -- на третью ногу. |
Поблагодарили: 1 раз |
BandEros44 (09.04.2013)
|
10.04.2013, 00:58 | 19 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Добавил индикацию выбранной группы (при ее изменении).
Кол-во морганий == номеру группы. |
Поблагодарили: 2 раз(а) |
galex (10.04.2013), Tamagotchi (10.04.2013)
|
10.04.2013, 08:52 | 20 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Отличная работа!
А я уже собрался было переписывать свою прошивку под тактовую кнопку, но рассчитывал на использование 85-й тиньки. |