Страница 2 из 2
Arduino + DS 3231
Добавлено: 21 апр 2020, 16:23
edyapd
[ref]KostiK2009IT[/ref],
KostiK2009IT писал(а): 21 апр 2020, 15:21
доказано эксперементально
Так и я специально для вас на сутки оставлял включенным. Опрос в каждом цикле. Визуально разница в 0.5 сек. Но просто точнее, чем секунда не получается сравнить. При этом разницу в секунду будет показывать даже если на самом деле разница в 0.01 сек.
Я ещё в первом своём сообщение спросил у вас про питание. Поставьте конденсатор, а лучше два, на 0.1 мкФ и на 10 мкФ.
Arduino + DS 3231
Добавлено: 21 апр 2020, 16:31
Labu559
Ув.[ref]edyapd[/ref], Спасибо Вам, что принимаете участие в решении проблемы и делаете тесты, Ваша помощь полезна и Ваши наблюдения тоже но с выводами...
edyapd писал(а): 21 апр 2020, 14:12
не зависит убегание от частоты опроса
Давайте чуть-чуть повременим с выводами. Ведь тесты показывают немного другое, как мои так и ув.[ref]KostiK2009IT[/ref]. А теперь давайте попробуем систематизировать, то что имеем (хотя это преждевременно). По данным тестов DS1307 быстрее идут при опросе, чем без опроса, как у меня так и ТС. Результат совпал в обоих тестах. С DS3231 такой же результат только у KostiK2009IT, у меня и Вас стабильность хода RTC не поменялась. Надеюсь для Вас не будет накладно заглянуть [spoiler title=сюда]
DS3231_ высокоточная микросхема RTC.pdf
DS1307_rus.pdf
[/spoiler] и сравнить конструктивные различия обоих устройств. Так что может происходить при частом опросе? Не буду томить- частый опрос возможно разогревает МС. Что происходит с конденсатором при нагреве- теряется емкость. Что происходит с колебательным контуром при понижении емкости- повышается частота. У DS1307 нет тепловой коррекции частоты, у DS3231 она есть, нак и набор ёмкостёй для её коррекции. Укладывается это всё в систему- решать Вам самим? Для переубеждения людей нужны неоспоримые факты, а не версии (у нас она одна и пока не менялась), я не убеждаю никого ни в продолжении ни в прекращении тестов. Я ещё поковыряюсь для себя.
По поводу iarduino_RTC.h- Ув. автор использует только некоторые методы этой библиотеки, совместно со своим методом опроса, потому она присутствует в текущем дистрибутиве.Биб-ка Ware используется в обоих версиях- это работа с шиной I2C.
edyapd писал(а): 21 апр 2020, 16:23
этом разницу в секунду будет показывать даже если на самом деле разница в 0.01 сек.
Подумайте ещё раз, это не так, в лучшем случае при 0,25сек- это периодичность опроса.
Добавлено для [ref]KostiK2009IT[/ref]: Здесь доп. информация по ЧРВ
ссылка1,
ссылка2.
Библиотека iarduino_RTC.h используется в ФЛПрог исключительно для RTC DS1302.
Arduino + DS 3231
Добавлено: 21 апр 2020, 17:41
edyapd
Labu559 писал(а): 21 апр 2020, 16:31
у DS3231 она есть
Я знаю, что DS3231 имеет тепловую коррекцию, поэтому я её и взял. Показания плавали и у меня, вся сборка стояла на подоконнике куда попадали солнечные лучи. Но максимальная разница была в пределах 1.5 секунд, как раз днём. За ночь разница уменьшилась.
Точно так же делаю вывод, что у ТС просто попался глючный модуль часов, у которого нет нормальной температурной коррекции.
Хотя ещё раз повторюсь, что прежде чем выкидывать его, я бы прошёлся феном и промыл.
Почему бы я не стал использовать часы, которые убегают или отстают, да потому, что от изменения внешней температуры всё равно никуда не деться. Если только не ставить термостат.
Labu559 писал(а): 21 апр 2020, 16:31
Подумайте ещё раз, это не так, в лучшем случае при 0,25сек.
Обоснуйте. Я делал так, от одного времени отнимал другое. И фиксировал разницу при изменении.
Arduino + DS 3231
Добавлено: 22 апр 2020, 10:36
KostiK2009IT
edyapd, ds1307 тоже убегает - а в нем, насколько я знаю, нет коррекции по температуре
Arduino + DS 3231
Добавлено: 22 апр 2020, 10:43
edyapd
KostiK2009IT писал(а): 22 апр 2020, 10:36
ds1307 тоже убегает - а в нем, насколько я знаю, нет коррекции по температуре
Так он потому и убегает, что там её нет. У DS3231 тоже плавает время, но не так сильно.
Arduino + DS 3231
Добавлено: 25 апр 2020, 14:32
KostiK2009IT
Добрался наконец до компа
Итоги последних эксперементов:
за трое суток - MEGA+DS3231, экран подключен, но инфу на него не вывожу - часы убежали на 3 сек, UNO+DS1307 - 104 секунд вперед
скеч компилил в версии 6.3.1, время опроса модуля по умолчанию - 250
Время в DS3231 убежало, но не так сильно как раньше, получатся, что вывод информации на дисплей как-то влияет на работу с модулем времени. Буду разбираться как.
Тестовые проги прикрепил.
Сейчас точно такие же проги залью, но в скомпиленные в версии 2.5.2. Через какое-то время отпишусь снова.
Arduino + DS 3231
Добавлено: 25 апр 2020, 21:28
Labu559
KostiK2009IT писал(а): 25 апр 2020, 14:32
Тестовые проги прикрепил.
Вы точно нужные проекты прикрепили, а то я чего-то не пойму как можно с помощью 6-и будильников с дискретностью 10 сек определить рассинхрон до 1 сек?
У Вас отключены личные сообщения. Ознакомиться с
моей статистикой можете здесь(будет дополняться).
Arduino + DS 3231
Добавлено: 26 апр 2020, 13:20
KostiK2009IT
Я не с помощью прикрепленных прог проверял, они были залиты и платы оставлены в работе на несколько суток. Далее, для проверки рассинхрона заливал скетчи из FLPROG для установки времени.
Arduino + DS 3231
Добавлено: 27 апр 2020, 12:10
KostiK2009IT
к сообщению 26 - на скетче скопиленом в версии 2.5.2 - MEGA+DS3231 - рассинхрона нет +-, UNO+DS1307 - 48 сек +-, на момент проверки, время на компе расходится с временем NTP сервера на +2.5 сек, время пробы 46 примерно часов
Arduino + DS 3231
Добавлено: 28 апр 2020, 14:03
KostiK2009IT
продолжаю эксперименты
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 ?
Arduino + DS 3231
Добавлено: 07 май 2020, 10:04
KostiK2009IT
в продолжении - поменял пины подключения дисплея, синхронизировал время, залил эту же тестовую прогу - эффект тот же, время убегает
Arduino + DS 3231
Добавлено: 07 май 2020, 10:20
nalnik
Скажите, а каким напряжением Вы запитываете DS3231.?
5 или 3.3 вольта?
Arduino + DS 3231
Добавлено: 07 май 2020, 10:54
KostiK2009IT
вся схема запина в данный момент от usb, ds3231 подключен к 5V и GND на ардуино
Arduino + DS 3231
Добавлено: 07 май 2020, 10:56
nalnik
KostiK2009IT писал(а): 07 май 2020, 10:54
ds3231 подключен к 5V
А на плате модуля есть стабилизатор на 3.3v?
микросхема ds3231 "вроде" питается от 3.3V.
Может по этому у нее и не работает термостабилизация и стоит попробовать от 3.3v.
Arduino + DS 3231
Добавлено: 07 май 2020, 11:00
KostiK2009IT
проверю
сейчас время убегает, когда данные на дисплей вывожу
Arduino + DS 3231
Добавлено: 07 май 2020, 11:02
nalnik
KostiK2009IT писал(а): 07 май 2020, 11:00
сейчас время убегает, когда данные на дисплей вывожу
Чудеса - при чем тут дисплей если время считает микросхема ds3231..
Тут уже кто то писал -
В электрике не бывает чудес - бывает плохой контакт!
Arduino + DS 3231
Добавлено: 07 май 2020, 11:07
KostiK2009IT
Вот и я не пойму, если дисплей подключен (т.е. контакты дисплея соеденены с пинами ардуино), но в проекте блоки для работы с дисплеем не используются, то время не убегает, как только добавляю в проект работу с дисплеем - начинает убегать время.
Может как-то библиотеки для работы со временем задержки какие-либо добавляют и из-за этого начинается убегание времени, только я не особо кодер, разобраться не получается.
Arduino + DS 3231
Добавлено: 07 май 2020, 11:08
nalnik
И еще, я замечал что на сервере ntp1.stratum1.ru время тоже не всегда работает точно - сравните на разных серверах..
И попробуйте "брать" только ЧАСЫ, МИНУТЫ, СЕКУНДЫ.
Arduino + DS 3231
Добавлено: 07 май 2020, 11:10
KostiK2009IT
мне +-5-10 секунд точности не играет, но когда время убегает за сутки на 3+ минуты - это слишком
Arduino + DS 3231
Добавлено: 06 июн 2020, 12:51
KostiK2009IT
Отписываюсь:
в общем эксперементатор из меня не очень, т.к. покрутил несколько "ручек" сразу:
1. Запитал модуль DS3231 от 3.3 V, как подсказал [ref]nalnik[/ref] (сообщение 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
Всем спасибо за помощь!!!