Перейти к содержанию
    

Как распознать кратковременное выключение на Tiny13

собственно, у меня есть и другие платы фонарей на PIC12F629, но описанная - самая простая. но ни на одной из них не обнаружено посторонних делителей.

 

сейчас просмотрел внимательней коробочку с драйверами и остатками он них. выявилось 2 типа: на PIC12F629 и на неизвестном проце без маркировки (не затёрто, а просто девственно отсутствует). так вот, у второй группы всегда присутствует либо делитель, либо схема с отдельным электролитом на ADC0. видимо, все они на tiny13.

 

в последнюю плату долго въезжал :). питание проца и 24с02 идет напрямую снаружи, без диодов. при этом, оно еще и зашунтировано 1к резистором (это в фонаре, где каждый миллиампер с аккума на счету!!!). через диод запитан электролит 4.7uF, оттуда же на 1 ногу ADC0, между 1 и 3 ногами стоит резистор 43к. вот такая загадочная схема.

 

Вы тоже "на танке"? :) Это не версия, а техническое решение - как это сделать в рамках предложеной схемы.
ну, так то да... не ради массово-практического решения, а как интересная задачка :)

 

Причем, не изменяя ее, как того захотел автор топика... Как там сделали китайцы - это их проблемы. ;)
да много как они делают.. что ни драйвер, то своя схема и свои хитрые китайские решения.

 

P.S. Я бы, вообще, такие изделия делал на PIC10...
делают. широко известные Fenix'ы LD/PD серии сделаны на 10F202, но в PIC10 нет eeprom'a, а хочется хранить собственные настройки режимов.
Изменено пользователем ISV

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
но в PIC10 нет eeprom'a, а хочется хранить собственные настройки режимов.

Так и храните! Не отключайте батарею, да и все. :) На ее ресурс это практически не повлияет. Ток потребления в режиме спячки - 100nА. Наверное, саморазряд батареи больше....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с + питания платы через диод на 1 ногу проца, с неё же на землю керамика 0.1uF (отпаивал и замерял)

7 нога на управление АМС7135

8 нога земля

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

 

хотя нет, момент отключения у ПИКа никак не зарегистрировать. но все-равно, что-то на ней может оставаться

Изменено пользователем stells

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3. TiNY не знает , при нажатии на кнопку , что с ним произойдёт , т.е это может произойти в любом месте программы .

Согласен.

 

Времени чтобы оценить "обстановку" у него нет. Его тупо выключают.

Злобное заблуждение. После выключения он живет ещё где-то 500 мкс. Запускаем ADC в Free Runing и имеем новую выборку каждые 86 мкс. Времени чтобы "подготовиться" к выключению вагон и тележка.

 

Так , что можно исходить из того , что он оценивает что-то (сижу вычитываю DS), что он может использовать при включении , как более или менее точное указание на то , сколько он "тупил".

Курить даташит, особенно если он грамотный - очень полезное дело.

 

Я не думаю , что китайцы использовали , что-то кроме написанного в DS.

Я не думаю что это сделали китайцы. Они лишь печатный станок запустили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, даташит у этого AMC7135 оставляет желать лучшего. хотя, с другой стороны, управляется он ШИМом контроллера и, если в момент отключения на выходе контроллера 0, то ничего на ноге по идее не останется

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Информация о времени отключения может появиться в контроллере:

 

1- с делителя

2- с драйвера

3- с питания

4- внутри самого контроллера

 

Можно поочередно отключать ножки ( кроме питания, конечно) и проследить поведение схемы. Стабильное питание уже проверено, дальше под наибольшим подозрением драйвер

и внутренности тини.

Попробуйте методом исключения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Злобное заблуждение. После выключения он живет ещё где-то 500 мкс. Запускаем ADC в Free Runing и имеем новую выборку каждые 86 мкс. Времени чтобы "подготовиться" к выключению вагон и тележка.

 

