DS1307 - точность хода
DS1307 - точность хода
Собрал часы на основе сабжа.
Бегут более чем на 2 секунды в сутки. Объяснение одно - нужно подобрать кварц. Из трёх штук, что у меня были на 32768 бегут со всеми, чуть больше или меньше, но всё равно более 1,5-2 секунд за сутки.
Друг, работающий в сервисе по обслуживанию ККМ подтвердил: почти во всех кассовых аппаратах часы бегут. Есть исключения, но единицы.
Какие можно придумать варианты решения проблемы без поиска "правильного" кварца? Программную коррекцию? Тут некоторые сложности возникают, с часов можно считать только целые значения секунд, а не доли, так же и коррекцию можно проводить только на целую часть. Нужен какой-нибудь хитрый алгоритм, который засекает изменение секунды, отсчитывает задержку, и записывает его же, либо следующее значение.
Может есть способ проще?
зы: конденсаторы на кварц не предлагайте, от лукавого это...
Бегут более чем на 2 секунды в сутки. Объяснение одно - нужно подобрать кварц. Из трёх штук, что у меня были на 32768 бегут со всеми, чуть больше или меньше, но всё равно более 1,5-2 секунд за сутки.
Друг, работающий в сервисе по обслуживанию ККМ подтвердил: почти во всех кассовых аппаратах часы бегут. Есть исключения, но единицы.
Какие можно придумать варианты решения проблемы без поиска "правильного" кварца? Программную коррекцию? Тут некоторые сложности возникают, с часов можно считать только целые значения секунд, а не доли, так же и коррекцию можно проводить только на целую часть. Нужен какой-нибудь хитрый алгоритм, который засекает изменение секунды, отсчитывает задержку, и записывает его же, либо следующее значение.
Может есть способ проще?
зы: конденсаторы на кварц не предлагайте, от лукавого это...
Re: DS1307 - точность хода
Может быть эта микруха попрет с кварцем 1048576 Гц (1:32)? Но кондеры подобрать придется, зато точность повысится. Ну или как вариант внешний генератор на 32768.
Re: DS1307 - точность хода
Попереть-то может и попрёт, но дальше-то что? Это часы реального времени, т.е. дают время, дату, дни недели, с учётом всех поправок (число дней в месяце и т.д.). А теперь представь, что это дело запустится в форсаже х32 
Что с этими данными делать?
Внешние делители и генераторы не применимы. Я ставил эту микросхему ради одного: отсчёт времени при долгих перебоях с питанием. Иначе просто хватило-бы одного МК, и с коррекцией не было бы проблем.
Что с этими данными делать?
Внешние делители и генераторы не применимы. Я ставил эту микросхему ради одного: отсчёт времени при долгих перебоях с питанием. Иначе просто хватило-бы одного МК, и с коррекцией не было бы проблем.
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: DS1307 - точность хода
в M41T56 есть специальный регистр для коррекции, она по ногам и по регистрам совмеcтимама с DS1307 и ее тоже ставят в кассовые аппараты.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: DS1307 - точность хода
ploop писал(а):Попереть-то может и попрёт, но дальше-то что? Это часы реального времени, т.е. дают время, дату, дни недели, с учётом всех поправок (число дней в месяце и т.д.). А теперь представь, что это дело запустится в форсаже х32
Что с этими данными делать?
Заводим дополнительные часы(переменные) на мк. Как только время от RTC прибавилось на 32 инкрементируем доп часы. Ну а вот календарь продумать надо. Мб и по какой-то формуле можно вычислить, ну накрайняк дату полностью возложить на мк. Хотя функционал такой DS --- выдавать точные тики и все.
Re: DS1307 - точность хода
в M41T56 есть специальный регистр для коррекции, она по ногам и по регистрам совмеcтимама с DS1307 и ее тоже ставят в кассовые аппараты.
Где бы её найти... у друга спросить?
) на мк. Как только время от RTC прибавилось на 32 инкрементируем доп часы. Ну а вот календарь продумать надо. Мб и по какой-то формуле можно вычислить, ну накрайняк дату полностью возложить на мк.
Если возложить на МК, он не будет считать без питания.
Re: DS1307 - точность хода
а что в пдф-ке про кварц пишется, может они применяют в сборе с конденсаторной обвязкой, так можно и внешние конденсаторы навесить на обычный кварц?
Re: DS1307 - точность хода
ploop писал(а):Если возложить на МК, он не будет считать без питания.
ААА...ну тогда не вариант
sergo123 писал(а):а что в пдф-ке про кварц пишется, может они применяют в сборе с конденсаторной обвязкой.
В DS уже стоит 12.5 пф.
Хотя я помнится подбирал на часовой конденсаторами очень точно 32768.
Re: DS1307 - точность хода
С обоих концов кварца на общий провод подвесь конденсаторы NP0 (5....27) пФ. Конкретный номинал подбирается под конкретный кварц. Мне удалось получить точность хода до единиц секунд за год.
- Dmitry Dubrovenko
- Поставщик валерьянки для Кота
- Сообщения: 2349
- Зарегистрирован: Вс янв 09, 2011 16:51:39
- Откуда: Санкт-Ленинград
- Контактная информация:
Re: DS1307 - точность хода
Будет, будет.ploop писал(а):Если возложить на МК, он не будет считать без питания.
Две недели устроит?
Кстати, я что-то не понял насчёт конденсаторов.
Их необходимо устанавливать с кварцем ОБЯЗАТЕЛЬНО.
Иначе как-раз и будет офигенная погрешность (если вообще запустится).
ICQ нет, и, в ближайшее время, не будет.
Re: DS1307 - точность хода
Отнимай эти две секунды ежесуточно,допустим в 00ч00мин02сек,делов то.
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: DS1307 - точность хода
Vov123 писал(а):Отнимай эти две секунды ежесуточно,допустим в 00ч00мин02сек,делов то.
Я тоже хотел предложить, но не прокатит, потому что
ploop писал(а):Если возложить на МК, он не будет считать без питания.
А раз
конденсаторы на кварц не предлагайте
то по моему задача решения не имеет
Re: DS1307 - точность хода
Кстати, я что-то не понял насчёт конденсаторов.
Их необходимо устанавливать с кварцем ОБЯЗАТЕЛЬНО.
Иначе как-раз и будет офигенная погрешность (если вообще запустится).
Речь идёт не о контроллере, а о DS1307. За ссылку спасибо, интересное решение.
С обоих концов кварца на общий провод подвесь конденсаторы NP0 (5....27) пФ. Конкретный номинал подбирается под конкретный кварц. Мне удалось получить точность хода до единиц секунд за год.
В даташите ничего про это не пишут. Хотя есть ссылка на документ "Application Note 58, "Crystal Considerations with
Dallas Real-Time Clocks" Ша поищу, почитаю.
Отнимай эти две секунды ежесуточно,допустим в 00ч00мин02сек,делов то.
Ну это первое, что в голову пришло. Так и хотел сделать, прежде чем задать вопрос, но хотелось бы поуниверсальней вариант...
Re: DS1307 - точность хода
Я тоже хотел предложить, но не прокатит, потому что
ploop писал(а):
Если возложить на МК, он не будет считать без питания.
В этом случае без питания не будет работать коррекция, всего лишь. Это разные вещи.
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: DS1307 - точность хода
ploop писал(а):В этом случае без питания не будет работать коррекция, всего лишь. Это разные вещи.
Под "счетом" я имел ввиду коррекцию, просто неправильно выразился.
Re: DS1307 - точность хода
используй современные ИС с функцией коррекции хода в энергонезависимом режиме (чего-то было у maxim-dallas и ramtron)
или слепите самодел на каком-нибудь 8-лапом PICе, имеющем режим внешнего кварца 32768 и микропотребление (pic12f629 к примеру) с интерфейсом DS1307
или слепите самодел на каком-нибудь 8-лапом PICе, имеющем режим внешнего кварца 32768 и микропотребление (pic12f629 к примеру) с интерфейсом DS1307
Re: DS1307 - точность хода
Итак, вот что пишется в этом манускрипте:
The following are the most common scenarios that cause a crystal-based RTC to run fast.
1) Noise coupling into the crystal from adjacent signals. This problem has been extensively covered
above. Noise coupling usually causes an RTC to be grossly inaccurate.
2) Wrong crystal. An RTC typically runs fast if a crystal with a specified load capacitance (CL) greater
than the RTC-specified load capacitance is used. The severity of the inaccuracy is dependent on the
value of the CL. For example, using a crystal with a CL of 12pF on an RTC designed with a 6pF CL
causes the RTC to be about 3 to 4 minutes per month fast.
--- примерный мой корявый перевод ---
Ниже приведены наиболее распространённые условия, при которых RTC на кварцах бегут.
1) Помехи. Эта проблема много раз освещалась, и может привести к тому, что ход RTC будет совершенно не соответствовать действительности.
2) Неправильный кварц. Обычно RTC бегут, если у используемого кварца емкостная нагрузка больше, чем указана для данного типа RTC. Например, поставили кварц с CL 12pF, а микросхема рассчитана для кварца на 6pF.
----------
The following are the most common scenarios that cause a crystal-based RTC to run fast.
1) Noise coupling into the crystal from adjacent signals. This problem has been extensively covered
above. Noise coupling usually causes an RTC to be grossly inaccurate.
2) Wrong crystal. An RTC typically runs fast if a crystal with a specified load capacitance (CL) greater
than the RTC-specified load capacitance is used. The severity of the inaccuracy is dependent on the
value of the CL. For example, using a crystal with a CL of 12pF on an RTC designed with a 6pF CL
causes the RTC to be about 3 to 4 minutes per month fast.
--- примерный мой корявый перевод ---
Ниже приведены наиболее распространённые условия, при которых RTC на кварцах бегут.
1) Помехи. Эта проблема много раз освещалась, и может привести к тому, что ход RTC будет совершенно не соответствовать действительности.
2) Неправильный кварц. Обычно RTC бегут, если у используемого кварца емкостная нагрузка больше, чем указана для данного типа RTC. Например, поставили кварц с CL 12pF, а микросхема рассчитана для кварца на 6pF.
----------
Re: DS1307 - точность хода
или слепите самодел на каком-нибудь 8-лапом PICе, имеющем режим внешнего кварца 32768 и микропотребление (pic12f629 к примеру) с интерфейсом DS1307
Тогда уж и полностью часы на нём. Фишка сделать из того, что есть, а не как надо
Re: DS1307 - точность хода
Ну рас не хотите делать коррекцию и вас мучает совесть что часы как бы идут точно, но на самом деле только их корректируете--тогда частотомер в лапы и пачку хороших кондеров. Не все кварцы одинаково полезны, не все будут идти точно при встроенных 12.5 пф.
Re: DS1307 - точность хода
Почему не хочу? Хочу. Просто интересно разобраться в вопросе: что лучше, коррекция, кондёры?
Кстати, по даташиту под кварц полагается земляной полигон, которого у меня нет. Он как раз около 10пФ даст... может в этом проблема?
Кстати, по даташиту под кварц полагается земляной полигон, которого у меня нет. Он как раз около 10пФ даст... может в этом проблема?