19:49
Режим энергосбережения
Вот такая хреновина у меня работает уже месяц






Схема состоит из светодиода, резистора (220 Ом) и микроконтроллера Attiny2313. В камень зашит вот такой код 

$regfile = Attiny2313.dat
$crystal = 1000000
'$sim

'конфигурируем таймер для генерации прерываний
'прерывания от таймера будут происходить примерно раз в 4 секунды

Config Timer1 = Timer , Prescale = 64
On Timer1 Awake:
Config Portd.= Output
Led Alias Portd.6

Enable Interrupts
Enable Timer1
Start Timer1

Do
 Led = 1
 Waitms 100
 Led = 0
 Idle                                 'погружаем в сон
Loop

Awake:                                 'случилось прерывание по таймеру
Return

End


 Этот код запускает таймер с переполнением каждые 4 секунды, а в главном цикле на 0,1 сек зажигается светодиод. После этого микроконтроллер погружается в сон командой Idle. По прошествии 4 секунд таймер переполняется и вызывает прерывание, которое пробуждает камень и перекидывает выполнение программы в начало главного цикла. Как итог, светодиод периодично мигает, а во время простоя работает режим энергосбережения.

 Теперь самое интересное и ради чего все затевалось - как сильно разрядилась батарейка? Для питания я использовал старый аккумулятор от сотового емкостью 1530мА/ч. Но это то, что написано на нем, за 7 лет емкость там куда меньше.
 Напряжение на нем в начале эксперимента составляло 3,97 вольта. Промигав дни и ночи без остановок, адское устройство разрядило аккумулятор аж на 0,3 вольта!!! за 27 дней. По прикидкам на 0,01 вольта в сутки. Неплохо так, ящитаю.
 



12 Valera18   (23.09.2013 19:48)
Да, разобрался. Спасибо.
При программировании в USBASP нужно выставить так:
http://s1.ipicture.ru/uploads/20130923/Gb20C91R.jpg

Вот фьюзы для 128кГц:
http://s1.ipicture.ru/uploads/20130923/DKJ5xorS.jpg

+1   Спам
11 exersizze   (23.09.2013 19:21)
а делитель на 8 выключен?

10 Valera18   (23.09.2013 17:52)
Может кто сталкивался с таким: не могу у Attiny2313A выставить внутренний RC на 128 КГц, после выставления микросхема отказывается работать, поэтому приходится восстанавливать заводские фьюзы с помощью доктора.
Кто пробовал выставлять внутренний RC на 128 КГц?

+1   Спам
9 exersizze   (19.05.2013 20:32)
навряд ли, фьюзы выставляются на минимальную частоту внешнего кварца 0,4 МГц
хотя у тини можно выбрать внутренний  RC на 128 КГц.

8 Valera18   (19.05.2013 17:48)
Подскажите, Attiny2313A сможет работать от внешнего кварца (в 32.768 кГц - часовой кварц) как основной кварц? Энергопотребление должно быть меньше.
Фьюзы выставляются также как и на 16 МГц, или как-то по другому для 32.768 кГц?

7 Valera18   (15.03.2013 18:07)
Попробовал "режим Idle", так-же со светодиодом.

Заметил:
при Prescale = 1024 = 1 минуте.
при Prescale = 1024 и во фьюзах выставил "делитель частоты" = 2 минутам.

Хорошая команда "Idle" для термометров.

+1   Спам
6 max   (24.02.2013 00:14)
По большому счету от передатчика больше и не требуется: проснулись, измерили, отправили, уснули.

5 kip96   (23.02.2013 23:53)
Ну да, только я вот сейчас запустил несколько передатчиков наодин приёмник, а тут просто передавать пока ни как! Надо ждать запроса на передачу с "приёмника". Хотя , как вариант, тупо, раз в минуту(или пять) передавать температуру, только так.

+1   Спам
4 max   (22.02.2013 22:10)
Valera18 имел ввиду передатчики.

3 kip96   (22.02.2013 22:00)
Вся сложность в том, что NRF24L01 должен быть на приёме, что-бы разбудитьконтролер. А он (24L01) жрёт не хило.

2 max   (22.02.2013 15:30)
Прикольно!

1 Valera18   (22.02.2013 13:46)
Такой-же эксперимент нужно провести с передатчиком температуры с использованием режима энергосбережения (Idle):
"Atmega8 + NRF24L01 + DS18B20" и "Attiny2313 + NRF24L01 + DS18B20"
- эти знания могут пригодится.
Ещё вместо "DS18B20" можно использовать "терморезистор TC1047AVNBTR"

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Направлятор
18.08.2017 - алексей1984:
очень жаль, что же остается забросить данный проект?((( в программировании полны...
Направлятор
17.08.2017 - rom-i:
Ни чего с лишними строками сделать не получится. Это такие модули продают на Али...
Передача измеренной температуры по радиоканалу. Связка NRF24L01+ и DS18B20
16.08.2017 - sand:
Собрал обе схемы. На передатчике светодиоды ведут себя как на видео. На приемник...
Детектор утечки бытового газа на датчике MQ-4
28.07.2017 - ak74xxx:
Да и исходник почему то не открывается
Детектор утечки бытового газа на датчике MQ-4
28.07.2017 - ak74xxx:
Всем привет,может есть у кого печатка в Sprint Layout?
Термометр на Tiny2313 и ds18b20. Вывод температуры на семисегментный индикатор
25.07.2017 - Aisek:
Не туда написал коммент.
Опрос большого количества датчиков DS18B20 в Bascom-AVR
25.07.2017 - Aisek:
Сделал в протеусе симуляцию кажет отрицательную температуру. Откуда? Если в коде...
Термометр на Tiny2313 и ds18b20. Вывод температуры на семисегментный индикатор
25.07.2017 - Aisek:
Сдела в протеусе симуляцию кажет отрицательную температуру. Откуда? Если в коде ...
Направлятор
21.07.2017 - алексей1984:
у меня тоже модуль шлет 10 строк, лишние никак не могу отключить, не подскажите ...