Часы на газоразрядных индикаторах

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

Коты, кто использует DS3231, приходилось трогать регистр Aging Offset, что бы часы шли точнее?
Собрал несколько экземпляров, всем потребовалось поднастроить этот регистр в районе -23 +/-3, у всех по-разному.
Опыт приходит сразу после того, как он был нужен...
Реклама
Аватара пользователя
SLvik
Друг Кота
Сообщения: 7622
Зарегистрирован: Ср май 28, 2008 00:32:54
Откуда: г. Россия
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение SLvik »

Я делал такую операцию, но с другой микросхемой DS1340.
Написал прогу чтобы можно было подстраивать ход часов.
:)
Реклама
Аватара пользователя
Topaloff
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Вс фев 03, 2013 00:47:59
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Topaloff »

Волосатый, а как вы контролируете ход ваших часов? Чипы вряд ли калибруются, значит все разные. Термокопменсация работает, а частота от эталонной может отличатся. :dont_know:
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

Есть такой сайт https://time100.ru с эталонным временем. Насколько я понял, страница в реальном времени синхронизируется с сервером, поэтому на странице всегда актуальное время. Сравниваю время на часах с временем страницы, на глаз изменяю волшебный регистр и подвожу часы, что бы шли ровно со страницей и глазу разницу было не заметно. Повторяю процедуру раз в сутки или несколько суток до прекращения ухода.
Я как-то спрашивал здесь кто-как калибрует, получил ответ, что хорошим частотомером. Но для меня покупка такого агрегата не вариант и подумал сделать тестовую плату с МК и DS3231 с выведенным сигналом SQW на разъем. Отдать другу, который работает в конторе с доступом к хорошим частотомерам и он откалибрует регистр по сигналу SQW, МК запомнит это значение и при каждом включении будет записывать его в регистр aging. Таким образом, получу точный источник секундных интервалов. Далее на своих часах подпаяться к SQW и лог. анализатором наблюдать период между, к примеру, фронтами импульсов с часов и с калиброванной микры, калибровать вручную и как только период перестал изменятся, часы откалиброваны.
В моих часах этот регистр можно изменить из пользовательского меню, если нужно 8)
Опыт приходит сразу после того, как он был нужен...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Topaloff
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Вс фев 03, 2013 00:47:59
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Topaloff »

Респект. Я поставил программу на телефон. Тоже с временем в Сети сравниваю. Сделал синхронизацию для любых часов по wifi, но это esp8266 нужно в каждые часы ставить. Витает идея сделать прибор, который будет сравнивать частоту 1Гц от esp8266 или GPS или просто DS3231 с подопытными часами и на дисплей выводить, на сколько спешат/отстают. Было бы хорошо обойтись без логического анализатора, сделать самостоятельное устройство. Нужно начинать... :solder:
Реклама
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение RoboC »

По температуре они будут плавать 100℅.
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Реклама
Аватара пользователя
mss_ja
Друг Кота
Сообщения: 4323
Зарегистрирован: Сб дек 24, 2011 05:02:33
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение mss_ja »

akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Часы на газоразрядных индикаторах

Сообщение akl »

Пользуюсь таким. По мне, более официально.
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

RoboC писал(а):По температуре они будут плавать 100℅.
Так это ясень пень :)))
Предполагается, что калибровка калибровочных и калибруемых микросхем будет происходить при комнатной температуре, с выдержкой минимум полчаса после включения. Таким образом, калибруемые микросхемы будут откалиброваны в стандартных и нормальных температурных условиях для их эксплуатации. Даже если комнатная температура изменится на 1 градус, особой погоды это не сделает, в конечном счете мы же не в космос часы запускаем :))
Topaloff писал(а):Сделал синхронизацию для любых часов по wifi
Мной этот способ особо не изучен, но считаю, что задержки в прохождении сигнала (тобиш пинг) будет различаться на единицы-десятки милисекунд, что сведет долговременную калибровку на нет. Поправьте меня, если не прав.
Topaloff писал(а):Витает идея сделать прибор, который будет сравнивать частоту 1Гц от esp8266 или GPS или просто DS3231 с подопытными часами и на дисплей выводить, на сколько спешат/отстают.
С самого начала была такая идея, пару десятков страниц назад я эту идею поднимал. Но так как кот создание жутко ленивое, было решено пойти простым путем - калиброванная DS3231 и лог. анализатор :)))

akl, посмотрел ссылку, там есть такая фраза
В версии 4 способен достигать точности 10 мс
что для однократной калибровки явно много. Толи дело синхронизировать периодически, собственно для чего протокол NTP и был придуман.
Опыт приходит сразу после того, как он был нужен...
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Часы на газоразрядных индикаторах

