|
|
  |
Часы, Поиск задающего генератора |
|
|
|
Oct 14 2007, 18:32
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 12-01-07
Из: Энергодар Украина
Пользователь №: 24 374

|
Цитата(VDLab @ Oct 14 2007, 18:56)  Ну попробуй цезиевый генератор поставить... А чем свой генератор не устраивает? Тем более для ПРОСТЫХ часов. Делал как-то 2 года назад часы на PIC16F84. Работают до сих пор, но отстают на минуту за несколько суток. Вообщето есть сломаные часы "СТАРТ" (конструктор). Хочу поставить АЛС и микроконтроллер. Подумал, что с внешним генератором будут работать точнее. Может, что-нибудь посоветуете?
|
|
|
|
|
Oct 14 2007, 20:35
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(Anjey_N @ Oct 14 2007, 22:32)  Делал как-то 2 года назад часы на PIC16F84. Работают до сих пор, но отстают на минуту за несколько суток. ... Может, что-нибудь посоветуете? Программную коррекцию хода часов сделай.
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Oct 15 2007, 06:25
|

Местный
  
Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459

|
Цитата(=GM= @ Oct 15 2007, 01:02)  Что, если принимать какую-нибудь круглосуточную радиостанцию в диапазоне ДВ или СВ и по сигналам точного времени (в конце каждого часа) проводить коррекцию? Приемник можно сделать прямого усиления, схем в Сети полно. хм.. а не проще, а главное точнее, присобачить GPS приемник? В НМЕА протоколе есть времечко. Вот только цена устроит ли вопрошающего?
--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
|
|
|
|
|
Oct 15 2007, 10:34
|

Местный
  
Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459

