Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Лаборатория Разработка и модификация фонарей Разработка и модификация электроники фонарей
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

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

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 230322   Ответов в теме 536   Подписчиков на тему 45   Добавили в закладки 31
Опции темы Поиск в этой теме
Старый 03.04.2015, 21:11   221
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
После присвоения "Р=4" для ватчдога устанавливается интервал срабатывания 0,5 сек.
Вот он и срабатывает каждые 0,5 сек -- пока кнопка удерживается, раз в пол секунды выставляется Cod=1.
Спасибо, действительно все понятно!
Затуп был в том, что не проследил, что нет сбросов WD нигде дальше в этом случае.

Цитата:
И второй глупый вопрос - а что запускает WD в цикл измерения напряжения с самого начала?
Вопрос еще менее понятен.
Попробуйте другими словами спросить.
Обработчик прерывания WD когда Р=0 запрашивает измерение напряжения, обработчик измерения взводит его в обратку на 8 сек и т п
Вопрос был в том, каким образом обработчик входит в этот цикл.
Ну, в свете ответа на предыдущий вопрос, можно предположить, что после любого нажатия кнопки после смены акка WD его обрабатывает до Р=0 и остается взведенным при Power не 0. Как то так.
Alex63 вне форума   Ответить с цитированием Вверх
Старый 03.04.2015, 21:27   222
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Если хотите полностью понять, как обрабатывается нажатие - нужно рисовать себе блок схему со стрелочками.
Это типа такой?
Нажмите на изображение для увеличения
Название: Работа Др 2.png
Просмотров: 617
Размер:	1.48 Мб
ID:	134118
Нарисовал уже несколько. Вопрос действительно в затупе, а не в лени.
Alex63 вне форума   Ответить с цитированием Вверх
Старый 03.04.2015, 21:45   223
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

ceramic, коль уж так, последний вопрос по вашей прошивке, все стеснялся спросить.
Почему включение/выключение обрабатывается таким образом

Цитата:
else if ((Power == 0) & (B == 1))
{
Nmodes=0;
}
else
{
if ((Power == 0) || (B == 1)) Off();
goto m2;
}
Power = 1;
,

а не , например

else if ((Power == 0) & (B == 1)) {Power = 1;Nmodes=0; }
else if ((Power == 1) & (B == 1)) Off();
goto m2;
Alex63 вне форума   Ответить с цитированием Вверх
Старый 03.04.2015, 21:45   224
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от Alex63 :
Это типа такой?
она самая
MSS вне форума   Ответить с цитированием Вверх
Старый 03.04.2015, 21:51   225
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от MSS :
она самая
а как без нее родимой, пока не нарисовал - и спрашивать было не о чем.
Alex63 вне форума   Ответить с цитированием Вверх
Старый 03.04.2015, 22:04 Автор темы   226
ceramic
Ветеран Фонарёвки
 
Аватар для ceramic
 
Регистрация: 08.10.2011
Последняя активность: 30.03.2024 21:54
Адрес: 哈尔滨
Сообщений: 8022
Сказал(а) спасибо: 934
Поблагодарили: 5193 раз(а) в 2784 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от Alex63 :
Почему включение/выключение обрабатывается таким образом....

а не , например
else if ((Power == 0) & (B == 1)) {Power = 1;Nmodes=0; }
else if ((Power == 1) & (B == 1)) Off();
goto m2;
Такой код не отработает двойной клик (максимум) и удержание (мунлайт) из выключенного режима -- программа перейдет на m2 без присвоения Power = 1; и выключит фонарь.

Цитата:
Посмотреть сообщение Сообщение от Alex63 :
что после любого нажатия кнопки после смены акка WD его обрабатывает до Р=0 и остается взведенным при Power не 0. Как то так.
Немного сумбурно написано, но где-то так.

[Исправлено: ceramic, 03.04.2015 в 22:07]
ceramic вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
Alex63 (04.04.2015)
Старый 03.04.2015, 22:04   227
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от Alex63 :
а как без нее родимой, пока не нарисовал - и спрашивать было не о чем.
без нее разобраться с работой кнопки не реально
оно там скачет по программе туда-сюда

я даже не лез в этот кусок со своими переделками. Хотя в моих прошивках используется совсем мало вариантов нажатий и такого большого куска не нужно.
Вполне б хватило длинного нажатия для вкл/выкл и одиночный/двойной короткий клик, как у Тамагочи, для выбора режимов (моде, стробы....)
MSS вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 06:47   228
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Такой код не отработает двойной клик (максимум) и удержание (мунлайт) из выключенного режима -- программа перейдет на m2 без присвоения ;
, т е так сделано, чтобыне прописывать Power = 1 отдельно на включение еще ДУ и 2кк ?

Спрошу конкретней- если
if ((Power == 0) || (B == 1)) Off();

поменять на
if ((Power == 1) & (B == 1)) Off();

что нибудь изменится?
Alex63 вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 07:23   229
Alex63
Увлеченный
 
Регистрация: 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 до конца.

У вас очень интересные доработки - и с настраиваемыми режимами, и с термоконтролем (хотя нужность последнего ИМХО по жизни сильно завышена).

Удачи во всем!
Alex63 вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 08:07   230
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от Alex63 :
Спрошу конкретней- если
if ((Power == 0) || (B == 1)) Off();

поменять на
if ((Power == 1) & (B == 1)) Off();

что нибудь изменится?
Снимаю вопрос - поменял, перепрошил, ничего не поменялось.

Почему то иногда при отпускании кнопки с перебора режимов удержанием уже загоревшийся режим перескакивает в младший (на фонаре реже, на макетке от 1 до 4 переборов из 10), и приходится его довключать еще раз.

У вас такое было?

Мои попытки разобраться привели лишь к одному предположению - где то из за дребезга формируется доп сигнал КК, прибавляется к В=10, переводя его в 11. Но вроде по логике работы это невозможно?

[Исправлено: Alex63, 04.04.2015 в 08:22]
Alex63 вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 09:07   231
Alex63
Увлеченный
 
Регистрация: 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 в части

Цитата:
if (P==4)
{
if ( B<0b10000 ) Cod=1 ;// боремся с выходом из перебора, поменял В!=10 на В меньше 10
}
NB=0;
P=0;
для запрета вывода Cod=1 при В=11 и все ОК, снижения моды нет!

[Исправлено: Alex63, 04.04.2015 в 09:21]
Alex63 вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 12:08   232
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от Alex63 :
!) как в изначальной прошивке ceramic пост 1 (и увас в прошивке с термоконтролем) - когда считаются ДК, но не отрабатываются переключения при удержании,
2) как в v.4, с которой в основном разбираюсь - отрабатывается переключение при удержании, но не считаются ДК
Не в курсе, я думал тут все одинаково и длинный клик - он считается длинным после времени, заданного по вочдогу. И идет после отпускания кнопки засчитывание его как длинный клик. Т.е. если прошло время ДК и держим кнопку - оно все равно его считает за длинный. Нет различия между удержанием и ДК.

Цитата:
Собственно, я разбираюсь со всем этим чтобы решить задачу возможности ШИМа и на другой ноге, кроме 5.
Если получится высвободить 6ю ногу от кнопки под ШИМ - то это улучшет настраиваемость нашей программы. Можно делать, как тут для рыбалки просили, два диода сразу с разными режимами для минимума. И все от одной кнопки.
Но мне кажется не получится из-за того, что мы обрабатываем INT0 на шестой ноге.

А без него будет постоянно включенным МК, как в веломании версии. Там выключенный фонарь - это просто 0 заполнения ШИМ.
Посмотрите http://forum.velomania.ru/s...

INT0 может работать в четырёх рехимах: 1.По низкому уровню на ноге, 2.По изменению уровня на ноге, 3.По спадающему фронту, 4.по повышающему фронту.
А PCINT(0-5) может работать только по изменению уровня

[Исправлено: MSS, 04.04.2015 в 12:41]
MSS вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 12:09   233
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Alex63, вы как разберетесь, выкладывайте тоже свой файл проекта с коментариями интересно будет всем кто пытается разобраться
MSS вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 19:05   234
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от MSS :
Не в курсе, я думал тут все одинаково и длинный клик - он считается длинным после времени, заданного по вочдогу. И идет после отпускания кнопки засчитывание его как длинный клик.
В варианте 1) (первая прошивка) удержания как активного режима нет, действительно, счтиается число ДК, а ДК любое длиннее заданного времени, и оно уже рулит
В варианте 2) (v4) удержание активно - оно раз в 0,5 сек меняет режим свечения, зато ДК не считаются в обработчике и не используются в управлении

Цитата:
А без него будет постоянно включенным МК, как в веломании версии. Там выключенный фонарь - это просто 0 заполнения ШИМ.
Не, из Power Down можно вытащить и прерыванием смены состояния ножек - т е любой ногой. Другое дело, что кнопень во включенном состоянии надо обрабатывать уже по другому, без использования INT0, а на это нужно место в памяти.