Сообщение akl »

Волосатый писал(а):Сравниваю время на часах с временем страницы, на глаз изменяю волшебный регистр и подвожу часы, что бы шли ровно со страницей и глазу разницу было не заметно. Повторяю процедуру раз в сутки или несколько суток до прекращения ухода.
Причем здесь NTP. Речь шла о визуальном сравнении настраиваемых часов с эталонным временем.
Волосатый писал(а):...было решено пойти простым путем - калиброванная DS3231 и лог. анализатор
Сомневаюсь, что логический анализатор будет проще периодометра. Все равно, должна быть опора. Вы же из Питера, где мне удалось купить выбраковку что-то типа ГИАЦИНТА. Частота у него после выбрасывания всех цепей подстройки частоты оказалась 5'000'004,786Гц. А пофиг, забил это число в программу и получал точные 1000 секунд. Мне спешить некуда и иметь каждые 16,(6)минуты точную отсечку вполне устраивало. Это было давно, сейчас есть стандарт частоты, от которого тактируется частотомер и процедура настройки часов заметно упрощается.
Topaloff писал(а):Витает идея сделать прибор, который будет сравнивать частоту 1Гц от esp8266 или GPS или просто DS3231 с подопытными часами и на дисплей выводить, на сколько спешат/отстают. Было бы хорошо обойтись без логического анализатора, сделать самостоятельное устройство. Нужно начинать...
Предположим, что есть такой прибор и с его помощью получили отклонение генерации 1 секунды. И..? Ладно если в качестве генератора используется DS-ка с регистром подстройки... Можно часостроителю в момент изменения минуты на настраиваемых часах сделать Print Screen сайта опорного времени; через сутки в такой же момент еще один снимок экрана. Полученное абсолютное отклонение пересчитывается в ppm, которое заносится в DS323x или делается программная коррекция. Т.е. необходимость в приборе сравнения отпадает.
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

akl писал(а):Причем здесь NTP.
Там он ни причем. На глаз определять время можно откуда угодно. Про NTP речь зашла как о источнике точных секундных интервалов для калибратора.
akl писал(а):Сомневаюсь, что логический анализатор будет проще периодометра. Все равно, должна быть опора.
Логический анализатор есть и стоит 500 рублей у китайских братьев. Его точность совершенно побоку, нам главное уловить изменение времени между спадами двух сигналов с калиброванной и калибруемой DS3231. Можно кстати взять цифровой осцилл и ловить разницу им.
akl писал(а):на настраиваемых часах сделать Print Screen сайта опорного времени
Как я уже озвучил, сам протокол допускает ошибку до 10мс, так что этот метод не годится.
Опыт приходит сразу после того, как он был нужен...
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Часы на газоразрядных индикаторах

Сообщение akl »

ИзображениеЕщё раз. Причем здесь NTP. "На глазок" два снимка экрана с известным интервалом на настраиваемых часах позволяют провести приближение к точному ходу оных.
Аватара пользователя
Mihas161
Родился
Сообщения: 8
Зарегистрирован: Сб ноя 07, 2015 20:47:24

Re: Часы на газоразрядных индикаторах

Сообщение Mihas161 »

Здравствуйте жители данного форума! Давно хотел собрать часы на ин 12 но като не было времени и ламп.Сейчас преобрел 6 ламп ин12 !!!! Как бы мне раздобыть архивчик с печаткой прошивкой и тд?
Аватара пользователя
Topaloff
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Вс фев 03, 2013 00:47:59
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Topaloff »

http://robocua.blogspot.com/ Спасибо RoboC! :beer: и https://www.google.com

Копаю Aging Offset для DS3231. Программист с меня слабый. Использую библиотеку для DS1307.
Как правильно записать в регистр значение? rtc_write(0x10, -128); ?? Или побитово? Как быть со знаком?
Люди так калибруют. Какой нужен частотомер для таких задач?
Аватара пользователя
Волосатый
Сверлит текстолит когтями
Сообщения: 1288
Зарегистрирован: Пн апр 14, 2008 12:54:35
Откуда: Город ГЕРОЙ Ленинград
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение Волосатый »

Topaloff писал(а):rtc_write(0x10, -128); ?? Или побитово?
Зависит от реализации библиотеки. Скорее всего формальный параметр там целочисленное 8битное. Вам надо записать 8битное со знаком. Проще будет сделать такую же функцию, но которая принимает 8битное число со знаком.

