Obrázek   
Přihlášení
Uživatelské jméno:

Heslo:

Pamatovat si mne



Zapomenuté heslo

Nová registrace
Kam dále?
Hledání
Vzhled

(3 vzhledů)
Kdo je Online
15 uživatel(ů) je online (6 uživatel(ů) si prohlíží Články a povídání)

Uživatelé: 0
Hosté: 15

více...
Noví uživatelé
Kdo za co může
Administrátorka
Žirafka
Žirafka
Žirafička
Žirafička
Redaktoři
bernard
bernard
IvanH
IvanH
 
Emeritní
KatyH
KatyH

Elektronika - Vědecké hodiny

Napsal/a Žirafka v 26. 01. 2009 v 20:12 (přečtení 9831×) Další články tohoto autora
     Před dlouhou dobou jsem někde na internetu viděla hodiny, které zobrazují čas pomocí několika svítivých diod v BCD. Chtěla jsem je mít také, ale protože nějak nebyl čas, odsunula jsem jejich výrobu až „na potom“. A to „potom“ je nyní

     Hodiny slouží spíše jako hračka, než něco užitečného, ale pro toho, kdo se potřebuje naučit BCD mohou představovat dobrou pomůcku. Převádět si jen tak čísla je docela nuda, ale tady je výsledek užitečná informace. A v pracovně se budou určitě vyjímat a budit pozornost.

Co znamená ta podivná zkratka BCD?


     BCD je zkratka z anglických slov Binary Code Decimal což, přeloženo do češtiny, znamená Binární Dekadický Kód. A to ještě jednou přeložené znamená: Desítková čísla kódovaná binárními číslicemi. Vypadá to hodně složitě, ale je to vlastně jednoduché. Desítkové číslo se rozloží na jednotlivé číslice a ty se pak převedou do binární soustavy. Každý řád čísla je pak samostatně kódovaný. Příklad je na obrázku číslo jedna.

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 1 - BCD


     První dva sloupečky určují hodiny, další dva minuty a poslední dva sekundy. Pokud chceme zjistit přesný čas, postupujeme takto:

   - v prvním sloupečku svítí dioda s hodnotou 1 to znamená desítky hodin,
zapamatujeme si 10

   - ve druhém sloupečku svítí dioda s hodnotou 2 a to znamená jednotky hodin, zapamatujeme si 2

 - 10 + 2 = 12 Je tedy 12 hodin

 - ve třetím sloupečku svítí diody s hodnotami 1 a 4. 1 + 4 = 5 a protože to jsou desítky minut, pamatujeme si číslo 50

 - dioda ve čtvrtém sloupečku má hodnotu 8

 - 50 + 8 = 58 což znamená 58 minut

 - pátý sloupeček má význam desítek sekund a ukazuje 4, proto si zapamatujeme číslo 40

 - poslední sloupeček ukazuje jednotky sekund. Svítí hodnoty 1 a 8, zapamatujeme si 9

 - 40 + 9 = 49

Hodiny tedy ukazují čas 12 hodin, 58 minut a 49 sekund.

     Na první pohled je to složité, po nějaké době to člověk převádí automaticky a bez přemýšlení. Tato dovednost se bude hodit při práci s číslicovými obvody či počítači. Možná ne hned, ale časem určitě ano.

Jak tedy „vědecké“ hodiny postavit?


     Hodiny se skládají ze dvou částí. První je vlastní elektronika, neboli hardware, a tou druhou je řídící program procesoru, čili software.

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 2 - Schéma zapojení procesorové části hodin


     Schéma je velice jednoduché, řídící procesor zajišťuje chod hodin, komunikaci s uživatelem, zvukový výstup a řízení diod. Diody jsou zapojené do matice a řízené multiplexem. To znamená, že nesvítí všechny najednou, ale rozsvěcují se postupně. Multiplex je řízen po sloupcích, proto svítí maximálně tři diody najednou. Propojka JP1 je použitá pro řízení jasu diod, změnou v programu ji však lze použít na libovolné jiné ovládání hodin.

     Na obrázku číslo tři je schéma napájecího zdroje. Tato část zajišťuje napájení hodin z hlavního nebo záložního zdroje.

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 3 - Schéma zapojení zdroje


     Ve schématu upoutají pozornost pečlivého čtenáře diody. Je jich tu na první pohled nějak moc. Jsou však nutné a jejich význam je následující:

Dioda D1 chrání celé hodiny před přepólováním napájecího napětí.
Dioda D2 zajišťuje stejné napětí pro procesor a převodník úrovní.
Dioda D3 chrání stabilizátor napětí při chodu na záložní baterii a odděluje napájení převodníku a procesoru.
Dioda D4 chrání záložní baterii před nežádoucím nabíjením.

     Kondenzátor C5 dodatečně filtruje napájecí napětí, C4 a C3 zajišťují stabilitu stabilizátoru tím, že případně VF rušení odvádějí k zemi a C6 ještě o něco zlepšuje filtraci výstupního napětí ze stabilizátoru. Kondenzátor C7 napájí procesor během proudové špičky po připojení převodníku. Bez něj se totiž procesor spolehlivě resetuje.

     Na svorky P1 a M1 je přivedené napájecí napětí 8 až 20V stejnosměrných. Na svorky P2 a M2 je připojena záložní baterie o napětí maximálně 5V. Toto napětí nikdy nesmí být vyšší než 5V protože jinak se zničí procesor! Obě napětí jsou chráněná proti špatné polaritě. Je počítáno s normální baterií nikoli s akumulátorem, proto není řešené jeho dobíjení.

Jak funguje multiplex?


     Diody jsou zapojené tak, že anody vedou na vývody PD3 až PD6 a katody na PB2 až PB7 přičemž katody v každém sloupci jsou spojené.

     Procesor na svoje vývody PD3 až PD6 přivede kombinaci logických jedniček odpovídající číslu, které se má rozsvítit. Logická jednička znamená svítící diodu, logická nula zhasnutou. Zároveň na vývod PB2 přivede logickou nulu, na vývodech PB3 až PB7 je logická jednička.

     Vždy svítí jen diody v jednom sloupečku, diody v ostatních sloupcích mají na své katodě kladné napětí a proto svítit nemohou.

animace     Tento stav trvá 800 mikrosekund, potom na 200 mikrosekund zhasnou všechny diody a připraví se svícení dalšího sloupečku. Toto krátké zhasnutí všech diod zabraňuje „duchům“ na displeji. Na vývodech PD3 až PD6 se nastaví další kombinace, na vývod PB2 se vrátí logická jednička a na vývodu PB3 se nastaví logická nula. Tím se může rozsvítit další sloupec diod a tím další číslo.

     Když se zobrazí poslední sloupec, tak se program vrátí na začátek a znovu se rozsvítí sloupec první. A tak stále do kolečka. Rychlost přepínání sloupců je tak vysoká, že setrvačnost lidského oka způsobí dojem svitu všech diod, které svítit mají.

Proč se bez kondenzátoru C7 resetuje procesor?


     Po připojení převodníku úrovní se nabíjí jeho vlastní filtrační kondenzátor. Toto nabíjení způsobí proudovou špičku a mžikový pokles napětí. Toto krátké poklesnutí stačí procesoru k resetu. Dioda D2 odděluje napájení procesoru a převodníku a kondenzátor C7 napájí procesor v době, kdy je napětí nízké.

K čemu je to piezo?


     Piezo má jediný účel a to je tikání hodin. Je to asi trochu divné, ale tikající digitální hodiny jen tak někdo nemá. Navíc já se snažím pořád něco kolem sebe slušet, proto jsem udělala hodiny tikající. Kdo tikání nechce, nebo nepotřebuje, nemusí piezo vůbec osadit a nebo jej může použít na něco jiného.

Jak je zapojený komunikační konektor?


     Konektor JP5 slouží ke komunikaci s počítačem. Je na něj vyvedené napájecí napětí a sériové linka. Tato linka má však úroveň TTL a není možné ji přímo připojit k počítači. Vždy se musí použít převodník úrovní, protože jinak může dojít ke zničení procesoru. Konektor je zapojený takto:

1 - napájecí napětí
2 - zem
3 - RxD
4 - TxD


     Vývod číslo jedna je úplně vlevo. Směrem k napájecím přívodům.

