Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Закрытая тема
Опции темы
Непрочитано 22.02.2013, 09:46   #91
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Должно быть меньше 0,5 мкА
Образцовый сам отключается, если не используется в АЦП или компараторе
Похоже он не входит в Слип или неправильно настроен mcucr

Утечек у современных контроллеров нет, могут быть только сквозные токи, если входы висят в воздухе. Настраивай как выходы или включай подтяжку, или подавай на входы определенный уровень
Реклама:
niXto вне форума  
Непрочитано 23.02.2013, 03:16   #92
mvn77
Частый гость
 
Регистрация: 29.04.2008
Сообщений: 39
Сказал спасибо: 6
Сказали Спасибо 16 раз(а) в 8 сообщении(ях)
mvn77 на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

В общем добился я снижения питания до 1 ma. только вот проблема - немогу разобратся почему INT1 не выводит микрасхему из повер давна, я так понял проблема в типе сигнала при пробуждении... Пробовал и с синхронизацией по TOSK1 в даташите написано что он оптимизирован под кварц. перепробовал уже все... видно придется проект закинуть, больше не хватает нервов. Всем спасибо за помощь.

Последний раз редактировалось mvn77; 23.02.2013 в 08:54.
mvn77 вне форума  
Непрочитано 23.02.2013, 08:05   #93
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Читаем даташит, там даже картинки есть. Неиспользуемые ножки перевел на выход?

niXto вне форума  
Непрочитано 23.02.2013, 09:57   #94
mvn77
Частый гость
 
Регистрация: 29.04.2008
Сообщений: 39
Сказал спасибо: 6
Сказали Спасибо 16 раз(а) в 8 сообщении(ях)
mvn77 на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Вчера просидел весь день и всю ночь - Проблема в том что не просыпается от прерывания по INT1 (INT0). Из даташита не вылазию - для меня просто непонятно " перепад по низкому уровню - все что я могу подать сигнал с частотой 1ГЦ на INT1 - но от него микруха не просыпается, а больше мне будить нечем.

Цитата:
Неиспользуемые ножки перевел на выход?
- я их наоборот перевожу в режим на вход, для снижения энергопотребления
вот выдержка из кода:

// INT1 Mode: Low level
GICR|=0x80;
MCUCR=0x00;
GIFR=0x80;

...........................................
MCUCR |= ((1‹‹SE)|(1‹SM1)); // для PowerDown mode ( пробовал и MCUCR |= ((1‹‹SE)|(1‹SM1)|(0‹SM0));

SFIOR = (1‹‹PUD); //включаем на всех шинах Z
ACSR |= (1‹‹ACD); //выключаем компаратор
ADCSRA = (0‹‹ADEN);// выключаем АЦП

WDTCR = 0x00; //Выключить WDT

DDRB = 0x00; // все выводы порта B сконфигурировать как входы.
DDRC = 0x00; // все выводы порта C сконфигурировать как входы.
DDRD = 0x00; // все выводы порта D сконфигурировать как входы.


#asm("sei"); //Глобальное разрешение прерываний.
#asm("sleep"); //Отправляем контроллер в спящий режим
#asm("nop"); // 1 холостой такт
delay_ms(1);
#asm("cli"); //Глобальное запрещение прерываний.

..... и засыпаем глубоким мертвым сном....
mvn77 вне форума  
Непрочитано 23.02.2013, 12:40   #95
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,915
Сказал спасибо: 2,980
Сказали Спасибо 3,159 раз(а) в 2,144 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Сообщение от mvn77 Посмотреть сообщение
Вчера просидел весь день и всю ночь - Проблема в том что не просыпается от прерывания по INT1 (INT0). Из даташита не вылазию - для меня просто непонятно " перепад по низкому уровню - все что я могу подать сигнал с частотой 1ГЦ на INT1 - но от него микруха не просыпается, а больше мне будить нечем.
// INT1 Mode: Low level
GICR|=0x80;
MCUCR=0x00;
GIFR=0x80;
...........................................
MCUCR |= ((1‹‹SE)|(1‹SM1)); // для PowerDown mode ( пробовал и MCUCR |= ((1‹‹SE)|(1‹SM1)|(0‹SM0));
...........................................
#asm("sei"); //Глобальное разрешение прерываний.
#asm("sleep"); //Отправляем контроллер в спящий режим
#asm("nop"); // 1 холостой такт
delay_ms(1);
#asm("cli"); //Глобальное запрещение прерываний.

..... и засыпаем глубоким мертвым сном....
Для выхода из Power Down низкий уровень (ISC1x = 00) на INT1 должен удерживаться на время не меньшее чем 1 мкс (см. раздел 13. External Interrupts, второй абзац). А если это время при этом будет меньше, чем задержка старта, установленная битами конфигурации CKSEL и SUT, то прерывание не будет распознано и МК только проснётся, но его не выполнит.