Запускаем ADC в Free Runing - при условии , что работаем на 200 кгц - 5*25=125мкс , 500-125=375мкс в остатке. Зачем значение АЦП нужно и, что с ним делать и как Вы собираетесь привязать его к режиму в котором работает фонарик совершенно не понятно ? Поехали далее + для того что бы его запустить нужно понять , что это надо бы сделать. Значит прерывание . Итого в остатке ~ 350мкс . ( с учётои init регистров АЦП) А дальше интереснее всего - значение надо сохранить , единственно возможное место EEPROM - типовое значение записи 3,4 mc . И делаем это , когда обращаться к EEPROM вообще не рекомендуется - исчезновение питания. Ну и зачем нам знать значение АЦП , если мы его однозначно не сохраним ( нам как-то вот времени не хватать) и толка от него никакого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запускаем ADC в Free Runing - при условии , что работаем на 200 кгц - 5*25=125мкс , 500-125=375мкс в остатке.

А у меня АЦП вообще всегад запущен - за батарейкой следит. Поэтому, 13 тактов выборка. Делители следующие 9.6МГц/8=1.2МГц тактовая процессора. 1.2МГц/8=150кГц тактовая АЦП. 150кГц/13=11538 выборок в секу или каждые 86 мкс.

 

 

Зачем значение АЦП нужно и, что с ним делать и как Вы собираетесь привязать его к режиму в котором работает фонарик совершенно не понятно ?

1. Следить за разрядом аккумулятора.

2. Опровергнуть утверждение, что tiny НЕ МОЖЕТ УЗНАТЬ ЧТО ЕГО ВЫКЛЮЧАЮТ. Может!

3. Если посмотришь код, который я выкладывал, то увидишь что на прерывании АЦП, раз уж оно работает, еще и ШИМ сделан. А таймер спит и экономит энергию в это время.

 

А дальше интереснее всего - значение надо сохранить , единственно возможное место EEPROM - типовое значение записи 3,4 mc

Зачем его сохранять? Тем более в EEPROM? Можно выполнить какие-нибудь другие действия. Не важно какие - главное МОЖНО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VladislavS, на чём Вы пишите свою прошивку?

 

Вопрос к тому клоню, что если это не C-образный компилятор, то попробуйте сохранять значение в какой-нибудь регистр общего назначения, например, в r20. У меня в таком регистре без питания очень долго информация сохранялась (на почти полностью разряженном электролите). Может "физика" у этих регистров отличная от SRAM.

P.S. Я не знаю, можно ли из IAR'a получить монопольный доступ к регистру r20.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. Я не знаю, можно ли из IAR'a получить монопольный доступ к регистру r20.

 

Можно. Не к r20, а к r4...r15, что, собственно, один хрен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компилятор IAR. Пробовал с регистрами общего назначения. Конкретно R15 вот так:

 

volatile __regvar __no_init unsigned char mode @ 15;

 

Он занулён намертво при старте. Не думаю что R20 чем-то отличается в этом плане.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так и храните! Не отключайте батарею, да и все. :) На ее ресурс это практически не повлияет. Ток потребления в режиме спячки - 100nА. Наверное, саморазряд батареи больше....
это технически весьма сложно - понадобится тянуть дополнительный провод от кнопки через скользящие контакты. кроме усложнения, это снизит надежность фонаря из-за лишних контактов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да ну, проблема питания контроллера во время выключаения решается гораздо проще простым электролитом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
это технически весьма сложно -... это снизит надежность фонаря из-за лишних контактов.

Вы, видимо, не поняли - скользящие контакты, при таком решении, совсем выбрасываются из конструкции, а не добавляются новые...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

при этом, кстати, при смене или глубоком разряде питающего элемента данные потеряются. кроме того, исключается такая возможность в фонарях, питающихся от 1 элемента (от 1.0В в случае севшего аккумулятора). В общем, не годится этот метод категорически :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...