реклама на сайте
подробности

 
 
23 страниц V  « < 6 7 8 9 10 > »   
Closed TopicStart new topic
> Как распознать кратковременное выключение на Tiny13, Управление режимами фонарика кнопкой питания
МП41
сообщение Jan 7 2010, 11:51
Сообщение #106


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Я бы сделал так:
1. Подаётся питание, начинает работать программа.
2. Проверяем сразу же ячейку №2 EEPROM:
- если она равна 0, то режим не меняем, а просто читаем его из ячейки №1 EEPROM.
- если она равна 1, то читаем режим из ячейки №1 EEPROM, инкрементируем, применяем маску и загоняем назад в эту ячейку.
3. Пишем в ячейку №2 единицу.
4. Запускаем таймер, чтобы реализовать задержку, скажем, в 1 секунду (я понимаю, что таймер там один и задействован он на ШИМ, но это не проблема, задержку и без таймера можно сделать).
5. Спустя задержки пишем в ячейку №2 значение 0.

Т.е., если контроллер поработает до отключения меньше секунды, то при следующем включении режим сменится.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jan 7 2010, 12:16
Сообщение #107


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(МП41 @ Jan 7 2010, 14:51) *
Т.е., если контроллер поработает до отключения меньше секунды, то при следующем включении режим сменится.

Просьба к МП41 и всем остальным, кто сюда пишет. Прежде, чем писать - прочитайте эту тему. Я понимаю, что это трудно т.к. постов много, но всётаки.
А так ещё больше постов станет, и вообще разобраться будет невозможно...
Go to the top of the page
 
+Quote Post
МП41
сообщение Jan 7 2010, 12:43
Сообщение #108


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Я прочитал всю тему до этого.

Если Вас смущает задержка в одну секунду, то это для примера. Её можно сделать хоть в 5 секунд, если опрос АЦП и работа ШИМа идёт через прерывания, то визуально это не повлияет на работу фонаря.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
andrikk
сообщение Jan 7 2010, 12:43
Сообщение #109


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 23-07-08
Пользователь №: 39 167



поддерживаю МП41, идея достойная жизни, правда еепром дергаем часто.

Код
void main()
{
   unsigned char mode;
   mode = read_mode_from_ee();
   set_lighting_mode(mode);
   mode++;
   write_mode_to_ee(mode);
   wait_one_second();
   mode--;
   write_mode_to_ee(mode);
   while(1);
}
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Jan 7 2010, 12:51
Сообщение #110





Guests






Цитата
поддерживаю МП41, идея достойная жизни...

Только, совсем не по теме топика... smile.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 7 2010, 12:51
Сообщение #111


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Эту теорию можно было бы "притянуть", если бы в момент пропадания на выходе всегда был "1". А если "0" ?


Там же есть возможность измерить напряжение питания. А значит, задолго до умирания перевести ножку в лог. 1

Цитата
При выключении питания быстро отключить АЦП, чтобы не разрядить конденсатор, а при старте - посмотреть, осталось ли там что-нибудь...


Такой вариант мне в голову приходил. Но помнится мне, что постоянная времени там хиленькая - раз, второе - как произвести преобразование без внутреннего цикла выборки АЦП? Ибо подключение конденсатора ко входным цепям в момент семплирования (курить диаграммы работы АЦП) , боюсь, приведет к отрицательным результатам. Хотя.. Если в комплексе - собственная емкость висящей в воздухе ножки и конденсатор хранения, то может оказаться вполне-вполне.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Jan 7 2010, 12:56
Сообщение #112





Guests






Цитата
Такой вариант мне в голову приходил...

Это нужно пробовать. К сожалению, Тиньки под рукой нет. А результаты экспериментов на PIC12, боюсь, автор темы не примет. smile.gif
Go to the top of the page
 
+Quote Post
МП41
сообщение Jan 7 2010, 13:01
Сообщение #113


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Цитата(@Ark @ Jan 7 2010, 14:51) *
Только, совсем не по теме топика... smile.gif

Хм, я - в танке что-ли? smile.gif
Вопрос был у топикстартера, как контроллер определяет кратковременное отключение питания.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Jan 7 2010, 13:09
Сообщение #114





