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

 
 
23 страниц V  « < 10 11 12 13 14 > »   
Closed TopicStart new topic
> Как распознать кратковременное выключение на Tiny13, Управление режимами фонарика кнопкой питания
VladislavS
сообщение Jan 12 2010, 14:17
Сообщение #166


Местный
***

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



Цитата
На PB0 ведь какой-то широкий импульс сразу после включения появляется.

И пропадает сразу как выходим на режим. Наверняка ведь важно чтобы в момент выключения там 1 было.
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Jan 12 2010, 18:09
Сообщение #167


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(VladislavS @ Jan 12 2010, 15:25) *
Здорово что на АЦ что-то нащупали. Сейчас посленовогоднюю текучку раскидаю - пощупаю тоже. Только я вот думаю на какой ноге они могли бы это делать? На всех свободных при выключении нули. Остается только ADC1 - на ней 0.8 В висит. Не помешают ли они в момент включения?

Нет, при выключении АЦП скоммутирован на делитель напряжения. Может быть, АЦП работает всё время, чтобы контролировать разряд батареи, или допустим подкорректировать скважность ШИМ шире, для компенсации понижения напряжения батарейки при разряде.
Похоже, память на 2 секунды найдена?
Показательно, что то же самое происходит и при сбросе(ARV, #162 ) - правильно, регистры обнуляются, порты запираются, конденсатор оказывается изолированным. В эксперименте stells (#155) АЦП зашкален, когда используется внутренний ИОН, потому что напряжение на конденсаторе значительно выше. Для этого у китайцев и стоит делитель, потоvу что они хотят сравнивать не с изменяющимся напряжением батарейки, а с образцовым bandgap reference, который, очевидно, есть простой стабилитрон.
Go to the top of the page
 
+Quote Post
stells
сообщение Jan 12 2010, 18:44
Сообщение #168


внештатный сотрудник
******

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



Цитата(Maik-vs @ Jan 12 2010, 21:09) *
Для этого у китайцев и стоит делитель, потоvу что они хотят сравнивать не с изменяющимся напряжением батарейки, а с образцовым bandgap reference, который, очевидно, есть простой стабилитрон.

Вы хотите сказать, что до выключения они держат подключенным к АЦП вход с делителя, а при включении измеряют напряжение на висящем входе (фактически на внутреннем конденсаторе)? может и так
Go to the top of the page
 
+Quote Post
ISV
сообщение Jan 12 2010, 19:15
Сообщение #169





Группа: Участник
Сообщений: 10
Регистрация: 12-01-10
Из: Оренбург
Пользователь №: 54 756



VladislavS, кстати, у меня таки sku.7612 и на PIC12F629, покупал примерно полгода назад. Схема вообще элементарная - такой же планарный диод, за ним керамический кондюк 0.1uF и всё. Больше питание ни на одну ногу не приходит ни напрямую, ни параллельно с кондёром. Режимы нормально переключаются без СИДа. У моего С1-114 вход всего 1МОм, при этом вижу, что питание падает до ~0.3В весьма быстро, потом до нуля чуть медленней.
Для переключения режима надо разорвать питание максимум секунды на полторы. Попробовал зашунтировать кондёр резистором 47К - максимальный интервал уменьшился до ~0.5сек, хотя напряжение на 1 ноге по осциллографу падает практически мгновенно.
Таки используют какие-то хитрые остатки в памяти? Проц при падении напряжении питания уже остановлен, а для поддержки памяти напряжения в 0.2В и меньше хватает?
upd: нифига подобного. Повесил от второго БП постоянное напряжение 1В на питании проца - способность переключать режимы сохраняется.

Если мне кто-нть скинет настроенный MPLAB или поможет быстро "войти в курс", готов принять участие в исследовании аналогичного драйвера на PICe. В частности, есть чистые PIC10F202 и живая плата от фонаря Fenix L2D. И давняя мечта написать под него собственную прошивку ;-). Вот только знаний негусто, опыта почти ноль и времени свободного маловато...

