| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Кварц за часовник http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=8062 |
Страница 1 от 3 |
| Автор: | npelov [ Чет Авг 19, 2010 10:20 am ] |
| Заглавие: | Кварц за часовник |
Наскоро си правих часовник за снемане на едни графики. Използвах 32,768 kHz кварц и 16 битов брояч (Т1 май беше на ПИК18). При прекъсване просто увеличавам старшия байт с 128. Вървеше добре, но доста избързваше. За едно денонощие с около 20 сек. Видях че кварца е 20 ппм което означава че на 1 000 000 секунди е неточен с до 20. 1М сек са около 278 часа. Това е около 1 сек. на 14 часа. Очевидно моята схема (или програма) има други проблеми, но почти 2 сек. на денонощие си е голяма неточност дори моето изпълнение да е перфектно. Намират ли се някъде по-добри кварцове? Или пък има друг начин да се компенсира? Гледах ПДФ-то на кварца и пише че старее с 3 ppm на година и температурна нестабилност 0.006 ppm на градус. Т.е. ако се змери неточността на кварца и се компенсира с брояча на теория трябва да остане приблизително точен - 1 сек неточност за 192 дни при 10 градуса под или над 25C - по-приемливо. За тази цел - графики - не е проблем че за графика снемана за 48 часа ще е неточна с 10-20 сек. Но ми се налага да използвам часовник и в други цели където трябва малко по-точно време за дълъг период от време. Отделен чип като DS1338Z ще подобри ли стабилността? |
|
| Автор: | velio [ Чет Авг 19, 2010 10:42 am ] |
| Заглавие: | |
Откъде ти е купуван кварца? Някои кварцове просто не са некачествени. Друго - изполваш ли подходящия кварц за твоя генератор? |
|
| Автор: | dan [ Чет Авг 19, 2010 11:05 am ] |
| Заглавие: | |
Дай и точната схема. |
|
| Автор: | Cekins [ Чет Авг 19, 2010 1:19 pm ] |
| Заглавие: | |
Значи генератора на пика е направен да може от 32кХз до 200 кХз - следователно за да си докараш точност ти трябват и добре подбрани кондензатори. DS1307 (примерно) е направен да работи само с 32кХз и няма нужда от кондензатори за да отлепи кварца - явно са му вградени. Пробвал съм с три-четири вида кварцове (от Комет и от други места) и наблюденията ми са че с един и същ модел с DS1307 ми дава около 30 сек. на месец а директно с пика до 5-6 на ден. Ако гониш вече точност в комета има TCXO - ама е скъпичко. |
|
| Автор: | zaphod [ Чет Авг 19, 2010 1:43 pm ] |
| Заглавие: | |
тръгнал е на другия си резонанс , щом избързва начи честотата му е висока, значи караш на паралелен резонанс, а трябва на сериен |
|
| Автор: | plameniv [ Чет Авг 19, 2010 5:19 pm ] | |||||||||
| Заглавие: | ||||||||||
Няма такова нещо да тръгне на друг резонанс особенно при ниска честота. При DS... няма никакъв софтуер а са едни броячи и само им четеш изходите затова са за предпочитане, друг е въпроса с точноста на кварца . Като се прави с контролер винаги има неточност заради времето за влизане в прекъсване забавяне във инструкциите и т.н., задължително трябва да има компенсиране в програмата. Има и друг момент че външните кондензаотри около този кварц също оказват влияние на честотата, при определена температура може да е по висока а при друга по ниска. Най добре си мини на DS.. така няма да имаш всички тези главоболия. |
||||||||||
| Автор: | bateAz [ Чет Авг 19, 2010 7:44 pm ] |
| Заглавие: | |
А бе я пусни да видим и сорса. Аз като видя "ПИК" и веднага си представям и софтуерни недоклащания. |
|
| Автор: | Cekins [ Чет Авг 19, 2010 9:14 pm ] |
| Заглавие: | |
Бате, принципно при 32кХз времето за записване на $80 в горния байт на таймера + времето за влизане в прекъсването е доста по малко от един период на 32-та. кхз. Това са си всичко на всичко не повече от 10 - 20 инструкции (като слагам и проверка за поне още 5 прекъсвания). А и ако се гони точност може да се сложи първо в ISR-а. |
|
| Автор: | bateAz [ Чет Авг 19, 2010 9:38 pm ] | |||||||||
| Заглавие: | ||||||||||
тъй, тъй ... И ти би го сбъркал ... |
||||||||||
| Автор: | Cekins [ Чет Авг 19, 2010 10:08 pm ] |
| Заглавие: | |
Кое да сбъркам? едит : всъщност когато ще правя часовник ползвам DS1307. Когато само ще меря някакви кратки интервали(оборотомери, таймери и др. подобни) тогава ползвам осцилатора на пика. |
|
| Автор: | bateAz [ Чет Авг 19, 2010 11:20 pm ] | |||||||||
| Заглавие: | ||||||||||
Когато е необходимо ПРЕЦИЗНО да се измерва време, таймерите се сетват в режим на автоматично презапускане. Така времето и моментът на обработка на прекъсването няма значение, важното е само да не се пропусне прекъсване. А пропускът е ГСП ( Груба Селска Проява ). Какви 10-20 инструкции, какви 5 лева с лихва 9% ? Ефектът, който е описан по-горе, се получава, когато таймерите се презапускат програмно. Тогава се появява едно недефинирано закъснение в отчитането на времето, като ефектът е закъснение на часовника. Това се компенсира софтуерно със зареждане на по-малка константа в регистрите на таймера. При прекомпенсиране имаме избързване. Това е типична слабост на ПИК-програмистите. Дължи за на компилатора CCS, който си мисли, че можа да прави всичко и то добре. Ама не е така. |
||||||||||
| Автор: | Ники [ Чет Авг 19, 2010 11:39 pm ] |
| Заглавие: | |
чета и не мога да вдяна що се хабите В чаршафите на всеки пик е описано с примерен код как се ползва таймер за 32кхз осцилатор тук няма пускане и спиране, таймера непрекъснато си брои, само при пиковете е особеност да се сетва старшия бит na TMR1H всяка секунда, за да брои винаги до 32768, закъснение от няколко инструкции няма как да окаже влияние, с изключение на процесорите в които има хардуерен бъг, описан е, че може да се пропуска 1 период от брояча заради програмното несинхронизирано обновяване на таймер с външен източник., но има описан и уоркъраунд |
|
| Автор: | HappyMan [ Пет Авг 20, 2010 6:24 am ] |
| Заглавие: | |
Аз пък просто ползвам кварц на 4.096 MHz |
|
| Автор: | Cekins [ Пет Авг 20, 2010 8:44 am ] |
| Заглавие: | |
Ники, за да бъдем честни пиковете с тоя бъг са ... 90% от всички най използвани. Обаче пък един клок грешка е 2,6 секунди на денонощие. Което пак е доста по малко отколкото казва колегата. Бате аз не ползвам CCS. |
|
| Автор: | zaphod [ Пет Авг 20, 2010 9:13 am ] |
| Заглавие: | |
добре де, а защо не пробваш с оня архаичен уред наречен честотомер? знам, не са на мода днес, но вършат работа. |
|
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|