Atmega8 уменьшение потребляемого тока

Обсуждаем контроллеры компании Atmel.
Ответить
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

akl писал(а):(сейчас ставим ATmega8515)
Этот чип ничем не отличается от ATmega8, только памяти у него поменьше.
Чтобы уменьшить потребление меньше 10 mkA надо отключить Watchdog.
Только вот проблема - External interrupt в power down режиме работает только в варианте "The low level of INT0 generates an interrupt request." поэтому например запитать от часов с выхода в 1 герц не получится.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

почему не получится?

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

или например 1 герц завести через кандер и транзюк сажающий подтяжку в килоом 100 на землю....чтоб формировался очень короткий импульс 1-0-1 при изменении входного сигнала 0-1 .... вполне себе задачка на 0.01 микрофарад и какой-нить mmbta26 в sot3 да пара резюков 10-100 килоом

я так своё прибор вырубаю когда долго нет сигнала с датчика...смысл быть готовым ловить 100 герц если датчик плавно разгоняется и при этом 70% времени вообще простаивает...

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

ёмкость примитивной солевой батареи за 1 грн = 4000 миллиамперчасов +-50% посчитайте время работы с потреблением 200 микроампер и вы будете поражены что сама батарейка умрет раньше от саморазряда хотя если применить литиевые....но у них с саморазрядом нестабильно....проводил как-то эксперименты с литиевыми на 15 амперчасов....за 10 лет свечения светодиода через 5 мегаоммный резистор из 4-х батареек одна ещё 60% имеет одна умерла а вторая имеет порядка 40%

вот так то....фактически дай бог чтоб оно пару лет отработало...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

И я о том-же. Мега устарела морально уже давно. Потребление 1.5 мкА в режиме глубокого сна и 10-15 мкА с работаюшим WDT - это много, очень много. А потребление на уровне 30-50 мкА с работающим часовын генератором - вообще зашкаливает. По современным мерках работа микромощного устройства от (литиевой с саморазрядом порядка 0.7 мкА) бтарейки в течении 1-2 лет - это мало и норма, чтобы оно работало 10-15 лет. Конечно, не всегда это возможно, но в термометрах/гигометрах это тах. Современные 8-16 битные МК в режиме с работающим таймером потребляют порядка 0.4-0.7 мкА, и конечно все пробуждения от таймера и по смене уровней на входах в них работают как надо. Не спорю, что не во всех устройствах это надо и многие будут и сейчас будут нормально работать на мегах и других древних МК. Я просто призываю всех оглядеться вокруг и не зацикливаться на AVR-ках.

balmer - интересно было-бы взглянуть на схему Вашего девайса, можно в личку.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

Вот схема.
Это всеголишь термометр-гигрометр который умеет запоминать данные во флешь памяти и скидывать их по SPI на компьютер.
На LCD дисплей и Flash там не нарисованны проводники, и орентироваться надо по серым названиям - к какой ножке что идет.
Кстати скидываю данные на компьютер при помощи USBasp программатора, только с выдернутой перемычкой.

От power down режима сейчас вылезла странная засада. После того как сделал чтобы флешь питался через ножку PD6 - стал очень нестабильно инициализироваться LCD дисплей. Причем если включить LCD подсветку - то стабильно после Power Down инициализируется. Пока что у мне кажется что из-за того что при Power Down напряжение за 2 секунды успевает вырасти с 3.6 вольта до 4.0 вольта - случается какаято проблемма.

Еще одна проблемма - после рестарта по Power Down на небольшое время пропадает питание с LCD дисплея. Хотя даже посмотрел в startup код, который перед main - там регистры портов не трогаются.
Вложения
P1020858.JPG
Вид снизу
(181.71 КБ) 466 скачиваний
P1020857.JPG
Вид сверху
(135.58 КБ) 498 скачиваний
TermometerHygrometer.png
Схема
(27.19 КБ) 716 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

Кстати проблемму с нестабильно инициализирующимся LCD решил. Стал просто подавать питание на flash до инициализации дисплея. Но механизм, почему это работает - не очень мне понятен. Может быть выключенный flash както шунтирует SPI. А может и нет.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Думаю, все дело в питании flash-а. Именно, его пины 3 и 7 у Вас постоянно включены на 5В через резистор. При этом flash все время получает питание через защитные диоды на пинах 3,7, но из-за резистора питание некорректное. При включении подсветки напряжение просаживается и питание памяти еще более уменьшается. Советую соединить эти пины с пином Vcc и исключить резистор 47Ком и диод. Кроме того, при обесточивании Flash-a следует снимать также напряжение с пина 1, чтобы исключить его паразитное питание через этот вывод. Кстати, почему-бы не писать данные температуры/влажности в память МК (EEPROM)? Кроме того, потребления памяти в режиме глубокого сна около 1 мкА в среднем, может ее питание и не стоит коммутировть вообще?

