Arduino + DS 3231

Сильно убегает время

На этом форуме Вы можете задать вопросы знатокам программы и автору.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Arduino + DS 3231

#21

Сообщение edyapd » 21.04.2020{, 16:23}

KostiK2009IT,
KostiK2009IT писал(а):
21.04.2020{, 15:21}
доказано эксперементально
Так и я специально для вас на сутки оставлял включенным. Опрос в каждом цикле. Визуально разница в 0.5 сек. Но просто точнее, чем секунда не получается сравнить. При этом разницу в секунду будет показывать даже если на самом деле разница в 0.01 сек.
Я ещё в первом своём сообщение спросил у вас про питание. Поставьте конденсатор, а лучше два, на 0.1 мкФ и на 10 мкФ.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Arduino + DS 3231

#22

Сообщение Labu559 » 21.04.2020{, 16:31}

Ув.edyapd, Спасибо Вам, что принимаете участие в решении проблемы и делаете тесты, Ваша помощь полезна и Ваши наблюдения тоже но с выводами...
edyapd писал(а):
21.04.2020{, 14:12}
не зависит убегание от частоты опроса
Давайте чуть-чуть повременим с выводами. Ведь тесты показывают немного другое, как мои так и ув.KostiK2009IT. А теперь давайте попробуем систематизировать, то что имеем (хотя это преждевременно). По данным тестов DS1307 быстрее идут при опросе, чем без опроса, как у меня так и ТС. Результат совпал в обоих тестах. С DS3231 такой же результат только у KostiK2009IT, у меня и Вас стабильность хода RTC не поменялась. Надеюсь для Вас не будет накладно заглянуть
сюдаПоказать
DS1307_rus.pdf
(312.14 КБ) 46 скачиваний
и сравнить конструктивные различия обоих устройств. Так что может происходить при частом опросе? Не буду томить- частый опрос возможно разогревает МС. Что происходит с конденсатором при нагреве- теряется емкость. Что происходит с колебательным контуром при понижении емкости- повышается частота. У DS1307 нет тепловой коррекции частоты, у DS3231 она есть, нак и набор ёмкостёй для её коррекции. Укладывается это всё в систему- решать Вам самим? Для переубеждения людей нужны неоспоримые факты, а не версии (у нас она одна и пока не менялась), я не убеждаю никого ни в продолжении ни в прекращении тестов. Я ещё поковыряюсь для себя.
По поводу iarduino_RTC.h- Ув. автор использует только некоторые методы этой библиотеки, совместно со своим методом опроса, потому она присутствует в текущем дистрибутиве.Биб-ка Ware используется в обоих версиях- это работа с шиной I2C.
edyapd писал(а):
21.04.2020{, 16:23}
этом разницу в секунду будет показывать даже если на самом деле разница в 0.01 сек.
Подумайте ещё раз, это не так, в лучшем случае при 0,25сек- это периодичность опроса.

Добавлено для KostiK2009IT: Здесь доп. информация по ЧРВ ссылка1, ссылка2.
Библиотека iarduino_RTC.h используется в ФЛПрог исключительно для RTC DS1302.
Последний раз редактировалось Labu559 10.05.2021{, 12:12}, всего редактировалось 2 раза.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Arduino + DS 3231

#23

Сообщение edyapd » 21.04.2020{, 17:41}

Labu559 писал(а):
21.04.2020{, 16:31}
у DS3231 она есть
Я знаю, что DS3231 имеет тепловую коррекцию, поэтому я её и взял. Показания плавали и у меня, вся сборка стояла на подоконнике куда попадали солнечные лучи. Но максимальная разница была в пределах 1.5 секунд, как раз днём. За ночь разница уменьшилась.
Точно так же делаю вывод, что у ТС просто попался глючный модуль часов, у которого нет нормальной температурной коррекции.
Хотя ещё раз повторюсь, что прежде чем выкидывать его, я бы прошёлся феном и промыл.
Почему бы я не стал использовать часы, которые убегают или отстают, да потому, что от изменения внешней температуры всё равно никуда не деться. Если только не ставить термостат.
Labu559 писал(а):
21.04.2020{, 16:31}
Подумайте ещё раз, это не так, в лучшем случае при 0,25сек.
Обоснуйте. Я делал так, от одного времени отнимал другое. И фиксировал разницу при изменении.

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#24

Сообщение KostiK2009IT » 22.04.2020{, 10:36}

edyapd, ds1307 тоже убегает - а в нем, насколько я знаю, нет коррекции по температуре

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Arduino + DS 3231

#25

Сообщение edyapd » 22.04.2020{, 10:43}

KostiK2009IT писал(а):
22.04.2020{, 10:36}
ds1307 тоже убегает - а в нем, насколько я знаю, нет коррекции по температуре
Так он потому и убегает, что там её нет. У DS3231 тоже плавает время, но не так сильно.

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#26

Сообщение KostiK2009IT » 25.04.2020{, 14:32}

Добрался наконец до компа
Итоги последних эксперементов:
за трое суток - MEGA+DS3231, экран подключен, но инфу на него не вывожу - часы убежали на 3 сек, UNO+DS1307 - 104 секунд вперед
скеч компилил в версии 6.3.1, время опроса модуля по умолчанию - 250
Время в DS3231 убежало, но не так сильно как раньше, получатся, что вывод информации на дисплей как-то влияет на работу с модулем времени. Буду разбираться как.

Тестовые проги прикрепил.

Сейчас точно такие же проги залью, но в скомпиленные в версии 2.5.2. Через какое-то время отпишусь снова.
Вложения
test uno.flp
(82.36 КБ) 47 скачиваний
test mega.flp
(81.67 КБ) 44 скачивания

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Arduino + DS 3231

