Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Идеи за сверяване на часовник
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=13410
Страница 1 от 2

Автор:  Zeus [ Пон Дек 08, 2014 9:45 pm ]
Заглавие:  Идеи за сверяване на часовник

Постановката е следната:
Имам готово китче от eBay с DS1302+батерия. Другата част на схемата е PIC16LF777 +индикация (ще има и бутони за сверяване).
В момента съм реализирал цикли за часове, мин, сек със софтуерен дилей и на всяка минута чета от DS1302 стойностите и актуализирам променливите в циклите.
Интересно ми е какви други идеи ще споделите за сверяването, които евентуално да взаимствам.

Автор:  Cekins [ Вто Дек 09, 2014 10:07 am ]
Заглавие:  Re: Идеи за сверяване на часовник

В какъв смисъл идеи? Примерно тоя DS няма ли 1 Hz изход? Ако има за какво ти е да го актуализираш, при положение, че винаги ще вървиш синхронно с него. Подаваш си изхода на RB0 с прекъсване и там си смяташ часовете. А дс-а го ползваш само за : 1.при power up си прочиташ какво има в него и се "сверяваш" 2. SRAM (ако има - тоя не го знам има ли). Примерно аз ползвам по-често DS1307 - в рамта на определено място си записвам някаква комбинация от данни по които детектвам дали е имало power cycle на DS-а - демек сменяна е батерията. Ако контролера си намери данните значи всичко е ок. Ако не ги намери си го инициализира за да тръгне в нужния режим - да си пусне кварца, 1Hz на изхода и т.н. Ако ползваш дата, на всеки 24 часа (в 0.0.0) прочиташ и датата от ртц-то, за да не си играеш да смяташ датите, макар че за сверяването ще ти трябва. По принцип можеш да запишеш каквото ти дойде на ум в регистрите на ртц-то - ще станат коректни чак когато дойде ред да инкрементва дадения регистър. Примерно в полето за дата можеш да сложеш 60 - ще стане 1 чак когато стане 0.0.0 часа. Това важи и за минути, часове, секунди и т.н. Тоя модел нямат и DST - гледах оня ден датшита на DS3232 - там мернах нещо за DST което е много арна екстра. И ако смяташ тоя часовник да е някъде на открито - горещо ти преоръчвам нещо от тая серия с вградени кварцове и температурно коригирани.