|
Цитата(defunct @ Oct 15 2007, 14:20)  Для ПРОСТЫХ часов самое лучшее решение  Самое простое и самое дешевое   ну вот зачем разводить ненужную полемику? =GM=:"...принимать какую-нибудь круглосуточную радиостанцию в диапазоне ДВ или СВ .." -возможно не лучшая альтернатива. А возни с наладкой,настройкой..и тестированием вообще вагон. Цитата(muravei @ Oct 15 2007, 14:28)  А вообще, есть станции , вещающие частоту специально для привязки времени. Токо у нас они не распространены..:-( http://tf.nist.gov/stations/wwvbtimecode.htm
--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
|
|
|
|
|
Oct 15 2007, 11:58
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(Anjey_N @ Oct 15 2007, 11:28)  С кофе в постель было бы неплохо! Можно поставить RTC, но у Атину2313 нет аппаратного I2C. Писать программный интерфейс неохота. Чтобы работать с одной микросхемой часов пишется за 2 часа времени без какого-либо напряга, без полных знаний протокола, только по datasheet микросхемы часов. Тем более зачатки в 2313 есть. Не вижу проблемы - Вы, видимо, просто наслушались про сложности i2c. В данном случае сложностей никаких нет.
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
Oct 15 2007, 14:00
|

Участник

Группа: Участник
Сообщений: 62
Регистрация: 1-11-06
Пользователь №: 21 847

|
Цитата(DS @ Oct 15 2007, 15:58)  Чтобы работать с одной микросхемой часов пишется за 2 часа времени без какого-либо напряга, без полных знаний протокола, только по datasheet микросхемы часов. Тем более зачатки в 2313 есть. Не вижу проблемы - Вы, видимо, просто наслушались про сложности i2c. В данном случае сложностей никаких нет. Абсолютно согласен. Если ломает самому писать или искать готовую библиотеку, то в CodeVision есть готовая софтовая библиотка i2c.
|
|
|
|
|
Oct 15 2007, 20:09
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(defunct @ Oct 15 2007, 14:25)  Мегу48 и часовой кварц + программная коррекция и синхронизация с часами компа по 232. А кто будет синхронизировать комп? Если нет выхода в интет, то это бесполезно.
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Oct 18 2007, 16:46
|

Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618

|
Цитата(Anjey_N @ Oct 14 2007, 17:34)  Привет! Хочу сделать простые часы на базе Attiny 2313 с внешним задающим генератором. Что посоветуете в качестве задающего генератора? Идея такая К процу стандартно подключен кварц. Кварц может быть на любую частоту(н.п. 8 Mhz) 1. Разрешаешь прерывания по таймеру 2. В прерывании увеличиваешь "первую" глобальную переменную, если достигла определенного значения, сбрасываешь ее в ноль и увеличиваешь "вторую" переменную. ( т.е. надо добиться увеличения второй переменной раз в секунду) 3. В цикле основной программы проверяешь "вторую" переменную, если изменилась значит прошла секунда. ( н.п. отображаешь на экране)
|
|
|
|
|
Oct 18 2007, 17:26
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
Извините за вопрос,но вы сами поняли,что написали? В каком-то прерывании от таймера(вы в курсе,что их у таймера несколько?)инкрементируем какую-то пе- ременную,затем по переполнении первой вторую.Тип не важен,главное,шоб было две. Имхо,или с дозой переборщили,или сорт травы надо менять.
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
Oct 18 2007, 21:19
|

Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 30-04-07
Из: DP.UA
Пользователь №: 27 419

|
Что то тема, как обычно впрочем, плавно перетекла от выбора типа генератора к особенностям реализации алгоритма...  . По поводу повышения точности часов, из предложенных вариантов развеселил вариант синхронизации часов с ПК, который в свою очередь синхронизирован с сервером времени. И это получатся простые часы!? Вы бы еще модуль Ethernet предложили бы в них запихать, чтобы без компа обойтись. ИМХО предложенный вариант с програмной коррекцией хода часов - самое ПРОСТОЕ и дешевое решение добиться приемлемой точности, без применения внешних навороченных генераторов. Очень, кстати, нравилась мне эта фишка в минской "Электронике", правда больше нигде такого я в наручных часах не встречал, или других производителей проблема точности не так волновала?
|
|
|
|
|
Oct 18 2007, 22:20
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(VDLab @ Oct 19 2007, 00:19)  По поводу повышения точности часов, из предложенных вариантов развеселил вариант синхронизации часов с ПК, который в свою очередь синхронизирован с сервером времени. И это получатся простые часы!? Конечно простые. Из железа - только МК, даже кварц может не понадобиться. Все делается софтом. Да и софт простой - раз в месяц подключить часы к компу для синхронизации, в часах сравнить текущее время с синхронизируемым - получить дельту ухода за период, привести ее к часам или суткам (смотря что будет удобнее) и делать автоматическую программную коррекцию ежечасно(ежедневно). Полагаю что даже на внутреннем осцилляторе tiny2313 даст вполне вменяемую точность при таком подходе. И не надо будет пользователю задумываться о том, на сколько ms/us надо подводить часы. Цитата Вы бы еще модуль Ethernet предложили бы в них запихать, чтобы без компа обойтись. 232C (3 провода) для вас сложен?  Цитата ИМХО предложенный вариант с програмной коррекцией хода часов - самое ПРОСТОЕ и дешевое решение добиться приемлемой точности Не далеко смотрите. Что мешает с компа послать часам по 232-му текущее время. Параметры коррекции часы и сами расчитать смогут.
|
|
|
|
|
Oct 19 2007, 05:14
|
Местный
  
Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860

|
Цитата(Anjey_N @ Oct 15 2007, 00:32)  Делал как-то 2 года назад часы на PIC16F84. Работают до сих пор, но отстают на минуту за несколько суток. АTMEGA8 + часовой кварц и в результате уход - секунда за несколько суток. даже конденсаторы на кварц не нужны, они внутри контроллера, только нужно включить CKOPT
|
|
|
|
|
Oct 19 2007, 05:44
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 22-03-07
Из: Novosibirsk
Пользователь №: 26 415

|
Вопрошающий должен сообщить требуемую точность хода часов в ppm, секундах в неделю и т.п. Возможно, его устроит RC генератор  или только квантовый стандарт  , без ТЗ никто не скажет.
|
|
|
|
|
Oct 19 2007, 07:50
|
Местный
  
Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044

|
Веселенькие предложения для простеньких часиков на кухню ! Надо: - взять хороший кварц (10ppm); - к нему подстроечные конденсаторы 10-30 пф. - завести этот кварц с желаемым контроллером; - сформировать на любом из портов импульсы с частотой, строго пропорциональной тактам генератора; - по частотомеру, обладающему точностью не хуже 0.1 ppm конденсаторами выставить расчетную частоту на упомянутом порту. Реально получен уход менее 1 сек/сутки (меньше минуты в месяц), в комнатных условиях (когда дрейф температуры не большой и циклический). Кварц 8Мгц, 10ppm, Atmega8. Вместо частотомера можно использовать КВ приемник на 10 или 15 Мгц. Что касается вещательных радиостанций, то сигналы точного времени можно получить только от р-станции "Маяк", да и то в Москве, да и то не уверен, что еще можно.
--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
|
|
|
|
|
Oct 19 2007, 09:46
|
Местный
  
Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101

|
А зачем столько геморроя - компьютер, контроллер, подключение-синхронизация? ЧАСЫ НА ЛЮБОМ КОМПЕ НАРИСОВАНЫ. Если есть интернет (а он есть) то идут точно. На змнее время сами скоро перейдут. Цитата(VDLab @ Oct 19 2007, 01:19)  ... Очень, кстати, нравилась мне эта фишка в минской "Электронике", правда больше нигде такого я в наручных часах не встречал, или других производителей проблема точности не так волновала? Да, очень хорошо было сделано. Главное, очень дешёвое решение в смысле программирования при совершенно понятном юзер интерфейсе. ИМХО дл япростых часов - самое оно. Потому что (рискую влезть в психологию) домашние часы, которые не надо подводить годами - раздражают. Они не ошибаются. Они без греха. Они лучше Вас.
|
|
|
|
|
Oct 19 2007, 11:41
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 22-03-07
Из: Novosibirsk
Пользователь №: 26 415

|
Цитата(CDT @ Oct 19 2007, 14:50)  Реально получен уход менее 1 сек/сутки (меньше минуты в месяц), в комнатных условиях (когда дрейф температуры не большой и циклический). Кварц 8Мгц, 10ppm, Atmega8. Если не врет моя логарифмическая линейка  , минута в месяц - это порядка 22 ppm. Обычный часовой кварц для обычных кварцевых часов  дает порядка 30 ppm при 25С и долговременный дрейф 3-5 ppm в год. Пусть с температурным дрейфом будет 40 ppm. Это две минуты в месяц. По-моему, для простых часов нормально. Предложенная здесь DS3231, для сравнения, даст уход меньше 2 минут в год. Интересно, в каких пределах емкостями можно перестраивать кварцевый генератор AVR с учетом ограничений на емкости? Пробовал кто-нибудь ставить варикапы? Интересно было бы попробовать подстраивать частоту, к примеру, tiny261 по температуре, чтобы выйти на 10 ppm в промышленном диапазоне. Лет десять назад в Спектруме (IEEE) видел статью, так там студенты сделали часы с GPS. Запомнилось тем, что индикация была на газоразрядных лампах
|
|
|
|
|
Oct 19 2007, 17:32
|

Частый гость
 
Группа: Свой
Сообщений: 133
Регистрация: 30-04-07
Из: DP.UA
Пользователь №: 27 419

|
Цитата(defunct @ Oct 19 2007, 01:20)  ...Да и софт простой - раз в месяц подключить часы к компу для синхронизации, в часах сравнить текущее время с синхронизируемым - получить дельту ухода за период, привести ее к часам или суткам (смотря что будет удобнее) и делать автоматическую программную коррекцию ежечасно(ежедневно)... То есть вы предлагаете сделать часы зависимыми(пусть хотя бы частично) от каких либо внешних устройств? И где здесь простота? Проверить, на сколько уходят часы и без компа займет пару минут, зачем лишний геморрой? Да и не забывайте, что кроме программы контроллера, нужно еще и комповый софт написать (а это, как ни странно не все умеют  ). Цитата 232C (3 провода) для вас сложен?  до жути  . Видите ли, у меня на компе нет СОМ портов, а переходники, заметно удорожают конструкцию, поэтому для общения своих устройств с компьютером пришлось выбрать USB HID...
|
|
|
|
|
Oct 23 2007, 19:02
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 15-10-07
Из: г.Екатеринбург
Пользователь №: 31 379

|
Добрые ночи. Все забыли о питании прибора говорить о точности в месяц значит никогда не выключать часы.В реальности не выйдет при обычном варианте. Если это решено то любой из вар. синхронизации приемлем с авт. коррекцией
|
|
|
|
|
Oct 30 2007, 09:57
|
Участник

Группа: Новичок
Сообщений: 25
Регистрация: 29-11-05
Из: Донецк
Пользователь №: 11 548

|
Цитата(Anjey_N @ Oct 30 2007, 13:16)  Вернулся я опять к этой теме. Буду ставить DS1307. Подскажите где можно подсмотреть программную релизацию интерфейса I2C на Си! 
i2c_avr.zip ( 3.07 килобайт )
Кол-во скачиваний: 251 Получите, что просили
|
|
|
|
|
Oct 30 2007, 17:41
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 12-01-07
Из: Энергодар Украина
Пользователь №: 24 374

|
Цитата(aai_m @ Oct 30 2007, 12:57) 
i2c_avr.zip ( 3.07 килобайт )
Кол-во скачиваний: 251 Получите, что просили Большое thank you very much
|
|
|
|
|
Nov 1 2007, 10:40
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата Делали часы на Tiny2313 с RTC DS1338C. До этого перепробовали несколько вариантов пока не остановились на DS1338C. Преимущества: Встроенный кварц 32768Гц 10ppm Эх, где Вы были раньше:-/ Купил DS1307(внешний кварц, 100кГц i2c, потребление от батареи 500нА), против DS1338C(Внутр/внеш. кварц, 400кГц-i2c, потребление от батареи 20нА,мах100нА)Возможна ли замена DS1307 на DS1338C в будущем? Скажите пожалуйста где Вы в даташите нашли 10ррм для внутреннего кварца?
Сообщение отредактировал adc - Nov 1 2007, 10:41
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Nov 1 2007, 14:36
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Первый пуск DS1307 оказался удачным. Все работает, ну или почти все..:-) Наткнулся на такие грабли: Батарейный вывод пока не использую, висит в воздухе. Данные то читаются то не читаются... Поиском обнаружил следующую проблему..При закорачивании батарейного вывода на землю, данные передаются уверенней.. а если просто коснутся то уходит спячку (время продолжает считать). Что делать? нашел вот такое обсуждение http://www.microchip.ru/phorum/read.php?f=...250&t=83250Но там все утверждают что посадить резюком на землю. В даташите написанно что возможно!! просто заземлить. Корректно ли будет если я кину ножку батарейного выхода на землю? Поделитесь пожалуйста своим опытом. Заранее спасибо!
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Nov 1 2007, 21:20
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(VladislavS @ Nov 1 2007, 22:46)  Что-то я не пойму смысла DS1307 без батарейки. Весь его смак как раз в том, что часы тикают от батарейки пока устройство выключено или обесточено форсмажором. Ну, да.. правильно. ну а если нет батарейки? в смысле не используется(идет как опция,хотите ставте ,хотите нет)? тогда мы не сможем читать данные с нее..
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Nov 2 2007, 08:08
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(GDI @ Nov 2 2007, 10:44)  Может у вас питание скачет, а т.к. батареи нет, то часы и сбрасываются? Может хотя бы конденсатор поставите вместо батареи с питанием через делитель или через пару диодов. Питание общее с контроллером м8535. Попробую с кондером, или батарею.. воткну..если уж совсем идей не будет.. Но все же согласитесь что ето не совсем правильное было бы (как бы условное) решение проблемы(причина не установлена). МК установлен с BODLEVEL 4В. питание стабильное около 5.1В. Напишу наверное программную проверку на предмет, был ли резет на МК. Цитата(GDI @ Nov 2 2007, 10:44)  А может сам интерфейс ваш глючит или команды не так подаете... Ну тут странно.. ведь работает же, то час, то 30мин.Программа на асме. Читаю данные, пишу. Все нормально. скорость уменьшил... Буду копать дальше..:-)
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Nov 2 2007, 18:44
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата(adc @ Nov 2 2007, 11:08)  Буду копать дальше..:-) Не занимайся ерундой. Перевесь кварц на проц и выкинь далас раз батарейка не планируется. Все равно суперточности на нем не добиться. А если надо программную коррекцию делать, то какая разница тогда что корректировать.
|
|
|
|
|
Nov 2 2007, 19:20
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(VladislavS @ Nov 2 2007, 21:44)  Не занимайся ерундой. Перевесь кварц на проц и выкинь далас раз батарейка не планируется. Все равно суперточности на нем не добиться. А если надо программную коррекцию делать, то какая разница тогда что корректировать. Делал я на конроллере часы... На контроллере висит много других задач, и к томуже не синхронных (внешние прерывания и т.п.) Вопрос то в том что микруха далосовская не работает..как надо.. Нехотелось бы из-за какойто мелочи просто "выкинуть". Девайс то удобный во всех отношениях.
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Nov 3 2007, 17:35
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Anjey_N @ Nov 3 2007, 20:03)  А у меня DS1307 заработала! Поздравляю! :-) Цитата(Anjey_N @ Nov 3 2007, 20:03)  Вот теперь бьюсь над вводом данных при помощи кнопок, и ничего не могу сочинить! Хочу применить 3 кнопки: 1-вызов меню: 2-увеличение данных: 3-переход на другой уровень. И чтобы редактируемое поле было мигающим! Ну как во всех электронных часах! Вот хочу спросить: Как вы это реализовали у себя? У меня пока так: читаю данные передаю на lcd (16-ти символьный). Несовсем понял как Вы хотите сделать меню?! Я наверное сделаю 1-кнопка переход в режим установки часов(и инкремент) 2-я-кнопка передвижение курсора вправо.(далее перебор всех значений с автоматическим переключением вывода на время, дата, день недели).А мигающее поле дык это просто. Работайте с указателем на редактируемый байт в памяти. Этот указатель будет указывать контроллеру какое значение инкрементировать. Он же будет указывать какой сигмент будет мигать. Во время работы режима "редактирования" подменяете при выводе на индикатор значение редактируемого байта пробелом через раз. Получается мигающий курсор. Удачи! зы:часы по непонятной причине продолжают сбрасываться в ноль ..:-( с этим сейчас разбираюсь
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Nov 4 2007, 07:37
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(Anjey_N @ Nov 3 2007, 21:38)  К моему стыду я до сих пор не понял "указатели". Можно разжевать поподробнее: Работайте с указателем на редактируемый байт в памяти. Этот указатель будет указывать контроллеру какое значение инкрементировать. Он же будет указывать какой сигмент будет мигать.
Или поделитесь кусочком кода!  Вы вроде пишите на С. Я же на асме. В роли указателя имелось в виду то , что есть массив (полное подготовленное поле(масив байтов) для вывода на дисплей). в нужное время мы его выводим. Указатель - в моем контексте, означал адрес текущего байта в этом массиве, который (адрес) хранится в какойто переменной. Вот так перед выводом на дисплей, находите байт на который указывает указатель :-), сохраняете этот байт, а вместо него подставляете символ пробела(' ' ) или подчеркивание('_').
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Nov 4 2007, 17:51
|

Частый гость
 
Группа: Свой
Сообщений: 106
Регистрация: 23-05-05
Из: Ташкент
Пользователь №: 5 324

|
Цитата(adc @ Nov 1 2007, 15:40)  Возможна ли замена DS1307 на DS1338C в будущем? Замена возможна если сразу предусмотреть место под DS1338C на плате (корпус SO-8 300mil). А внутренняя организация почти такая же. Завелась она кстати у нас с пол пинка  . Правда без батарейки не включали. Цитата(adc @ Nov 1 2007, 15:40)  Скажите пожалуйста где Вы в даташите нашли 10ррм для внутреннего кварца? Страница №9: Цитата DS1338C ONLY The DS1338C integrates a standard 32,768Hz crystal in the package. Typical accuracy at nominal VCC and +25°C is approximately 10ppm. Refer to Application Note 58 for information about crystal accuracy vs. temperature.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|