Konstrukce a součástky


     Hodiny jsem postavila na desce plošných spojů. Je jednostranná, ale obsahuje několik drátových propojek. Diodová matice by se totiž nedala jinak udělat.

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 5 - Deska plošných spojů


     Součástky se na desku připájejí takto:

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 6 - Osazení desky spojů


     Krabičku jsem nepoužila žádnou, protože „vědecké“ hodiny mají mít i patřičný vzhled Desku jsem před osazením součástkami nastříkala černou barvou ve spreji.

Použité součástky:

R1 až R5 1k
C1, C2 22p (keramický)
C3, C4 100n (keramický)
C5 220u (elektrolytický)
C6 2u (elektrolytický)
C7 100u (elektrolytický)
D1 až D4 1N4007
IC1 ATtinny2313 – s programem!
IC2 78L05
LED1 až 20 5mm 2mA
Q1 Krystal 4MHz

Dále lámací lišta, jumper, objímka pro procesor, držák baterií, piezo, přívodní vodiče…

     Na obrázku s osazením desky jsou vidět propojky. Doporučuji je osadit jako první, protože jinak je k nim přístup jako k penězům. Zbytek součástek lze osadit vlastně v libovolném pořadí. Pečlivě je potřeba osazovat diody.

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 7 - Sestavené hodiny


     Na obrázku číslo sedm jsou vidět moje hodiny. Rozložení součástek je mírně jiné proti návodu, protože D2 a C7 jsem doplnila až dodatečně. Po zkušenostech s resetováním procesoru.

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 8 - Hodiny s převodníkem úrovní


     A obrázek osm ukazuje hodiny s připojeným převodníkem úrovní pro komunikaci. Je to stejný převodník, jako v článku z minulého týdne. Vznikl totiž pro tyto hodiny. Převodník lze použít i jiný, jen je potřeba pamatovat na to, že musí převádět jak signál TxD tak i RxD protože komunikace s počítačem je obousměrná.

Jak se vlastně hodiny ovládají a seřizují?


     Jelikož se jedná o hodiny „vědecké“, zvolila jsem i „vědecké“ nastavování

     Pokud chceme hodiny seřídit, je potřeba připojit na patřičný konektor převodník úrovní TTL – RS232 a hodiny připojit k počítači s terminálovým programem a nebo přímo ke skutečnému terminálu.

     Po propojení vyšleme z terminálu znak „S“, tím hodiny poznají, že s nimi chceme komunikovat, zastaví tedy zobrazování času a odpoví výpisem menu.

Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
Obr. 9 - terminálový program Terminal v1.9b


Lze zvolit tyto čtyři možnosti:

0 – korekce sekund
1 – nastavení času
2 – kalibrace
3 – opuštění menu

     Korekce sekund znamená jejich vynulování, slouží k přesnému seřízení hodin.

     Nastavení času je pravděpodobně jasné, hodiny se zeptají na přesný čas a ten si následně uloží.
Kalibrace slouží k přesnému nastavení počítání sekund, protože žádný krystal neběží naprosto přesně. Touto volbou lze tuto mírnou odchylku vyrovnat.

     Po opuštění menu hodiny vypíšu pozdrav na rozloučenou a přestanou komunikovat, rozsvítí se displej a hodiny normálně běží.

     Do menu se lze dostat opětovným vysláním znaku „S“ po sériové lince. Na jiné znaky hodiny nijak nereagují.

     Komunikace s terminálem probíhá rychlostí 1200Bd, 8 bitů, 1 stop bit a bez parity.

Řídící program


     Program procesoru obsahuje celkem čtyři části. První zajišťuje převod údajů pro displej, druhá část komunikuje s uživatelem po sériové lince, třetí počítá čas a čtvrtá řídí multiplex.

     Když hodiny běží, pracuje program v „nekonečné smyčce“ během které se přepočítají hodnoty proměnných hodiny, minuty a sekundy do tvaru vhodného pro displej. Zároveň se tyto hodnoty upraví podle zapojení diod. Během tohoto režimu je program hlídaný watchdogem a v případě zabloudění se hodiny resetují.

     Seřizování hodin řídí jiná smyčka, během té je watchdog vypnutý, protože občas dělal potíže při komunikaci s počítačem a je předpoklad, že by si případného bloudění programu obsluha všimla. Během tohoto režimu je zablokované řízení multiplexu a hodiny proto nesvítí.

     Čas se počítá v přerušení od časovače TIMER1 který je nastavený jako čítač s předděličkou a zkráceným cyklem. Toto přerušení se vyvolává každou sekundu a během něj se započítá sekunda, tikne piezem a případně se započítají i minuty a sekundy. Dále se zde kontroluje korektní obsah proměnných hodiny, minuty a sekundy. V případě nesrovnalostí se nastaví do rozumných mezí. Toto přerušení má nejvyšší prioritu a je trvale aktivní. Hodiny běží i v okamžiku seřizování.

     Multiplex je řízen časovačem TIMER0, který je také nastavený jako časovač s předděličkou a zkráceným cyklem. Přerušení se vyvolává každé 2ms a zajišťuje korektní řízení multiplexu a ošetřuje „duchy“.

     Texty pro komunikaci s uživatelem jsou uložené do paměti EEPROM ze dvou důvodů. Tím prvním je značná úspora programové paměti a tím druhým je snadná lokalizace do jiného jazyka. Stačí jen změnit obsah EEPROM a hodiny budou komunikovat jinak. Je potřeba dodržet délku proměnných a případně změnit jejich dimenzování (příkaz DIM …) jinak dojde k nesprávnému vyčítání z paměti a „nesmyslné“ komunikaci.

     Program jsem napsala v jazyce Basic v systému Bascom. Myslím si, že je relativně jednoduchý a pochopitelný.

Programování procesoru


Při programování procesoru je potřeba nastavit pojistky (fuses) takto:

LOCK BITS - nerozhoduje, lze cokoli. Jen pozor na případné aktualizace!
CKSEL - XT 3 - 8MHz
CLKOUT - DISABLE
CLKDIV8 - DISABLE
RSTDISB - nastavit na "RESET", jinak nelze dále programovat pres ISP!
BODLEVEL - 2,7V
WDTON - nerozhoduje, program jej stejně zapne.
EESAVE - NOT PRESERVED! Program do paměti zapisuje.
DWEN - DISABLE
SELFPRGEN - nerozhoduje, lepší je dat DISABLE kvůli ochraně paměti programu.

Závěrem


     Hodiny zobrazují pouze čas, nemají budík ani nic jiného. Možná by jej šlo doplnit, ale myslím si, že to je zbytečné. Kdo jej bude chtít, může si jej do programu dopsat sám. Ačkoli místa v paměti už moc není. Můj program ovšem nemusí být jediný, lze si napsat svůj od začátku a tím jej možná i značně zkrátit a vylepšit. Fantazii se meze nekladou.

     Při napájení z bezpečného zdroje jsou hodiny také bezpečné a jejich stavbu lze doporučit i pečlivým začátečníkům. Chce to jen trochu trpělivosti při práci.

     Přeji všem, kdož si budou chtít hodiny postavit zdar a pevnou ruku při pájení diod. Hezky postavené hodiny se určitě budou v pracovně vyjímat

     Ve skladišti souborů lze stáhnout všechny potřebné soubory pro stavbu hodin, schéma zapojení, desku spojů, program pro procesor, zdrojové soubory…


Odkazy:
Bascom - http://www.mcselec.com
BCD - http://cs.wikipedia.org/wiki/BCD
Hodnocení: 9,00 (3 hlasy) - Ohodnotit -
Formátovat pro tisk Poslat známému Vytvořit z článku PDF
Komentář je vlastnictvím svého autora. Vyjadřuje jeho názory, ne názory redakce nebo provozovatele webu či serveru.
Napsal/a Vlákno
bernard
Publikováno dne: 7.2.2009. 22:16  
Redaktor
Datum registrace: 07.02.2009
Bydliště:
Počet komentářů: 61
 Odp: Vědecké hodiny
