Спящие режимы

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
Garrison
Рядовой
Сообщения: 19
Зарегистрирован: 09.12.2015{, 21:54}
Репутация: 0
Откуда: Ярославль
Имя: Garrison

Спящие режимы

#1

Сообщение Garrison » 03.10.2016{, 14:37}

Не для кого наверное не секрет что ардуинки умеют "спать". Причем режимов сна у них аж  несколько разных. Пока что приходится  кусок кода, чтобы девайс в сон загнать ручками в программу вписывать, а это очень неудобно, если учесть  какую аброкадабру представляет из себя скомпилированный проект созданный в FLProg. Может добавите блоки сна  в программу? Здорово бы было если бы были блоки всех типов режимов сна в проекте.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#2

Сообщение Слимпер » 03.10.2016{, 15:03}

Garrison, а как ее потом будете?
И можно кусок кода или ссылку откуда брали.

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Спящие режимы

#3

Сообщение Олег » 03.10.2016{, 15:49}

Вот тут есть.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#4

Сообщение Слимпер » 03.10.2016{, 16:30}

Поискал сам вот еще Снотворное для Arduino и AVR - Power management или как правильно спать и спящий режим

Ну сделать блок для усыпления не сложно, а вот по выводу из сна надо думать.

Garrison
Рядовой
Сообщения: 19
Зарегистрирован: 09.12.2015{, 21:54}
Репутация: 0
Откуда: Ярославль
Имя: Garrison

Спящие режимы

#5

Сообщение Garrison » 03.10.2016{, 19:11}

Слимпер писал(а):а вот по выводу из сна надо думать.
Добавлено (03.10.2016, 19:11)
---------------------------------------------
Ну как оно из сна выводится в инете примеров полно, как говорится "все уже придумано до нас"
Последний раз редактировалось Garrison 03.10.2016{, 19:18}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#6

Сообщение Слимпер » 03.10.2016{, 19:30}

Garrison, Так надо в один блок это делать иначе будет большие проблемы.
Т.е. Перед тем как усыпить ардуину надо, обязательно настроить как она проснется.

А вообще для чего ее усыплять? Для экономии энергии батареи?
Тогда перед отключением самого камня, надо выключить все выхода.

Garrison
Рядовой
Сообщения: 19
Зарегистрирован: 09.12.2015{, 21:54}
Репутация: 0
Откуда: Ярославль
Имя: Garrison

Спящие режимы

#7

Сообщение Garrison » 03.10.2016{, 23:28}

Зачем? Ну вот например я сделал доп. систему безопасности в авто и 99.9% времени Андуина там сидит и ждёт когда на один из входов аларм придёт. Чего ей аккумулятор то кушать зря? Соответственно я ввёл её в режим когда цп не работает а просыпается она по приходу ноля на вход. Да и мало ли какие ещё потребности могут быть? Полезная функция!

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#8

Сообщение Слимпер » 04.10.2016{, 04:08}

Garrison, А приведите тот код, что бы вручную вставляете?

Garrison
Рядовой
Сообщения: 19
Зарегистрирован: 09.12.2015{, 21:54}
Репутация: 0
Откуда: Ярославль
Имя: Garrison

Спящие режимы

#9

Сообщение Garrison » 04.10.2016{, 09:31}

Слимпер писал(а):Garrison, А приведите тот код, что бы вручную вставляете?
Так с ходу уже и не ответишь, поделка давно уже в недра машины закопана, а скетч кончился  вместе с безвременной кончиной SSD.
Вообще если кратко я пользовался командами и примерами отсюда:  тута
Использовал для этого библиотеку VEduino (интересная штука умеет не только сон но и периферию отключать)

DEV_SLEEP.setMode(SleepControl::PWR_DOWN);         // Выбор режима сна
DEV_SLEEP.enableSleep(); // Разрешить переход в спящий режим
sleep();             // Переход в режим сна (тут естественно сложнее было, переход по условию постановки на охрану автомобиля происходил)

В этом  режиме работают прерывания INTO  и ардуинка просыпалась по изменению на пине №2.   Более конкретно уже не вспомню.
Последний раз редактировалось Garrison 04.10.2016{, 09:32}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#10

Сообщение Слимпер » 05.10.2016{, 09:12}

Garrison писал(а):Вообще если кратко я пользовался командами и примерами отсюда:  тута
Интересный сайтик, 
Правда и обсуждаемой там библиотеки нет нормального описания, а так потыкался по файлам, возможности просто огромны.
Да и сделана она в основном не для ардуины, потому как многое уже есть во встроенных в Arduino  библиотеках.

