RTC + AMS
Модератор: Alex
RTC + AMS
Помогите пожалуйста разобраться с модулем DS3231.
Железо: mega 2560 + ethernet shield w5500 + DS3231.
Модуль подключен D20 (SDA) и D21 (SCL).
Проверяю подключение, для этого использую скетч DS1307RTC Read Test.
Ответ:
DS1307RTC Read Test
-------------------
Ok, Time = 15:49:28, Date (D/M/Y) = 19/9/2016
Ok, Time = 15:49:29, Date (D/M/Y) = 19/9/2016
.....
Делаю вывод что модуль DS3231 подключен правильно.
Загружаем ams_016.
........
Modul RTC...
Waiting for NTP sync...
Transmit NTP request (192.168.59.101:123)
No NTP response
1970-01-01 00:00:05 started
1970-01-01 00:00:05 Modul Server... started
.....
Почему контролер не синхронизируется с модулем DS3231 ?
Если сменю адрес NTP, то синхронизация через Интернет заработает.
Спасибо.
Железо: mega 2560 + ethernet shield w5500 + DS3231.
Модуль подключен D20 (SDA) и D21 (SCL).
Проверяю подключение, для этого использую скетч DS1307RTC Read Test.
Ответ:
DS1307RTC Read Test
-------------------
Ok, Time = 15:49:28, Date (D/M/Y) = 19/9/2016
Ok, Time = 15:49:29, Date (D/M/Y) = 19/9/2016
.....
Делаю вывод что модуль DS3231 подключен правильно.
Загружаем ams_016.
........
Modul RTC...
Waiting for NTP sync...
Transmit NTP request (192.168.59.101:123)
No NTP response
1970-01-01 00:00:05 started
1970-01-01 00:00:05 Modul Server... started
.....
Почему контролер не синхронизируется с модулем DS3231 ?
Если сменю адрес NTP, то синхронизация через Интернет заработает.
Спасибо.
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: RTC + AMS
Вам в скетче нужно выставить
и установить время в RTC из Arduino Serial Commander.
Подробнее тут:
https://geektimes.ru/post/264110/
Код: Выделить всё
byte timeProvider = TIME_RTC;
Подробнее тут:
https://geektimes.ru/post/264110/
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: RTC + AMS
У 3231 точность хода несколько секунд в год. Если очень надо синхронизироваться ещё и по сети, то можно переделать код.
-
- Сообщения: 136
- Зарегистрирован: Вс сен 02, 2018 8:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: RTC + AMS
Я скомпилировал новый пакет AMS без правок.
Насколько я понял в главном файле arduino_mega_server.ino установлен основной источник синхронизации времени - NTP сервер
А в файле time.ino вот тут указывается, что если свойство NTP_FEATURE определёно, то получаем время с NTP сервера, а если он недоступен, то с модуля RTC.
По сети страница открывается. Но время на ней 00:10 1 января, Четверг
В мониторе порта вижу следующее
Почему там RTC sync? У меня же timeProvider == TIME_NETWORK и NTP_FEATURE == defined
И почему время не определяет правильное?
Насколько я понял в главном файле arduino_mega_server.ino установлен основной источник синхронизации времени - NTP сервер
Код: Выделить всё
#define NTP_FEATURE
#define TIME_NONE 0
#define TIME_NETWORK 1
#define TIME_RTC 2
byte timeProvider = TIME_NETWORK;
Код: Выделить всё
void timeInit() {
initStart("Time");
if (timeProvider == TIME_NETWORK) {
#ifdef NTP_FEATURE
Serial.println(F(" NTP sync..."));
setSyncProvider(getNtpTime);
#endif
}
else if (timeProvider == TIME_RTC) {
Serial.println(F(" RTC sync..."));
setSyncProvider(RTC.get);
}
else {
Serial.print(F(" Time service stopped"));
}
initDone();
}
По сети страница открывается. Но время на ней 00:10 1 января, Четверг
В мониторе порта вижу следующее
Код: Выделить всё
Arduino Mega Server (0.17) started...
Module Hardware...
Controller: Arduino Mega
Total memory: 8192
Free memory: 4634 (57%)
Network adapter: Ethernet Shield
============
Module EEPROM...
Name: Arduino Mega Se
Address: 161
============
Module Ethernet...
MAC: 0 2A F5 12 67 37
IP: 192.168.1.37
============
Module SD...
SD init... OK
index.htm... found
Check..............
Files: 145
Size: 2002872
============
Module SD Info...
SD type: SD2
Filesystem: FAT16
Cluster: -32768
SD size: 1997 MB
============
Module Time...
RTC sync...
============
1970-01-01 00:00:03 Module Server... started
1970-01-01 00:00:03 Module Temperature...
1970-01-01 00:00:03 Parasite power OFF
1970-01-01 00:00:03 Found 0 devices
1970-01-01 00:00:03 #0: 0 0 0 0 0 0 0 temp1
1970-01-01 00:00:03 #1: 0 0 0 0 0 0 0 temp2
1970-01-01 00:00:03 #2: 0 0 0 0 0 0 0 temp2
1970-01-01 00:00:03 ============
1970-01-01 00:00:03 Module Contacts... started
1970-01-01 00:00:03 Module PIR... started
1970-01-01 00:00:03 Module Abstract... started
1970-01-01 00:00:03 GLOBAL Init DONE (3s)
1970-01-01 00:00:03 AMS WORK 4600 (56%)
1970-01-01 00:00:03 cont1: Open
1970-01-01 00:00:03 cont2: Norm
И почему время не определяет правильное?
-
- Сообщения: 182
- Зарегистрирован: Чт ноя 24, 2016 10:47 am
- Благодарил (а): 5 раз
- Поблагодарили: 25 раз
Re: RTC + AMS
Модуль RTC не определяет время, он отдаёт по запросу текущее. А Вы вообще время на модуле выставляли(синхронизировали) и жива ли в модуле батарейка?И почему время не определяет правильное?
-
- Сообщения: 136
- Зарегистрирован: Вс сен 02, 2018 8:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: RTC + AMS
Батарейку проверил тестером. Показывает 3,2В.
А как выставлять время на модуле RTC я не знаю.
Ну и я пробовал модуль RTC отключать. Один фиг показывает 1970 год.
А как выставлять время на модуле RTC я не знаю.
Ну и я пробовал модуль RTC отключать. Один фиг показывает 1970 год.
-
- Сообщения: 182
- Зарегистрирован: Чт ноя 24, 2016 10:47 am
- Благодарил (а): 5 раз
- Поблагодарили: 25 раз
Re: RTC + AMS
А теперь дичь.
Смотрим код в arduino_mega_server.ino
Код: Выделить всё
void setup() {
------
#ifdef NTP_FEATURE
ntpInit();
#endif
timeInit();
------
} // setup()
Код: Выделить всё
============
Module Time...
RTC sync...
============
-
- Сообщения: 136
- Зарегистрирован: Вс сен 02, 2018 8:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: RTC + AMS
у меня в коде arduino_mega_server.ino всё точно так же
NTP_FEATURE вверху файла объявлено, но стартует timeInit()
я в коде вообще ничего не менял кроме IP адреса ардуины
Код: Выделить всё
#define NTP_FEATURE
void setup() {
#ifdef NTP_FEATURE
ntpInit();
#endif
timeInit();
я в коде вообще ничего не менял кроме IP адреса ардуины