ATmega16 - konstrukce stopek a jejich přesnost

Zdravím.
Mám na stole rozdělanou kontrukci stopek, zatím to spíš testuji a ladím, takže zapojení je na univerzální testovací desce. Při porovnávání přesnosti s klasickými stopkami jsem po 5 hodinách měření zaznamenal rozdíl o cca 1,4 sekundy více než na stopkách. Co myslíte, že by mohlo být přesnější - mikrokontroler nebo stopky? Stopky jsem použil celkem kvalitní, značky Olympia (cena cca 1100 Kč)

Měření budu dle možností opakovat s jinými typy stopek, tak uvidím, jak se budou jednotlivá měření lišit.

Program je psaný v Céčku, je celkem krátký - v podstatě jen přičítám 1ms impulzy a zobrazuji výsledek na lcd displeji 16x2. Impulz 1 ms je vždy po pěti přetečeních čítače, který je řízený krystalem 16 MHz použitým i pro hodiny MCU.

Finální konstrukce by měla primárně měřit časy do max. 5 minut s přesností na 0.01s, takže chyba by se neměla ani projevit, ale stejně mi to vrtá hlavou :smiley:

Presnost nezmerias inymi stopkami (tie mozu byt i viac uletene vzhladom na teplotne zavislosti). Okrem toho si nemyslim, ze su stopky primarne konstruovane na dlhodobu casovu a teplotnu stabilitu, ale skor ide o to zmerat na “bezeckej drahe” cas dostatocne presne. Bezne stopky nie su teplotne a vlhkostne kompenzovane.
Najlepsie si je okalibrovat svoje zariadenie tak, ze ho nechas bezat 24 hodin a na zaklade casu - napr. z televiznych hodin, ktore beru casomieru z nejakych atomoviek (aspon by mali), alebo z DCF77kHz si presnost nastavenia svojho Xtalu zistis velmi presne. Pre presnejsie meranie pouzi nasobok 2 dni - 1 tyzden.
Na zaklade rozdielu vkladaj kazdu minutu/hodinu/den korekcnu konstatnu, ktora cas “zrovna” s tym atomovym. Alebo si daj miesto tych malych C pri Xtale C trimre a dosolichaj si vysldnu frekvenciu srobovakom. Ale to by som pre velku pracnost nedoporucoval.

Nezabudni, ze to vsetko zavisi od teploty a od vlhkosti (Xtal nie, ale tie dva kondiky ano, lebo okolita vlhkost ovplyvnuje ich nahradnu schemu CRL a ta zase vyslednu frekvenciu kmitania Xtalu) okolia. Nezabudaj, ze Xtaly su teplotne zavisle a este viac tie keramicke C, takze sa niet nad cim divit, ze je frekvencia ina ako ta “presna”.

Testoval jsem to při pokojové teplotě a deska i stopky ležely vedle sebe, takže na teplotě by výsledek závislý být neměl. Uvidím, co naměřím s jinými stopkami, třeba se budu divit, až naměří patery stopky každé něco jiného :smiley:

Teplotní závislost je mi jasná, ladit to přidáváním nějaké konstanty nijak nebudu, protože jak jsem psal, měřené časy budou v řádech minut a přesnost na setinu sekundy, to se ani ručně stopkami změřit nedá. Ale ozkouším to opět pomocí stopek za mlhavého nebo deštivého počasí a potom při pokojové teplotě, to by mohlo být zajímavé.

Hodiny s DCF nemám, ale to porovnání s časem v TV by mohlo po 24 hodinách být zajímavé, díky za tip.

Jen tak pro zajímavost, netušíte někdo, jak se řeší časoměrné zařízení, aby bylo co nejméně závislé na teplotě? Napadá mě snad jen umístit to celé do nějakého stálého prostředí (zapouzdřit a odizolovat, nebo tak nějak) a potom to zkalibrovat.

Ale ved to je predsa samozrejme, ze kazde stopky budu merat nieco ineho. Vyrabaju sa predsa s urcitou triedou presnosti, tak rozdiely by nemali byt vacsie ako je tato presnost, ale urcite medzi nimi rozdiely budu.

Aby boli klasicke mechanicke hodinky co najmenej zavisle od teploty, maju osky ulozene v “kamenoch”.

10minut ma 60000 stotin sekundy. Pozadovana presnost je teda 0.016%.
Bezne Xtaly maju zavislost zmenu frekvencie okolo +/-20ppm v celom teplotnom rozsahu (-20 +70°C). Inicializacna presnost byva okolo 20-50ppm.

1% je 10000ppm -> 0.016% zodpoveda 160ppm.

