реклама на сайте
подробности

 
 
> Борьба за микроамперы, ATmega324P, RTC
ivainc1789
сообщение Dec 14 2009, 20:02
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



В текущей программе реализован элементарный счетчик секунд на базе таймера2 и часы на его основе. Хотелось бы добиться уменьшения потребления и сделать так, чтобы в sleep mode микроконтроллер просыпался 1 раз в 8 сек (или реже?), а при нажатии пользователем на клавишу просыпался и автоматически корректировал счет времени и показывал его пользователю в формате HH:MM:SS. При этом пользователь не должен заметить самого переключения (по индикации секунд).
Сходу мне удалось только при wake up ждать пока наступит переполнение от таймера, прибавлять 8 сек и только потом переключаться в режим 1 раз в сек используя OC2A. Ясно, что пользователь максимум в течение 8 сек видит что ЧАСЫ ОСТАНОВИЛИСЬ ))). Это плохо. Учитывая, что индикация времени задача типовая может кто-нибудь поделится идеями?
Интересно, почему прескалер таймера2 имеет такой "небольшой" предделитель? Ведь при тактировании от 32.768kHz можно пробуждать контроллер не реже 1 раза в 8 сек. Стоит ли заморачиваться, если потребуется раз в минуту? И вообще заметно ли увеличится при этом жизнь батареи? Количественно оценить не смог...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rx3apf
сообщение Dec 14 2009, 20:47
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



ivainc1789 Для начала - что выбрано в качестве индикатора ? Потому как обычно индикатор и лимитирует энергопотребление, а прерывания Timer2 - это копейки, при частоте прерываний 16 Hz это порядка пары uA (@3.6V, RC-тактирование), сам осциллятор жрет существенно больше. А вот индикатор со столь малым потреблением - уже непросто (разве что речь о микроконтроллерах с поддержкой сегментных LCD). Да, и за какой бюджет энергопотребления боремся ?
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение Dec 14 2009, 21:14
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



rx3apf Индикатор у меня LCD WH-1202 но я его отрубаю (как и вообще все перед уходом в спячку). Устройство используется пару раз в неделю, поэтому микропотребление важно... При пробуждении необходимо отображать время с точностью до 1 сек. Питается устройство от двух элементов AAA. Также на борту сс1100, 1wire, клава, пьезоизлучатель. Стабилизатор импульсный L6920 от STM. В принципе я достиг неплохих показателей по потреблению, если выключить часы, то амперметр VC9808 показывает в спячке 38 мкА (верится с трудом, уж очень мало). Работа часов в течение недели в режиме пробуждения MCU 1раз/сек кажется достойной борьбы за использование режима 1раз/8сек или реже. Мне кажется оптимально 1раз/мин. Но... может это нецелесообразно?
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 14 2009, 21:25
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(ivainc1789 @ Dec 15 2009, 00:14) *
Питается устройство от двух элементов AAA. Также на борту сс1100, 1wire, клава, пьезоизлучатель. Стабилизатор импульсный L6920 от STM.

Пардон, а на кой черт там импульсный стабилизатор ? Ради индикатора и 1-wire ? Если ради индикатора, то TIC107 и забыть про проблему питания.
Цитата
В принципе я достиг неплохих показателей по потреблению, если выключить часы, то амперметр VC9808 показывает в спячке 38 мкА (верится с трудом, уж очень мало).

Многовато, вообще-то, если речь идет о экономии. Впрочем, года три от алкалиновых AAA должно работать.
Цитата
Работа часов в течение недели в режиме пробуждения MCU 1раз/сек кажется достойной борьбы за использование режима 1раз/8сек или реже. Мне кажется оптимально 1раз/мин. Но... может это нецелесообразно?

Достижимые цифры я уже привел, даже при 16-Hz прерывании это всего лишь пара uA (осциллятор жрет в разы больше). Но все это меньше упомянутых 38 uA.

Для примера я приведу цифры потребления моих приборов - ~25 uA @3.6V, ATmega8/168 (для 168 - экономичнее) @3.69 MHz, CC1100 с ежесекундным опросом, частота прерываний переполнения таймера - 16 Hz (опрос датчиков).

Радикального снижения энергопотребления (если нужно лишь сохранить ход часов) можно применением специализированных чипов RTC, освободив процессор от этого (и вообще чтобы просыпался лишь по клавиатуре).

Сообщение отредактировал rx3apf - Dec 14 2009, 21:27
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 17:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016