Спешат часы - DS1307
- Войдите на сайт для отправки комментариев
Чт, 14/03/2013 - 09:41
Преобрел такой модуль часов. Настроил, запустил, заработали без каких либо проблем. Но в скоре выяснилось - они спешат. За сутки набигает лишних 10-15 минут. Есть ли какая-то возможность убавить их пыл?
Может кварц не той частоты ? Частота часового кварца - 32768 Гц.
А может быть вы как то не правильно снимаете показания.
я тоже за кварц...
а на счет снятия показаний, загрузить скетч из примеров ну и ничего не меняя поглдяеть как ходят часы, если убегают, то сменить кварц, я покупал подобный модуль, только на нем кварц был керамический и цифра отличная от 32768....
После выполнения каждого из действий написанных ниже проверяем помогло или нет.
1. Заменить батареку.
2. Заменить кварц, при пайке не перегревать!
3. Заменить DS1307, впаивать новую микруху только на обесточенной плате и убраной батарейки!
Что б знать еще как этот кварц выглядит. :)
Предполагалось услышать какие-то програмные решение. Жаль что таких нет.
Что б знать еще как этот кварц выглядит. :)
))) на вашем фото это блестящий цилиндр, подключенный к 1 и 2 ноге ds1307
Предполагалось услышать какие-то програмные решение. Жаль что таких нет.
так вопросо задался в теме Аппаратные вопросы
Вопросик один в один решил заменой кварца на кварц из старинной (чем старей тем точней :) мамки. Это была ...э-эх! 486... прошлый век...
Тот же кварц можно выдрать из любых дешевых кварцевых часов.
Выбрал кварт из старых часов. Выбрал батарейку, перепоял. Как и советовали. DS1307 начали тикать. Но они спешат помоему точно так же как и ранее, какбудто ничего не изменилось.
Пришла в голову такая идея, может в loop поместить что-то подобное:
Тоесть этот код каждые сутки в 1 час ночи и 3 минуты, будит перегонять часики на 2 минеты назад. Какраз где-то на 2 минуты они и спешат в сутки. Что скажете о таком коде?
Внимательно проанализируйте, что случится с тим кодом через две минуты после того, как он переведет часы назад на две минуты.
Ох. Действительно, вы правы, получится зацикливание. Есть идеи как можно его обойти?
Можно сохранить дату, и проверить переводились ли они сегодня или нет.
В rtc[4] хранится день. Покажите пожалуйста на примере. Мне вот такая конструкция пришла в голову:
Может создать тему в другой ветки форума? Хочется придумать какое-то более оптимальное решение в коде.
В rtc[4] хранится день.
Имел ввиду что то типа:
Ваше решение мне больше понравилось. Спасибо.
Народ, подскажите где почитать про работу с EEPROM на этой плате?
http://arduino.ru/forum/programmirovanie/zapis-i-chtenie-at24c32
это вам повезло, если часы спешат или отстают на фиксированное время. У меня этот же таймер каждый день спешит по разному. Уже месяц пытаюсь вычислить поправочку - без результатно. А корректировку делаю следующим способом:
1) при подключении к ПК синхронизируется время таймера с ПК и записываетсяя (сохраняется) значение этого времени в свободных регистрах RTC.
2) при необходимости получить "правильное" время, написана функция, которая находит разницу в часах между текущей датой, и записанной в RTC и умножает на поправочный коэффициент. Таким образом вычисляется на сколько секунд убежали часы.
3) к считанному из RTC значению текущего времени добавляю/отнимаю вычисленную поправочку в секундах.
И как казалось бы все хорошо... но часы спешат неравномерно, что затрудняет правильно расчитать поправочных коэфициент.
Если кому нужен код - могу выложить
Ого, Да интересно было бы посмотреть на код.
Температурная нестабильность? Так ведь кварц же? А я ведь тоже заметил странное поведение этих часов. В данный момент имею трое работающих. Двое самопай и одни китай. Сначала подумал, что показалось. Надо повнимательнее присмотреться к ним.
по ходу времени подрачена куча на написание кода, а нестабильность хода почти все сводит на нет....
А температурная нестабильность врядли в моем случае. Модуль находится в ртапоиваемом помещении, и температура колеблется не более +-5градусов. Скорее всего надо выковыривать кварц из материнки, много на форумах по этому поводу написано...
А можно купить DS3232. Он сверхточный и с термокомпенсацией. Но зараза все равно в день на 1 секунду бежит вперед, но стабильно:)...
Вот код. Хотя ковыряться в чужом коде терпеть не могу...
как работает функция fun - не спрашивайте, пытался понять - не получилось. Ее где то скопировал на одном из форумов. Но факт что работает правильно. Учитывает переход через новый год, и высокостность года. Вот с высокостностью по ходу есть небольшая некорректность, но существенного влияния она не оказывает
вот например (g-(g/4)*4==0) как по мне эквивалентно (0==0). Зачем тогда разработчик написал имнно так?
Нет, не эквивалентно.
Так как g имеет тип int - g/4 - тоже int.
В итоге, выражение истино только если g делится на 4 без остатка (невисокосный год).
Судя по всему разработчик не знал о наличии операции остатка от деления -)
Для памяти - помещу сюда полную версию:
http://www.emartee.com/product/42059/Arduino%20Tiny%20RTC%20DS1307%20Shield%20V2.0#
Если присмотреться, на ней установлен датчик температуры DS18B20, причем зеркально принту на плате, ну и на батарейке явно видно надпись 3.6V.
На схеме подключения видно пунктиром линию 1-wire
Приобрел подобный девайс DS1307, только с ebay: http://www.ebay.com/itm/1PCS-I2C-RTC-AT24C32-DS1307-Real-Time-Clock-Modu...
Возможно у него сделана другая разводка, но датчик DS18B20 ставится как раз в соответствии с принтом на плате, т.е. противоположно вышеприведенной картинке.
Я сначала прозвонил контакты тестером, а потом впаял датчик. Все работает как надо.
Для набирания статистики
У меня такой же модуль отстает на 20 сек в сутки пришлось сделать программную коррекцию:(
Есть еще один американского производства а не китайского - его еще не проверял.
Для статистики - мой модуль убегает вперед секунд на 20 за сутки. Сделал ежедневную корректировку времени через интернет по серверу точного времени.
В нете пишут что для небольшой регулировки частоты кварца применяются регулировочные конденсаторы. Но никакой формулы не нашел. Может кто в курсе? Аппаратное решение всегда лучше и не ест дефицитную память МК.
Eсли За сутки набигает лишних 10-15 минут попровуйте увеличить питание до 5 вольт...мне это помогло
увеличить питание до 5 вольт...мне это помогло
да, я тоже обратил внимание, качество источника питания влияет на точность хода 1307
Из необъяснимых глюков китайских модулей DS1307 =)
Попадались экземпляры тикающие в 2-3 раза(!) быстрее. Решилось просто - SQW/OUT на землю через килоомный резистор. Логики не ищите - её нет.
Раз такое решение помогает, значит ловит помеху по питанию или по воздуху.
Из необъяснимых глюков китайских модулей DS1307 =)
Попадались экземпляры тикающие в 2-3 раза(!) быстрее. Решилось просто - SQW/OUT на землю через килоомный резистор. Логики не ищите - её нет.
у меня тикает так же быстро, думал глюк в библиотеке
У меня прилично отставали. Сделал коррекцию по ntp с сервера точного времени каждые 15 минут.
Добрый день!
Часы все также торопятся...
Кто нибудь сталкивался с эти?
Постоянная корректировка тоже не дело. Вроде конденсаторами решается, хз
Решил все подобные проблемы, забыв про 1307, а вспомнив про 3231. И лишних 10 отверстий сверлить не надо))))).
Производители рекомендуют экранировать кварц на печатной плате. Например, в даташите 1302 прямо нарисовано:
в большистве модулей (из тех, что я видел) на это плюют. В смысле, панелька обычно есть (и то не всегда), а вот обводка часто отсутствует.
Как минимум, соединять корпус кварца с землей. На фото в начале темы, площадка сделана, соединения нет. Проволочная скоба - притянуть корпус кварца к площадке и припаять к ней скобу. Видел на как то на плате припаянный сам корпус, но думаю, это излишне. После манипуляций дрейф будет все равно, но в размере единиц секунд в сутки.
площадку и корпус на землю? спасибо
При столь частых коррекциях вообще нет нужды во внешней микросхеме часов. Проще в программу/скетч добавить кусок кода, который будет реализовывать часовой функционал.
PS. При нынешних ценах на ds3231, использовать ds1307 -- ничем не объяснимое, "странное" занятие.
3 пф у меня стоял с 0 ТКЕ. Можно с небольшим отрицательным. А так все на ds3231 давно поменял.
3 пф у меня стоял с 0 ТКЕ. Можно с небольшим отрицательным. А так все на ds3231 давно поменял.
я тоже примерно столько насчитал на 2 шт своих... еслиб раньше прочитал такой пост - не стал бы эти модули брать и даром...
лично я рекомендую взять качественный часовой кварц и заменить гавно, которое установлено в вашем модуле.
донором качественного кварца может служить старая комьютерная материнка, старый факс или иной девайс, к работе которого вы не имели претензий и который содержит часовой кварц.
лично я рекомендую взять качественный часовой кварц и заменить гавно, которое установлено в вашем модуле.
донором качественного кварца может служить старая комьютерная материнка, старый факс или иной девайс, к работе которого вы не имели претензий и который содержит часовой кварц.
не помогло, это первое что я сделал, после теста на набегание :(
не помогло, это первое что я сделал, после теста на набегание :(
ок. давай разбираться, каким образом кварц с, например материнки, который стабильно работал в составе генератора, внезапно стал выдавать другую частоту.
рассказывай, откуда ты взял кварц?
*к примеру: лично я взял кварц с японского древнего факса и замутил RTC на атмега16, за сутки врёт ровно столько же сколько врал факс +- пары секунд в сутки и то списываю это, что балалайка на макетке.
но, что бы 10-15 минут, как у ТС - не понимаю, КАК?
А все равно будет уход от температуры. В отличии от компенсированных ds3231. Помнится читал, что в ширпотребе специально ставят кварц с большей частотой. А потом подгонка кондером ( по хор частотомеру элементарно) заодно и частичная термокомпенсация за счет выбора ТКЕ. В нач 80-х я сделал для дома часы-частотомер с термостатом. Мда.
А все равно будет уход от температуры.
да на +-15 минут... будет.
В отличии от компенсированных ds3231. Помнится читал, что в ширпотребе специально ставят кварц с большей частотой.
да - специально... что бы жизнь малиной не казалась. может, не специально, а потому что отсутвовали качественные радикомпоненты в СССР?
В СССР с комплектухой все нормально было, кварцы с кучей цифирек, инваровые подстроечники и тд и тп. А это я про современые потоковые вещи. Там дешевизна и технологичность важна. Первый раз столкнулся в китайских часах. Они там этот кондюк поленились поставить. Из сравнения двух образцов.
А на счет тех часов - там 155 серия была и 500 на входе частотомера. А в магазине я тогда вещи и не смотрел. Делал обычно сам.
В СССР с комплектухой все нормально было, кварцы с кучей цифирек,
ты жыл в СССР?
и чем тебе поможет часовой кварц с кучей цифирек, если тебе нужен кварц с пятью точными цифирками 32768, но с хорошими параметрами стабильности?