Takze tuto presnos - co sa Xtalu tyka - v pohode dosiahnes.

Jedine tak. Robi sa to vytvorenim samostaneho priestoru (krabicky), ktorej vnutro je vyhrievane (vykonovy odpor, tranzistor) na stabilnu teplotu, napriklad 50°C. Teplota je volena tak, aby aj pri najvyssich prevadzkovych teplotach bude treba priestor vyhrievat (chladi sa dost blbo - peltierove clanky su na toto zbytocne komplikovane). V tomto priestore je umiestney Xtal s celym oscilatorom.

Dalsia - ale casovo pracnejsia metoda je, vediet aka je vystupna frekvencia pri tej ktorej teplote. Staci vediet vystupnu frekvenciu pre cca kazdych 5°C.
Zaklad moze byt citac (interny v procesore) napr do 60100. Po dosiahnuti tejto hodnoty sa vyvola prerusenie. Ak sa pocita frekvencia 12MHz, prerusenie pride kazdych 5ms. Podla nameranej teploty, vlozim do citaca ako vychodziu hodnotu 100 +/-namerana korekcia. Tym sa da s jemnosotu cca 1/60100 korigovat vystupna frekvencia.
Mozeme teda zmerat cas s presnostou cca 1/60100 pre velmi siroky rozsah teplot, pri znacnej jednoduchosti zariadenia.
Ale to sa mi uz zda byt pre tento pripad zbytocne.

To odpovídá chybě 78 ppm. Pokud je krystal nenaladěn na svůj kmitočet, je to normální.

Z toho vyplývá přesnost na krystal 33 ppm. To by se dalo udržet na teplotně nekompenzovaném krystalu jak v kancelářských podmínkách tak i venku. Technické informace najdeš na
jauch.de/ablage/med_00000363 … 131008.pdf
jauch.de/pages/us_crystal_notes.php5
Krystal je nutné přesně naladit kapacitním trimrem, nejlépe skleněným a napětí na něm by mělo být cca 1 - 2Vpp.

Udělat přesnej a stabilní oscilátor je fuška. Dnes je lepší koupit hotovej třeba od MAXIMa nějakej teplotně kompenzovanej TCXO. Pracují s krystalem na 32kHz, ale jsou dostatečně přesné a hlavně levné.

Teplotní závislost nemá nic společného s kameny, ale se změnou tuhosti vlásku a roztažností kovů vlivem teploty, která se kompenzuje bimetalem na nepokoji.

Tak to si se spletl o řád. Dělá to 16,6 ppm = 0,00166%. Na to nekompenzovaný krystal už nestačí, pouze v omezeném teplotním rozsahu.

Tak tak, dakujem za opravu :slight_smile:
Ale vyrobcovia pisu stabilitu beznych Xtalov v rozmedzi +/-20ppm v celom teplotnom rozsahu, napriklad Jauch ci Epson -20 + 70°C.
Nepisu, ze by to bolo 20ppm na stupen, ale na cely rozsah. V tom co som nasiel, je to tam tak nejak divne napisane, az som sa divil. Najprv mi bolo az divne, ze by Xtal mal teplotnu stabilitu blizku beznemu odporu (50ppm/1°C). Info, ze sa jedna o cely rozsah, ma upokojila. Inak by bezny RC oscilator bol stabilny prblizne ako Xtal, co je teda riadna capina. Som preto nachylny verit tomu, ze tych 20ppm je pre dany teplotny rozsah a nie na 1°C.
A tych 20ppm zase nie je az tak vzdialene od 16.6ppm.

Jenomže běžně se krystaly vyrábí s 30ppm a to platí v rozsahu teplot -10°C až +60°C viz gme.cz/cz/index.php?page=pro … il=131-019
Podobně i Jauch dodává s 30ppm. Výšší přesnost je jen na objednávku. Jedná se pouze o chybu způsobenou teplotou. K tomu je potřeba přičíst ještě stárnutí (běžne 5ppm/rok), vliv kondenzátorů a parazitních kapacit a vliv vlasního oscitátoru (parazitní kapacity PN přechodů). Výsledkm je pak oscilátor dosahující přesnosti 100ppm v lepší případě 50ppm, viz
gme.cz/cz/index.php?page=product&id=04015
Zde je brán větší teplotní rozsah.

Tak díky za podněty, zatím zkusím ten krystal doladit trimrem a popřemýšlím nad tím teplotně kompenzovaným Maximem. Po letmém poohlédnutí bych to viděl na typ DS 3232 nebo DS 3234, tam by se měla přesnost pohybovat okolo 3,5 ppm.