Pro začátečníky je to bezvadný námět, a taky hezky podrobně zpracovaný. Jen v odstavci "Jak je zapojený komunikační konektor?" jsem si mumlal - mohl by tu být nějaký odkaz na ten převodník úrovní -, ale pak jsem naň narazil pod obrázkem. Ten BCD výstup je pedagogicky na místě. Príma!
Žirafka
Publikováno dne: 8.2.2009. 15:49  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny


Přidala jsem ještě přímý odkaz na ten článek, aby jej lidé snáze našli.
Host
Publikováno dne: 1.4.2009. 0:24  
 Odp: Vědecké hodiny
Prosím nemohla by jsi trošku rozepsat programování toho mikroprocesoru? Je zapotřebí nějaký specialní program, programátor nebo něco? Ještě jsem s mikroprocesorama neměl příležitost pracovat.
Žirafka
Publikováno dne: 1.4.2009. 16:22  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Když to je dosti těžká otázka a asi by to vydalo na samostatný článek...

Já používám programátor Presto (www.asix.cz) a jeho ovládací program UP. Dříve jsem používala i jiné programátory, ale pod Windows XP je s nimi potíž a to Presto je super věc, navíc připojená po USB

Programování hotovým programem je vlastně jednoduché. Vezme se programátor, připojí se k procesoru a na počítači se spustí ovládací program. Otevřou se patřičné soubory a pak se jen stiskne tlačítko "Programovat". No a ono se to naprogramuje samo. Pokud máš programátor s paticí, tak je to ještě jednodušší.

No a naprogramovaný procesor je vlastně speciální součástka, je to integrovaný obvod a podle něj se s ním zachází.
Host
Publikováno dne: 13.10.2009. 22:07  
 Odp: Vědecké hodiny
Mohla by jsi prosím napsat v jakém programu si navrhovala ten spoj? Dělal jsem to ve Formice, ale nemám tam knihovnu s tím mikrokontrolerem.
Žirafka
Publikováno dne: 13.10.2009. 22:39  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Jestli ty soubory otevře i Formica, tak je dobrá

Já používám Eagle, tohle je konkrétně verze 5.x jak je ostatně napsáno ve skladišti u toho souboru
Host
Publikováno dne: 14.10.2009. 11:36  
 Odp: Vědecké hodiny
Už nejsou vědecké!!! Věda pronikla na veřejnost, tak to už nemůže být žádná věda.
http://www.hodinky.cz/the-one/?utm_so ... O3F2cecvJ0CFaBb4wodn3q7kw
Ale já si je určitě nekoupím.
Pavel
Žirafka
Publikováno dne: 16.10.2009. 11:15  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Já taky ne Ale moje hodiny vědecké jsou stále, protože se nastavují pomocí terminálu a to ty jejich určitě nikoli.

Jinak by byla výzva udělat skutečné binární hodiny, ne BCD
Host
Publikováno dne: 5.7.2010. 9:46  
 Odp: Vědecké hodiny
Dobrý den.Postavil jsem vědecké hodiny a úspěšně nahrál program do tiny2313 ale po spuštění diody kmitají a hodiny jdou pomalu asi vteřina na hodinách za 5 vteřin skutečných.Prosím radu kde jsem udělal chybu
ProgX
Publikováno dne: 5.7.2010. 10:20  
Nemluva
Datum registrace: 02.10.2009
Bydliště: Plzeň
Počet komentářů: 22
 Odp: Vědecké hodiny
Tipuji to na špatné nastavení (resp. nenastavení ) fuse bitů CKSEL3..0. Z výroby je totiž nastaven interní oscilátor 8 MHz a zapnut dělicí bit CKDIV8, což znamená, že hodinová frekvence by pak byla ne požadované 4MHz z krystalu, ale 1MHz. To by přibližně odpovídalo i tomu, že to vše trvá déle, tedy je i vidět "kmitání", které být vidět nemá.

Doporučuji prostudovat si datasheet k obvodu ATTiny 2313, jinak správné nastavení CKSEL3..0 je např. 1111, to je nejsnazší a nedá se udělat chyba
Žirafka
Publikováno dne: 5.7.2010. 13:18  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Ano, toto je s pravděpodobností, hraničící s jistotou, důvod problému. Proto jsou v textu uvedená nastavení "pojistek". Jak se to dělá, to záleží na tom kterém programátoru.
Host
Publikováno dne: 5.7.2010. 16:35  
 Odp: Vědecké hodiny
Aha tak to musím projet ještě jednou a zaškrtnout CKSEL3-CKSEL2-CKSEL1-CKSEL0


ICQ 631-352-405
Žirafka
Publikováno dne: 26.5.2014. 18:45  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Kdyby se někdo chtěl podívat na to, jak se dá také udělat maturitní práce, nechť se jukne semka: http://chaoz.zirafoviny.cz/_hic_sunt_leones/soubory/hodiny.doc No a názor ať si každý udělá sám.
AndyDJ2
Publikováno dne: 19.10.2014. 21:55  
Nemluva
Datum registrace: 19.10.2014
Bydliště: Polná (u Jihlavy)
Počet komentářů: 3
 Odp: Vědecké hodiny
Dobrý den tvořím podobný projekt a zasekl sem se u programování konkrétně u nastavení děličky tak aby sekunda byla opravdu sekunda. Zkoušel sem googlit jak to spočítat a našel sem pouze v knížce od vydavytelství BEN nějaký vzorec ovšem podle toho mi to nefunguje.
prosím o pomoc používám Atmegu 8 a krystal tam mám 11,0592 Mhz
Žirafka
Publikováno dne: 20.10.2014. 17:43  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
ATmega 8 je na to trochu kanon na vrabce, ale kdo ví, třeba bude počítat i něco dalšího.

Ten výpočet se dá odvodit třeba z mého programu, jeho zdrojový soubor je volně ke stažení, a nebo se dá inspirovat tímto http://www.zirafoviny.cz/modules/mydownloads/visit.php?cid=1&lid=1 programem.

Použitý kmitočet je takový podivný, ale dobře se dělí 1024 což dá 108 kHz a pak je třeba dělit dále, jenže to je neokrouhlé číslo, takže bude potřeba čítači zkracovat jeho cyklus. Tím se dá také korigovat nepřesnost krystalu (já to tak také mám udělané), ale přesně neporadím, protože, jak jsem již říkala, ATmegu neznám.
AndyDJ2
Publikováno dne: 23.10.2014. 19:35  
Nemluva
Datum registrace: 19.10.2014
Bydliště: Polná (u Jihlavy)
Počet komentářů: 3
 Odp: Vědecké hodiny
Děkuji moc ten program je velmi šikovnej atmegu 8 používám proto že má spousty vývodů velikou paměť a hlavně proto že sem je v číně koupil asi za 20Kč jednu jinak atmega je totéž jako tiny jen má více možnostíten krystal je úplně normálně vyrobený právě aby se to dalo dobředělit a to bezezbytku ještě jednou děkuju moc za pomoc
Žirafka
Publikováno dne: 24.10.2014. 16:11  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Tak to je príma

A určitě by bylo fajn hodiny publikovat, třeba se najdou další následovníci.
AndyDJ2
Publikováno dne: 28.10.2014. 23:39  
Nemluva
Datum registrace: 19.10.2014
Bydliště: Polná (u Jihlavy)
Počet komentářů: 3
 Odp: Vědecké hodiny
Jelikož jsem skoro na začátku tak je na publikování trošku brzo. jinak původní záměr u tohoto projektu mít vlastnoručně vyrobený budík který by se při buzení zamáčkl napsáním číselného kodu pomocí dálkového ovladače. (zatím piluju hodiny )
Host
Publikováno dne: 19.4.2015. 10:03  
 Odp: Vědecké hodiny
Sice je to naprosto nevědecké, ale když už tam vidím zmínku o piezo, které nemá jiný důvod atd.

Nedělal někdo přístroj který naopak pomocí pieza snímá tikání skutečných hodin a pomocí měření periody dovolí nastavit hodiny přesně a rychle bez čekání, než dosáhne chyba pozorovatelnou velikost?
Žirafka
Publikováno dne: 19.4.2015. 12:51  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Naopak, to je velmi vědecké