Сообщение от mvn77 Посмотреть сообщение
- я их наоборот перевожу в режим на вход, для снижения энергопотребления вот выдержка из кода:
SFIOR = (1‹‹PUD); //включаем на всех шинах Z
DDRB = 0x00; // все выводы порта B сконфигурировать как входы.
DDRC = 0x00; // все выводы порта C сконфигурировать как входы.
DDRD = 0x00; // все выводы порта D сконфигурировать как входы.
Уж сколько раз твердили свету... Потому не буду вдаваться в подробности (тем более - не имея схемы). Если есть возможность отключить от контроллера всё остальное, то попробуйте вот так:
Код:
//SFIOR = (1‹‹PUD);  //включаем на всех шинах Z
DDRB = 0x00; // все выводы порта B сконфигурировать как входы.
DDRC = 0x00; // все выводы порта C сконфигурировать как входы.
DDRD = 0x00; // все выводы порта D сконфигурировать как входы.
PORTB = 0xFF;
PORTC = 0xFF;
PORTD = 0xFF; 
и доложите результат по току потребления. Если такой возможности нет - приведите схему и мы Вам нарисуем правильную настройку портов для sleep'а.
ForcePoint вне форума  
Непрочитано 23.02.2013, 12:42   #96
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

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

Когда на ноге 0 - она непрерывно генерит прерывание до тех пор пока 0 не исчезнет. По идее в прерывании контроллер должен перевести внешнюю схему так, чтобы она перешла в уровень 1.

Ставь мега48/88 - у них есть пинчейндж, который будит по перепаду из повердовна
niXto вне форума  
Непрочитано 23.02.2013, 14:06   #97
mvn77
Частый гость
 
Регистрация: 29.04.2008
Сообщений: 39
Сказал спасибо: 6
Сказали Спасибо 16 раз(а) в 8 сообщении(ях)
mvn77 на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

На атмегу 88 Перейти не могу, хотя и хотел - у меня програматор Pony PROG он не зашаривает новые 88е, хотя 2шт. лежат.
По коду - если честно, я за эти дни постоянного перебора и разбора кода настолько отупел, что даже женщин с 23 поздравляй... Обидно, что проблему со сном я не считал важной, и на ней же застрял.
При переводе в повер давн атмега 8L потребляет 0.01 ма, ( в рабочем режиме 8-10 ма) что отлично. Но как я писал выше DS1307 отказывается ее будить. При попытке будить ток скачет от 0.01 до 0.5 - разобраться не могу из за нехватки опыта и плохого знания английского. Остальной код проекта работает хорошо. Самое интересное, что в инете невозможно найти рабочий пример с питание атмеги8 от батарейки. В общем я в ступоре, проблема походу не решаема...

Схема такова
Миниатюры:
Нажмите на изображение для увеличения
Название: shema.jpg
Просмотров: 71
Размер:	80.7 Кб
ID:	43938  
mvn77 вне форума  
Непрочитано 23.02.2013, 15:34   #98
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Поставь между DS и мегой RC-цепочку, и диод с любой свободной ножки для ускорения заряда конденсатора после срабатывания прерывания "по низкому уровню". Или RS-триггер, запускает DS, сбрасывает мега после срабатывания прерывания. Или, что ещё лучше, собери часы на меге, без DS
niXto вне форума  
Непрочитано 23.02.2013, 16:04   #99
mvn77
Частый гость
 
Регистрация: 29.04.2008
Сообщений: 39
Сказал спасибо: 6
Сказали Спасибо 16 раз(а) в 8 сообщении(ях)
mvn77 на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Вроде нашол причину глюков - проблема была в сильно длинном сигнале пробуждения - все это время (1сек) генерирится прерывание. Щас буду думать как уменьшить длину сигнала.... походу RS цепочкой....
mvn77 вне форума  
Непрочитано 23.02.2013, 18:25   #100
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,915
Сказал спасибо: 2,980
Сказали Спасибо 3,159 раз(а) в 2,144 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Режимы сна Атмега-8

Сообщение от mvn77 Посмотреть сообщение
Вроде нашол причину глюков - проблема была в сильно длинном сигнале пробуждения - все это время (1сек) генерирится прерывание. Щас буду думать как уменьшить длину сигнала.... походу RS цепочкой....
Сразу после пробуждения контроллера, прямо в обработчике прерывания, запретите INT1, сбросьте флаг и снова разрешайте только перед очередным засыпанием.

Для Вашей схемы настройка портов перед засыпанием будет примерно такой:
Код:
DDRB = 0x00; // все выводы порта B сконфигурировать как входы.
PORTB = 0xFF; // с подтяжками
DDRC = 0x00; // все выводы порта C сконфигурировать как входы.
PORTC = 0xFF; // с подтяжками
DDRD |= 0x02; // все выводы порта D сконфигурировать как входы (кроме PD2).
PORTD = 0xFF; // с подтяжками
ForcePoint вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Атмега 8 PWM и сервы mg995Tower Pro deeman30rus Микроконтроллеры, АЦП, память и т.д 6 26.05.2011 12:37
Помогите с часами (атмега 16) SvZhuk Proteus 1 19.11.2010 02:29
Атмега 32а, не известно под какую частоту прошита. sae74 Микроконтроллеры, АЦП, память и т.д 1 10.04.2010 19:33
Ballast Designer, режимы включения ламп netigors Источники питания и свет 3 17.04.2009 06:42
Методика поиска неисправностей телевизоров.Сервисные режимы halizev2 Измерительное оборудование 0 13.12.2008 03:34


Часовой пояс GMT +4, время: 12:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot