Страница 1988 из 2452
Re: Часы на газоразрядных индикаторах
Добавлено: Вт окт 11, 2016 14:58:34
watchmaker
В динамике ШИМ реализуется ещё проще - надо просто для меньшей яркости делать паузы между включением разрядов.
Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 14, 2016 04:31:05
Волосатый
Коты, кто использует DS3231, приходилось трогать регистр Aging Offset, что бы часы шли точнее?
Собрал несколько экземпляров, всем потребовалось поднастроить этот регистр в районе -23 +/-3, у всех по-разному.
Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 14, 2016 05:48:13
SLvik
Я делал такую операцию, но с другой микросхемой DS1340.
Написал прогу чтобы можно было подстраивать ход часов.

Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 14, 2016 10:20:46
Topaloff
Волосатый, а как вы контролируете ход ваших часов? Чипы вряд ли калибруются, значит все разные. Термокопменсация работает, а частота от эталонной может отличатся.

Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 14, 2016 15:19:58
Волосатый
Есть такой сайт
https://time100.ru с эталонным временем. Насколько я понял, страница в реальном времени синхронизируется с сервером, поэтому на странице всегда актуальное время. Сравниваю время на часах с временем страницы, на глаз изменяю волшебный регистр и подвожу часы, что бы шли ровно со страницей и глазу разницу было не заметно. Повторяю процедуру раз в сутки или несколько суток до прекращения ухода.
Я как-то спрашивал здесь кто-как калибрует, получил ответ, что хорошим частотомером. Но для меня покупка такого агрегата не вариант и подумал сделать тестовую плату с МК и DS3231 с выведенным сигналом SQW на разъем. Отдать другу, который работает в конторе с доступом к хорошим частотомерам и он откалибрует регистр по сигналу SQW, МК запомнит это значение и при каждом включении будет записывать его в регистр aging. Таким образом, получу точный источник секундных интервалов. Далее на своих часах подпаяться к SQW и лог. анализатором наблюдать период между, к примеру, фронтами импульсов с часов и с калиброванной микры, калибровать вручную и как только период перестал изменятся, часы откалиброваны.
В моих часах этот регистр можно изменить из пользовательского меню, если нужно

Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 14, 2016 20:18:17
Topaloff
Респект. Я поставил программу на телефон. Тоже с временем в Сети сравниваю. Сделал синхронизацию для любых часов по wifi, но это esp8266 нужно в каждые часы ставить. Витает идея сделать прибор, который будет сравнивать частоту 1Гц от esp8266 или GPS или просто DS3231 с подопытными часами и на дисплей выводить, на сколько спешат/отстают. Было бы хорошо обойтись без логического анализатора, сделать самостоятельное устройство. Нужно начинать...

Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 14, 2016 20:57:22
RoboC
По температуре они будут плавать 100℅.
Re: Часы на газоразрядных индикаторах
Добавлено: Пт окт 14, 2016 22:07:51
mss_ja
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 04:35:32
akl
Пользуюсь таким. По мне, более официально.
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 04:42:03
Волосатый
RoboC писал(а):По температуре они будут плавать 100℅.
Так это ясень пень
Предполагается, что калибровка калибровочных и калибруемых микросхем будет происходить при комнатной температуре, с выдержкой минимум полчаса после включения. Таким образом, калибруемые микросхемы будут откалиброваны в стандартных и нормальных температурных условиях для их эксплуатации. Даже если комнатная температура изменится на 1 градус, особой погоды это не сделает, в конечном счете мы же не в космос часы запускаем
Topaloff писал(а):Сделал синхронизацию для любых часов по wifi
Мной этот способ особо не изучен, но считаю, что задержки в прохождении сигнала (тобиш пинг) будет различаться на единицы-десятки милисекунд, что сведет долговременную калибровку на нет. Поправьте меня, если не прав.
Topaloff писал(а):Витает идея сделать прибор, который будет сравнивать частоту 1Гц от esp8266 или GPS или просто DS3231 с подопытными часами и на дисплей выводить, на сколько спешат/отстают.
С самого начала была такая идея, пару десятков страниц назад я эту идею поднимал. Но так как кот создание жутко ленивое, было решено пойти простым путем - калиброванная DS3231 и лог. анализатор
akl, посмотрел ссылку, там есть такая фраза
В версии 4 способен достигать точности 10 мс
что для однократной калибровки явно много. Толи дело синхронизировать периодически, собственно для чего протокол NTP и был придуман.
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 05:50:43
akl
Волосатый писал(а):Сравниваю время на часах с временем страницы, на глаз изменяю волшебный регистр и подвожу часы, что бы шли ровно со страницей и глазу разницу было не заметно. Повторяю процедуру раз в сутки или несколько суток до прекращения ухода.
Причем здесь NTP. Речь шла о визуальном сравнении настраиваемых часов с эталонным временем.
Волосатый писал(а):...было решено пойти простым путем - калиброванная DS3231 и лог. анализатор
Сомневаюсь, что логический анализатор будет проще периодометра. Все равно, должна быть опора. Вы же из Питера, где мне удалось купить выбраковку что-то типа ГИАЦИНТА. Частота у него после выбрасывания всех цепей подстройки частоты оказалась 5'000'004,786Гц. А пофиг, забил это число в программу и получал точные 1000 секунд. Мне спешить некуда и иметь каждые 16,(6)минуты точную отсечку вполне устраивало. Это было давно, сейчас есть стандарт частоты, от которого тактируется частотомер и процедура настройки часов заметно упрощается.
Topaloff писал(а):Витает идея сделать прибор, который будет сравнивать частоту 1Гц от esp8266 или GPS или просто DS3231 с подопытными часами и на дисплей выводить, на сколько спешат/отстают. Было бы хорошо обойтись без логического анализатора, сделать самостоятельное устройство. Нужно начинать...
Предположим, что есть такой прибор и с его помощью получили отклонение генерации 1 секунды. И..? Ладно если в качестве генератора используется DS-ка с регистром подстройки... Можно часостроителю в момент изменения минуты на настраиваемых часах сделать Print Screen сайта опорного времени; через сутки в такой же момент еще один снимок экрана. Полученное абсолютное отклонение пересчитывается в ppm, которое заносится в DS323x или делается программная коррекция. Т.е. необходимость в приборе сравнения отпадает.
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 06:57:52
Волосатый
akl писал(а):Причем здесь NTP.
Там он ни причем. На глаз определять время можно откуда угодно. Про NTP речь зашла как о источнике точных секундных интервалов для калибратора.
akl писал(а):Сомневаюсь, что логический анализатор будет проще периодометра. Все равно, должна быть опора.
Логический анализатор есть и стоит 500 рублей у китайских братьев. Его точность совершенно побоку, нам главное уловить
изменение времени между спадами двух сигналов с калиброванной и калибруемой DS3231. Можно кстати взять цифровой осцилл и ловить разницу им.
akl писал(а):на настраиваемых часах сделать Print Screen сайта опорного времени
Как я уже озвучил, сам протокол допускает ошибку до 10мс, так что этот метод не годится.
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 07:17:20
akl

