|
|
  |
Как распознать кратковременное выключение на Tiny13, Управление режимами фонарика кнопкой питания |
|
|
|
Jan 3 2010, 19:59
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 2-01-08
Пользователь №: 33 768

|
Цитата(VladislavS @ Jan 3 2010, 10:44)  Включение следующего режима работы осуществляется кратковременным отключением питания кнопкой. Причем, это "кратковременно" запросто может быть больше секунды. Если выключить на большее время, то после включения режим не меняется (помнится). Не помню чо там в tiny13, но в 2313 был регистр, хранящий тип только что произошедшего ресета (power-on, brown-out, user...). Если контроллер достаточно быстро вырубится по BOD, то возможно внутреннее состояние проживет достаточно долго, чтобы следующий ресет определился как BOR (в даташите где-то был рисунок с уровнями, на которые BOD реагирует). Второй вариант - с тем же регистром, но как-то цепляющийся за постоянную времени RC-цепочки на ноге ресета.
|
|
|
|
|
Jan 4 2010, 00:09
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата Не помню чо там в tiny13, но в 2313 был регистр, хранящий тип только что произошедшего ресета (power-on, brown-out, user...). Если контроллер достаточно быстро вырубится по BOD, то возможно внутреннее состояние проживет достаточно долго, чтобы следующий ресет определился как BOR (в даташите где-то был рисунок с уровнями, на которые BOD реагирует). Может я конечно не умею BOD готовить, но на моей практике не было еще ни одного контроллера, который бы POR без BOR поднимал. Наоборот возможно, но за такое время дело доходит именно до POR. Что-то я уже расстроился. Перебрал почти все регистры аппаратуры - они при ресете зануляются намертво. А SRAM не держит нужное время... Чтож там китайцы нарыли то? Цитата Второй вариант - с тем же регистром, но как-то цепляющийся за постоянную времени RC-цепочки на ноге ресета Нет там ничего. Вся схема это диод с конденсатором на питании и два резистора делителя питания на АЦП. Единственный конденсатор разряжается полностью за единицы миллисекунд.
|
|
|
|
Guest_@Ark_*
|
Jan 4 2010, 02:33
|
Guests

|
Цитата Что-то я уже расстроился. Перебрал почти все регистры аппаратуры - они при ресете зануляются намертво. А SRAM не держит нужное время... Чтож там китайцы нарыли то? IMHO, немного не там ищите... При подключении нагрузки к источнику, напряжение на нем будет заметно "проседать". А при отключении нагрузки - будет медленно восстанавливаться к прежнему уровню...
|
|
|
|
|
Jan 4 2010, 09:44
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата IMHO, немного не там ищите... При подключении нагрузки к источнику, напряжение на нем будет заметно "проседать". А при отключении нагрузки - будет медленно восстанавливаться к прежнему уровню... Я уже думал измерять что-то в окружении. Напряжение на акб как вариант. Только в одном из режимов диод потребляет всего 40 мА. Более того, плата вообще без диода тоже меняет режимы. Я не могу представить как на акб 18650 потребление tiny13 может что-то там "просадить". За идею спасибо. Попробую её подумать  Еще бы приборы, способные это измерить были... С другой стороны, на сколько хватит EEPROM, если в него постоянно писать ADC? А записать его только после выключение всё равно не получится - нет у них даже 1.8 мс, не говоря уже о 2x1.8 мс. Цитата Всеже если все так как описал автор, то я думаю, что решение именно в засыпании при нажатии кнопки с принятием максимальных мер по экономии потребления. Посмотри еще раз осциллограммы. Через 320 мкс они упираются в BOD. Всё, никакой жизни, кроме переходных процессов, в микроконтроллере после этого уже нет. И любое последующее включение пойдет по одному и тому же сценарию. Так что, полюбому надо какой-то побочный эффект искать. Цитата Может конденсатор там на единицы микрофарад и при вылизывании энергопортебления получим нужные секунды хранения в ОЗУ. Да какие там единицы... 0603 керамика. Максимум 1 мкФ и то сомневаюсь. Доберусь до работы - померяю. Одно я понял - вылизывай, не вылизывай проспать столько не получится всё равно. Цитата Чудес не бывает. Может действительно запоминается значение источника сброса. Нужно посмотреть что там есть. Что-то есть точно. И это что-то мне уже спать спокойно не даёт?
|
|
|
|
|
Jan 4 2010, 09:57
|
Частый гость
 
Группа: Участник
Сообщений: 140
Регистрация: 2-01-08
Пользователь №: 33 768

|
Цитата(@Ark @ Jan 4 2010, 06:33)  IMHO, немного не там ищите... При подключении нагрузки к источнику, напряжение на нем будет заметно "проседать". А при отключении нагрузки - будет медленно восстанавливаться к прежнему уровню...  Кстати, да. Интересно, как схема ведет себя при работе от сетевого БП, который не проседает? С другой стороны, тогда придется постоянно писать в EEPROM текущее значение напряжения, иначе можно не успеть.
|
|
|
|
Guest_@Ark_*
|
Jan 4 2010, 11:03
|
Guests

|
Цитата Я не могу представить как на акб 18650 потребление tiny13 может что-то там "просадить". Тинька, конечно, заметно не сможет "просадить". Но если включить светодиоды (фонарь же?), то "просадка" батареи может быть существенной. АЦП тиньки должно ее определить....
|
|
|
|
|
Jan 4 2010, 13:15
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 19-05-09
Пользователь №: 49 263

|
Емкость конденсатора может быть и больше( нада померять). Я делал такую потеху основываясь на битах BORF и PORF регистра MCUSR. Если PORF - берем из епрома режим и работаем Если только BORF - берем из епрома режим инкрементируем записываем и работаем.
|
|
|
|
|
Jan 4 2010, 13:49
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата Уверены насчет выделенного слова? А то может всегда помнит? Тогда достаточно при подаче питания выбирать следующий режим. Номер его, естественно, хранить в EEPROM. Главный затык как я понял в величине времени отключенного питания при котором происходит смена режима. Т.е. если выключено надолго - режим не меняется, а если на пару секунд то меняется. Вот в этих секундах и затык. Кстати, Автор, Вы опять про BOD и т.п., а если все поотключать, в т.ч. АЦП и компаратор чтоб внутрений ИОН тоже выключился - то потремление становится микроамперы, что возможно и позволит выиграть нужные пару секунд.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|