Ну вот сейчас подумал сделать блок для отправки ардуины в сон, по сигналу на входе, не проблема.

Сделать отдельный блок для пробуждения по внешним прерываниям INT0 и INT1 тоже не проблема.
В режиме сна IDLE он будет просыпаться и по сигналу с портов USART SPI I2C.
А вот всякие там пробуждения по таймеру или аналоговым входам, это уже универсальное что то сделать очень сложно.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#11

Сообщение Слимпер » 12.10.2016{, 16:39}

Попробовал сделать блок для перевода контроллера в режим сна.

Получилось два блока один для перевода в режим сна.
Другой для пробуждения по входам с прерываниями.

Для проверки, сделал тестовый проект. Вроде работает. Но в режиме IDLE не хочет засыпать, похоже дело в том что на UNO к UART подключен второй контроллер.

Прилагаю блоки и тестовый проект, если кто будет пробовать  отпишитесь, это только проба. 

На сообщение о том что не найдена библиотека внимание не обращать, FLProg не понимает:
#include <avr/sleep.h>, а так это внутренняя библиотека Arduino IDE
Вложения
1522987.flp
(77.28 КБ) 83 скачивания

da
Рядовой
Сообщения: 2
Зарегистрирован: 11.09.2015{, 14:01}
Репутация: 0

Спящие режимы

#12

Сообщение da » 20.10.2016{, 23:28}

Спасибо, обязательно попробую. Это, очень нужная функция во многих случаях.

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

Спящие режимы

#13

Сообщение zikkgaz24 » 30.10.2016{, 20:09}

Привет слимпер попробовал блоки сна и чет не работают перебрал все варианты и еще обычный генератор тупит с этими блоками вопрос что не так сделал

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#14

Сообщение Слимпер » 31.10.2016{, 16:27}

zikkgaz24 писал(а):Привет слимпер попробовал блоки сна и чет не работают перебрал все варианты и еще обычный генератор тупит с этими блоками вопрос что не так сделал
У меня работало, а что так или не так, сказать не могу. Как пишуть на другом форумах  телепатов здесь нет А если без шуток, проложи проект.

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

Спящие режимы

#15

Сообщение zikkgaz24 » 31.10.2016{, 19:49}

вот проект
13 нога с диодом использована как индикация и в итоге даже диод моргает 3 раза и потом горит постоянно а в сон не идет вот проблема что не так погляди
Вложения
99991.flp
(64.39 КБ) 72 скачивания

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#16

Сообщение Слимпер » 01.11.2016{, 16:20}

zikkgaz24 писал(а):13 нога с диодом использована как индикация и в итоге даже диод моргает 3 раза и потом горит постоянно а в сон не идет вот проблема что не так погляди
Ну у самого сначала не заработало, но после небольшой доработки стало работать. 
СпойлерПоказать
Похоже какие то эффекты в процессе пробуждения, я эти тонкости не знаю  почти.
Вложения
1580961.png

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

Спящие режимы

#17

Сообщение zikkgaz24 » 02.11.2016{, 16:58}

понял дома проверю

vist1973
Рядовой
Сообщения: 32
Зарегистрирован: 02.11.2016{, 01:36}
Репутация: 2

Спящие режимы

#18

Сообщение vist1973 » 02.11.2016{, 23:43}

Проверил в FBD работает нормально.А для LAD использовать не смог так как не знаю чем заменить RTrig,а режим сна очень нужен .

Аватара пользователя
Oleg
Сержант
Сообщения: 200
Зарегистрирован: 17.09.2015{, 13:04}
Репутация: 1
Откуда: Беларусь
Имя: Олег

Спящие режимы

#19

Сообщение Oleg » 02.12.2016{, 15:27}

Проверил оно как бы работает,но ток потребления который я мог добиться выбором всех имеющихся  режимов сна составляет 9,8мА.Это много. По даташиту должно быть в мкА. Выпаял даже светодиод "On"на Arduino/

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Спящие режимы

#20

Сообщение Слимпер » 02.12.2016{, 17:48}

Oleg писал(а):Проверил оно как бы работает,но ток потребления который я мог добиться выбором всех имеющихся  режимов сна составляет 9,8мА.Это много. По даташиту должно быть в мкА. Выпаял даже светодиод "On"на Arduino/
А что у вас за плата?
Я сам пробовал и тоже убедился, что реально снижается потребление только на голом камне.
Например тестил Attiny85, без внешнего кварца, в рабочем состояние 15мА, в режиме сна 0,4мА.

А на платах ардуино, много всего лишнего, второй мк (конвертер TTL US , светодиоды, стабилизаторы питания (5В 3.3В).

Ответить

Вернуться в «Новые»