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

Обсуждаем контроллеры компании Atmel.
Ответить
igor2503
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Сб янв 19, 2013 02:28:47

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

Сообщение 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, кто знает , напишите .
Реклама
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2183
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

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

Сообщение watchmaker »

Попробуй перед засыпанием все неиспользуемые порты сконфигурировать на выход. Хотя больше похоже на неверный выбор ждущего режима - генератор продолжает работать.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Реклама
Аватара пользователя
Eugene.Negrobov
Мучитель микросхем
Сообщения: 472
Зарегистрирован: Ср фев 15, 2012 09:00:34
Откуда: Киев

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

Сообщение Eugene.Negrobov »

Контроллер точно полностью живой?
А то у меня есть одна Mega16 с точно палённым портом C и неизвестно чем палённым еще, так вот она на 1 МГц тактовой жрет уже 9 мА, в sleep-режиме 6 мА. :))
Видать что-то там внутри навернулось и транжирит ток.
I'm on a huge rock, flying through space!
igor2503
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Сб янв 19, 2013 02:28:47

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

Сообщение igor2503 »

Eugene.Negrobov писал(а):Контроллер точно полностью живой?
А то у меня есть одна Mega16 с точно палённым портом C и неизвестно чем палённым еще, так вот она на 1 МГц тактовой жрет уже 9 мА, в sleep-режиме 6 мА. :))
Видать что-то там внутри навернулось и транжирит ток.
mega вроде как "новая". У меня их 10штук (из одной партии, из китая --- грешу на полёность продукта ), попробовал 2штуки - результат одинаковый.
Реклама
Эиком - электронные компоненты и радиодетали
igor2503
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Сб янв 19, 2013 02:28:47

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

Сообщение igor2503 »

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

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