Osobní zkušenost nemám, ale v nějakém starém časopisu jsem takový přístroj viděla. Ale kde to bylo, to si nevzpomenu.
Host
Publikováno dne: 19.4.2015. 20:32  
 Odp: Vědecké hodiny
úplně by stačilo kdyby to bylo řemeslné

a hlavně zrealizované, což asi moc nehrozí.
patrik
Publikováno dne: 12.11.2015. 11:30  
 Odp: Vědecké hodiny
Ahoj, můžeš mi prosím lépe popsat funkci řízení jasu diod na konektoru JP1 ? stačí jen zkratovat nebo se má připojit fotoodpor ?
Dělám si vlastní DPS a chtěl bych použit baterii jen jako zálohu hodin po dobu výpadku hlavního napájení, k prodloužení výdrže baterie mě napadlo hlídat hlavní napětí na pinu procesoru, po jeho výpadku by hodiny jely na baterii a kvůli spotřeby by vyply multiplex a led by nesvítily ale MCU by stále počítal čas.
Dokázala bys takovou upravu udělat v programu ? Basic bohužel neovládám, pouze Céčko, ale zatím ne natoik abych zvládl naprogramovat celé hodiny....Moc by jsi mi s tím pomohla
Žirafka
Publikováno dne: 12.11.2015. 20:27  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Pokud někdo zvládá "C" tak by snad mohl zmáknout i Basic

Jinak řízení jasu je jen dvoustupňové, vstup se buď nechá volný a nebo se připojí na zem a tím se jas sníží. To funguje tak, že se poněkud zpomalí běh multiplexu. Při malém jasu diody svítí 500 µs a pak jsou 200 µs zhasnuté. Pokud je nastavený velký jas, tak diody svítí o 800 µs déle a to je celý trik s řízením jasu. Je to v podprogramu Preruseni_c0 ktery obsluhuje přerušení od časovače. Konkrétně se jedná o část na řádku 378 zdrojového souboru.

Preruseni_c0:

     
Tcnt0 128
     Incr Pozice                                            
' Chci zobrazit dalsi sloupecek

     If Pozice = 7 Then                                     ' 
Pokud jsem na 7 pozicije to uz moc a musim od zacatku
        Pozice 
1                                          ' protoze hodiny maji jen 6 pozic
        Rotate Sloupec , Left , 2                           ' 
Posunuti sloupce takaby se zacinalo opet od jednotek sekund
     End 
If                                                 ' kvuli zapojeni HW

     Pom2 = Portb And &B00000011                            ' 
Ulozim si hodnotu tech bituktere z portu chci nechat
     Pom3 
Sloupec And &B11111100                          ' Ze promenne SLOUPEC vypustim bitu, ktere chci na portu uchovat

     Portb = Pom2 Or Pom3                                   ' 
Na port se vrati hodnota SLOUPEC BEZ zmeny bituktere chci nechat
                                                            
'
     Portd = &B00000111 + Displej(pozice)                   ' 
Zobrazeni cislice
     
If Jas 1 Then Waitus 800                             ' Zpozdeni multiplexu sloupecku, urcuje jas
     Waitus 500                                             ' 
maly jas je vzdy
     Portd 
= &B00000111                                     ' Zhasnuti displeje
     Waitus 200                                             ' 
a chvilku pockamTahle cast zabrani "duchum" na displeji
     Rotate Sloupec 
Left 1                              ' Posunuti zobrazovaneho sloupce

Return



Úprava programu není složitá, proto je psaný v Basicku A co se týče zhasnutí diod při výpadku napájení, tak by to znamenalo mírnou změnu zapojení, protože v tom současném procesor neví z kterého zdroje běží a proto se podle toho nemůže rozhodovat. Řešením by bylo zrušení regulace jasu a přivedení napětí odvozeného z hlavního napájení na tento pin. Přes diodu, nebo nějakým jiným vhodným způsobem. Program by se pak musel upravit tak, aby při logické nule na tomto vstupu hnedka opustil toto přerušení a pak by se toho nemuselo měnit tolik. Teďka mne z hlavy napadá toto řešení:

Preruseni_c0

     If 
Jas 0 Then Return ' Pokud není hlavní napájení, opustím přerušení a tím zhasnu displej

     Tcnt0 = 128 
     Incr Pozice                                            ' 
Chci zobrazit dalsi sloupecek

     
If Pozice 7 Then                                     ' Pokud jsem na 7 pozici, je to uz moc a musim od zacatku
        Pozice = 1                                          ' 
protoze hodiny maji jen 6 pozic
        Rotate Sloupec 
Left 2                           ' Posunuti sloupce tak, aby se zacinalo opet od jednotek sekund
     End If                                                 ' 
kvuli zapojeni HW

     Pom2 
Portb And &B00000011                            ' Ulozim si hodnotu tech bitu, ktere z portu chci nechat
     Pom3 = Sloupec And &B11111100                          ' 
Ze promenne SLOUPEC vypustim bituktere chci na portu uchovat

     Portb 
Pom2 Or Pom3                                   ' Na port se vrati hodnota SLOUPEC BEZ zmeny bitu, ktere chci nechat
                                                         '
     
Portd = &B00000111 Displej(pozice)                   ' Zobrazeni cislice                   
     Waitus 1200   ' 
Zpozdeni multiplexu sloupeckuurcuje jas                                          ' maly jas je vzdy
     Portd = &B00000111                                     ' 
Zhasnuti displeje
     Waitus 200                                             
' a chvilku pockam. Tahle cast zabrani "duchum" na displeji
     Rotate Sloupec , Left , 1                              ' 
Posunuti zobrazovaneho sloupce

Return


Úpravu prosím brát bez záruky, píši ji z hlavy a to se musím probírat vlastním kódem, což je po takové době dosti složitý proces
host
Publikováno dne: 12.11.2015. 21:11  
 Odp: Vědecké hodiny
Citát:
a to se musím probírat vlastním kódem, což je po takové době dosti složitý proces

tady vidíš k čemu je dobré tam psát komentáře jak divá
řídit jas by se asi dalo ovládáním střídy celého portu D, třeba v přerušení od timeru. Ale při použití vhodných LED snad ani není nutné je vypínat při bateriovém provozu, jsou i typy které při 1 mA svítí jak prase do očí a na 200 µA budou ještě krásně indikovat a běžnou baterii to za týden nezruinuje. Větší výpadky snad nebývají. Se starými dederonskými VQA co sotva mžouraly při 20 mA by to bylo jiné.
K čemu je dobré posouvat osmibitovou proměnnou o 1 v cyklu s kontrolou "IF 7 then 1", když na jiném místě přitom používáš podstatně jednodušší rotaci bajtu?
Žirafka
Publikováno dne: 12.11.2015. 21:27   Aktualizováno dne:12.11.2015. 21:29
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Citát:
tady vidíš k čemu je dobré tam psát komentáře jak divá


Proto také ty komentáře dělám a i tak je to někdy složité pochopit, proč jsem to udělala takto a ne jinak. A pochopit někdy složitý algoritmus je téměř nemožné, naštěstí to není případ tohoto programu, ten je celkem snadný.

Mnou použité LEDky svítí velmi silně i při malém proudu, proto jsem tenkrát neřešila jejich vypínání při chodu na baterii. Baterie zvládne hodiny napájet řadu dní.

Citát:
řídit jas by se asi dalo ovládáním střídy celého portu D, třeba v přerušení od timeru.


To se také děje

Proč jsem v programu použila to, co jsem tam použila? No protože je to již šest let a dneska bych to asi udělala jinak, kdo ví? Jinak na tom nevidím nic divného nebo špatného. Ale ráda se nechám poučit, co je tam špatně.

Když na to tak koukám, tak je to proto, že ta proměnná je použitá jak čítač a když narazí na sedmou pozici, tak se musí přenastavit. Rotací by to jistě šlo také, ale toto mi připadalo, a i dneska připadá, jednodušší.
host
Publikováno dne: 12.11.2015. 21:49  
 Odp: Vědecké hodiny
Já se v tom možná blbě orientuju takhle na obrazovce když to nemám fyzicky na stole a na papíře. Určitě se to dá udělat několika (mnoha) způsoby i s daným procesorem.
patrik
Publikováno dne: 13.11.2015. 9:27  
 Odp: Vědecké hodiny