Посмотрел свой код, я передаю число со знаком в функцию, которая принимает беззнаковое число, разрядность 8 бит. Все работает правильно. Компилятор GCC. На других может работать по-другому.

А можно просто сделать преобразование из знакового в беззнаковое:

Код: Выделить всё

unsigned = (~ signed) + 1;
Так, наверно, будет правильнее.
Опыт приходит сразу после того, как он был нужен...
Аватара пользователя
Topaloff
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Вс фев 03, 2013 00:47:59
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Topaloff »

В даташите пишут, что "The code is encoded in two’s complement, with bit 7 representing the sign bit." Насколько я понял, число записывается обычное, а знак ставится на 7 бите. Как это правильно написать? А я изначально завел signed char. И пишу rtc_write(0x10, signed char); Не ясно, как нужно...
СпойлерThe aging offset register takes a user-provided value to
add to or subtract from the codes in the capacitance array
registers. The code is encoded in two’s complement, with
bit 7 representing the sign bit. One LSB represents one
small capacitor to be switched in or out of the capacitance
array at the crystal pins. The aging offset register capacitance
value is added or subtracted from the capacitance
value that the device calculates for each temperature
compensation. The offset register is added to the capacitance
array during a normal temperature conversion, if
the temperature changes from the previous conversion, or
during a manual user conversion (setting the CONV bit).
To see the effects of the aging register on the 32kHz output
frequency immediately, 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 temperatures.
The frequency vs. temperature curve is shifted
by the values used in this register. At +25°C, one LSB
typically provides about 0.1ppm change in frequency.
Use of the aging register is not needed to achieve the
accuracy as defined in the EC tables, but could be used
to help compensate for aging at a given temperature.
See the Typical Operating Characteristics section for a
graph showing the effect of the register on accuracy over
temperature.
СпойлерНе пинать!!!
if (PIND.0==0 && PIND.1==0){ //Коррекция хода часов
pik();
while (PIND.0==0 || PIND.1==0);
on=0b0011;
aging_offset=rtc_read(0x10);

while(1){
if(PIND.0==0 && aging_offset<99)aging_offset++;
if(PIND.1==0 && aging_offset>-99)aging_offset--;

if(aging_offset<0){
min=~aging_offset+1;
DOT_ON;
}

else{
min=aging_offset;
DOT_OFF;
}

delay_ms(200);

if (PIND.0==0 && PIND.1==0){
rtc_write(0x10,aging_offset);
on=0b1111;
break;
}
}
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Часы на газоразрядных индикаторах

Сообщение akl »

Topaloff писал(а):В даташите пишут, что "The code is encoded in two’s complement, with bit 7 representing the sign bit." Насколько я понял, число записывается обычное, а знак ставится на 7 бите.
Число представлено в обычном дополнительном коде с диапазоном коррекции -12,8...+12,7ppm.
Topaloff писал(а):Люди так калибруют. Какой нужен частотомер для таких задач?
Шаманство какое-то. 12*32768/100'000'000=0,00393216Гц соответствует LSB регистра коррекции для DS3232. Как ему удается менять с шагом 0,001Гц непонятно. Для DS3231 чуток получше 32768/10'000'000=0,0032768, но все равно больше 0,001Гц. По мне, проще найти стандартный частотомер, перевести в режим измерения периода (1,10, 100, 1'000, 10'000) и подать на него меандр 1Гц с DS-ки, задействовав лапу INT/SQW оной. Меняя значения регистра коррекции добиться максимального приближения к 1 секунде.
Аватара пользователя
BlackAlex
Вымогатель припоя
Сообщения: 665
Зарегистрирован: Вс фев 12, 2012 14:06:28
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение BlackAlex »

Topaloff писал(а):Копаю Aging Offset для DS3231.
Как думаете реализовать корректировку? Править прошивку или уже в готовых часах кнопками? Хорошая идея, частотомер взять не проблема.
Аватара пользователя
Topaloff
Потрогал лапой паяльник
Сообщения: 349
Зарегистрирован: Вс фев 03, 2013 00:47:59
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение Topaloff »

Уже написал сервисное меню. Остается проверить и отладить, пронаблюдать, как влияют настройки. Естественно, будет работать только в ds3231.
Аватара пользователя
BlackAlex
Вымогатель припоя
Сообщения: 665
Зарегистрирован: Вс фев 12, 2012 14:06:28
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение BlackAlex »

Topaloff писал(а):Уже написал сервисное меню. Остается проверить и отладить, пронаблюдать, как влияют настройки. Естественно, будет работать только в ds3231.
ну, про 1307 вполне можно забыть. Во всяком случае в этом проекте.
Ответить

Вернуться в «Умные мысли»