“Господа! … страшная пауза…”(с) Какой минимальный ток удалось достичь на ваших микроконтроллерах в режиме глубокого сна с пробуждением от таймера или сторожевого?
Я таким сам лично не занимался (не было нужно), но вообще должно быть что-то в районе единиц микроампер (1..10 мкА).
А какой результат у тебя?
у меня документально замерено 7мкА на 328P(Pico power) с пробуждением по WDT.
Там ннада обязательно ADSRA = 0 делать перед сном и BOD отключать.
Ссылку на форум Ника Гаммона я где-то на днях давал, там есть про энергосбережение, у него 0.355 мкА получалось, я такое не измерю
Найтить?
Не, пасиб, там уже шарюсь.
Оно как бы так и и еззь, но “хотелось бы уточнить”(с)
Мучаю Attiny2313 и в глубоком сне выходит 0.12мкА(радосно), но будится только от внешнего прерывания. А стоит завести собаку, то сразу до 5.8 мкА. Вот у хотел уточнить, норм ли это и не будет ли лучшее ежели взять мегу и задействовать не собаку а таймер? Уж скозложопить программировать точно на порядок легче будет
Поэтому и радостно, что все счетчики отключаются. Логично, что при включении wdt ток возрастает.
А чем измеряешь такие малые токи (0.12мкА)? Что за прибор (или приставка)?
Uni-T UT61E.
Ща ещё выяснилось, шо просыпается с полным резетом, а не с момента входа. Грусновое.
Чтобы с момента входа - это “режим ожидания” - “idle mode”. В нём самое высокое потребление.(Сколько точно - не скажу, не знаю))
Моя думать, что это мои руки/моск! Должно работать! Я сначала мучал тиню, но узнав что в глубоком не работают таймеры(типа нужон ассинхронный),нет 1МГц внутреннего, кривая мнемоника в IDE, переключился на мегу. Ну как переключился - нашёл и запаял 88L(ажно до 1.8 вольтов работает). Домохозяйка унутре возрадовалась и сразу полезла в готовые библиотеки(Гайвер наше всё) и обнаружил, что время сна у него выбирается СУММИРОВАНИЕМ СОБАКИ. Удивился и … вот я опять ко
выряю тиньку
По моему, это не так. Режим Power save как раз об этом.
А по прерыванию от Timer2?
И зачем тебе Гайвер? Лучше даташит почитать ИМХО))
А нету ентого в тини. ![]()
И ентого нету, а шо есть не работает в глубоком сне.
Сейчас накидаю предметно, ибо обнаруженный полный резет это уже последствия изучения другого бага ![]()
Так я про Мегу))
В любом случае, выход из глубокого сна это ресет что на Тини, что на Меге
А как же.. там.. у .. него..?! Ну и лан. В любом случае это выяснилось в попытке понять: а какого хрена скетч при очередном просыпании выходит на режим зацикливания как в старых(не оптибутовских) загрузчиках при срабатывании собаки. Причём может на второй раз, может на десятый а может и гораздо позже.
О, мысля пришла поставить галку в во фюзах.
#include <avr/sleep.h>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/wdt.h>
#define Power PB0
void Res()
{
PORTB |= (1 << Power);
_delay_ms(250);
PORTB &= ~(1 << Power);
_delay_ms(250);
}
void Vkl()
{
PORTB |= (1 << Power);
_delay_ms(50);
PORTB &= ~(1 << Power);
_delay_ms(50);
}
ISR (WDT_vect) // watchdog interrupt
{
wdt_disable(); // disable watchdog
} // end of WDT_vect
void setup() {
DDRB |= (1 << Power);
Res();
}
void loop() {
Vkl();
MCUSR = 0; // clear various "reset" flags
WDTCSR = bit (WDCE) | bit (WDE); // allow changes, disable reset
WDTCSR = bit (WDIE) | bit (WDP3) | bit (WDP0); // set interrupt mode and an interval // set WDIE, and 8 seconds delay
wdt_reset(); // pat the dog
set_sleep_mode (SLEEP_MODE_PWR_DOWN);
noInterrupts (); // timed sequence follows
sleep_enable();
interrupts (); // guarantees next instruction executed
sleep_cpu ();
sleep_disable(); // cancel sleep as a precaution
/*
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_cpu();
sleep_disable();
*/
}
Аддон TinyCore, BOD отключен во фюзах.
Возможно полезная инфа: при установке галки WDTON при подаче питания сразу зацикливается(быстрое моргание светодиодом).
А в чём смысл не подтянутой кнопки?
В экономии икстричества. Это не для пробуждения(все совпадения случайны). Поперву я даже цепь сброса не ставил с целью сэкономить, но после начавшегося зацикливания вернул(не помогло). Кстати цепь увеличивает ток всего на 0.02мкА.(математика? не, не слышал)
На вскидку - нихрена не понял.(тупею с годами)) Ладно, может позже ещё гляну, если никто не ответит.
Кстати приветствую , давно не было видно!

