Страница 1 из 1

большое потребление у mega328p в SLEEP_MODE ( PWR_DOWN )

Добавлено: Ср окт 23, 2013 16:32:02
igor2503
Господа, подскажите, какае то ерунда. 328Р не хочет уходить в спячку.

Вроде и кварц отключает (смотрю на осцилограф), а всё равно 3 милиАмпера жрёт. Питание 3в . Код(взят из примера) сокращен до минимума. Деталюшек на плате 328 и мальца обвески (всё лишнее ещё не запаяно) . Должно получиться 15-20 микроАмпер , а тут такое ..... Может быть такое, что это брак в 328р ( заказывал из китая, но у этого поставщика не перевый раз ) ?????

привожу кусок кода , может тут косяк ;-)

//////////////////////////////////////////
byte adcsra, mcucr1, mcucr2;
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
EICRA = 0x01;
//configure INT0 to trigger on change level
EIMSK = _BV(INT0); //enable INT0
adcsra = ADCSRA; //save the ADC Control and Status Register A
ADCSRA = 0; //disable ADC
cli(); //stop interrupts to ensure the BOD timed sequence executes as required
mcucr1 = MCUCR | _BV(BODS) | _BV(BODSE); //turn off the brown-out detector while sleeping
mcucr2 = mcucr1 & ~_BV(BODSE);
MCUCR = mcucr1; //timed sequence
MCUCR = mcucr2; //BODS stays active for 3 cycles, sleep instruction must be executed while it's active
sei(); //ensure interrupts enabled so we can wake up again
sleep_cpu(); //go to sleep
sleep_disable(); //wake up here
ADCSRA = adcsra; //restore ADCSRA
//////////////////////////////////////
Если код верный, должно быть отключено всё(пины отдельно), SLEEP_MODE_PWR_DOWN, кто знает , напишите .

Re: большое потребление у mega328p в SLEEP_MODE ( PWR_DOWN

Добавлено: Ср окт 23, 2013 22:53:07
watchmaker
Попробуй перед засыпанием все неиспользуемые порты сконфигурировать на выход. Хотя больше похоже на неверный выбор ждущего режима - генератор продолжает работать.

Re: большое потребление у mega328p в SLEEP_MODE ( PWR_DOWN

Добавлено: Чт окт 24, 2013 10:27:57
Eugene.Negrobov
Контроллер точно полностью живой?
А то у меня есть одна Mega16 с точно палённым портом C и неизвестно чем палённым еще, так вот она на 1 МГц тактовой жрет уже 9 мА, в sleep-режиме 6 мА. :))
Видать что-то там внутри навернулось и транжирит ток.

Re: большое потребление у mega328p в SLEEP_MODE ( PWR_DOWN

Добавлено: Чт окт 24, 2013 21:51:17
igor2503
Eugene.Negrobov писал(а):Контроллер точно полностью живой?
А то у меня есть одна Mega16 с точно палённым портом C и неизвестно чем палённым еще, так вот она на 1 МГц тактовой жрет уже 9 мА, в sleep-режиме 6 мА. :))
Видать что-то там внутри навернулось и транжирит ток.
mega вроде как "новая". У меня их 10штук (из одной партии, из китая --- грешу на полёность продукта ), попробовал 2штуки - результат одинаковый.

Re: большое потребление у mega328p в SLEEP_MODE ( PWR_DOWN

Добавлено: Чт окт 24, 2013 22:35:26
igor2503
watchmaker писал(а):Попробуй перед засыпанием все неиспользуемые порты сконфигурировать на выход. Хотя больше похоже на неверный выбор ждущего режима - генератор продолжает работать.
Устанавливаю CKOUT, при загоне в слип тактовая частота на pb0 пропадает. Вроде как генератор отключается, но почему то ЖРЁТ ;-)