Проверка часиков DS3231

br0lviv
Offline
Зарегистрирован: 11.06.2018

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

Кусок кода чтобы было понятно о чем речь. Спасибо всем кто откликнется или подскажет что-то лучшее))

time.gettime();
byte minuta = time.minutes;

if (millis() - timing > 120000){
If ( minuta != time.minutes ) {
// продолжаем код.
}
else {
//останавливаем все если данные одинаковые.
}
}

 

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Чисто теоретически - мысль неплохая. Однако в данном случае у меня возникает некоторое непонимание: если МК постоянно работает от какого источника напряжения, то почему часы не от него не запитаны и требуется ход на батарее контролировать?

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

Как часто у вас из за разряда останавливаются часы, а ds3231 продолжает отвечать прежним временем?

PRC
Offline
Зарегистрирован: 03.02.2019

Вообще у м/с есть регистры управления и статуса, в которых есть флаги показывающие работает сейчас генератор или нет. Да и проверять есть смысл только при включении самого устройства. Потом часы все равно будут работать от основного питания.

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

Контроллер (mcu) работает от одного питания, а ds3231 от другого, так? Проверяем живой генератор или нет.
Вот я и хотел узнать, как часто происходит что ds3231, работающий от 2,3V до 5,5V продолжает отвечать, а генератор (тот что 32кГц) у него уже не работает, хотя генераторы и от меньшего напряжения работают.
т.е. считали регистр, а там - "генератор не работает", причина по которой не работает скорее всего бракованный кварц.
 

br0lviv
Offline
Зарегистрирован: 11.06.2018
Спасибо что зашли в эту тему)
Часы работают от основного источника питания, но в данной местности часто отключают свет. Для проекта это не вредит да и часы, сейчас, после таких постоянных отключений показывают время правильно. Думаю на будущее не изменится ли ситуация в худшую сторону. В течение двух недель все идет по плану. Возможно кто-то сталкивался с тем, что часы просто выходят из строя, как это можно предсказать?
sadman41
Онлайн
Зарегистрирован: 19.10.2016

DS3231 выходят из строя? Прямо вот так, прогорает дыра в чипе? Приведите анамнез...

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

У меня два ds3231 работают от внешнего питания и установлены резервные cr2032, самые дешевые что были в сетевом гипермаркете.
Сначала опрашивал из постоянно, время и температуру запрашивал без перерыва, часы начали заметно отставать.
Сейчас опрашиваю раз в минуту, с сентября прошлого года не подводил время, ушли немного вперед, но не более минуты.

br0lviv
Offline
Зарегистрирован: 11.06.2018

Алексей. пишет:

Сейчас опрашиваю раз в минуту, с сентября прошлого года не подводил время, ушли немного вперед, но не более минуты.

Библиотека которую я использую позволяет обращаться к часам раз в какой-то период. Вы тоже так делаете или пользуетесь другим примером?

//  Функция period(минуты):
//      устанавливает минимальный период обращения к модулю в минутах (от 0 до 255)
//      функция может быть полезна, если шина сильно нагружена, на ней имеются несколько устройств
//      пример: time.period(10); // теперь каждые 10 минут к модулю может быть отправлен только 1 запрос на получение времени
br0lviv
Offline
Зарегистрирован: 11.06.2018

sadman41, Не важно как, происходят разные вещи. Как говорится .. ну вы сами в курсе.

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

br0lviv пишет:
Библиотека которую я использую позволяет обращаться к часам раз в какой-то период. Вы тоже так делаете или пользуетесь другим примером?
ds3231 подключена к про-мини, какая то библиотека, сейчас и не вспомню давно это было, работает как то сама собой.
По rx/tx подключил к ней esp8266, из инетов температуру уличную добываю и ардуине отдаю.
Хотел прошить оптибутом, уны и наны уж об оптибутил, остались про-мини, и с esp обновления прошивки для подключенной про-мини доделать нужно.