Сообщение отредактировал ISV - Jan 12 2010, 19:21
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jan 12 2010, 19:28
Сообщение #170


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(stells @ Jan 12 2010, 11:34) *
в смысле? это сарказм? smile.gif
С чего это вдруг сарказм?
Красивое решение. Мне понравилось.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
stells
сообщение Jan 12 2010, 19:36
Сообщение #171


внештатный сотрудник
******

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



Цитата(stells @ Jan 12 2010, 21:44) *
до выключения они держат подключенным к АЦП вход с делителя, а при включении измеряют напряжение на висящем входе (фактически на внутреннем конденсаторе)

точно, наверняка так и есть. в пользу этого говорит то, что ADC0 висит в воздухе, а именно он при включении оказывается подключенным к АЦП
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jan 12 2010, 19:49
Сообщение #172


Местный
***

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



Обещаю завтра всё опробовать, но я что-то запутался... Где находится та ёмкость, напряжение на которой надо измерять? Между мультиплексором и АЦП или в самом АЦП? Тогда мне стоит испробовать следующее:
- При штатной раоте АЦП постоянно подключен ко входу ADC1 и делает свои дела.
- При пропадании питания я должен успеть отключить АЦП от входа? Для этого ADEN=0 надо сделать? Или преключить мультиплексор на свободную ногу? Или он сам отключится при срабатывании BOD?
- При включении переключить мультиплексор АЦП к любой свободной ноге, настроенной на вход без пулапа.
- Включить АЦП и одновременно запустить преобразование.
- На основании показаний АЦП ставлю нужный режим и перехожу к штатной работе.

На бумаге вроде красиво выглядит - посмотрим что в железе получится...
Go to the top of the page
 
+Quote Post
stells
сообщение Jan 12 2010, 20:08
Сообщение #173


внештатный сотрудник
******

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



Цитата(VladislavS @ Jan 12 2010, 22:49) *
Или он сам отключится при срабатывании BOD?

по идее сам отключится. а при включении подключится на ADC0, на ней бы и надо мерить, если конечно она (reset) определена как вход/выход
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jan 12 2010, 20:44
Сообщение #174


Местный
***

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



ISV, добро пожаловать на форум!

All, вот видите!!! Не только у меня фонарик с "волшебной" кнопкой есть!

Цитата(stells @ Jan 12 2010, 23:08) *
по идее сам отключится. а при включении подключится на ADC0, на ней бы и надо мерить, если конечно она (reset) определена как вход/выход

Ресет естественно не отключен, иначе SPI-программирование не будет работать.
А вот мультиплексор то при включении действительно на ADC0 включен. Получается, искать свободную ногу и не надо - вот она! Интересно, подключен ли физически аналоговый вход ADC0 при использовании первой ноги как ресет?
Go to the top of the page
 
+Quote Post
stells
сообщение Jan 13 2010, 04:50
Сообщение #175


внештатный сотрудник
******

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



Цитата(VladislavS @ Jan 12 2010, 23:44) *
Интересно, подключен ли физически аналоговый вход ADC0 при использовании первой ноги как ресет?

думаю, что да. я, когда проводил эксперимент на своей тиньке, удивился: почему я никогда не могу намерять нулевое напряжение на этом внутреннем кондере? даже если контроллер очень долго выключен, все-равно почти половина питания есть. а потому, что у меня ресет подтянут к питанию smile.gif из-за этого и с внутренним ИОНом эксперимент не работал - кондер подзаряжался при включении от этой подтяжки

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

нашел. не Вы говорили:
Цитата(rx3apf @ Jan 3 2010, 16:56) *
P.S. А сам я нафиг выдрал эту плату управления, потому как достала она меня этим постоянным переключением режимов и идиотским стробоскопом..


Сообщение отредактировал stells - Jan 13 2010, 05:19
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jan 13 2010, 05:22
Сообщение #176


Местный
***

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