Не понял, зачем нужны резисторы R1,R7 и почему не питать сенсор напрямую с вывода МК? И что используется в качестве подтягивающих резисторов для I2C и 1-Wire - неужели внутренние подтяжки в МК? Кстати, выбор сенсора совсем не оптимален. Посмотрите мою статью и ссылки в ней
http://radiokot.ru/circuit/digital/measure/85/
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

Криво нарисовал схемку, диод нужен D2 для уменьшения напряжения. Одна его сторона подключенна к батарейке от которой напрямую питается DHT22 и DS1307, а другая сторона - к микроконтроллеру VCC3. Потому как у flash заявленно максимальное напряжение питание 3.6 V, после диода получается 3.8 V. Думаю сойдет. Дисплей Nokia3310 тоже не любит большого напряжения, тогда все черное на экране становится.

R1, R7 - пожалуй что и не нужны, при их помощи вывожу напряжение питания на экран.
Да, подтягивающие резисторы i2c - это всроенные pullup.

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

Перекинул питание Flash на отдельный вывод, после того как не смог ее из standby состояния вывести. Впрочем сейчас понимаю, что скорее всего это из-за того, что не было питания на LCD дисплее в момент общения с Flash.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Интересно, какая частота у I2C при подтяжках внитри МК? Эти сопротивления составляют десятки Ком и имеют большой разрбос. Почему Вы не постажили внешние? То-же про 1-Wire. Мне в график изменения влажности не очень верится - не может она в течении дня скакать от 10% до 60%. Я понимаю про пики, если кто-то дыхнул на датчик, но 60% в течении нескольких часов при падении до этого до 15% - на это должна быть причина. У меня в жилых комнатах дома влажность меняется от 30 до 65% от зимы к лету, но в течении дня практически не меняется, особенно в это время года. Правда, если датчик стоит в душевой, то это другое дело. Где он у Вас стоит в доме - тот, с которого снят график?

Я-бы подумал о питании прибора от 2хАА батарей с повышающим DC-DC до 3.3В. Получите стабильное напряжение питания и все будет работать стабильнее.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

Скорость для I2C поставил минимальную.
С 1-Wire точно все хорошо, так как сначала пытался на частоте 1 мгц софтварно его читать, процессор не успевал и поэтому смотрел на фронт сигнала осцилограформ - там все прямоугольно.

График влажности очень логичный. Я целый день таскал прибор с собой. В разных домах влажность разная и меняется медленно. Там на грфиках даже видно когда включили чайник или открыли форточку.
Дома где батареи постоянно включены - влажность низкая. А вот на даче - влажность высокая.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Все равно я-бы поставил внешние подтяжки и увеличил частоту I2C килогерц до 100. МК при этом будет дольше спать (пора и мне уже идти сейчас). Еще я не спрашивал, зачем Вам графический ЖКИ? Для регистратора может сошел-бы и сегментный ЖКИ? Токопотребление сильно сократилось-бы. Вот для информации мои конструкции термо-влагометров:
http://mcs.uwsuper.edu/sb/Electronics/humi51.html
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

Да Si7005 отличный сенсор. Но где купить его. Посмотрел на ebay - нету. На chipdip он вполне ожидаемо стоит безумных денег 1000 руб за штуку.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Вместо него можно и какой-то другой поставить, например из тех, что я использовал в конструкциях по ссылке выше. Он не обязательно должен быть цифровым. Аналоговые работают "дых в дых" с цифровыми.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

Набрел еще на одни грабли в power down режиме. Оказывается нужно выключать TWI, иначе не работает INT0 прерывание по уровню. Не знаю какая связь между этими вещами, однакож есть. При включенном TWI у меня отлично работал watсhdog reset, а вот INT0 прерывание завешивало систему.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

Ser60 писал(а):Интересно, какая частота у I2C при подтяжках внитри МК? Эти сопротивления составляют десятки Ком и имеют большой разрбос. Почему Вы не постажили внешние
Кстати про I2C и внешний pull up. В моем случае оказывается это имеет смысл. Дело в том, что после watchdog reset все IO пины приводятся в начальное состояние, и соответсвенно на них выключается pullup. В большинстве случаев это никак не влияет на работу, но иногда, раз в 2-3 часа приходит ошибка. Наверно из-за того, что емкость успевает разрядиться, и битик какойто посылается по I2C.
Ответить

Вернуться в «AVR»