Guests






Цитата
Вопрос был у топикстартера, как контроллер определяет кратковременное отключение питания.

А у Вас получается - кратковременное подключение питания! Дык, кто из нас в танке? smile.gif
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jan 7 2010, 13:13
Сообщение #115


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата
Хм, я - в танке что-ли?

Спишем на НГ smile.gif Ибо предложил ты алгорит определения кратковременного включения smile.gif
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jan 7 2010, 13:15
Сообщение #116


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(МП41 @ Jan 7 2010, 16:01) *
Хм, я - в танке что-ли? smile.gif
Вопрос был у топикстартера, как контроллер определяет кратковременное отключение питания.

Ну да, _отключение_. А предложенное решение - как определить кратковременное _включение_. Решение неплохое, кстати - переключение кратковременным разрывом интересно для оперативного управления и оно часто "достает", срабатывая когда не надо (и всякие "шаманства" с сохранением содержимого неудобны непредсказуемым и ненормированным временем реакции, что уще усугубляет - потому я и предлагал отдельный конденсатор с отдельным резистором утечки, и конденсатор взять не керамический, а пленочный, для стабильности). А переключать кратковременным включением удобно для "долговременного" использования, чтобы выбрать режим и им пользоваться, все время не дергая (хотя тоже проблема - короткие световые сигналы кнопкой с прямым кликом уже подавать нельзя), только надо разумно использовать ресурс EEPROM, "размазать" его...
Go to the top of the page
 
+Quote Post
andrikk
сообщение Jan 7 2010, 13:17
Сообщение #117


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 23-07-08
Пользователь №: 39 167



Фото фанарика можно? куплю и тоже засяду за измерениями, уж очень как-то мистически все получается.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jan 7 2010, 13:37
Сообщение #118


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(rx3apf @ Jan 7 2010, 16:15) *
только надо разумно использовать ресурс EEPROM, "размазать" его...

Мои девайсы на AVR, которые имеют загрузчик, переходят в режим загрузчика после двух, следующих друг за другом, кратковременных включений (менее 2 сек). По EEPROM всё "размазано", также поддерживается счётчик включений. НО объяснить пользователю как перевести девайс в режим загрузки крайне сложно. Не всем конечно. Некоторые сразу попадают. Зато другие... Инструкции им не помогают... Переписка через электронную почту тоже. Так они и выключают девайс на 2 секунды... Неделями... Помогает только телефонный звонок и работа с девайсом по командам в реалтайме (в телефонную трубку). Вот поэтому я думаю, а м.б. это более естественно - девайс выключать на 2 секунды. Ну или можно сделать чтобы и так и так в загрузчик он переходил.
Простите за оффтоп.
Go to the top of the page
 
+Quote Post
МП41
сообщение Jan 7 2010, 13:47
Сообщение #119


4 синих кубика
****

Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326



Цитата(@Ark @ Jan 7 2010, 15:09) *
А у Вас получается - кратковременное подключение питания! Дык, кто из нас в танке? smile.gif

А-а-а, ну понятно. Согласен. smile.gif Будем думать дальше над усовершенствованием алгоритма.
Насчет ресурса EEPROM: не думаю, что китайцы сильно об этом беспокоятся. Даже лучше, если фонарик сам "сдохнет" когда-нибудь, чтобы пользователь купил новый.


--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jan 7 2010, 14:00
Сообщение #120


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата
Фото фанарика можно?


http://www.dealextreme.com/products.dx/category.940 - выбирай smile.gif 99% из них с торцевой кнопкой. Так что, те что многорежимные и те что с памятью это оно.

http://www.dealextreme.com/details.dx/sku.6190 - отдельно драйвер.
http://www.dealextreme.com/details.dx/sku.7612 - отдельно драйвер.



Думаю что вот эти точно с таким драйвером:

http://www.dealextreme.com/details.dx/sku.32720
http://www.dealextreme.com/details.dx/sku.15335
Go to the top of the page
 
+Quote Post

23 страниц V  « < 6 7 8 9 10 > » 
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 12:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01472 секунд с 7
ELECTRONIX ©2004-2016