Ну если подключен, то я не понимаю как это вообще может работать. Проц без единицы на ресете не может работать. Либо при выключенном АЦП этот пресловутый конденсатор отключен от мультиплексора, либо одно из двух...
Go to the top of the page
 
+Quote Post
stells
сообщение Jan 13 2010, 05:26
Сообщение #177


внештатный сотрудник
******

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



Цитата(VladislavS @ Jan 13 2010, 08:22) *
Проц без единицы на ресете не может работать.

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

да и вообще вход ресет самый хитрый, он же и при 12В должен работать

Сообщение отредактировал stells - Jan 13 2010, 05:28
Go to the top of the page
 
+Quote Post
ARV
сообщение Jan 13 2010, 05:38
Сообщение #178


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(stells @ Jan 13 2010, 07:50) *
думаю, что да. я, когда проводил эксперимент на своей тиньке, удивился: почему я никогда не могу намерять нулевое напряжение на этом внутреннем кондере? даже если контроллер очень долго выключен, все-равно почти половина питания есть. а потому, что у меня ресет подтянут к питанию smile.gif
думаю, вы ошибаетесь в этом предположении: в моих экспериментах с мега32 вывод сброса никак не связан с ADC0, а тем не менее никогда результат АЦП не получался нулевым и даже менее 390!

тут происходят процессы переноса заряда из конденсатора АЦП на емкость внешнего пина и всяких промежуточных цепей (там же по идее куча затворов полевичков и паразитных емкостей имеется "по пути") и обратно. видимо, из-за этого и не выходит чистого 0 на "свободном" входе АЦП.


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
stells
сообщение Jan 13 2010, 05:48
Сообщение #179


внештатный сотрудник
******

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



Цитата(ARV @ Jan 13 2010, 08:38) *
тут происходят процессы переноса заряда из конденсатора АЦП на емкость внешнего пина и всяких промежуточных цепей (там же по идее куча затворов полевичков и паразитных емкостей имеется "по пути") и обратно. видимо, из-за этого и не выходит чистого 0 на "свободном" входе АЦП.

так получается не конденсатор стекает на ножку, а наоборот что-то натекает на него... но не суть, может Вы и правы, дело не в подтяжке ресета. могу проверить и отпаять резистор подтяжки, но проще автору все сейчас проверить
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Jan 13 2010, 10:26
Сообщение #180


Местный
***

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



Немого повозился на обеде. Пока не стал сильно мудрить. PB4 (ADC2) никуда не подключен. При включении питания подключаю на него АЦП и измеряю.
Код

  ADMUX=(0<<REFS0)| 2;
  ADCSRA=(1<<ADEN)|(1<<ADSC)|(0<<ADATE)|(0<<ADIF)|(0<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(0<<ADPS0);
  while(ADCSRA & (1<<ADSC));
  
  DDRB=(0<<DDB5)|(1<<DDB4)|(0<<DDB3)|(0<<DDB2)|(1<<DDB1)|(1<<DDB0);
  PORTB=(0<<PORTB5)|(0<<PORTB4)|(0<<PORTB3)|(0<<PORTB1)|(0<<PORTB0);
  
  temp=ADC;

после всего temp равно 560 где-то. 2.1 В. Ставлю щуп на PB4. Желтый луч - питание, Зеленый - PB4 (ADC2). Хорошо видно подключение АЦП и момент оцифровки.
Прикрепленное изображение

Во-первых, напряжение далеко не 2.1 В, как это намерил АЦП.
Во-вторых, в начале оно выше чем было на АЦП в момент выключения.
В-третьих, занчение АЦП меняется от длительности выключенного состояния, но зависимость достаточно сложная. От питания, самом собой, тоже зависит.
В-четвертых, на китайской прошивке ничего подобного и в помине нет ни на одной ножке. Ну да хрен с ними - мы идем своим путем.

То же самое, но поставил фузы на, чтобы стартовал через (14CK + 4 ms).
Прикрепленное изображение

Прикрепленное изображение
Go to the top of the page
 
+Quote Post

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

 


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


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