Страница 1 из 1
Энергосбережение
Добавлено: Вт ноя 03, 2015 22:42:06
zepar
Добрый день! Есть atmega8A\atmega168A (на выбор), надо наладить энергопотребление. Есть ds18b20, статичный LCD (там меандр надо на 50Гц). Так вот устройство разряжает пару батареек буквально за несколько часов. Я заметил, что 9.8с из 10с МК ждет (delay_ms). В цикле, который инвертирует сигнал стоит delay_ms(10), можно ли усыпить МК на это время?. Частота, к сожалению, должна быть >= 1МГц из-за шины 1-wire.
Re: Энергосбережение
Добавлено: Вт ноя 03, 2015 23:29:11
НАПАЛМ
На время, в течение которого у вас не происходит обещения с датчиком, можно организовать задержку на таймере и спать в режиме Idle, пока не натикает нужное время задержки.
Еще есть такой момент: не знаю как для модернизированных версий мег, а у старой тайни2313 аналоговый компаратор был включен по умолчанию. Для уменьшения потребления его нужно отключать, если не используется.
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 08:19:54
uk8amk
В программе, оптимизированной на энергопотребление, необходимо избегать всяких delay_us и тем более delay_ms. Для уменьшения потребления генерировать события по часовому таймеру(TIM2). Использовать максимально глубокие режимы сна с отрубанием "лишней" периферии.
В дальнейшем переходить на МК со встроенным контроллером LCD дисплея.
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 09:18:35
eess9
uk8amk писал(а):В дальнейшем переходить на МК со встроенным контроллером LCD дисплея.
Это уже ARM серия.
Если батарейки разряжаются всего за пару часов, подозреваю что у вас включена подсветка индикатора. Отключите ее нафиг, светодиоды едят в ней просто феноменально много. Включайте ее по кнопке, например.
В таком устройстве без сна, батарейки должны умирать за дни, а не часы.
Надо бы еще минимизировать потребление дисплея. Спящие режимы у него есть? Если нет, рубите ему питание через полевик, например.
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 09:52:12
oleg110592
eess9 писал(а):Это уже ARM серия
необязательно - ATmega169A/PA/329A/PA/3290A/PA/649A/P/6490A/P a complete on-chip LCD controller with internal contrast control
еще MSP430, STM8L...
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 10:11:05
eess9
oleg110592 писал(а): ATmega169A/PA/329A/PA/3290A/PA/649A/P/6490A/P
Не знал, спасибо за информацию. Пригодится
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 12:46:19
zepar
Световой подсветки нет. Но я не понимаю, что у меня не так. Вот потребление:
DS18b20 = 1mA*h (правда при напряжении 5В, у меня 3В) согласно даташиту
ATMEGA8A = 6mA*h (8MHz, опять же при напряжении 5В)
74HC595 (сдвиговый регистр) там вообще потребление в микроамперах.
У дисплея неизвестно потребление.
Расчеты:
Спойлер
По номинальной емкости батареи: 220мА*ч/(1+6+x)мА=3ч => x=66. Где 220 - емкость батареи, 3 - часа работы устройства (3ч 9мин, если быть точнее - это установлено опытным путем).
Но у меня батарейка разряжается до 2.7В, потом устройство выключается. И я нашел еще такое тестирование:
"Время разряда до уровня 2,7 В
450 ч при 21°C и нагрузке 6,5 КОм
1100 ч при 21°C и нагрузке 15 КОм"
Т.е коэффициент из этого следует 14.04, который определяет зависимость между кол-во часов и сопротивлением. У меня температура 19.9, а сопротивление:
R=U/I; R=3В/((7+x)*10^-3)А;
C учетом коэффициента можно высчитать потребление неизвестного:
14.04*3ч=R => x=64мА.
Из расчетов следует, что на дисплей и всякие погрешности (сопротивление дорожек, чуть подсевшие батарейки (хотя совершенно новую вставил, из коробки) итд..) уходит 65мА. Но ведь так не должно быть, верно? Я понимаю, что необходимо уменьшить тактовую частоту, хотя бы до 4МГц, но все равно слишком большое потребление получается.
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 13:00:35
eess9
Мультиметр у вас в хозяйстве имеется? Берете его в режиме амперметра и меряете потребление всей платы. Дальше убираете поочередно датчик, индикатор и контроллер. Определяете какие элементы потребляют больше чем надо. Короче, стандартный поиск виновного.
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 13:15:44
Z_h_e
zepar, мы же с Вами уже общались. Я Вам неоднократно предлагал измерить фактический ток каждого модуля схемы. Я так понимаю, Вы это так и не сделали? Болтать можно бесконечно.
Потребление DS18b20 1мА , только в активном состоянии. То есть за час будет зависеть от частоты ее использования и разрядности измеряемой температуры. Уменьшив частоту замеров и точность можно снизить потребление.
Потребление МК на 1МГц и 3В чуть больше 1мА. В даташите есть графики потребления. Но это потребление ядра МК. Сдвиговый регистр вроде до 80мкА.
Если у Вас схема потребляет больше расчетной и Вы уверены в расчетах, то наверное у Вас ошибка в схеме (предоставить Вы ее отказались, назвав это формальностью), ну или в прошивке. Может так оказаться что у Вас модуль битый и потребляет лишнего, сопля в плате, ошибка в трассировке и т.д.
Может уже пора измерить уже что-нибудь?

Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 14:32:47
zepar
Мне пока нужно сойтись с расчетами на практике, потом только оптимизация. Амперметр показывает 22мА, ну никак не 66мА. А у датчика DS18b20 1мА в активном режиме. По отдельности мерить не могу, так как элементы впаяны. Ну никак не может получатся 66мА. Схему приложу.
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 14:50:01
eess9
zepar писал(а):Амперметр показывает 22мА, ну никак не 66мА.
22мА, с учетом драйвера дисплея, похоже на правду. Ошибка в расчетах или начальный данные расчета отличаются от реальных в вашей схеме.
zepar писал(а):Схему приложу.
Извините, конечно, но полной схемы в архиве нет. Недоделка в Proteus и файл разводка.png, который улыбает.
Видимо, спрашивать у вас что такое схема бессмысленно, поэтому вот вам наводящие определение:
Схема электрическая принципиальная – схема, определяющая полный состав элементов и связей между ними и дающая детальное представление о принципах работы изделия.
Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 16:09:07
akl
zepar Что-то у Вас не так.
У меня термометр (ATmega8515(внутренний RC 1МГц) ITS0803 DS18B20 паразитное питание) в активном режиме 1,4 мА при напряжении 3V. В ожидании <2мкА.
Спойлер

Re: Энергосбережение
Добавлено: Ср ноя 04, 2015 17:25:00
uk8amk
Для управления многосегментными стекляшками необходимы напряжения сложной формы. На простых МК их можно получить резисторной матрицей. Интересно как там с током утечки через неё.