jak jsem psal, neovládám Cečko tak dobře, abych zvladl napsat vlastní hodiny, teprve se to učím, a jiný jazyk je pro mě uplně tabu , jinak problém se spotřebou nastava, protože jsem si hodiny upravil do SMD včetně samotných diod, a at hledám jak hledám, nacházím pouze 20 a 30mA SMD diody v pouzdru 1206 a jelikož u tvých hodin svítí najednou 3 LED najednou tak to je 60mA, což by na 280mAh bateri jelo pouze cca 4-4:30 hodin, což už tak růžové není :-/
Jinak hlídání zdroje napájení jsem měl v plánu přesne jak píšeš, proto jsem se ptal jak funguje řízení jasu, kdyby podle okolního osvetlení s přidáním fotoodporu tak bych váhal, ale takle bych to nahradil(pro mě) duležitejším hlídáním stavu napájecího zdroje a tím rapidně snížil spotřebu při chodu na baterii.
Kdyby byl někdo zkušenejší, měl čas a hlavně chuť mi pomoct s programem a abych nemusel stahovat překladače pro basic poslal i hex soubor byl bych mu/jí vděčný
Bohužel nemám HW pro testování, už jsem se nechal napálit, když jsem stavel stejné hodiny ze stranek svetelektro a hodiny nefungovaly korektne (problíkávání zhaslých ledek, 1 sekunda v reálu cca 2 sekundy a ano, měl jsem použot dobrý krystal i dobré nastavení pojistek, nebyl jsem sám s tímto problémem) a u hodin jsem strávil dlouhou dobu návrh DPS, bohužel uplně zbytečně protože hodiny jsou nefunkční...
Žirafka
Publikováno dne: 13.11.2015. 15:46   Aktualizováno dne:13.11.2015. 15:47
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Šedesát miliampérů je hodně jak na baterii, tak pro procesor. Přetěžuje to jeho port, ačkoli by to nějakou dobu určitě fungovalo.

Tyto hodiny fungují, postavila jsem je já a postavilo je i pár lidí podle mého návodu. Dokonce vím i o jedincích, kteří je použili jako maturitní práci...

Jinak SMD LED s proudem 2mA se koupit dají, má je třeba TME, ale jsou v jiném pouzdru.

Hodiny na Světelektro jsem asi viděla, no zkusím se mrknout ke konkurenci, co tam páchají a jak to vypadá

Mimochodem, moje hodiny prvně pracovaly sestavené na nepájivém poli, jak je vidět z obrázků v článku o převodníku úrovní

No a možná se tu najde někdo, kdo umí "C" tak dobře, že program převede do tohoto jazyka. Mne osobně BASCOM vyhovuje lépe, protože neobsahuje takové složitosti jako "C". Ale proti gustu...
patrik
Publikováno dne: 13.11.2015. 17:03  
 Odp: Vědecké hodiny
60mA je celkové maximum které by ješte MCU měl dlouhodobě udržet (20mA na pin při 5V), pokud bych dal odpory před LED cca 150R tak LEDkou poteče cca 15mA x 3 = 45mA takže to MCU bez problémů zvládne, tech 60mA jsem střelil od oka, takže v tomhle problém není, horší je ten provoz na baterii, koukal jsem na TME a tam jsem našel LEDky jen v pouzdře SOT23, což by problém nebyl ale nebyla tam bohužel modrá barva :-/ asi to nechám beze změny programu, alespon prozatím.

Jinak jen pro zajímavost můj nývrh DPS pro hodiny ze stranek svetelektro jak jsem zminoval v předchozím komentáři
Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.
host
Publikováno dne: 13.11.2015. 19:44  
 Odp: Vědecké hodiny
Možná bych někde našel označení, ale ty ledky co při 5 mA trhají zrak a při 200 µA ještě jasně svítí, jsou asi tzv. vysokosvítivé na 20 mA. Ve skutečnosti jsou tak citlivé, že svítí slabě i při uchopení jen za jeden vývod, kapacitním proudem, při přiložení jednoho vývodu na měděný trámeček trafopájky a zacvakání vypínačem mrkají. Při těch rozměrech by nebyl velký problém je zakrátit a pracovat s nima jako s smd. Ty bílé smd ledky z osvětlovacího pásku svítí při 1mA, že je nepříjemné se přímo do nich podívat.
Žirafka
Publikováno dne: 13.11.2015. 20:13  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Deska hezká, jen jestli není stejně veliká, jako ta moje

Jinak je potřeba si uvědomit, že všechen proud jde přes porty procesoru. Takže není tak snadné říci, že když vydrží 20 mA na pin je to dobré. Port řídící řádky bude v pořádku, ale port řídící sloupce bude již přetížený, nebo na hraně.

Koukám, že sehnat modré LED v provedení SMT není tak snadný problém, jak jsem si původně myslela. Ještě že mám raději klasickou montáž
mano007
Publikováno dne: 13.11.2015. 22:39  
Tichošlápek
Datum registrace: 04.03.2011
Bydliště:
Počet komentářů: 84
 Odp: Vědecké hodiny
Ked to citam tak si obcas spomeniem ako sa robili veci kedysi. Vsetky PIC-ka a Atmel-y nas zacali pekne rozmaznavat. Cakacia slucka sa robila z nezmyselnej kopy instrukcii ale s dopredu jasnou dlzkou vykonavania, napr. 3 hodinove cykly. Pri bezne pouzivanych 2-4Mhz krystaloch s predradenou delickou 2 sa dalo ist na presnost 0.5-1 ppm kedze boli k dispozicii instrukcie ktore sa vykonali na jeden hodinovy cyklus
host
Publikováno dne: 13.11.2015. 22:44  
 Odp: Vědecké hodiny
V čem je to rozdíl teď oproti kdysi? nevidím důvod proč by nešlo udělat čekací smyčku s přesným časem s AVR a klidně i v bascomu.
mano007
Publikováno dne: 13.11.2015. 23:11  
Tichošlápek
Datum registrace: 04.03.2011
Bydliště:
Počet komentářů: 84
 Odp: Vědecké hodiny
Dat sa to na 100% da ale (s tym BASCOM-om je to o dost komplikovanejsie) ked sa pouzije casovac a teda prerusenie tak procesor moze robit pomedzi to aj nieco ine a nie iba "pocitat cas". Na architekturach 80xx bolo prevazne treba pouzit externy casovac a pri viacerych preruseniach aj radic preruseni. Pokial to situacia nevyhnutne nevyzadovala tak sa "setrilo".
Žirafka
Publikováno dne: 14.11.2015. 7:54  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Však v mém programu takové čekající smyčky také jsou. Přerušení od časovače používám tehdy, když chci, aby procesor mohl během čekání dělat i něco jiného.

V programu jsou dvě přerušení a obě jsou od časovačů. Jeden řídí multiplex a druhý řídí vlastní hodiny. Ten je nadřazený prvnímu, aby nedocházelo k chybnému počítání času.

Někdy si říkám, že by nebylo od věci stvořit nějaké hodiny, nebo jinou ptákovinu, se starým procesorem a externě připojenou pamětí dat, pamětí programu, řadičem toho či onoho... jen na to nějak není čas a vlastně ani schopnosti. Ale bylo by to super
patrik
Publikováno dne: 14.11.2015. 9:09  
 Odp: Vědecké hodiny
Žirafka: jsem pablb, samozřejmě máš pravdu, jestli nenajdu nějaké vhodné ledky tak budu muset posílit výstupy mcu tranzistory...
Jinak já jsem na SMD docela uchylak
host
Publikováno dne: 14.11.2015. 12:36  
 Odp: Vědecké hodiny
