К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Проблема с часами реального времени ds3231

Гость
0 - 03.09.2016 - 16:26
День добрый, дорогие форумчане. Начну свою грустную историю с того, что вроде не новичок в программировании контроллеров и изготовлении на их базе всяких умных, и не очень, устройств.Кстати, пользую в основном CodeVisionAVR, но не суть...
Столкнулся с такой траблой: Решил усовершенствовать часы, обеспечив, как пишется в даташитах, экстремальную точность хода. До этого работал с ds1307, как правило в SOIC-8, корпусе. Там все ясно, какой кварц поставишь, такую точность, и получишь. Таки решил перейти на более продвинутый RTC. А именно ds3231... Заказал в Поднебесной партию таких чудо-устройств. Дождался, ага. Благо, плата давно была готова, и прошит контроллер (кстати, использовал библиотеку под ds1307, ибо протокол почти одинаков), впаял первый экземпляр. Облом, не заработало. Второй, то-же самое. Ладно, мы не робкого десятка, паяем третий, и, вуа-ля, часы затикали. Круто. Тока стали меня терзать сомнения по точности хода. Чо-та они отстают. И, так, нехило отстают. Блин, засада. Ладно, нашел еще один рабочий экземпляр. Та-же история. Ну, думаю, подогнали друзья-китайцы некачественный продукт. Купил-таки пару микросхем в Промэлектронике. И что вы думаете? Ничего не поменялось. Самое странное, что частота генератора стабильна как скала и соответствует даташиту. Думал, может библиотека виновата. написал с помощью стандартных команд i2c.То-же самое! Друзья, может мне кто нибудь помочь? Весь интернет перерыл - результат нулевой.