Цитата:
вы как разберетесь, выкладывайте тоже свой файл проекта с коментариями
С удовольствием, если что то получится. Хотелок много, но сейчас программа занимает 990 б, свободно всего 34. Что то мне говорит, что существенно возможности уже не расширишь.

Что хочется -
-строб,
- управление 2 ШИМами независимо и одновременно,
- термоконтроль,
- два режима настраиваемые

Похоже, пора осваивать 85.

[Исправлено: Alex63, 04.04.2015 в 19:11]
Alex63 вне форума   Ответить с цитированием Вверх
Старый 04.04.2015, 19:14   235
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 28.04.2013
Последняя активность: 08.01.2024 23:25
Адрес: Харьков
Сообщений: 3980
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

как будет готовое, может и поможет кто из опытных с оптимизацией
MSS вне форума   Ответить с цитированием Вверх
Старый 06.04.2015, 14:46   236
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Добрый!
Для начала - разбираюсь, можно ли вытащить 13А из PjwerDown прерыванием по PCINT. Для этого использую макетку, с которой разбирался с драйвером v4 - лень перепаивать
Нажмите на изображение для увеличения
Название: Схема макетки_cr.png
Просмотров: 622
Размер:	27.9 Кб
ID:	134358

Прописал простейшую проверку
/*
* AVR_PROBA_PCINT.c
*
* Created: 06.04.2015 18:08:50
* Author: alex

*/


#include<avr/io.h>
#include<avr/delay.h>
#include<avr/interrupt.h>

unsigned char z=0;

static inline void delay_()
{
_delay_ms(800);
}

int main(void)
{
DDRB=0b11001; // 00011001 – РВ0, РВ3 и РВ4 определили как выходы
PORTB=0x02; // 00000010 уст в 1
MCUCR=0x30; // Sleep enable, mode: power-down
GIMSK=0x20; // Pin Change Interrupt Enable
PCMSK=0x02; // PВ1 set
asm("sei");
while(1)
{
asm ("sleep");
}
}
ISR(PCINT0_vect)
{
if ((PINB & 0x02)==0x00)
{
delay_();
if ((PINB & 0x02)==0x00)
{
z=~z;

PORTB|=(1<<0); // зажечь зеленый
while ((PINB & 0x02)==0x00) {} //горит пока держим кнопку
PORTB&=~(1<<0); // отпустили - гаснет

if (z==0x00) // каждое второе удержание
{
PORTB|=(1<<4); // включаем после отп кнопки желтый на 2 сек
delay_();
delay_();
delay_();
delay_();
delay_();
PORTB&=~(1<<4);
}
}
}
}


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

[Исправлено: Alex63, 06.04.2015 в 15:01]
Alex63 вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
MSS (06.04.2015)
Старый 06.04.2015, 15:46   237
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Чуть дописал, чтобы все погасить, как в v4
#include<avr/io.h>
#include<avr/delay.h>
#include<avr/interrupt.h>

unsigned char z=0;

static inline void delay_()
{
_delay_ms(500);
}
static inline void Off()
{
OCR0A = 0x00;
TCCR0B = 0x00;
TCCR0A = 0x00;
PORTB = 0x02;
WDTCR |= (1<<WDCE) | (1<<WDE);
WDTCR = 0x00;
MCUCR=0x30;
GIMSK=0x20;
BODCR = 0x03;
BODCR = 0x02;
PCMSK=0x02;
sei();
asm("sleep");
MCUCR &=~(1<<SE);
TCCR0B = 0x1;
}
int main(void)
{
TCCR0B = 0x01; //
DDRB=0b11001; // 00011001 – РВ0, РВ3 и РВ4 определили как выходы
PORTB=0x02; // 00000010 уст в 1
ACSR = 0x80;
ADMUX = 0x61;
while(1)
{
if ((PINB & 0x02)!=0x00) Off();
}
}
ISR(PCINT0_vect)
{
if ((PINB & 0x02)==0x00)
{
delay_();
if ((PINB & 0x02)==0x00)
{
z=~z;

PORTB|=(1<<0); // зажечь зеленый
while ((PINB & 0x02)==0x00) {} //горит пока держим кнопку
PORTB&=~(1<<0); // отпустили - гаснет
if (z==0x00) // каждое второе удержание
{
PORTB|=(1<<4); // включаем после отп кнопки желтый на 2 сек
delay_();
delay_();
delay_();
delay_();
PORTB&=~(1<<4);
}
}
}
}