Časovač nemusí nutně používat přerušení a na druhou stranu jeden časovač může odměřovat dva různé děje pomocí compare match A, B. Někde jsem taky použil výstup od čítače pro multiplexování displeje a zároveň pro testování kláves v matici kvůli úspoře vývodů procesoru. Měřeni času se pak na to dá nabalit softwarově. Bascom to komplikuje hlavně tím, že není vidět na co všechno sahá softwarově. Něco je popsáno v komentářích ale spíš jen tak jak se autorům chtělo, třeba to že si při použití příkazu waitxx manipuluje s timerem 1 jak chce.
S těma ledkama bych to nekomplival, fakt se dají vybrat takové, že na 20 mA už to osvětlí místnost a červené nebo žluté navíc i dvě v sérii při 5V. Na 500 uA to nepřehlídne ani ignorant.
Zkoušet to v praxi nejspíš nebudu, tyhle binární okliky mě nějak neberou, zastávám konzervativní názor že periférie by se měly přiblížit člověku a ne naopak a pán bůh nestvořil lidské smysly v BCD kódování
Žirafka
Publikováno dne: 14.11.2015. 20:04  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Když mám v procesoru dva časovače a řadič přerušení připadá mi rozumné je využít, když je nepotřebuji na nic jiného. Kdyby tam nebyli a já je musela nějak připojit z venku, tak by to byla jiná situace a řešila bych to určitě jinak.

Mimochodem, waitus nepoužívá časovač ani přerušení ale klasické zdržování ve smyčce. Naopak přerušení tuto smyčku ruší a prodlužuje její chod.

Jinak zastávám podobný názor, jenže tyto hodiny vznikly hlavně jako ozdoba a hračka. Mít je vystavené v obýváku asi nikdy nebude, ale v pracovně je občas mám. Jinak se mi v hlavě rodí nápad s BCD hodiny s klasickými TTL obvody, mám jich velikou zásobu a tak proč je nevyužít. Také by byla docela prča udělat skutečné binární hodiny pouze se dvěma řadami čísel.
mano007
Publikováno dne: 16.11.2015. 12:03  
Tichošlápek
Datum registrace: 04.03.2011
Bydliště:
Počet komentářů: 84
 Odp: Vědecké hodiny
Ked sa chce niekto pokochat v historii TTL a CMOS tak je tu pekna stranka kde sa majitel naozaj vyziva v starych obvodoch. Viacero projektov sa mi paci, napr. postavit si vlastny pocitac takmer iba "z hradiel"

Ked mate dostatok fantazie tak si spravite vlastne instrukcia vlastny asembler. Dnes je doba ina a bez 3 runtime ktore zaberu 2GB aj s aplikaciou na primitivne ovladanie nejakeho zariadenia. Autor je dokonca na svoj vytvor hrdy
Žirafka
Publikováno dne: 16.11.2015. 16:43   Aktualizováno dne:16.11.2015. 16:46
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Nostalcomp znám, ale to je na mne moc složité. Ačkoli SAVIA 84 mne docela láká, mám tu na ní návod v knize. Nicméně je to vlastně úplně na nic, dneska tedy určitě. Jenže je to hezká nostalgie, tak až nebudu mít opravdu co dělat, tak se do ní možná i pustím. V tomto desetiletí to ale nejspíše nebude.

Když si uvědomím, že na Měsíc se letělo s počítačem, který měl výkon dnešní kalkulačky (a ještě k tomu kdo ví jestli) a také moje staré Atari umělo mluvit, ač špatně anglicky, ale přesto a dnešní programy jsou obrovská monstra a dělají vlastně pořád to samé, co staré programy, je mi z toho poněkud smutno.
host
Publikováno dne: 17.11.2015. 12:07  
 nebo jinou ptákovinu
Citát:
Někdy si říkám, že by nebylo od věci stvořit nějaké hodiny, nebo jinou ptákovinu, se starým procesorem a externě připojenou pamětí dat, pamětí programu, řadičem toho či onoho

a tohle jsi viděla?
https://www.youtube.com/watch?v=mK6PFRyEsQ0
Žirafka
Publikováno dne: 17.11.2015. 12:19  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: nebo jinou ptákovinu
Pěkné, ale na můj vkus moc složité
host
Publikováno dne: 17.11.2015. 13:24  
 Odp: nebo jinou ptákovinu
Hlavně pracné. Neposedná energie patří k mládí.
Žirafka
Publikováno dne: 17.11.2015. 20:23  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: nebo jinou ptákovinu
Je pravda, že u těchto projektů mne vždy fascinuje trpělivost tvůrců. Někdy si říkám, jestli to nejsou buddhističtí mniši.
patrik
Publikováno dne: 19.11.2015. 19:55  
 Odp: Vědecké hodiny
Ahoj, mám problém s nahráním paměti eeprom, avr studio 4.19 mi ho nechce nahrát a vypíše:
"The specified file is not a valid Intel HEX file"
také jsem si všiml, že soubor má koncovku .epp ale v souboru readme.txt je napsaná koncovka .eep
Nevíš kde by mohl být problém ?
Pamět flash i pojistky mám nastavené a nahrané, ale nejspíše kvuli te eeprom se mi nechcou hodiny připojit přes terminál abych je mohl nastavit :-/
Žirafka
Publikováno dne: 19.11.2015. 20:47   Aktualizováno dne:19.11.2015. 20:52
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
To epp a eep je asi překlep, nic jiného mne nenapadá. A jak tak koukám, je jich tam více. Asi budu muset ten archiv aktualizovat.

Jinak mne se to tváří jako že to je binární soubor, tak to asi bude ten problém. Jedině to zkusit prohnat nějakým převodníkem. Mimochodem, jeden jsem také napsala

Bez nahraného obsahu EEPROM se hodiny sice s terminálem spojí, ale nic se nebude zobrazovat.

Jinak obsah paměti je napsaný ve zdrojovém kódu:

Eprom_k:
Data 220                                                    ' Hodnota kalibrace oscilatoru

Eprom_t:                                                    ' 
Texty pro komunikaci
Data 
"-+ Vedecke hodiny +-"
Data "0 - Korekce sekund  "
Data "1 - Nastav cas      "
Data "2 - Kalibrace       "
Data "3 - Opusteni menu   "
Data "Konec. Hodiny bezi. "


Což znamená, že na první pozici paměti je hodnota 220 DEC a na dalších jsou texty pro komunikaci. Všechny jsou stejně dlouhé, na konci doplněné mezerami.
Žirafka
Publikováno dne: 19.11.2015. 20:51  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Jinak ve formátu IntelHex to má vypadat takto:

:10000000DC2D2B2056656465636B6520686F646921
:100010006E79202B2D0030202D204B6F72656B6385
:10002000652073656B756E6420200031202D204E95
:10003000617374617620636173202020202020008A
:1000400032202D204B616C69627261636520202033
:10005000202020200033202D204F70757374656E92
:1000600069206D656E75202020004B6F6E65632ED4
:0F00700020486F64696E792062657A692E2000DE
:00000001FF

Stačí, když si vytvoříš čistý textový soubor a toto do něj vložíš a dáš uložit. Pak by to mělo jít otevřít na naprogramovat do paměti.
patrik
Publikováno dne: 20.11.2015. 15:35  
 Odp: Vědecké hodiny
Funguje, díky moc, jen mám menší problémy s převodníkem, takže si vyrábím nový a pak můžu hodiny teprve nastavit
Žirafka
Publikováno dne: 20.11.2015. 17:09  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Tak to je príma. Ať se převodník také podaří a pak už bude jen dobře
patrik
Publikováno dne: 21.11.2015. 18:40  
 Odp: Vědecké hodiny
Ahoj ,to jsem zase já, zase mám problém, asi mi není souzeno tyto hodiny zprovoznit
Hodiny se mi bez problému spojí s PC, nastavím je, piezo tiká, ale furt svítí všechny LEDky, pouze při připojení k PC zhasne jedna řada ledek, deska je v pořádku, opakovaně jsem ji kontroloval a zkoušel jsem také rozsvicovat jednotlivé ledky, je to jakdby nefungoval multiplexní zobrazení, protože vše ostatní funguje, chyba v programu je taky nesmysl, nijak jsem ho neupravoval, nevíš kde by mohl být (snad) poslední problém ?
patrik
Publikováno dne: 21.11.2015. 18:56  
 Odp: Vědecké hodiny
