|
|
|
|
230322 536 45 31 |
|
Опции темы | Поиск в этой теме |
03.04.2015, 21:11 | 221 | ||
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Затуп был в том, что не проследил, что нет сбросов WD нигде дальше в этом случае. Цитата:
Вопрос был в том, каким образом обработчик входит в этот цикл. Ну, в свете ответа на предыдущий вопрос, можно предположить, что после любого нажатия кнопки после смены акка WD его обрабатывает до Р=0 и остается взведенным при Power не 0. Как то так. |
||
03.04.2015, 21:27 | 222 |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
03.04.2015, 21:45 | 223 | |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
ceramic, коль уж так, последний вопрос по вашей прошивке, все стеснялся спросить.
Почему включение/выключение обрабатывается таким образом Цитата:
а не , например else if ((Power == 0) & (B == 1)) {Power = 1;Nmodes=0; } else if ((Power == 1) & (B == 1)) Off(); goto m2; |
|
03.04.2015, 21:45 | 224 |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
03.04.2015, 21:51 | 225 |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
03.04.2015, 22:04 | 226 | |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8022
Сказал(а) спасибо: 934
Поблагодарили: 5193 раз(а) в 2784 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Немного сумбурно написано, но где-то так. [Исправлено: ceramic, 03.04.2015 в 22:07] |
|
Поблагодарили: 1 раз |
Alex63 (04.04.2015)
|
03.04.2015, 22:04 | 227 | |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
оно там скачет по программе туда-сюда я даже не лез в этот кусок со своими переделками. Хотя в моих прошивках используется совсем мало вариантов нажатий и такого большого куска не нужно. Вполне б хватило длинного нажатия для вкл/выкл и одиночный/двойной короткий клик, как у Тамагочи, для выбора режимов (моде, стробы....) |
|
04.04.2015, 06:47 | 228 | |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Спрошу конкретней- если if ((Power == 0) || (B == 1)) Off(); поменять на if ((Power == 1) & (B == 1)) Off(); что нибудь изменится? |
|
04.04.2015, 07:23 | 229 | |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
!) как в изначальной прошивке ceramic пост 1 (и увас в прошивке с термоконтролем) - когда считаются ДК, но не отрабатываются переключения при удержании, 2) как в v.4, с которой в основном разбираюсь - отрабатывается переключение при удержании, но не считаются ДК Собственно, я разбираюсь со всем этим чтобы решить задачу возможности ШИМа и на другой ноге, кроме 5. Тут варианты - сделать запуск по другой ноге, т е переделать обработку кнопки, и тогда можно воспользоваться 6 ногой как выходом с ШИМ на дальний, или же оставить отработку кнопки как есть и программно организовать ШИМ на 3 ноге. Решается ли она в объеме памяти ATtini 13 неясно, пока развлекаюсь. Прежде чем переползать например на 85, хочу разобраться с возможностями 13 до конца. У вас очень интересные доработки - и с настраиваемыми режимами, и с термоконтролем (хотя нужность последнего ИМХО по жизни сильно завышена). Удачи во всем! |
|
04.04.2015, 08:07 | 230 | |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Почему то иногда при отпускании кнопки с перебора режимов удержанием уже загоревшийся режим перескакивает в младший (на фонаре реже, на макетке от 1 до 4 переборов из 10), и приходится его довключать еще раз. У вас такое было? Мои попытки разобраться привели лишь к одному предположению - где то из за дребезга формируется доп сигнал КК, прибавляется к В=10, переводя его в 11. Но вроде по логике работы это невозможно? [Исправлено: Alex63, 04.04.2015 в 08:22] |
|
04.04.2015, 09:07 | 231 | |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
По ходу все так и есть - дребезг при отпускании дает такой эффект. Если при отпускании через 16 мс нога из за дребезга опознается обработчиком прерывания WD как 0, то присвоится Р=2, затем по след фронту Р=3 в обработчике INT0 и затем запишется 1 в 0 бит в дополнение к 10.
Для проверки прописал if B<10 вместо B!=10 в обработчике WD в части Цитата:
[Исправлено: Alex63, 04.04.2015 в 09:21] |
|
04.04.2015, 12:08 | 232 | ||
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Цитата:
Но мне кажется не получится из-за того, что мы обрабатываем INT0 на шестой ноге. А без него будет постоянно включенным МК, как в веломании версии. Там выключенный фонарь - это просто 0 заполнения ШИМ. Посмотрите http://forum.velomania.ru/s... INT0 может работать в четырёх рехимах: 1.По низкому уровню на ноге, 2.По изменению уровня на ноге, 3.По спадающему фронту, 4.по повышающему фронту. А PCINT(0-5) может работать только по изменению уровня [Исправлено: MSS, 04.04.2015 в 12:41] |
||
04.04.2015, 12:09 | 233 |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Alex63, вы как разберетесь, выкладывайте тоже свой файл проекта с коментариями интересно будет всем кто пытается разобраться
|
04.04.2015, 19:05 | 234 | |||
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
В варианте 2) (v4) удержание активно - оно раз в 0,5 сек меняет режим свечения, зато ДК не считаются в обработчике и не используются в управлении Цитата:
Цитата:
Что хочется - -строб, - управление 2 ШИМами независимо и одновременно, - термоконтроль, - два режима настраиваемые Похоже, пора осваивать 85. [Исправлено: Alex63, 04.04.2015 в 19:11] |
|||
04.04.2015, 19:14 | 235 |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
как будет готовое, может и поможет кто из опытных с оптимизацией
|
06.04.2015, 14:46 | 236 |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Добрый!
Для начала - разбираюсь, можно ли вытащить 13А из PjwerDown прерыванием по PCINT. Для этого использую макетку, с которой разбирался с драйвером v4 - лень перепаивать Прописал простейшую проверку - все работает, диоды мигают как прописано. Правда, тут я еще не в полную спячку погрузил, не отключил часть функций, потребление 22 мка, но следующим шагом, да. Прерывание отрабатывает. [Исправлено: Alex63, 06.04.2015 в 15:01] |
Поблагодарили: 1 раз |
MSS (06.04.2015)
|
06.04.2015, 15:46 | 237 |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Чуть дописал, чтобы все погасить, как в v4
Потребление 0,1 - 0,2 мка. Кнопка четко срабатывет. Занимает эта хрень 264 байта. Вывод (промежуточный) - вполне можно посадить любую (в смысле 2 или 3) ножку AT13А на прерывание PCINTO, оно уверенно выводит из самого глубокого сна. Что при этом будет с величиной программы, еще надо проверять. MSS, вы использовали терморезисторы - как у них меняется сопротивление от температуры? Я просто думаю, может по упрощенному алгоритму можно объединить сборос режимов по измерению напруги на делителе со сбросом по критической температуре аппаратно, подобрав номиналы делителя и сделав его термозависимым. [Исправлено: Alex63, 06.04.2015 в 15:48] |
06.04.2015, 15:46 | 238 |
Век живи, век учись.
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Добрый день. судя по развитию событий в теме не буду спешить собирать фонарь в котором ближний или дальний переключается силовой кнопкой.
__________________
С Уважением Валерий. |
06.04.2015, 15:59 | 239 |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25 Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
AVTOELEKTRIK, так можно и лето прождать собирайте не наглухо.
Alex63, NTC - с ростом температуры сопротивление падает. Вот с 10кОм терморезистором https://forum.fonarevka.ru/... напряжение падало от 0хBC до 0х69 Но я думаю это плохая идея, легко угробить можно батарею. Если это для высвобождения ножки - то лучше отказаться тогда от термоконтроля и если будет место таймер делать на макс режим. В ветке Тамагочи по линейнику так и сделали в итоге. |
06.04.2015, 18:49 | 240 | ||
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Цитата:
А идея очень проста - если включить терморезистор в нижнее плечо делителя измерения питалова (возможно, + последовательно и/или параллельно с другим резистором), то при небольших прогревах все будет как обычно, а при сильном Rt как бы "просадит" видимое МК напряжение питания и уведет в зону понижения моды. Есть минусы в таком решении - на горячем фонаре питание будет меряться некорректно, зато просто, понятно, не надо отдельно ничего прописывать в программе и как бы защита на дурной случай. По PCINT. Переделал основную программу v4 на это прерывание, все работает почти нормально, памяти занимает столько же, как и было.Появились два мелких трабла - иногда драйвер 2кк понимает как 1кк + 1кк - почему то не работает таймер на сброс старшего режима (ну это через раз и раньше было, возможно тут дело не в PCINT сбросе.) Завтра на свежую голову разберусь. А вообще для драйвера моя макетка экстрим - хуже кнопки в фонаре вряд ли встретишь, дребезжит так не по детски, и на замыкание и на размыкание. Зато баги легко ловить. [Исправлено: Alex63, 06.04.2015 в 18:54] |
||
Поблагодарили: 1 раз |
MSS (06.04.2015)
|