Ещё раз. Причем здесь NTP. "На глазок" два снимка экрана с известным интервалом на настраиваемых часах позволяют провести приближение к точному ходу оных.
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 13:53:36
Mihas161
Здравствуйте жители данного форума! Давно хотел собрать часы на ин 12 но като не было времени и ламп.Сейчас преобрел 6 ламп ин12 !!!! Как бы мне раздобыть архивчик с печаткой прошивкой и тд?
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 14:23:37
Topaloff
http://robocua.blogspot.com/ Спасибо RoboC!

и
https://www.google.com
Копаю Aging Offset для DS3231. Программист с меня слабый. Использую библиотеку для DS1307.
Как правильно записать в регистр значение? rtc_write(0x10, -128); ?? Или побитово? Как быть со знаком?
Люди так калибруют. Какой нужен частотомер для таких задач?
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 20:22:59
Волосатый
Topaloff писал(а):rtc_write(0x10, -128); ?? Или побитово?
Зависит от реализации библиотеки. Скорее всего формальный параметр там целочисленное 8битное. Вам надо записать 8битное со знаком. Проще будет сделать такую же функцию, но которая принимает 8битное число со знаком.
Посмотрел свой код, я передаю число со знаком в функцию, которая принимает беззнаковое число, разрядность 8 бит. Все работает правильно. Компилятор GCC. На других может работать по-другому.
А можно просто сделать преобразование из знакового в беззнаковое:
Так, наверно, будет правильнее.
Re: Часы на газоразрядных индикаторах
Добавлено: Сб окт 15, 2016 21:18:00
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;
}
}
Re: Часы на газоразрядных индикаторах
Добавлено: Вс окт 16, 2016 05:18:14
akl
Topaloff писал(а):В даташите пишут, что "The code is encoded in two’s complement, with bit 7 representing the sign bit." Насколько я понял, число записывается обычное, а знак ставится на 7 бите.
Число представлено в обычном дополнительном коде с диапазоном коррекции -12,8...+12,7ppm.
Шаманство какое-то. 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 секунде.
Re: Часы на газоразрядных индикаторах
Добавлено: Вс окт 16, 2016 16:16:17
BlackAlex
Topaloff писал(а):Копаю Aging Offset для DS3231.
Как думаете реализовать корректировку? Править прошивку или уже в готовых часах кнопками? Хорошая идея, частотомер взять не проблема.
Re: Часы на газоразрядных индикаторах
Добавлено: Вс окт 16, 2016 18:12:05
Topaloff
Уже написал сервисное меню. Остается проверить и отладить, пронаблюдать, как влияют настройки. Естественно, будет работать только в ds3231.