Stránka 12 z 13
Re: Hodiny a časování
Napsal: 19 lis 2016, 07:55
od pgerla
Rozdíl mezi rezonátorem a krystalem je v úspoře místa (za kondenzátory).
Kondenzátory přímo ovlivňují frekvenci na které se krystal rozkmitá.
Je tedy fajn, že si koupíte supr přesný krystal s ppm 3 (nikoliv 30). Ale na jaké frekvenci bude kmitat určuje kapacita (kondenzátory + DPS).
Výrobce se logicky brání označením 0.5% z nominální frekvence. Což je přibližně +/- 80 000 Hz rozptyl od 16 MHz.
Kolik dává toleranci výrobce Arduina?

Re: Hodiny a časování
Napsal: 19 lis 2016, 08:20
od daton
Zdravím
takto vykládat funkci krystalu je asi trochu zavádějící. Frekvence krystalu je dána výbrusem. Krystal seříznutý na kmitočet 16kHz nebude kmitat na 40MHz a opačně. Ten výbrus či dnes řez je docela zásadní protože krystal při přivedení frekvence která téměř dosahuje kmitočtu výbrusu začne vibrovat a tyto vibrace jsou nejsilnější právě na daném kmitočtu (alespoń tak nás to učili) tak že se oscilátor v čipu doladí přesně na kmitočet toho krystalu. Kondenzátory které bývají před krystalem jsou pouze pro oddělení od obvodů oscilátoru a mohou být implementované na struktuře čipu. Krystal má výbrus z křemíku nebo z materiálu podobných a vyráběly obvykle pro vyšší kmitočty,
Rezonátory se vyráběly pro lacinější zařízení a hlavně nižší kmitočty (což už dnes asi neplatí). Bylo to určeno materiálem a hlavně tím, že rezonátor neměl vakuovou schránku kolem sebe (proto bývají krystaly větší).
Kondenzátory tedy rozhodně nelze měnit frekvenci kmitání krystalu, možná ji mírně ovlivnit ale opravdu jen nepatrně. A krystaly mají vždy jen dva vývody kdežto rezonátory mohou mít až čtyři.
Re: Hodiny a časování
Napsal: 20 lis 2016, 09:27
od pgerla
daton píše:Zdravím
takto vykládat funkci krystalu je asi trochu zavádějící. Frekvence krystalu je dána výbrusem. Krystal seříznutý na kmitočet 16kHz nebude kmitat na 40MHz a opačně.
Nikdo nemění frekvenci z 16 na 40, přesto se doučte jak harmonické násobky ovlivní chování výbrusu.
Kapacita kondenzátorů usnadňuje rozkmitání krystalu a ovlivňuje NEPATRNĚ jeho rezonanční frekvenci! Kapacita se zas mění s teplotou pouzdra a zas se posune frekvence.
Podle počtu nožiček odlišíte mouchu od pavouka, když nevidíte na obrázku proč má pouzdro obsahující kromě krystalu i dva kondenzátory nožičky tři.
Re: Hodiny a časování
Napsal: 20 lis 2016, 12:04
od Jirka
Ty millis mi nedají spát. Co říkáte na toto provedení.
Kód: Vybrat vše
// ??? asi OK i pri preteceni, rozdil NANO (kýve se) +- do 5 sec./6hod.
#include <Arduino.h>
int hodin=12,minut=0,sekund=0; // nastaveni startu
unsigned long systemovycas,starycas; // aktualni, pamet
bool prodlevapulz; // pulz kazdou prodlevu na 1 obeh
int cas1,cas2,cas3; // casovace
// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
void casInkrement () //
{
prodlevapulz=0;
systemovycas = millis()/1000; // merim na 1 sec.
if (systemovycas != starycas) //
{ prodlevapulz=1; // pulz kazdou prodlevu na 1 obeh
starycas = systemovycas; // pamet
}
}
// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
void hodiny()
{ sekund=sekund+1;
if (sekund==60)
{sekund=0;
minut=minut+1;}
if (minut==60)
{minut=0;
hodin=hodin+1;}
if (hodin==24)
hodin=0;
Serial.print(hodin);
Serial.print(":");
Serial.print(minut);
Serial.print(":");
Serial.println(sekund);
}
void setup()
{ // SSSSSSSSSSSSSSSSSSSSSS
Serial.begin(9600);
// lcd.begin(16,2);
pinMode(13,OUTPUT);
casInkrement ();
}
void loop()
{ // ZZZZZZZZZZZZZZZZZZZZZZZZ
casInkrement();
if (prodlevapulz)
hodiny();
cas1 = cas1+prodlevapulz; //
if (cas1==4)
digitalWrite(13,1);
if (cas1==7)
{
digitalWrite(13,0);
cas1=0;
}
delay(990);
// KKKKKKKKKKKKKKKKKK
}
Re: Hodiny a časování
Napsal: 20 lis 2016, 13:02
od fulda
Pozor na desítkové dělení v případě přetečení.
Maximální hodnota
unsigned long
je 4.294.967.295, takže při přetečení (nastává každých 49 dní, 17 hodin 2 minuty a 47,295 vteřin budeš mít vteřinu kratší o 705 milisekund, protože po přetečení okamžitě vyhodnotíš změnu jako novou vteřinu.
Kombinace desítkové a dvojkové soustavy je swinstvo.
Mimochodem - daton mne správně upozornil, že v tom mojem kódu je také chyba. pokud mi vychází
tik
těsně před přetečení a naopak
ms
stihnu až po přetečení, tak to podmínka neodchytí a rogram bude čekat téměř na věky věků.
P.S. nějak se ti netrefila direktiva code

Re: Hodiny a časování
Napsal: 20 lis 2016, 13:28
od Jirka
Zdar. Nechtěl jsem původně zabrat tolik na stránce. Jak se to code správně dělá?
S přetečením? Jo už to vidím. Ale už to řeším jen mimochodem (podle zkoušek je to stejně jen na kratší časy). Ale nenarůstá chyba.
"Kombinace desítkové a dvojkové soustavy je swinstvo." - co máš na mysli?
Re: Hodiny a časování
Napsal: 20 lis 2016, 18:19
od daton
Podle počtu nožiček odlišíte mouchu od pavouka
Na tohle reagovat nebudu.
Ke zbytku, ohledně rezonátorů co jsou na vašich obrázcích je vše základní co potřebujete vědět zde
http://www.murata.com/~/media/webrenewa ... /p17e.ashx
A k běžným krystalům používaným v arduinech jsou informace zde
https://en.wikipedia.org/wiki/Crystal_oscillator
nechť se tedy poučí kdo chce sám.

Re: Hodiny a časování
Napsal: 20 lis 2016, 19:40
od pgerla
daton píše:nechť se tedy poučí kdo chce sám.

Tedy Vás poučím Datone
Procesory Atmel používají Piercův oscilátor
a jeho funcki pochopíte ze stránky Wikipedie
https://en.wikipedia.org/wiki/Pierce_oscillator
Pana učitele požádejte o pomoc se stavbou tohoto zapojení:
Chcete-li se dále ztrapňovat, jsem Vám k dispozici ve všední dny i na nevšední otázky.
Re: Hodiny a časování
Napsal: 20 lis 2016, 19:49
od daton
nechť se tedy poučí kdo chce sám
Promiňte pane Pgerlo sám znamená sám, od vás opravdu rady ani poučení nepřijímám to si nastuduji u výrobce a reagovat již na vás nebudu, protože téma bylo celé jinak a jednalo se o určení zda je tam rezonátor či krystal a to se stalo v mém minulém příspěvku. Další debata je bezpředmětná.
Re: Hodiny a časování
Napsal: 21 lis 2016, 07:35
od pgerla
daton píše:Další debata je bezpředmětná.
To máte pravdu, pohledal jsem na internetu "vaše" millis() o kterém je tu zbytečná debata, bez ohledu na nepřesnost zdroje kmitočtu.
https://ucexperiment.wordpress.com/2012 ... -function/
Vám nebráním v další debatě jestli je lepší rezonátor z vakuových trubic, nebo od číňana.
Chybama se člověk učí, pokud není nepoučitelný
