Например TDA7294

Форум РадиоКот • Просмотр темы - Повышение энергоэффективности часов-термометра
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср фев 11, 2026 02:00:34

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 34 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Вт май 03, 2011 02:37:20 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
Доброго всем времени суток! Вот к Первому мая для похода в горы сделал себе девайс(часы-термометр). Собственно состоит он из Atmega16A(тактовый внутренний на 1 Мг, питание 5В), датчика ds18b20, часового кварца, кнопок и дисплея (2 строки по 8 символов) Питание от кроны через ЕН5А. На дисплей выводится температура с точностью до тысячных и время с точностью до секунд. Опрос датчика каждые 21 секунду. Программа следующей структупы: сначала выделение памяти, настройка исспользуемых портов, инициализация дисплея и настройка прерывания для Т2 в ассинхронном режиме(я думаю стандартно). Потом идёт основной цикл, где ничего не происходит, а просто съедаются такты до появления прерывания от таймера(в нём то и опрашиваются кнопки, датчик, считается время и выводится результат на экран) а потом опять в основной цикл. По дисплею: подсветку не подключал, обновляю раз в секунду питание 5В. Про датчик написал. Вопрос вот в чём: как снизить энергопотребление?!? Мой поход был расчитан на 3 суток, а девайс перестал показывать на исходе вторых(подогрев возле костра, под звуки гитары его временно реанимировал :))) , притом время не сбивалось). У меня есть мысли: нужно что-то делать с питанием и исспользовать энергосберегающий режим. Может что-то ещё! Но это только мысли. Подскажите какой режим выбрать, и как оптимально запитать(схему пожалуйста по возможности)! И может ещё что нибудь можно сделать? Может дисплей какой- нибудь другой? Хотелось бы, что б девайс как и сейчас помещался в мыльницу. И ещё вопрос: иногда показывает температуру +28, а на улице намного ниже, но при следующем измерении всё нормально(глюк однако)- эт у датчиков бывает такое?(в протеусе не было).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Вт май 03, 2011 03:03:41 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
Stalker-U писал(а):
... Потом идёт основной цикл, где ничего не происходит, а просто съедаются такты до появления прерывания от таймера
совершенно верно здесь МК нужно усыплять.

Stalker-U писал(а):
...Мой поход был расчитан на 3 суток, а девайс перестал показывать на исходе вторых(подогрев возле костра, под звуки гитары его временно реанимировал :))) , притом время не сбивалось).
да скорее всего именно показывать т.е. для МК питания хватало, а вот контрастность на LCD исчезла и индикатор продолжал показывать, только Вы ничего не видели.

Stalker-U писал(а):
...подогрев возле костра, под звуки гитары его временно реанимировал
все кварцы любят одну температуру так, что врать часы будут нехило.

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Вт май 03, 2011 06:37:49 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7014
Откуда: Ижевск
Рейтинг сообщения: 0
Stalker-U писал(а):
Питание от кроны через ЕН5А.

Половина емкости батареи - на ветер.
А проц надо усыплять. Если есть возможность, то и ЖКИ тушить, а зажигать "по требованию".

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Вт май 03, 2011 09:32:22 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
1. Применить понижающий ШИМ преобразователь с большим КПД.
2. Использовать расширенные режимы сна, всякие power-down и standby.
3. Отключать всю лишнюю периферию в т.ч. ЖКИ и термодатчик.
4. Отображать время и температуру по запросу. Т.е. например нажали кнопку, МК проснулся, подал питание на ЖКИ, инициализировал его, подал питание на термодатчик, опросило его, вывел показания. Подождал несколько секунд и снова в сон.

На месяц точно должно хватить.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Вт май 03, 2011 10:09:21 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 889
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6269
Откуда: Minsk
Рейтинг сообщения: 0
Stalker-U писал(а):
На дисплей выводится температура с точностью до тысячных


Уже смешно. Представляю очередь из метрологических центром за эим шедевром для использования его если не для государственного, то уж для рабочего эталона температуры.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Вт май 03, 2011 10:39:16 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7014
Откуда: Ижевск
Рейтинг сообщения: 0
На вкус и цвет, уважаемый,...

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Вт май 03, 2011 13:20:45 
Мучитель микросхем

Зарегистрирован: Сб апр 10, 2010 16:46:26
Сообщений: 436
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Питать можно и от более емкого источника (например, батареек АА) через step-up converter.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Ср май 04, 2011 23:47:26 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
Вот дошли руки до энергосберегающего режима. Открыл даташит на Русском(т.к. буржуазный не знаю) и прочитал: за энергосбережение отвечает регистр MCUCR. Чтоб разрешить режим энергосбережения нужно выставить 6 бит(SE). Далее выставляю биты 5 и 4(вроде SM1 и SM0)-экономичный "Power-save" т.е.:
Код:
ldi r16,0b00111000
out MCUCR,r16

В главном цикле пишу Sleep и контроллер вообще не просыпается! подскажите, где ошибка? Вроде должен проснуться по прерыванию T2(переполнение). Таймер работает на часовом кварце. И ещё вопрос, как сконфигурировать порты перед засыпанием(мнение рунета при поиске разошлось)?