Потребление 0,1 - 0,2 мка. Кнопка четко срабатывет. Занимает эта хрень 264 байта.

Вывод (промежуточный) -
вполне можно посадить любую (в смысле 2 или 3) ножку AT13А на прерывание PCINTO, оно уверенно выводит из самого глубокого сна.
Что при этом будет с величиной программы, еще надо проверять.

MSS, вы использовали терморезисторы - как у них меняется сопротивление от температуры? Я просто думаю, может по упрощенному алгоритму можно объединить сборос режимов по измерению напруги на делителе со сбросом по критической температуре аппаратно, подобрав номиналы делителя и сделав его термозависимым.

[Исправлено: Alex63, 06.04.2015 в 15:48]
Alex63 вне форума   Ответить с цитированием Вверх
Старый 06.04.2015, 15:46   238
AVTOELEKTRIK
Век живи, век учись.
 
Аватар для AVTOELEKTRIK
 
Регистрация: 09.11.2014
Последняя активность: 10.05.2021 23:36
Адрес: МАРИУПОЛЬ
Сообщений: 86
Сказал(а) спасибо: 52
Поблагодарили: 32 раз(а) в 20 сообщениях

Отправить сообщение для AVTOELEKTRIK с помощью Skype™
По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Добрый день. судя по развитию событий в теме не буду спешить собирать фонарь в котором ближний или дальний переключается силовой кнопкой.
__________________
С Уважением Валерий.
AVTOELEKTRIK вне форума   Ответить с цитированием Вверх
Старый 06.04.2015, 15:59   239
MSS
Ветеран Фонарёвки
 
Аватар для MSS
 
Регистрация: 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
Но я думаю это плохая идея, легко угробить можно батарею.
Если это для высвобождения ножки - то лучше отказаться тогда от термоконтроля и если будет место таймер делать на макс режим. В ветке Тамагочи по линейнику так и сделали в итоге.
MSS вне форума   Ответить с цитированием Вверх
Старый 06.04.2015, 18:49   240
Alex63
Увлеченный
 
Регистрация: 16.08.2012
Последняя активность: 19.01.2018 08:37
Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях

По умолчанию Re: Модифицируем народный линейный драйвер для тактовой кнопки

Цитата:
Посмотреть сообщение Сообщение от AVTOELEKTRIK :
Добрый день. судя по развитию событий в теме не буду спешить собирать фонарь в котором ближний или дальний переключается силовой кнопкой.
не знаю ваших задач, вы мою тему, наверное, видели https://forum.fonarevka.ru/... - я с самого начала искал возможность управлять одной тактовой кнопкой и дальним и ближним. А так MSS прав - ждать идеала не стоит, лучше пользоваться чем есть на сегодня, а потом апгрейдить. И новая волна удовольствия.


Цитата:
Посмотреть сообщение Сообщение от MSS :
Но я думаю это плохая идея, легко угробить можно батарею.
Если это для высвобождения ножки - то лучше отказаться тогда от термоконтроля и если будет место таймер делать на макс режим. В ветке Тамагочи по линейнику так и сделали в итоге.
Да я сильно и не страдаю по ТК, все мои конструкции по теплу просчитаны и по таймеру даже больше нравится работать, более предсказуемо.
А идея очень проста - если включить терморезистор в нижнее плечо делителя измерения питалова (возможно, + последовательно и/или параллельно с другим резистором), то при небольших прогревах все будет как обычно, а при сильном Rt как бы "просадит" видимое МК напряжение питания и уведет в зону понижения моды. Есть минусы в таком решении - на горячем фонаре питание будет меряться некорректно, зато просто, понятно, не надо отдельно ничего прописывать в программе и как бы защита на дурной случай.

По PCINT. Переделал основную программу v4 на это прерывание, все работает почти нормально, памяти занимает столько же, как и было.Появились два мелких трабла
- иногда драйвер 2кк понимает как 1кк + 1кк
- почему то не работает таймер на сброс старшего режима (ну это через раз и раньше было, возможно тут дело не в PCINT сбросе.)

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

[Исправлено: Alex63, 06.04.2015 в 18:54]
Alex63 вне форума   Ответить с цитированием Вверх
Поблагодарили: 1 раз
MSS (06.04.2015)
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.15763 секунды с 17 запросами