#27

Сообщение Labu559 » 25.04.2020{, 21:28}

KostiK2009IT писал(а):
25.04.2020{, 14:32}
Тестовые проги прикрепил.
Вы точно нужные проекты прикрепили, а то я чего-то не пойму как можно с помощью 6-и будильников с дискретностью 10 сек определить рассинхрон до 1 сек?
У Вас отключены личные сообщения. Ознакомиться с моей статистикой можете здесь(будет дополняться).

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#28

Сообщение KostiK2009IT » 26.04.2020{, 13:20}

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

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#29

Сообщение KostiK2009IT » 27.04.2020{, 12:10}

к сообщению 26 - на скетче скопиленом в версии 2.5.2 - MEGA+DS3231 - рассинхрона нет +-, UNO+DS1307 - 48 сек +-, на момент проверки, время на компе расходится с временем NTP сервера на +2.5 сек, время пробы 46 примерно часов

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#30

Сообщение KostiK2009IT » 28.04.2020{, 14:03}

продолжаю эксперименты
MEGA+DS3231+дисплей на HD44780
сделал еще тестовый скетч в версии 2.5.2 - уже с выводом времени на экран - время убегает, интервал пробы правда не очень большой - 2 часа, время +5 секунды
уважаемые форумчане, посмотрите, пожалуйста, прогу и скетч
Дисплей подключен не через шину I2C, на модуле нет такой шины, соответствие ног на дисплее и MEGE следующее
RS-41
E-39
D4-37
D5-35
D6-33
D7-31
K-13

Может убегание времени с этим связано, а не из-за разных библиотек в разных версиях FLProg ?
Вложения
test mega 252 w clock.flp
(141.8 КБ) 57 скачиваний

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#31

Сообщение KostiK2009IT » 07.05.2020{, 10:04}

в продолжении - поменял пины подключения дисплея, синхронизировал время, залил эту же тестовую прогу - эффект тот же, время убегает

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Arduino + DS 3231

#32

Сообщение nalnik » 07.05.2020{, 10:20}

KostiK2009IT писал(а):
07.05.2020{, 10:04}
в продолжении -
Скажите, а каким напряжением Вы запитываете DS3231.?
5 или 3.3 вольта?
Я хочу быть добрее, но люди сами нарываются.

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#33

Сообщение KostiK2009IT » 07.05.2020{, 10:54}

вся схема запина в данный момент от usb, ds3231 подключен к 5V и GND на ардуино

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Arduino + DS 3231

#34

Сообщение nalnik » 07.05.2020{, 10:56}

KostiK2009IT писал(а):
07.05.2020{, 10:54}
ds3231 подключен к 5V
А на плате модуля есть стабилизатор на 3.3v?
микросхема ds3231 "вроде" питается от 3.3V.
Может по этому у нее и не работает термостабилизация и стоит попробовать от 3.3v.
Последний раз редактировалось nalnik 07.05.2020{, 11:00}, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#35

Сообщение KostiK2009IT » 07.05.2020{, 11:00}

проверю
сейчас время убегает, когда данные на дисплей вывожу

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Arduino + DS 3231

#36

Сообщение nalnik » 07.05.2020{, 11:02}

KostiK2009IT писал(а):
07.05.2020{, 11:00}
сейчас время убегает, когда данные на дисплей вывожу
Чудеса - при чем тут дисплей если время считает микросхема ds3231..
Тут уже кто то писал - В электрике не бывает чудес - бывает плохой контакт!
Я хочу быть добрее, но люди сами нарываются.

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#37

Сообщение KostiK2009IT » 07.05.2020{, 11:07}

Вот и я не пойму, если дисплей подключен (т.е. контакты дисплея соеденены с пинами ардуино), но в проекте блоки для работы с дисплеем не используются, то время не убегает, как только добавляю в проект работу с дисплеем - начинает убегать время.
Может как-то библиотеки для работы со временем задержки какие-либо добавляют и из-за этого начинается убегание времени, только я не особо кодер, разобраться не получается.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Arduino + DS 3231

#38

Сообщение nalnik » 07.05.2020{, 11:08}

И еще, я замечал что на сервере ntp1.stratum1.ru время тоже не всегда работает точно - сравните на разных серверах..
И попробуйте "брать" только ЧАСЫ, МИНУТЫ, СЕКУНДЫ.
Последний раз редактировалось nalnik 07.05.2020{, 11:11}, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#39

Сообщение KostiK2009IT » 07.05.2020{, 11:10}

мне +-5-10 секунд точности не играет, но когда время убегает за сутки на 3+ минуты - это слишком

KostiK2009IT
Рядовой
Сообщения: 24
Зарегистрирован: 22.09.2015{, 17:36}
Репутация: 1
Откуда: Рязань

Arduino + DS 3231

#40

Сообщение KostiK2009IT » 06.06.2020{, 12:51}

Отписываюсь:
в общем эксперементатор из меня не очень, т.к. покрутил несколько "ручек" сразу:
1. Запитал модуль DS3231 от 3.3 V, как подсказал nalnik (сообщение 34), спс
2. Переделал пины - теперь RS - 7, E - 6, D4 -5, D5 - 4, D6 - 3, D7-2
3. Переделал управление контрастностью дисплея - раньше бы V0 подключено к pin13, настроен ШИМ на этом пине, который постоянно выдавал 140, теперь поставил подстроечный резистор, pin13 не использую. Ранее, в сообщении 30 неправильно написал - не K а V0 к pin13.

Теперь часы не убегают, +- секунда, проверил в версии 2.5.2 и 6.3.1

Всем спасибо за помощь!!!

Ответить

Вернуться в «Спросить у знатоков»