Последний раз редактировалось Stalker-U Чт май 05, 2011 00:20:15, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 00:19:01 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
Stalker-U
Цитата:
В главном цикле пишу Sleep и контроллер вообще не просыпается! подскажите, где ошибка?
а что ты хочешь увидеть? возможно контроллер просыпается, отрабатывает по кругу один цикл, и снова засыпает на секунду. Вот ты и не видишь ничего (хотя часы и тикают).
Цитата:
Питание от кроны через ЕН5А.
кренка потребляет 8ма - я думаю она основной потребитель энергии.
Цитата:
Опрос датчика каждые 21 секунду.
нафига так часто? для экономии можно измерять раз в 5-10мин. или вообще измерять по нажатию кнопки.
Цитата:
(подогрев возле костра, под звуки гитары его временно реанимировал :))) , притом время не сбивалось).
Danko правильно сказал, скорее всего напряжение село и индикатор погас, а контроллер продолжал работать. я как то пробовал до какого напряжения мега16А сохраняет работоспособность. при 1,4 вольта - контроллеры(пробовал несколько) уверенно стартовали и работали при такте в 8мгц. У вас 1мгц, так что контроллер мог работать и при ещё меньшем напряжении.

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 00:30:02 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
Если бы проснулся и обработал прерывание, то обновился бы экран, а он замер. Пробовал в протеусе, но думаю в железе то же самое.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 00:39:46 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
а у тебя обновление экрана внутри Т2??

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 00:43:34 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
Да. Там просчитывается время и каждую секунду обновляется экран. Вернее там стои rcall на обновление.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 00:50:12 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
Вот так попробуй
Код:
MCUCR=0b01110000;    //    режим пониженного энергопотребления - Power Sawe

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 00:54:58 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
Попробовал. Не работает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 01:12:49 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
хм. это строчка из моего рабочего устройства на мега16. Всё прекрасно засыпает в Power Sawe по команде Sleep, и просыпается по переполнению Т2 :dont_know:

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 01:22:35 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
У меня не хочет. Стал эксперементировать с режимами. если вписать MCUCR=0b11100000; (рехим ожидания), то всё работает. Но в этом режиме работает внутренний генератор-может в этом какая фишка?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 01:30:41 
Мудрый кот
Аватар пользователя

Карма: 25
Рейтинг сообщений: 79
Зарегистрирован: Вт окт 05, 2010 01:08:57
Сообщений: 1800
Рейтинг сообщения: 0
Стесняюсь спросить, а у тебя точно Т2 работает в асинхронном режите и тактируется от отдельного часового кварца? :)
и еще. какой у тебя ЖКИ? со своим контроллером?

_________________
KIT


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 01:37:53 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
Я уже собирал свои часы и они шли правильно, от часового кварца. Вот настройка таймера:
Код:
;                //настройка таймера Т2 для работы с часовым кварцем для Т2(32768Hz)
ldi r16, 0b01000000
out timsk, r16; разрешаем прерывание по переполнению T2 (делим на 256)
ldi r16, 0b00001000
out ASSR,r16; асинхронный режим у Т2
ldi r16, 0b00000100
out tccr2, r16; делитель для T2 на 1/64 (т.к. 32768Hz/64/256=2сек)

Я исспользовал 2сек т.к. я в прерывании опрашиваю ещё и кнопки(чтоб быстрее переключались), а время пересчитываю раз в 2 прерывания, ну и обновляю тож раз в 2 прерывания. Но он не просыпается.
ЖК на HD44780. пробовал поставить в начале прерывания включение диода, но он не включается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 09:14:32 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн окт 11, 2010 20:59:18
Сообщений: 55
Откуда: Краснодар
Рейтинг сообщения: 0
Вот пример обрезанного кода. Здесь только необходимое для отладки, но не работает. Должен был загорется светодиод на порте С:
Код:
.include "D:\avr\avrasm\appnotes\m16def.inc"

.cseg
.org $0000
rjmp reset; переход на сброс

.org $0008
rjmp sow_t2; переход на переполнение T2


reset:
;                  //настройка стека
ldi r16,low(RamEnd); инициализация стека
out SPL,r16
ldi r17,high(RamEnd)
out SPH,r17

;                //настройка таймера Т2 для работы с часовым кварцем для Т2(32768Hz)
ldi r16, 0b01000000
out timsk, r16; разрешаем прерывание по переполнению T2 (делим на 256)
ldi r16, 0b00001000
out ASSR,r16; асинхронный режим у Т2
ldi r16, 0b00000100
out tccr2, r16; делитель для T2 на 1/64 (т.к. 32768Hz/64/256=2сек)

;                  //начало основного цикла
nash:
sei
ldi r16,0b01110000
out MCUCR,r16
sleep
rjmp nash;          //конец основного цикла

;                         //прерывание Т2
sow_t2:
ldi r16,0b11111111
out ddrc,r16
out portc,r16
reti;                   //конец прерывания таймера

Пробовал в протеусе. И явно не звёзды виноваты.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Повышение энергоэффективности часов-термометра
СообщениеДобавлено: Чт май 05, 2011 09:52:36 
Друг Кота
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1030
Зарегистрирован: Сб апр 02, 2011 12:40:46
Сообщений: 4779
Откуда: Минск
Рейтинг сообщения: 0
Крона и ЕН5А делают бессмысленными разные sleep-ы. Если требуется длительная работа от батарей - то никаких стабилизаторов. Только прямое питание, например, от трех батареек размера AAA.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 34 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y