Ješte malý poznatek, jak jsem psal že při spojení s hodinami (po odeslání znaku "S" )se vypne pouze jeden sloupec (ne řádek jak jsem psal výše) a při každém připojení a odpojení se zhasne jiný sloupec (z leva do prava) , snad se chápem, kdyby ne tak mužu nahhrat video
Žirafka
Publikováno dne: 21.11.2015. 21:15  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Chápu to co se děje, ale nechápu proč. Pokud hodiny přejdou do režimu nastavení (přijmou znak "S" tak má displej úplně zhasnout, takže je něco špatně. Je ovšem otázkou co. Pokud hodiny komunikují, tak nebude problém s nastavením pojistek. Vidím to na problém s porty, ale takto na dálku skutečně nedokážu poradit.

Když hodiny komunikují, ukazují nastavený čas? Myslím výpis v terminálu. Dá se změnit korekční konstanta? A uloží se správně?
host
Publikováno dne: 21.11.2015. 21:27  
 Odp: Vědecké hodiny
Když to jsou vědecké hodiny tak bych se trochu zastavil u té kalibrace. Po vydělení předděličkou na 62500 se dá u 16bitového timeru dosáhnout jestli dobře počítám minimální krok korekce 16 ppm. Což je asi 1,5 sec/den a asi 41,5 sec/měsíc. Když se mrknem do datasheetů, nejvíc šmejdovatý krystaly v HC49 mají až +-100 ppm, ale výběr se dá objednat až v +-5 ppm. Naproti tomu hodinkové krystaly mají uváděno +-20 ppm, ale v celém rozsahu teplot. V intervalu 15-25° se vejdou krásně pod +-5 ppm. Jestli by teda nebylo vědečtější se zaměřit na stabilní krystal, jmenovitou frekvenci mu dotáhnout trimrem, nebo vůbec vlastní oscilátor protože ten v AVR asi nic moc. Nebo použít nějaký RTC třeba s 0.01 ppm a mít pak vědecký hodiny s chybou 1 sec za rok.
patrik
Publikováno dne: 21.11.2015. 21:49  
 Odp: Vědecké hodiny
ano v terminálu ukazují čas, a ukláá se správně, stejně tak korekční konstanta...
přikládám video co mi to dělá

Video
Žirafka
Publikováno dne: 21.11.2015. 22:01  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Zkusila jsem teďka stáhnout FW tady z Žirafovin a vypálit jej do mých hodin. Funguje správně, takže chyba bude někde v HW části. Ať již přímo v procesoru nebo někde na desce. Ale kde, to netuším.

Jinak se mi také povedlo smazat si EEPROM, takže už vím, jak hodiny komunikují bez jejího obsahu. Sice nic moc, ale něco se poznat dá. Alespoň to, že žijí.
Žirafka
Publikováno dne: 21.11.2015. 22:04  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
To je všechno pravda, ale toto je hříčka a "vědecké hodiny" by se měly psát asi takto.

Myslím si však, že je jedno jak dosáhnu přesného chodu. Ta korekce upraví frekvenci pomocí software a hodiny umí jít přesně.
patrik
Publikováno dne: 21.11.2015. 22:07  
 Odp: Vědecké hodiny
Zítra zkusím přehrát flash i eeprom a uvidím jestli jen nevznikla nejaká chyba při programování, i když vždy dávám verifikaci, ale přehrával jsem program asi 5x kvůli problémům s nahránim eeprom kterou mi nechtělo vzít avr studio, jinak na desce chyba ani byt nemuže, v podstatě tam nic není a LEDky fungují a jsou zapojeny správně, spíše to vypadá na vadný kousek MCU :-/ doufám že prosté přehrání programu pomůže...každopádně díky za pomoc
Žirafka
Publikováno dne: 21.11.2015. 22:09  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Mohl bys poslat schéma tvojí desky? Hlavně toho, jak je udělaný zdroj. Pár lidí totiž něco napadlo.
mano007
Publikováno dne: 21.11.2015. 22:10  
Tichošlápek
Datum registrace: 04.03.2011
Bydliště:
Počet komentářů: 84
 Odp: Vědecké hodiny
Patrik skus si skontrolovat ci nas spravne LED polaritu, nic ine ma nenapada.
Žirafka
Publikováno dne: 21.11.2015. 22:12  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Na videu mu ty diody svítí, tak asi budou v pořádku
mano007
Publikováno dne: 21.11.2015. 22:20  
Tichošlápek
Datum registrace: 04.03.2011
Bydliště:
Počet komentářů: 84
 Odp: Vědecké hodiny
To je sice pravda ale ako Anodu tak aj Katodu riadi MCU, pokial by boli k pevnemu potencialu 0V alebo Ucc tak je to ine.

Samozrejma nevylucujem iny problem ale za odmeranie nic nedas ako sa hovori
Patrik
Publikováno dne: 22.11.2015. 6:46  
Nemluva
Datum registrace: 22.11.2015
Bydliště:
Počet komentářů: 6
 Odp: Vědecké hodiny
tady je schéma zdroje
Kliknutím na obrázek otevřete nové okno s obrázkem v původní velikosti.



a tady soubor eagle
Ulozto
Žirafka
Publikováno dne: 22.11.2015. 8:18  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Aha, tak tady problém asi nebude. To zapojení je stejné jako originál. Víš, byl tu nápad, že jsi zapomněl k procesoru přivést napájení (protože na schématu řídící části to není nakreslené) a ten je pak napájen parazitně přes ochranné diody a proto to dělá neplechu.

Nicméně takto mám čím dál tím silnější pocit, že je vadný procesor a ne nic jiného. Program je v pořádku, zkoušela jsem jej na svém prototypu a pokud hodiny komunikují, tak procesor běží a musí běžet na správné frekvenci, protože jinak by nesedělo časování přenosu a navíc by nepočítaly správně čas, který ukazují při přenosu.
host
Publikováno dne: 22.11.2015. 9:05  
 Odp: Vědecké hodiny
má tam někde chybu v nadrátování dps...
Patrik
Publikováno dne: 22.11.2015. 13:43  
Nemluva
Datum registrace: 22.11.2015
Bydliště:
Počet komentářů: 6
 Odp: Vědecké hodiny
Jak budu doma tak nahodim celý projekt i s DPS, podle mě tam chyba není, ale nikdo není neomylny
host
Publikováno dne: 22.11.2015. 15:16  
 Odp: Vědecké hodiny
Schéma i program je v pořádku, uhňácal jsem tu věc pokusně na vrabčím hnízdě a funguje. Sice jsem neměl 4 MHz krystal, tak jsem použil 20M s jiným dělicím poměrem a tak jsem si tam zavlekl malou nepřesnost, ale to nerozhoduje.
Ty staré LED Tesla a DDR fakt ani na 20 mA nesvítí, jen to mžourá.
host
Publikováno dne: 22.11.2015. 15:27  
 Odp: Vědecké hodiny
Jestli chceš tady je testovací prográmek na vyzkoušení diod staticky:

: 1000000012c0189518951895189518951895189563
: 100010001895189518951895189518951895189578
: 100020001895189518958fed8dbfc0ece8ea4e2e07
: 10003000dd275d2ea89584b7082e877f84bf88e1d1
: 10004000992781bd91bdeee7f0e0a0e6b0e08827fa
: 100050008d933197e9f766248cef87bb88e781bbe6
: 100060008ce782bb80e088bbe1e0f0e0bbd084e0bd
: 1000700082bb8fef88bb82e08093600000916000bc
: 10008000073010f009f04dc083e0809361000091cb
: 100090006100063010f009f03ec0a0e68c91a8e3a4
: 1000a000c9d0bed08c9189238c93a1e68c91a2e318
: 1000b000c1d0b6d09c91982b9c9384ef91e0a1d0b5
: 1000c000a0e68c91a8e3b6d0abd09c91982b9c93e2
: 1000d000a1e68c91a2e3aed0a3d08c9189238c931e
: 1000e0008a98a2e69c9197ff04c0829b0ec09f77de
: 1000f0009c9382990ac082e39f93992782d09f9113
: 10010000829903c090689c930cc0a1e68c918f5f8c
: 100110008c9308f4bccfa0e68c918f5f8c9308f48d
: 10012000adcf84e082bb8fef88bb88ec90e069d0d4
: 1001300083e08093610082e080936000a0e68c9170
: 10014000a8e378d06dd08c9189238c93a1e68c9113
: 10015000a2e370d065d09c91982b9c938a98a2e6dc
: 100160009c9197ff04c0829b0ec09f779c938299bd
: 100170000ac082e39f93992744d09f91829903c03c
: 1001800090689c9303d0dacff894ffcfa0e68c91cf
: 10019000a8e350d045d09c91982b9c93a1e68c91dc
: 1001a000a2e348d03dd08c9189238c93a1e68c9119
: 1001b0008f5f8c9300916100073009f00fc083e0de
: 1001c00080936100a0e68c918f5f8c93009160001a
: 1001d000083009f003c082e08093600088ec90e072
: 1001e00010d0089588ee93e00cd03197d9f7089598
: 1001f0003197f1f70895689462f80895e89462f8e9
: 100200000895ef93ff93ee27e82be92b31f0e8ee0a
: 10021000f3e03197f1f70197d1f7ff91ef9108954e
: 1002200091e0882321f08894991f8a95e9f7892f16
: 1002300090950895883018f011968850fbcf089556
: 00000001ff

Napřed rozsvítí na 1 sec všechny diody naráz, pak proběhne postupně ledky od pravé spodní nahoru, pak zůstane svítit první led na pozici LSB sekund. Když zapojíš místo propojky na jas tlačítko, tak se stiskem tlačítka budou krokovat svítící led ručně 1 až 20 a zas dokola.
(Když svítí všechny diody naráz tak poklesne jas, jak se rozdělí proud)
Patrik
Publikováno dne: 22.11.2015. 15:40  
Nemluva
Datum registrace: 22.11.2015
Bydliště:
Počet komentářů: 6
 Odp: Vědecké hodiny
Díky, dneska si s tím budu hrát tak určitě vyzkouším i tvůj prográmek, jinak tady je celý projekt, tak se můžete kouknout co jsem zmrvil

Ulozto
host
Publikováno dne: 22.11.2015. 15:40  
 Odp: Vědecké hodiny
zdroják v bascomu http://leteckaposta.cz/709926381

(žirafí záhlaví tam zůstalo pro přehlednost)
host
Publikováno dne: 22.11.2015. 16:01  
 Odp: Vědecké hodiny
Každý to drátuje jinak
žirafka čísluje zleva zespoda doprava nahoru, ty zleva shora doprava dolů.
já to v tom testu krokuju zprava zdola doleva mahoru, čili od LSB jednotek sekund po MSB desítek hodin.
Žirafka
Publikováno dne: 22.11.2015. 17:53  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Testovací program otestován a mohu konstatovat, že funguje a otestoval můj testovací kus

Jsem zvědavá, jak Patrik dopadne a kde bude nakonec chyba. Uvidíme.
Patrik
Publikováno dne: 22.11.2015. 18:20  
Nemluva
Datum registrace: 22.11.2015
Bydliště:
Počet komentářů: 6
 Odp: Vědecké hodiny
Mno tak jsem taky otestoval testovací program, a nevím jak je to možné ale podle toho co to dělá mám dojem jak kdyby jsem měl přehozené řádky a sloupce, i když to je nesmysl, nechápu to

Video2

Jinak při mačkání tlačítka to dělá to samé, jen je asi potřeba poznamenat že při zmáčknutí a držení svítí všechny LEDky, prostě mi to přidacá, že to je celé znegované ty hodiny...
kontroloval jsem schéma i DPS a i když mám jiné číslování LEDek tak je zapojení stejné, nechápu to
host
Publikováno dne: 22.11.2015. 18:51  
 Odp: Vědecké hodiny
Z videa toho moc nepoznám a navíc mě nebaví tyhle youtuby a podobný opruzy, kde nemůže být jednoduše video v rozumným formátu, ale potřebuje plnou ***** všelijakých pluginů a okolo megovou stránku.
Zkus tím testovacím programem (a voltmetrem), až blikne všema ledkama a proběhne je a pak zůstane čekat na průsečíku S6 a R4 jak to máš na schématu: na S6 čili na pinu portB.2 musí být log 0, na ostatních pinech portu B log1,
na R4 čili na pinu portD.3 musí být log1 a na zbytku portu D log0 s výjimkou D.2 kde je při nezmačknutém tlačítku +Uc přes interní pull-up. Tohle musí odpovídat.
host
Publikováno dne: 22.11.2015. 19:01  
 Odp: Vědecké hodiny
A mrkni se kde máš katody na těch vychvalovaných smd LEDkách!
tohle zapojení vlastně není úplně košer, protože když by došlo k přepnutí rozdílu potenciálů mezi řádky a sloupci při původně správně polarizované LED, tak je namáhaná závěrným napětím 5V což je pro choulostivé LED tak akorát na hraně slušných mravů. Měly by tam být pro klid duše ještě obyčejné diody v sérii.
host
Publikováno dne: 22.11.2015. 19:08  
 Odp: Vědecké hodiny
No tady to právě tak moc jedno není, protože minimální krok korekce jaký tím softwarem jde udělat, je změna hodnoty tcnt1 o 1 (můžeš změnit tu konstantu z 220 třeba na 221 nebo 219), což na 4 MHz krystalu udělá skok 64 Hz a to je těch 1.5 sec/den = asi 16 ppm. Hardwarově rovnacím kondem by ses měla dostat na řádově lepší přesnost a navíc ten nf hodinkový krystal mívá v rozmezí pokojových teplot skoro nulovou závislost delta f na teplotě.
Patrik
Publikováno dne: 22.11.2015. 20:29  
Nemluva
Datum registrace: 22.11.2015
Bydliště:
Počet komentářů: 6
 Odp: Vědecké hodiny
Pane bože, jdu si naliskat, samozřejmě že jsou všechny ledky naopak, omluvám se vám všem....
Zkoušel jsem pouze správnost řádků a sloupců, ale polaritu ne, to jsem si najivně myslel, že mám správně....
Žirafka
Publikováno dne: 22.11.2015. 20:39  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Tak hlavně že tak. Třeba to bude všechno nakonec fungovat dobře.
Žirafka
Publikováno dne: 22.11.2015. 20:41  
Administrátorka
Datum registrace: 04.05.2008
Bydliště: Ústecký kraj
Počet komentářů: 1019
 Odp: Vědecké hodiny
Jo já vím, je to všechno špatně.

Ale je to hračka pro radost, ne přístroj na přesná měření.
mano007
Publikováno dne: 23.11.2015. 0:36  
Tichošlápek
Datum registrace: 04.03.2011
Bydliště:
Počet komentářů: 84
 Odp: Vědecké hodiny
"Ja to rikal" ze za zmeranie polarity nic nedas
Ono sa to nezda ale opacna polarita neznamena ze to bude svietit inverzne.

Inac vynikajuci napad otestovat LED nejkym pomalym testovacim programom.
host
Publikováno dne: 23.11.2015. 6:48  
 Odp: Vědecké hodiny
Já o tom vím žes na to upozorňoval první ale kdo mohl tušit že tak základní botu spáchá kdyby ta fotka dps aspoň byla tak ostrá jako velká, tak by to člověk viděl..
No tak si to aspoň bude pamatovat, je to takovej zárodek charlieplexingu ) https://en.wikipedia.org/wiki/Charlieplexing
To je ta zákeřnost dvojích nedostatků. Možnost přepólování napětí a k tomu přepólování součástky.
host
Publikováno dne: 23.11.2015. 7:02  
 Odp: Vědecké hodiny
Vždyť i skladník ve šroubárně... zkalibrovat hračku
Vůbec není všechno špatně naopak je výborné když něco člověka probere z lenosti. Když je to skoro za jedny peníze, proč by i hračka nemohla potěšit tím, že po x dní tiká přesně s pípáním z rádia. U mě je špatně hlavně to, že kdybych si chtěl s BCD hodinama pohlídat vajíčka na hniličko, byl bych dávno po snídani než bych vyluštil údaj
Odeslat komentář
Pravidla komentářů*
Všechny komentáře se automaticky schválí.
Nadpis*
Jméno*
Email*
Webová stránka*
Zpráva*
Potvrzovací kód*
1 + 9 = ? (slovem)  
Napište výsledek tohoto příkladu
Maximální počet pokusů je omezen na 10.
Obrázek Obrázek
ObrázekObrázekObrázekObrázekObrázek
Obrázek
Redakční systém XOOPS 2.5.9
Obsah © 2008-2018 Žirafoviny