1 - 03.09.2016 - 20:50
Обвеску DS3231 по питанию и на выходе генератора сделали по даташиту? Осциллограмму выходного сигнала и его точную частоту можно узнать (что там с мГц после запятой 32768,ХХХ )...
Гость
2 - 05.09.2016 - 05:31
Вся обвязка по даташиту. Отставание по времени, примерно 2 сек. в минуту. Отставание не слабое. Осциллограф после запятой показал 5, далее не доступно импульсы практически прямоугольные.
3 - 08.09.2016 - 16:25
Это отдельные микросхемы или готовые ардуиновские модули? Отклонение не должно выходить за +/- 10 сек/мес.
Гость
4 - 08.09.2016 - 16:42
Что-вы, это самые, что ни-наесть отдельные микросхемы. Я их, и, решил использовать вместо ds1307 за их заявленную "экстремальную" точность. Ладно-бы можно было списать на партию из Китая, так, ведь, нет, из "Промэлектроники" - туда-же...
5 - 08.09.2016 - 16:48
Они их тоже в Китае берут (скорее всего)... :)
Гость
6 - 08.09.2016 - 17:03
Таки-да, только одно непонятно. Импульсы 32 кГц идут четко по даташитному и частота как вкопаная
7 - 08.09.2016 - 17:51
Если частота 32768 Гц на контрольном выходе (её нужно частотомером измерять... не осциллографом... какой осциллограф, кстати?), то проблему нужно искать в передаче по каналу I2C или в программе...
Гость
8 - 08.09.2016 - 18:40
Понятно, что частотомером, но к моему АКИП 4115/2А проблем не было. Да, и, как-то странно, что-бы сразу микросхема врать начала, и у осциллографа крыша поехала. По поводу I2C, мысли такие: Ну, хорошо, допустим, в момент обращения к микросхеме часов, останавливается генератор (маловероятно). Более того на осциллограмме обращение к RTC никак не отражается. При отключении основного питания контроллера, обращения к часам не происходит вообще. Тикает только генератор, питаемый от батарейки. После пары часов простоя, включаем контроллер, смотрим на показания, и, о-па, часики-то отстали...
9 - 08.09.2016 - 18:59
Дурная мысль пришла в голову... "Может частота импульсов падает при переходе в автономный режим работы?"... Такого быть не должно,но вдруг...
10 - 08.09.2016 - 19:05
В режиме самописца осциллографа посмотреть бы процесс перехода в "автономку" и обратно на выходе частоты микросхемы... может какие задержки есть...
Гость
11 - 09.09.2016 - 04:45
Тогда почему отстают не переходя в автономный режим? И еще вопрос знатокам: Должны-ли быть какие данные в регистре 10Н присутствовать? Данные с регистра температуры вполне адекватные, а в регистре Agging Offset - стерильная чистота, то бишь 00.
12 - 13.09.2016 - 00:35
Частота генерации меняется (соответственно ошибки хода времени меняются в одну и в другую стороны) с помощью этих регистров. Вносится кодовая поправка и увеличивается (или уменьшается) массив емкостей, включенный с кварцем, ускоряя (замедляя)частоту генерации... в даташите на стр. 14-15 написано про это...
13 - 13.09.2016 - 00:37
The crystal aging offset register provides an 8-bit code to add to the codes in the capacitance array registers. The code is encoded in two's complement. One LSB represents one small capacitor to be switched in or out of the capacitance array at the crystal pins. The offset register is added to the capacitance array register under the following conditions: during a normal temper¬ature conversion, if the temperature changes from the previous conversion, or during a manual user conver¬sion (setting the CONV bit). To see the effects of the aging register on the 32kHz output frequency immedi¬ately, a manual conversion should be started after each aging register change.
Positive aging values add capacitance to the array, slowing the oscillator frequency. Negative values remove capacitance from the array, increasing the oscillator frequency.
The change in ppm per LSB is different at different tem¬peratures. The frequency vs. temperature curve is shift¬ed by the values used in this register. At +25°C, one LSB typically provides about 0.1 ppm change in frequency.
14 - 13.09.2016 - 00:59
На стр.7 даташита есть температурные кривые отклонений частоты генератора микросхемы при старении кварца, соотнесенные с семибитными значениями кодов регистра (-128...+128)... Их естественно в бинарном виде нужно вносить в регистр (типа 0010011). Все изменения желательно контролировать нормальным частотомером на выходе частоты микросхемы...
15 - 13.09.2016 - 01:07
Если я правильно понял даташит, то изменение в коде регистра на один младший разряд отклоняет частоту генерации на 0.1 ppm... Т.е. можно менять текущую (при коде 0000000) частоту на +/- 12.8 ppm, что очень неплохо...
16 - 13.09.2016 - 01:23
С другой стороны, этот регистр дает изменение частоты в реальном пересчете +/- 0,4 Гц (если я не ошибаюсь), что может служить только для точной корректировки часов, а у Вас запредельные отклонения по времени... Возможно искать нужно не здесь...
Гость
17 - 14.09.2016 - 16:56
Еще одна мысль: Может быть каким-то образом на вывод "res" проникают помехи и это приводит к постоянному перезагрузу камня. Ну, а это, хотя, и происходит быстро, останавливает счетчик... Может такое быть?
18 - 14.09.2016 - 21:31
Сложно сказать, не видя схемы и монтажа деталей... Просмотрите во времени на цифровом осциллографе все помехи в критичных точках схемы и возможные срывы (или изменения) частоты генерации... В два канала "заряжайте" его (самописца режим, например), на один генерацию 32 кГц, на другой сигналы с точек, проведите анализ данных...
19 - 17.09.2016 - 00:06
посмотри ютуб по этому модулю. у человека даже из-за не отмытой платы он врал. и по предыдущему модулю тоже есть смысл посмотреть
Гость
20 - 17.09.2016 - 06:14
А можно ссылочку на видео?
21 - 18.09.2016 - 04:40
да забей ds1307 или ds3231. даже на иностранческом языке можно что-то понять если в теме. кстати, в первом модуле должна быть не батарейка, а аккум и это тоже влияет на точность. и цена модуля может колебаться в зависимости от его комплектации. и комменты надо читать
Гость
22 - 19.09.2016 - 04:51
Стоп, Господа. Какая-то ерунда получается. Допустим, часы с экстремальной точностью хода, и зависит это от частоты генератора. Так? Тогда, вопрос: Как влияет на точность хода аккумулятор или батарея? Я все понимаю, что данное явление имеет место быть. Но не понимаю почему? Как? Еще понимаю, что может влиять вывод "резет", постоянно сбрасывая камень в перезагрузку. А другие факторы? Непонятно. Какая точность может быть, если, вдруг, на плату села муха, и, все, точность ушла. Тогда-уж лучше ds1307.
23 - 19.09.2016 - 13:18
Никак батареи или аккумуляторы (при условии их полного заряда)не должны влиять на частоту генерации, они только поддерживают работу устройства в моменты отсутствия напряжения от внешнего источника питания. Они могут "накосячить" только при их глубоком разряде, когда устройство начинает срываться в отключку... Что касается RST, то здесь нужно смотреть всю схему и монтаж на плате на возможные помехи и наводки... Если в схеме есть завязка на микроконтроллер, то нужно разобраться с прошивкой, возможны программные поступления сигнала на RST... Даже, если на плату сядет стая мух, маловероятно, что частота сместиться...)
Гость
24 - 20.09.2016 - 17:12
Сегодня провел очередной эксперимент и обнаружил, что на ноге "res", напряжение около 0! Это как? Сначала погрешил на сопротивление подтяжки. Заменил. Результат тот-же. Такое ощущение, что сама микросхема придавила ногу к земле через встроены полевик. Кстати, с какой целью он там?
25 - 20.09.2016 - 18:52
Там активный низкий уровень для RST... полевик стоит для подавления дребезга контактов при использовании кнопки для RST... на линии RST не должно быть внешних подтягивающих резисторов, в микросхеме есть внутренний...
Гость
26 - 20.09.2016 - 18:56
Ок. То есть, Уровень низкий - камень в работе? Или я чего-то не догоняю, или придавили ногу к земле - камень встал?


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены