|
|
  |
Как распознать кратковременное выключение на Tiny13, Управление режимами фонарика кнопкой питания |
|
|
|
Jan 14 2010, 22:05
|
Группа: Участник
Сообщений: 10
Регистрация: 12-01-10
Из: Оренбург
Пользователь №: 54 756

|
собственно, у меня есть и другие платы фонарей на PIC12F629, но описанная - самая простая. но ни на одной из них не обнаружено посторонних делителей. сейчас просмотрел внимательней коробочку с драйверами и остатками он них. выявилось 2 типа: на PIC12F629 и на неизвестном проце без маркировки (не затёрто, а просто девственно отсутствует). так вот, у второй группы всегда присутствует либо делитель, либо схема с отдельным электролитом на ADC0. видимо, все они на tiny13. в последнюю плату долго въезжал  . питание проца и 24с02 идет напрямую снаружи, без диодов. при этом, оно еще и зашунтировано 1к резистором (это в фонаре, где каждый миллиампер с аккума на счету!!!). через диод запитан электролит 4.7uF, оттуда же на 1 ногу ADC0, между 1 и 3 ногами стоит резистор 43к. вот такая загадочная схема. Цитата(@Ark @ Jan 15 2010, 01:55)  Вы тоже "на танке"?  Это не версия, а техническое решение - как это сделать в рамках предложеной схемы. ну, так то да... не ради массово-практического решения, а как интересная задачка  Цитата(@Ark) Причем, не изменяя ее, как того захотел автор топика... Как там сделали китайцы - это их проблемы.  да много как они делают.. что ни драйвер, то своя схема и свои хитрые китайские решения. Цитата(@Ark) P.S. Я бы, вообще, такие изделия делал на PIC10... делают. широко известные Fenix'ы LD/PD серии сделаны на 10F202, но в PIC10 нет eeprom'a, а хочется хранить собственные настройки режимов.
Сообщение отредактировал ISV - Jan 14 2010, 22:05
|
|
|
|
Guest_@Ark_*
|
Jan 15 2010, 04:49
|
Guests

|
Цитата но в PIC10 нет eeprom'a, а хочется хранить собственные настройки режимов. Так и храните! Не отключайте батарею, да и все.  На ее ресурс это практически не повлияет. Ток потребления в режиме спячки - 100nА. Наверное, саморазряд батареи больше....
|
|
|
|
|
Jan 15 2010, 05:27
|

внештатный сотрудник
     
Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401

|
Цитата(ISV @ Jan 14 2010, 23:45)  с + питания платы через диод на 1 ногу проца, с неё же на землю керамика 0.1uF (отпаивал и замерял) 7 нога на управление АМС7135 8 нога земля получается, что на драйвер у обоих контроллеров заведена нога, которая является и входом компаратора. может все-таки у драйвера по входу присутствует приличная емкость, которую можно зарядить перед отключением? хотя нет, момент отключения у ПИКа никак не зарегистрировать. но все-равно, что-то на ней может оставаться
Сообщение отредактировал stells - Jan 15 2010, 05:50
|
|
|
|
|
Jan 15 2010, 05:29
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата(ILYAUL @ Jan 15 2010, 00:04)  3. TiNY не знает , при нажатии на кнопку , что с ним произойдёт , т.е это может произойти в любом месте программы . Согласен. Цитата(ILYAUL @ Jan 15 2010, 00:04)  Времени чтобы оценить "обстановку" у него нет. Его тупо выключают. Злобное заблуждение. После выключения он живет ещё где-то 500 мкс. Запускаем ADC в Free Runing и имеем новую выборку каждые 86 мкс. Времени чтобы "подготовиться" к выключению вагон и тележка. Цитата(ILYAUL @ Jan 15 2010, 00:04)  Так , что можно исходить из того , что он оценивает что-то (сижу вычитываю DS), что он может использовать при включении , как более или менее точное указание на то , сколько он "тупил". Курить даташит, особенно если он грамотный - очень полезное дело. Цитата(ILYAUL @ Jan 15 2010, 00:04)  Я не думаю , что китайцы использовали , что-то кроме написанного в DS. Я не думаю что это сделали китайцы. Они лишь печатный станок запустили.
|
|
|
|
|
Jan 15 2010, 09:49
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 17-04-09
Из: UA
Пользователь №: 47 867

|
[quote name='VladislavS' date='Jan 15 2010, 08:29' post='704607']
Информация о времени отключения может появиться в контроллере:
1- с делителя 2- с драйвера 3- с питания 4- внутри самого контроллера
Можно поочередно отключать ножки ( кроме питания, конечно) и проследить поведение схемы. Стабильное питание уже проверено, дальше под наибольшим подозрением драйвер и внутренности тини. Попробуйте методом исключения.
|
|
|
|
|
Jan 15 2010, 09:52
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(VladislavS @ Jan 15 2010, 08:29)  Злобное заблуждение. После выключения он живет ещё где-то 500 мкс. Запускаем ADC в Free Runing и имеем новую выборку каждые 86 мкс. Времени чтобы "подготовиться" к выключению вагон и тележка. Запускаем ADC в Free Runing - при условии , что работаем на 200 кгц - 5*25=125мкс , 500-125=375мкс в остатке. Зачем значение АЦП нужно и, что с ним делать и как Вы собираетесь привязать его к режиму в котором работает фонарик совершенно не понятно ? Поехали далее + для того что бы его запустить нужно понять , что это надо бы сделать. Значит прерывание . Итого в остатке ~ 350мкс . ( с учётои init регистров АЦП) А дальше интереснее всего - значение надо сохранить , единственно возможное место EEPROM - типовое значение записи 3,4 mc . И делаем это , когда обращаться к EEPROM вообще не рекомендуется - исчезновение питания. Ну и зачем нам знать значение АЦП , если мы его однозначно не сохраним ( нам как-то вот времени не хватать) и толка от него никакого.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Jan 15 2010, 10:55
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата(ILYAUL @ Jan 15 2010, 12:52)  Запускаем ADC в Free Runing - при условии , что работаем на 200 кгц - 5*25=125мкс , 500-125=375мкс в остатке. А у меня АЦП вообще всегад запущен - за батарейкой следит. Поэтому, 13 тактов выборка. Делители следующие 9.6МГц/8=1.2МГц тактовая процессора. 1.2МГц/8=150кГц тактовая АЦП. 150кГц/13=11538 выборок в секу или каждые 86 мкс. Цитата(ILYAUL @ Jan 15 2010, 12:52)  Зачем значение АЦП нужно и, что с ним делать и как Вы собираетесь привязать его к режиму в котором работает фонарик совершенно не понятно ? 1. Следить за разрядом аккумулятора. 2. Опровергнуть утверждение, что tiny НЕ МОЖЕТ УЗНАТЬ ЧТО ЕГО ВЫКЛЮЧАЮТ. Может! 3. Если посмотришь код, который я выкладывал, то увидишь что на прерывании АЦП, раз уж оно работает, еще и ШИМ сделан. А таймер спит и экономит энергию в это время. Цитата(ILYAUL @ Jan 15 2010, 12:52)  А дальше интереснее всего - значение надо сохранить , единственно возможное место EEPROM - типовое значение записи 3,4 mc Зачем его сохранять? Тем более в EEPROM? Можно выполнить какие-нибудь другие действия. Не важно какие - главное МОЖНО.
|
|
|
|
|
Jan 15 2010, 12:12
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Компилятор IAR. Пробовал с регистрами общего назначения. Конкретно R15 вот так: Код volatile __regvar __no_init unsigned char mode @ 15; Он занулён намертво при старте. Не думаю что R20 чем-то отличается в этом плане.
|
|
|
|
|
Jan 15 2010, 12:28
|
Группа: Участник
Сообщений: 10
Регистрация: 12-01-10
Из: Оренбург
Пользователь №: 54 756

|
Цитата(@Ark @ Jan 15 2010, 09:49)  Так и храните! Не отключайте батарею, да и все.  На ее ресурс это практически не повлияет. Ток потребления в режиме спячки - 100nА. Наверное, саморазряд батареи больше.... это технически весьма сложно - понадобится тянуть дополнительный провод от кнопки через скользящие контакты. кроме усложнения, это снизит надежность фонаря из-за лишних контактов.
|
|
|
|
Guest_@Ark_*
|
Jan 15 2010, 13:02
|
Guests

|
Цитата это технически весьма сложно -... это снизит надежность фонаря из-за лишних контактов. Вы, видимо, не поняли - скользящие контакты, при таком решении, совсем выбрасываются из конструкции, а не добавляются новые...
|
|
|
|
|
Jan 15 2010, 13:13
|
Группа: Участник
Сообщений: 10
Регистрация: 12-01-10
Из: Оренбург
Пользователь №: 54 756

|
Цитата(VladislavS @ Jan 15 2010, 18:00)  Да ну, проблема питания контроллера во время выключаения решается гораздо проще простым электролитом. это кратковременная работа. а предлагалось удерживать таким образом режим или настройки яркости. при этом, кстати, при смене или глубоком разряде питающего элемента данные потеряются. кроме того, исключается такая возможность в фонарях, питающихся от 1 элемента (от 1.0В в случае севшего аккумулятора). В общем, не годится этот метод категорически :)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|