Доброго времени суток! Есть задача снизить энергопотребление Attiny13A, хотя бы до 100мкА. Отпустил питание микроконтроллера до 2,7В , но максимум чего я добился при режиме SLEEP_MODE_PWR_DOWN, это снижение тока потребления до 550мкА. В FUSE битах я только снизил частоту работы процессора до 4,8Мгц, больше ничего не трогал. Между частотами 9,6Мгц и 4,8Мгц потребление тока практически не изменилось. Между питанием 5В и 2,7В разница в потреблении 150мкА. Контроллер не имеет на плате периферии, ни что не подключено к ножкам МК. Только осцилограф на порту PB4 висит, чтобы проверять режим мигания от прерывания по watchdog. В даташите указанно что нужно камень питать от 1,8В чтобы достичь эффективного энергопотребления. Ещё не проверял. Такое напряжение для моего проекта критично. Выкладываю код, может в нём ещё какая проблема находится. Заранее спасибо! Работаю в связке WinAVR + AVRStudio4.19
а сколько он будет потреблять если "собаку" не включать (знаю, что код работать не будет...)
ещё можно убавить частоту, для этого в майн (где настройки) добавь например:
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
возможно она у тебя не засыпает, попробуй закомментировать sleep_cpu(); для проверки, замерь ток...
Последний раз редактировалось Ivanoff-iv Чт янв 11, 2018 10:40:43, всего редактировалось 1 раз.
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Значит, так, в 100500-й раз рассказываю, что надо сделать для минимизации потребляемого тока в POWER_DOWN:
- отключить BOD
- отключить аналоговый компаратор, который после сброса всегда включен
- не оставлять пины портов в режиме входа без подтяжки, предпочтительно вообще перевести их в режим выхода и установить "безопасные" (для схемы) уровни
- помнить, что внешние резисторы схемы могут очень много тянуть на себя
- помнить, что WDT тоже кушает
- если есть регистр управления питанием периферии, отключать все, что можно с его помощью
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
поддерживаю ARV кроме ватчдога - он достаточно экономичен (~5мкА) пусть живет, раз нужен. другой вопрос, что этот таймер не очень точен.
Добавлено after 1 minute 2 seconds:
[uquote="king-live",url="/forum/viewtopic.php?p=3280226#p3280226"]Закомментировал, нет не помогает.[/uquote] а должно было усугубить...
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Повысилось энергопотребление приблизительно на 20мка.
Добавлено after 18 minutes 36 seconds:
Нашёл!!!! Причина в настройках ADC. Закомментировал строчки работы с ADC и потребление тока упало до 9мкА при напряжении 4,6В. Теперь надо понять как отключать сами регистры ADC. Так как мне в проекте нужны и ADC и компаратор. Спасибо всем за помощь.
выход работает правильно? сигнал на нем какой надо? а то у собаки в режиме прерывания вроде надо флаг чистить WDTCR|=0x40; чтобы следующая сработка не ребутнула мк.
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Добавлено after 2 minutes 34 seconds:
есть такой регистр у Attiny13 (PRR – Power Reduction Register). Я никогда с ним не имел дела. Сейчас поэкспериментирую. Этот регистр как раз и работает с Timer и с ADC.
Чето не нашел нормального даташита на неё (посмотрел по тини13 там нет этого регистра, а на 13а только на 20-30 листов урезанные попадаются)
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Добавлено after 6 minutes 52 seconds:
вторую ссылку посмотрел - такойже.
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Пока контроллер спит, должен зарядиться конденсатор до определённого уровня. Когда контроллер просыпается то в основном схема работает от этого конденсатора. Вот задача дополнительная к этому контроллеру, чтобы проверял его заряд и разряд по времени. Если будет отклонение у этого конденсатора, то схема бракованная. Так как таких схем будет десятки тысяч в месяц, то и проверять их не возможно. А так контроллер сам будет выявлять отклонения у этого конденсатора и выдавать определённое сообщение на светодиод.
так их (АЦПшки) и надо включать только перед замерами, а на спячку отключать
Добавлено after 2 minutes 9 seconds:
другой вопрос, чем отключать PRR или ADCSRA или обоими сразу.
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
так их (АЦПшки) и надо включать только перед замерами, а на спячку отключать
Ну я так и сделал в обработчике.
другой вопрос, чем отключать PRR или ADCSRA или обоими сразу.
В даташите написано, что сначала надо отключать АЦП, а затем установить нужный бит в PRR регистр. Я так сделал, но разницы не ощутил в потреблении тока. Так что вопрос наверное знатокам. Где, в каких целях и как применять этот регистр PRR?