Автор:  bateAz [ Вто Дек 09, 2014 12:11 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Евтино, надеждно и много точно: GPS

Автор:  Vesko [ Вто Дек 09, 2014 1:58 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

един или два бутона не вършат ли работа за сверяване?

Автор:  Zeus [ Вто Дек 09, 2014 2:07 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Cekins написа:
В какъв смисъл идеи? Примерно тоя DS няма ли 1 Hz изход? Ако има за какво ти е да го актуализираш, при положение, че винаги ще вървиш синхронно с него. Подаваш си изхода на RB0 с прекъсване и там си смяташ часовете. А дс-а го ползваш само за : 1.при power up си прочиташ какво има в него и се "сверяваш" 2. SRAM (ако има - тоя не го знам има ли). Примерно аз ползвам по-често DS1307 - в рамта на определено място си записвам някаква комбинация от данни по които детектвам дали е имало power cycle на DS-а - демек сменяна е батерията. Ако контролера си намери данните значи всичко е ок. Ако не ги намери си го инициализира за да тръгне в нужния режим - да си пусне кварца, 1Hz на изхода и т.н. Ако ползваш дата, на всеки 24 часа (в 0.0.0) прочиташ и датата от ртц-то, за да не си играеш да смяташ датите, макар че за сверяването ще ти трябва. По принцип можеш да запишеш каквото ти дойде на ум в регистрите на ртц-то - ще станат коректни чак когато дойде ред да инкрементва дадения регистър. Примерно в полето за дата можеш да сложеш 60 - ще стане 1 чак когато стане 0.0.0 часа. Това важи и за минути, часове, секунди и т.н. Тоя модел нямат и DST - гледах оня ден датшита на DS3232 - там мернах нещо за DST което е много арна екстра. И ако смяташ тоя часовник да е някъде на открито - горещо ти преоръчвам нещо от тая серия с вградени кварцове и температурно коригирани.


На мойто модулче няма 1Hz. Като гледам дейташийта - и там няма. По принцип в началото на програмата винаги чета данните за часа, така че след спиране на тока винаги ще имам актуална информация. Може би за часа ще го оставя така-през 1 мин. За датата ще помисля.

Автор:  Zeus [ Вто Дек 09, 2014 2:08 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Vesko написа:
един или два бутона не вършат ли работа за сверяване?


Заглавието е малко объркващо :) . Както съм написал, става въпрос за актуализация на данните от DS към контролера

Автор:  Vesko [ Вто Дек 09, 2014 2:47 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Това пък не е ли още по-лесно.... просто се чете от време на време

Автор:  Cekins [ Вто Дек 09, 2014 3:16 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Е защо тогава избра точно модул. Вчера гледах в ТМЕ имат за 12 лв. някъде DS3232. Всичко му е вътре и имаш нужда само от батерия. При старт само ако го четеш може часовника да не е бил пуснат и да си четеш само едно и също нещо. Регистрите не се инициализират на 0 при включване на захранването - значи можеш да четеш случайни стойности. За това пиша някаква комбинация от байтове в рамта. Шанса "случайно" при power up да се появи точно мойта комбинация е почти нулев. На DS1307 трябва да се запише 0 в бит 7 на секундите за да тръгне осцилатора. Същото е и с този.

Автор:  Zeus [ Вто Дек 09, 2014 6:21 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Cekins написа:
Е защо тогава избра точно модул. Вчера гледах в ТМЕ имат за 12 лв. някъде DS3232. Всичко му е вътре и имаш нужда само от батерия. При старт само ако го четеш може часовника да не е бил пуснат и да си четеш само едно и също нещо. Регистрите не се инициализират на 0 при включване на захранването - значи можеш да четеш случайни стойности. За това пиша някаква комбинация от байтове в рамта. Шанса "случайно" при power up да се появи точно мойта комбинация е почти нулев. На DS1307 трябва да се запише 0 в бит 7 на секундите за да тръгне осцилатора. Същото е и с този.


Защото цялата сглобка барабар с батерията е $1.5
http://www.aliexpress.com/item/Free-Shi ... 08189.html
Взех си два ей така за играчката, та сега реших да си сглобя едно часовниче да свети в тъмното.

Автор:  Cekins [ Вто Дек 09, 2014 6:54 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

ок - няма проблеми - то е съвсем нормална тая цена - в ТМЕ са по около $1 за 100 броя.

Тоя чип има едно единствено предимство - може да зарежда батерийка. Значи системата ти трябва да е както ти описах. Чипчето има си има и малко рам - та няма да ти е проблем. Аз така съм го правил и не съм имал грижи до сега.

Автор:  ike [ Вто Дек 09, 2014 7:05 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

С батерии:
http://www.ebay.com/itm/DS1302-Real-Tim ... 3f3a685c2e
http://www.ebay.com/itm/Real-Time-Clock ... 2a464819bc
без батерии:
http://www.ebay.com/itm/New-DS1302-Cloc ... 4621fd7e11
http://www.ebay.com/itm/Real-Time-Clock ... 1c411e15ae
5 броя батерии:
http://www.ebay.com/itm/New-5pcs-CR2032 ... 41879cb837

как да ти изглежда програмата:
1. спи около 1 секунда/минута
2. прочети времето
3. покажи времето
4. GOTO 1

Тези модули са подходящи например ако имаш R pi, който се ползва без мрежа и няма от къде да си вземе времето.
Иначе ако контролера ти има режим с ниска консумация(те всичките вече го имат това) можеш да си направиш софтуерен RTC с един 32к кристал. Ако не те мързи и чипа има ADC можеш и температурна компансация да сложиш, но в общя случай един 32к кристал има напълно задоволителна точност.

Автор:  Zeus [ Вто Дек 09, 2014 7:24 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Благодаря за идеите.
"Последно" ще остане така
Въртя в цикъл секундите от 0 до 59. При преминаването към 0 чета регистрите, актуализирам си променливите за индикацията и почвам нов цикъл.
За дата - може би ще я прочитам в 0:00 часа

Автор:  ike [ Вто Дек 09, 2014 8:05 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

А какво те спира всяка секунда да прочиташ датата, часовете, минутите и секундите и да ги изобразяваш, без да дублираш регистрите в паметта и после да ги изобразяваш?

Автор:  stefan63 [ Вто Дек 09, 2014 9:05 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

Този PIC16LF777 нещо друго освен да брои от 0 до 59 няма ли да прави?
Тва си е разхищение , някой трябва да ти го каже, в раздел Академия.

Автор:  Zeus [ Вто Дек 09, 2014 9:09 pm ]
Заглавие:  Re: Идеи за сверяване на часовник

stefan63 написа:
Този PIC16LF777 нещо друго освен да брои от 0 до 59 няма ли да прави?
Тва си е разхищение , някой трябва да ти го каже, в раздел Академия.


Ми да му пусна да свири чалга :lol:

Все пак ще върти динамично 14 седемсегментни индикатора. Даже си мисля, че на 8MHz вътрешен осцилатор ще трептят, та може и външен на 20 MHz да му вържа

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/