Часы с кукушкой
- Войдите на сайт для отправки комментариев
Пришла мысль сделать вроде бы простой проект: устройство, который каждый час дергает сервопривод. При этом сами часы как таковые не нужны. Но есть ряд условий - максимальная автономность (в идеале 1 год), работа на улице при любой погоде, возможность корректировки времени.
1. Какой модуль реального времени использовать. DS3231 для большей точности?
2. Как часто МК к модулю реального времени обращаться? По идее он нужен один раз после загрузки МК.
3. Какой МК использовать. Нано, или вообще Attiny13 для большей автономности?
4. Какие батарейки лучше взять, опять же для большей автономности.
5. Дисплей вроде не нужен, и в уличных условиях лучше без него, но как тогда удобно организовать механизм корректировки времени?
6. Как все это лучше оформить, чтобы и в дождь и в мороз работало?
У вас серва тоже будет год на батарейках работать?
Сомнительно, конечно. Планируется Около 10 сработок в сутки. Но хотелось бы выжать максимальное из возможного. Хотя вот Guver в своем проекте довольно оптимистичен.
https://alexgyver.ru/trashcan/#iLightbox[9085616bc6d96f7d03a]/0
Говорят, оптимизм продлевает жизнь... И даже батареек.)
возможность корректировки времени.
Как часто и насколько это должно быть технологично?
DS3231 для большей точности?
А какая нужна точность?
Потому, что при ответах на оба вопроса: "в пределах разумного" получаем конструкцию в которой МК не нужен вовсе - достаточно RTC и исполнительного механизма
Как часто и насколько это должно быть технологично?
Соответственно, при замене батареек в RTC и в случае расхождения с реальным временем больше минуты. Нечасто. Но достаточно удобно для рядового обывателя.
А какая нужна точность?
Точность такая, чтобы корректировку делать как можно реже.
Без МК наверно не получится, т.к. на работать должно только днем, и срабатывть как часы с боем, в зависимости от значения часа.
Прибор должен работать как можно дольше в разнообразных климатических условиях, обслуживаться как можно реже и стоить как можно дешевле.
Отличное ТЗ для создания любых девайсов. Любой разработчик сразу сможет по нему всё собрать.
Без МК наверно не получится, т.к. на работать должно только днем, и срабатывть как часы с боем, в зависимости от значения часа.
Получится и без МК. Здесь всё упираецца в стоимость и потребление тока.
А какая нужна точность?
Петрович, а ща осталась служба ГКРЧ??? Ты не фкурсе? Ато раньше можно было...... мегаточно.
Как то слабо сочетаются между собой, "автономность год" , серво и различные климатические условия .
Этт как два пальца... Аккумулятор на 190 А/ч от камаза и фсё. Можт и на 3 года хватит... ))))))))))))))))))))
Угу, можно ещё персональную АЭС прикрутить, чтоб наверняка.
Ты кагбудта живёшь в ипинях и от них ещё пешком пару часиков...
Оглянись вокруг - давным давно в отдалённых местах ставят "самолётики" с ветрогенератором и солнечной панелью и питают светофоры и даже освещение уличное.
Сервопривод жрет достаточно электричества даже в неактивном режиме, так что принципиально не годится.
Если делаешь максимально дешево, то микроконтроллер тактуется от часового кварца без всяких модулей часов.
Да, да, да. Аккумуляторы от Камаза, ветро и бензо гетераторчики... А как же зелёные? С ихней минимизацией потребления? Так ведь и всех земных энергоресурсов не хватит! Или только о себе думаем? Эгоисты.
Петрович, а ща осталась служба ГКРЧ???
Таки да. А также имеются эталонные - типа официальные NTP серверы
Сервопривод жрет достаточно электричества даже в неактивном режиме, так что принципиально не годится.
Если делаешь максимально дешево, то микроконтроллер тактуется от часового кварца без всяких модулей часов.
Чем-то можно заменить серву, чтобы дергать за веревочку?
Про дешевизну я ничего не говорил. Это добрые критики за меня додумывают.
Негритенок может дергать за верёвочку.
Тише. Сейчас же БЛМ будет.
Обычный мотор. Или соленоид. Никто кроме тебя не знает, что у тебя там за конструкция.
Петрович, а ща осталась служба ГКРЧ???
Таки да. А также имеются эталонные - типа официальные NTP серверы
Петрович, а какая разница эталонного от не эталонного, для синхронизации протокола NTP вроде сутки требуются? ( я о сервере)
Обычный мотор. Или соленоид. Никто кроме тебя не знает, что у тебя там за конструкция.
Звонить надо в колокольчик средних размеров. По идее, конечно, соленоид. По крайней мере, на всяких колокольнях и корильонах используются именно они. Но на али встречал только клапана на соленоиде. И это уже 12в.
Соленоид самостоятельно накрутить не так уж и сложно.
Соленоид самостоятельно накрутить не так уж и сложно.
можно подвижный контакт реле попробовать задействовать, разобрав реле. Есть соленоиды в принтерах. А вот с автономностью, вернее с источником для автономки, большой вопрос... всепогодные батарейки стоят очень дорого или:
Этт как два пальца... Аккумулятор на 190 А/ч от камаза и фсё. Можт и на 3 года хватит... ))))))))))))))))))))
Неправильно искали.
Да, спасибо. Уже посмотрел. Можно найти и ровно на 5В, и любой мощности. Не знаю, сколько ньютонов мне понадобится, чтобы дубасить в колокольчик ок 0.5 кг.
А как лучше поступить с питанием? LSD Ni-Mh?
Не связывался бы ты с LSD! Там двушечкой не отделаешься - червонец прилетит, охнуть не успеешь.
Петрович, а какая разница эталонного от не эталонного
Знаете, какая разница между вот этими двумя мультиметрами?
Оба - DT-838, тока правый дороже.
Оба - DT-838, тока правый дороже.
в 10 раз.
Вот в том и вопрос к Izvekoff - чем они отличаются?
у такой как справа. желтенький, куплен, если не ошибаюсь, за 255 рублей в Оби на распродаже. Отработал лет семь, сейчас глючит по страшному...
А всё жду от Izvekoff ответа на свой вопрос. А то как сам вопросы задавать, так горазд! :-)
В Оби не МЦ, полагаю.
Подниму свою тему.
Сделал заготовку на Pro mini и ds3231. Каждую минуту мигает светодиодом по будильнику rtc.
В описании rtc сказано, что потребление от Vcc 250мкА. Но у меня получается 4 мА. Вряд ли это только потому, что светодиод пока не выпаян.
Ну и, самое главное, если отключить Vcc, перевести rtc на питание от Vbat, сигнал будильника на SQW не идет. Может данная библиотека этого не позволяет?
Если не изменяет память, то биты INTCN и BBSQW надо установить в 1. Тогда SQW будет дергать и от Vcc, и от Vbat. В datasheet'е гляньте для уточнений.
Спасибо. Жаль, в библиотеке такой функции нет. Видимо так?
Только, правильно ли я понимаю, после каждого срабатывания будильника надо подавать питание на rtc и делать сброс будильника, в данной библиотеке clock.clearAlarm1() ?
Спасибо. Жаль, в библиотеке такой функции нет. Видимо так?
Делал я как-то измеритель влажности почвы, который должен измерять раз в полчаса и работать от двух пальчиковых батареек не менее полугода. До полевых испытаний не дошло, но при замере тока расчеты вроде сходились. Так вот, я отправлял ардуинку спать, и пробуждал ее от прерывания на пине D2 во время срабатывания будильника. Для этого контакт SQW часов DS3231 я соединил с пином D2 ардуино. И заводил два будильника: один срабатывал в 00 минут каждый час, а второй в 30 минут тоже каждый час. Все делал при помощи этой библиотеки (DS3231.h). В блоке setup() делал так:
А при пробуждении в цикле loop() делал так:
После необходимых действий - опять отправлял ардуину в спячку.
У Вас по-сути то же самое, только будильник один. Проснулся раз в час, проверил сколько времени, если день - звякнул в колокольчик и опять уснул.
Вместо библиотеки Гайвера (его здесь не жалуют) наверно лучше использовать стандартные:
И я не совсем понимаю зачем нужна проверка
Ведь во время сна цикл loop() не выполняется.
По факту в цикле loop() Вы в 31 строке выключаете будильник:
Вот здесь выводите минуты, а называете часами:
Для отладки можно целиком вывести дату, заодно и будет видно установлено ли время.
По факту в цикле loop() Вы в 31 строке выключаете будильник:
Вот это действительно не разобрался. Думал что эта команда делает то, что на самом деле делает
clock.isAlarm1(
true
);
Документации к библиотеке нет, примеры кривые.
А у вас ds3231 был запитан от МК или от Vbat?
А у вас ds3231 был запитан от МК или от Vbat?
ds3231 запитан был от своей батарейки, вроде там был диод или резистор для ее подзарядки - я его выкусил напрочь, чтобы не тратить драгоценную энергию батареек.
Такт вроде, если ds3231 соединен с Vcc МК он свою батарею не использует. И потребление у него в этом случае больше.
Так я ж и написал, что нужно разорвать цепь заряда батареи, для экономии. А без подачи питания на Vcc не будет работать I2C
Спасибо. Жаль, в библиотеке такой функции нет. Видимо так?
Не уверен, что по адресу 0х0Е Вам нужны все единицы.
Только, правильно ли я понимаю, после каждого срабатывания будильника надо подавать питание на rtc и делать сброс будильника, в данной библиотеке clock.clearAlarm1() ?
При включении надо сбрасывать флаг сработавшего будильника (бит A1F или A2F). По поводу clock.clearAlarm1() ничего не скажу.
Oк, это понятно. Хотелось сэкономить еще больше. Судя по тому что сказано в описании, кроме подзарядки, в режиме питания от Vcc модуль расходует на два порядка больше: 250 мкА против 3.5 мкА.
Здесь сказано , что
То есть должен работать i2c от батарейки. Однако, у меня действительно не работает.
Если включать подачу Vcс после каждого срабатывания будильника, а потом выключать, то прерывания почему-то начинают происходить раз в секунду. Хотя бит INTCN установлен.
Если включать подачу Vcс после каждого срабатывания будильника, а потом выключать, то прерывания почему-то начинают происходить раз в секунду. Хотя бит INTCN установлен.
Здесь сказано , что
То есть должен работать i2c от батарейки. Однако, у меня действительно не работает.
Земля у ардуино и часов общая при этом?
Схему подключения в студию!
Земля у ардуино и часов общая при этом?
Земля общая. Vcc в воздухе, или, как вариант при включении-отключении, подключен к 6 пину MK, который управляется digitalWrite().
Прочитайте состояние регистров 0х0Е и 0x0F перед выключением.
Читаю. Вроде все норм.
Вывод:
Видно, что будильник срабатывает раз в минуту, но прерывания каждую секунду, хотя биты регистра установлены правильно. Если убрать в 90 строке
digitalWrite ( 6, LOW);
и не отключать Vcc, все работает как надо.Может надо дать время на запись, ну то есть сделать паузу перед отключением питания (вставить задержку в строку 89)