Hodiny s AVR

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
1N4148
Příspěvky: 185
Registrován: 15 led 2012, 01:00

Hodiny s AVR

#1 Příspěvek od 1N4148 »

Chtěl bych realizovat digitální hodiny řízené mikrokontrolérem ATmega, nicméně nemůžu použít krystal 32,768kHz, protože kromě řízení hodin bude procesor dělat ještě další věci, takže bude potřeba mít frekvenci co nejvyšší. Existuje nějaký krystal s vyšší frekvencí, vhodný pro použití v hodinách?
Když to fungovalo loni, musí to fungovat letos taky.

Uživatelský avatar
mira2830
Příspěvky: 238
Registrován: 05 lis 2006, 01:00
Bydliště: Praha
Kontaktovat uživatele:

#2 Příspěvek od mira2830 »

Ideální řešení na hodiny by bylo asi použít přímo RTC obvod. Ale nejspíš by šlo taky jako krystal připojit klasicky 16MHz a hodinovým signálem (viz třeba odkaz nebo ještě s děličkou) vyvolávat přerušení a v něm inkrementovat hodiny. :)

Uživatelský avatar
monterjirka
Příspěvky: 2761
Registrován: 14 čer 2003, 02:00
Bydliště: Blížejov

#3 Příspěvek od monterjirka »

Prakticky každý krystal nějaké vyšší frekvence je možné použít pro hodiny, přerušením od interního čítače spustíš "přičtení časové jednotky" a nějakou vloženou instrukcí NOP se dá co nejvíce přiblížit správné "rychlosti" a něco málo se ve finále dá dorovnat "popoladěním" krystalu.

Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 02:00
Bydliště: Kadaň
Kontaktovat uživatele:

#4 Příspěvek od Jenda_KL »

vždyť můžeš použít i krystal 32k.
Ten se připojí na piny kam krystal patří a T2 se nastaví do async_mode.
Procesor se nechá běžet na interní RC (8MHz) a T2 běží z připojeného krystalu.
Pokud je to napájené ze záložní baterky, nechá se MCU po vykonaném T2OVF uspat a téměř nic to nežere.

Jinak platí výše uvedené, jen je potřeba si to spočítat.

Uživatelský avatar
Hydrawerk
Příspěvky: 7678
Registrován: 13 pro 2011, 01:00
Bydliště: Earth

#5 Příspěvek od Hydrawerk »

Přimlouvám se za ten RTC obvod. http://www.youtube.com/watch?v=Gb1ErRRsZPQ

Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#6 Příspěvek od nekmil »

Sám bych sice použil RTC ale "Jenda_KL" to popsal zcela přesně. Není třeba žádný další obvod, procesor běží na vnitřní RC oscilátor. A pokud by 8 MHz bylo málo tak použijemě krystal.
"Jenda_KL" :potlesk:

Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 02:00
Bydliště: Kadaň
Kontaktovat uživatele:

#7 Příspěvek od Jenda_KL »

Dík, že ty dva dny koumání někdo ocenil ))
taky jsem netušil že to jde.

Uživatelský avatar
1N4148
Příspěvky: 185
Registrován: 15 led 2012, 01:00

#8 Příspěvek od 1N4148 »

nekmil píše:... A pokud by 8 MHz bylo málo tak použijemě krystal.
Dají se k mikrokontroléru připojit 2 krystaly?
Když to fungovalo loni, musí to fungovat letos taky.

Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 02:00
Bydliště: Kadaň
Kontaktovat uživatele:

#9 Příspěvek od Jenda_KL »

Nedají, druhý není potřeba.
Interní RC 8MHz stačí pomalu na všechno.
externí XT 32kHz časuje jen RTC které běží jako T2 nezávisle.

Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 01:00
Bydliště: Brno

#10 Příspěvek od ross4435897 »

a precetl si nekdo jakou ma tento "kalibrovany" vnitrini oscilator toleranci? :D
ja hlasuji pro RTC modul ...

Uživatelský avatar
sewerman_cz
Příspěvky: 289
Registrován: 13 úno 2011, 01:00
Bydliště: Brno
Kontaktovat uživatele:

#11 Příspěvek od sewerman_cz »

Vnitřní oscilátor nemusí být přesný, hodiny řídí 32 kHz krystal. Přesně takhle jsem si dělal taky hodiny tady je odkaz i s kódem.
http://elektro.akceasouteze.cz/avr/led- ... ve-hodiny/
Hodiny jsou napájené ze sítě a zálohované při výpadku (při výpadku nesvítí sedmisegmentovky)

Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#12 Příspěvek od nekmil »

Samozřejmě, že lze připojit 2 krystaly. Jeden taktuje procesor a druhý (32 768 Hz) timer/counter 2. A vnitřní RC oscilátor v drtivé vetšině případů zcela postačuje, pokud není potřeba nějaké přesné odměřování času. Např. nějaké PWM pro řízení LED nebo ss motorku, tam krystalu skutečně netřeba.

Jenda_KL
Příspěvky: 1173
Registrován: 10 zář 2008, 02:00
Bydliště: Kadaň
Kontaktovat uživatele:

#13 Příspěvek od Jenda_KL »

XTAL1/XTAL2/TOSC1/TOSC2:
If the Internal Calibrated RC Oscillator is used as chip clock source, PB7..6 is used as TOSC2..1 input for the Asynchronous Timer/Counter2 if the AS2 bit in ASSR is set.
kam se připojí ten druhý krystal?

Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#14 Příspěvek od nekmil »

Ano v případě "malých" procesorů (ATMEGA8) máš pravdu, tam to nejde. :D
Já si spíše hraju s těmi většími (ATMEGA32, 64, 644, 8535) a tam jsou TOSC1 a TOSC2 na pinech PC.6 a PC.7.

P.S. původce tohoto vlákna nám neprozradil typ procesoru :D

Uživatelský avatar
1N4148
Příspěvky: 185
Registrován: 15 led 2012, 01:00

#15 Příspěvek od 1N4148 »

Jo je to 40-pinová ATmega32.
Když to fungovalo loni, musí to fungovat letos taky.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“