PaJa-trb  >  Konstrukce  >  Hodiny, Teploměr, Vlhkoměr - Hodiny 2012
paja@paja-trb.cz

hodiny_2012_foto.jpg, 6,5kB Tyto "kapesní" hodiny s rozměry 50x6x5cm a váhou 1,4kg jsou mým dalším dílem do sbírky elektronických udělátek. Hlavní požadavky byly velké displeje, přehlednost, přesnost měření, záznam teplot.

Základní funkce a vlastnosti:

Celé hodiny jsou, po mechanické stránce, částečně navrženy pro libovolného rozmístění displejů a přizpůsobení mechanické konstrukce potřebám a dovednostem konstruktéra.
Obsahují desku ovládání, kde je i zdroj a wav player, k té je přímo připojena deska zobrazení času. A pak následují 2 identické desky pro zobrazení ostatních údajů (teplot, vlhkosti, datumu).
   - Ovládání, zdroj, wav player
   - Displej - čas
   - Displej - malý
   - Konstrukční uspořádání + krabice
   - Fotky ze stavby



Popis ovládání:
Po zapnutí hodin se zobrazí na displejích: PAJA HodinY   1.0 (1.0 - verze sw) a proběhlo-li načtení čidla DS18B20 v pořádku, tak pípne piezo. Potom následuje samotný běh hodin, kdy každou 0,5s dojde k přerušení od RTC, procesor si načte čas a vyšle ho na displej. Každou celou sekundu blikne dvojtečkami, pak následuje porovnávání co má zobrazit na malých displejích (Teplotu Out, In, vlhkost, datum) a podle toho načítá data a zobrazuje.
Standardně je nastaveno na levém displeji venkovní teplota a na pravém vlhkost.
Dále každou sekundu kontroluje zda má povolen gong a nastala celá hodina (přesněji zapíná wav player v 59min 58sec a přičte si hodinu, kvůli zpožděnému náběhu přehrávače).
Pak v 23hod 59min 45sec ukládá min, max teploty a časy teplot do eeprom 24C512.

Tlač. 1 vstup do menu nastavení
Tlač. 2 zobrazí minimální (Lo) out teplotu, čas a datum / nebo slouží jako - při pohybu v menu
Tlač. 3 zobrazí maximální (Hi) out teplotu, čas a datum / nebo slouží jako + při pohybu v menu
Tlač. 4 zobrazí na 3s na levém displeji in teplotu / nebo slouží jako OK potvrzení v menu
K ovládání je možno použít i dálkový ovladač na protokolu Philips RC-5. Použil jsem univerzální DO z Kauflandu, po dlouhém testování jsem skončil na kódu 0026 (viz. manuál DO). Na obrázku je popis jednotlivých tlačítek DO.

Menu a nastavení:
Rozkreslení struktury menu hodin a možné kroky.
Hodiny jsem dal do užívání rodině (laikům), proto bylo nutné vytvořit jednoduchý manuál, pro jejich seznámení s chodem a funkcemi hodin (ale stejně je ovládám já...)

Program:
Osazený procesor Atmega32 je zaplněný asi ze 3/4 a z vývodů zůstal volný jenom jeden.
Vytvoření a odladění sw dalo (jak jsem čekal) nejvíc práce na hodinách. Raději nepočítám ty stovky hodin co jsem u toho proseděl ... Hodiny běží na kódu poskládaném v Bascomu (kód má 1800 řádek).
V současné době nemám v plánu zveřejňovat celý zdroják pro free použití. Jednak mě to stálo hromadu úsilí to dát do konečné podoby a pak bych si chtěl nechat ještě nějaký čas na testování, sledování v provozu a případné doladění.
Do světa pustím očesanou verzi a to pouze přeložený HEX soubor. V této verzi nebude funkční komunikace s eeprom, wav player a na disleji se po spuštění zobrazí "PAJA HodinY L 1.0"
Download Download: Hodiny 2012 - SW light 1.0 , Nastavení Fuses : High=0xD9, Low=0x7D

Edit 2014: V současné době testuji náhradu SHT71 čidlem SHT21 komunikující po RS845 (přidán vysílač ATtiny85, SN75176, převodník I2C úrovní 5V-3,3V, SHT21).
Úprava programu (sw.1.5) pro komunikaci s SHT21, RS845, oprava zamrznutí hodin při odpojeném/poškozeném čidle.


Spotřeba:
Napájení 9-12V DC - šero "tma": 0,06A / světlo-max : 0,7A
Spotřeba financí ... materiál na výrobu (součástky, DPS, krabice, barva) po dlouhém sčítání ... asi 2700kč
A spotřeba času - nepočítaně, realizace hodin začala v listopadu 2012 a dokončení začátkem února 2013. HW byl až na malé změny a úpravy v ovládací části hotový za cca 1-2 týdny, pak následovaly stovky hodin psaní a ladění SW a nakonec si vyrobit na míru krabici - cca týden.



Ovládání, zdroj, wav player

Funkce:
Srdcem hodin je procesor ATmega32 v SMD provedení, který ovládá všechny další části.
Jako RTC jsem použil DS3231, který nepotřebuje externí krystal, má již v sobě integrovaný přesný TCXO krystal s přesností ±2ppm v rozsahu 0°C do +40°C. Obsahuje také kalendář s kompenzací přestupných roků, počtu dnů v měsíci, 2 alarmy, ... já jej však využívám jen na čtení času a datumu každou 0,5sekundu. A samozřejmostí je záložní 3V baterka, které udrží RTC v chodu při výpadku napájení.
Na společné I2C sběrnici s RTC běží i eeprom paměť 24C512, která slouží k záznamu minimální a maximální venkovní teploty a času (HH:MM). Hodiny sledují během dne teploty, zaznamenávají si min a max (spolu s časem). Minimální teplotu si procesor zapamatuje hned, ale maximální je potřeba (kvůli teplotním výkyvům a eliminaci chybného načtení) uložit až po 3 stejných měřeních - tedy ustálené teplotě. Proto může být na displeji současná teplota vyšší než je v paměti uložená Hi teplota.
Každý den se před půlnocí uloží do eeprom min, max teplota a čas konkrétního dne. V eeprom paměti je pak možno dohledat teplotu kteréhokoli dne v roce (pokud již byla uložena). Následující rok se teploty přepisují.
Na měření teplot slouží jako vnitřní čidlo obvod DS18B20 s přesností ±0,5°C, jako venkovní teplota a vlhkost čidlo SHT71 s přesností ±3%RH a ±0,4°C (nejdražší součástka hodin).
U SHT71 je připojen pull-up odpor R7 10k, vyskytly se ovšem problémy s načítáním dat na pinu procesoru, kde je čidlo připojeno, nakonec bylo řešením zmenšení hodnoty odporu přibližně na polovičku. Svoji roli hrálo určitě i 10m dlouhé vedení k čidlu.
Hodiny mají i výstup přes optočlen, který je aktivován (v závislosti na nastavení v menu) při alarmu, může se tak v určitou dobu ovládat další zařízení.
Jako bonus jsem do hodin integroval Wav player mono. Na microSD kartě mám uloženy 2 druhy zvuků gongu (odbíjení hodin) a pro budík jednu písničku (lze použít libovolnou, min. 2minuty délky), která se může přehrávat při alarmu jako budík. Jelikož bylo nad moje síly integrovat přehrávač do hlavního procesoru, zvolil jsem nouzové řešení. Procesor sepne napájení pro přehrávač, stejně tak i pro zesilovač LM386 a po pauze přes relé připojí i reproduktor (soft-start , zabrání tak lupancům při zapnutí přehrávače). Dále může ještě procesor skočit na další skladbu přemostěním tlačítka Next. Je to sice komplikovanější řešení, ale hlavní procesor jen aktivuje příslušné výstupní piny a už se nemusí o nic dalšího starat, přehrávač jede sám.
Jelikož jsou použité LED displeje, tak jsem integroval i regulaci jejich jasu přes PWM, o snímání intenzity osvětlení se stará fotoodpor na desce displeje času.
Hodiny se dají ovládat pomocí 4 tlačítek v horní části desky, nebo pohodlněji přes univerzální dálkové ovládání.

Konstrukce:
Většina součástek je v SMD, takže stavba vyžaduje nějaké zkušenosti a pevnou ruku. Zvláště při pájení procesoru.
Na desce je několik drátových propojek, místo těch nejkratších (tlustá červená čára) lze osadit nulové SMD odpory vel. 1206.
Použil jsem sirénku KPE242 (průměr 13,7mm, RM 7,62mm), ale na DPS je místo pro osazení třeba pezosirénou KPE212A (na DPS jsou označeny pady jako piezo a +5V).
Napájení je řešeno přes napájecí konektor zašroubovaný do DPS, tak aby směřoval do zadní části hodin (směrem ven). Stejně tak jsou přiletovány i ostatní konektory ISP, SHT71, DS18B20 a opto. Diodový můstek se vejde i na stojato nebo je možnost jej položit na DPS.
Je třeba ještě dodělat chladič (AL plech 5mm), který bude začínat vlevo u diod. můstku a může klidně přesahovat doprava ven přes DPS. Protože max. odběr hodin dosahoval až 0,7A, je vhodné napájet hodiny menším napětím, třeba 9V/1A.
Konstrukční uspořádání by mělo být patrné i z fotek.

hodiny_2012_ovladani_schema

Zde je návrh plošného spoje o rozměrech 220 x 50 mm.
hodiny_2012_ovladani_osaz_top hodiny_2012_ovladani_osaz_bottom hodiny_2012_ovladani_spoje

Seznam použitých součástek - Ovládání + zdroj + wav player:
C1,C2      - 22p                  SMD vel. 0805           2x
C3-C6      - 100n                 SMD vel. 0805           4x
C10-C13    - 100n                 SMD vel. 1206           4x
C14        - 100n                                         1x  
C7,C8      - 470M/25V                                     2x    
C9         - 220M/25V                                     1x      
C17        - 220M/16V                                     1x
C15        - 2M2/50V                                      1x
C16        - 47n                  SMD vel. 1206           1x
C19        - 1n                   SMD vel. 1206           1x
C20        - 100M/16V                                     1x

IO1        - ATmega32L-8AU        TQFP44                  1x
IO2        - DS3231               SO16L                   1x
IO3        - 24C512               SO-08                   1x
IO4        - 78S05              + (SK09-20SA220 - TME)    1x
IO5        - DS18B20            + PSH02-03P + PFH02-03    1x
IO6        - SHT71              + PSH02-04P + PFH02-04    1x
IO7        - LF33CDT                                      1x
IO8        - ATtiny85             SOIC08                  1x
IO9        - LM386                SO08                    1x

T1-T3      - BC817                SOT-23                  3x
T4,T5      - IRFD9120                                     2x
T6         - BC846                SOT-23                  1x
D1         - 1N4148               SOD80                   1x
M1         - B250C8000                                    1x
L1         - 10uH                 5mm                     1x
OK1        - LTV357                                       1x
Q1         - 8MHz                                         1x

P1         - 10k                  PT6V - ležatý           1x
R1-3,9-12  - 4k7                  SMD vel. 1206           7x
R4         - 10k                  SMD vel. 1206           5x
R13        - 10                   SMD vel. 1206           1x
R14        - 100                  SMD vel. 1206           1x
R15        - 330                  SMD vel. 1206           1x

REL1       - RELSIA05                                     1x
REP1       - KPE242  (KPE212A)    (LD-BZEG-1205 - TME)    1x
Repro      - 50CP08K              8ohm/0,3W               1x

SD1        - MICROSD              (MCC-SDMICRO/1 - TME)   1x
Next       - P-B1720                                      1x
SW1-4      - P-TACTN68-F          (TACTA-68N-F - TME)     4x

CON1,2     - MLW10                                        2x
ISP1       - MLW06G                                       1x
K2         - PSH02-02P          + PFH02-02                1x
AC,K1      - ARK500/2                                     2x
BAT1       - SN2032               držák + bat 2032 -3V    1x
Konektor   - SIL8PZ               precizní dutin. lišta   4x

Download Download:
Návrh DPS a SCH - Ovládání pro Eagle (od verze 5.6).
Obrázek pl. spoje PNG - Ovládání v rozlišení 600x600 DPI



Displej - čas

Funkce:
Jedná se prakticky jen o desku zobrazovačů, kde jsou displeje (4x38mm a 2x25mm), LED, posuvné registry, fotoodpor a přijímač DO TSOP31236
Konstrukce:
Opět několik drátových propojek, některé lze nahradit nulovými odpory SMD vel. 1206. IO7 je ohnut o 90, aby směřovala jeho přijímací část před hodiny.
Pod trimrem je možno vyvrtat díru a regulovat tak jas malým šroubováčkem zezadu.
Odpory jsou v SMD i THT, ty je nutné osadit ze strany spojů, stejně tak T1 a precizní konektor k propojení s deskou ovládání.
V TME se mi nepodařilo sehnat stejný typ displejů, 38mm jsou od jiného výrobce. Mají ovšem horší zpracování led segmentů, ale hlavně jinou velikost a krátké vývody. Bylo proto nutné u všech 25mm displejů odstřihnout rohové výčnělky, a tak posadit malé displeje přímo na DPS (jinak by byly v vzduchu). Displeje 38mm naopak vyvýšit, aby vrchní část lícovala s 25mm displeji.

hodiny_2012_displej_cas_schema

Zde je návrh plošného spoje o rozměrech 220 x 50 mm.
hodiny_2012_displej_cas_osaz_top hodiny_2012_displej_cas_osaz_bottom hodiny_2012_displej_cas_spoje_mini

Seznam použitých součástek - Displej čas:
C1-C6      - 100n                 SMD vel. 1206           6x
C7         - 4M7/10V              SMD vel. B - tantal     1x

D1,D2      - LED 5mm - zelena     (LED5-G-LC - TME)       2x
D3,D4      - LED 3mm - zelena     (LED3-G-LC - TME)       2x

DIS1-4     - LED 7-segment 38mm   (LD-S150G-C - TME)      4x
DIS5,6     - LED 7-segment 25mm   (SA10-21GWA - TME)      2x

IO1-6      - 74HC595D             SO16                    6x
IO7        - TSOP31236            (SFH506-36)             1x

RFOTO      - VT43N1                                       1x
T1         - BD140                                        1x
P1         - 5k                   PT6V - ležatý           1x
Konektor   - SIL8PZ               precizní dutin. lišta   4x

R1,2,6,7,9,10,14,15,17,18,22,23,25,26,30,31,33,34,38,39,41,42,43,46,47    
           - 68                   SMD vel. 1206          25x
R3-5,11-13,19-21,27-19,35-37,44,45
           - 68                                          17x
R16        - 150                                          1x
R32        - 220                                          1x
R50        - 220                  SMD vel. 1206           1x
R40        - 390                                          1x
R48        - 390                  SMD vel. 1206           1x
R8,24      - 470                  SMD vel. 1206           2x
R49        - 1k                   SMD vel. 1206           1x
Download Download:
Návrh DPS a SCH - Displej čas pro Eagle (od verze 5.6).
Obrázek pl. spoje PNG - Displej čas v rozlišení 600x600 DPI



Displej - malý

Funkce:
Jedná se o 2 identické desky (proto vše vyrobit a nakoupit 2x !). Stejně jako u desky času je i tato jen zobrazovač. Obsahuje 4, 25mm displeje. Navíc ještě 5, 7mm displeje pro zobrazení dalších stavů jako in, out (vlevo nahoře) a pak ještě vlhkost rh + z LED diod složený znak %
Vše se ovládá přes posuvné registry a napájení přes PWM a T5. Na DPS jsou 2 vývody označené N.C., ty nemají reálný využití. Jedná se pouze o nevyužité vývody pos. registru, jelikož jsem v době návrhu hw nevěděl co všechno v hodinách bude.
Konstrukce:
Většina součástek je taktéž v SMD + několik propojek. U displejů jsem taky zastřihával rohové výčnělky, aby si sedly přímo na DPS.
V návrhu je zakreslen konektor MLW10-90°, ale nakonec jsem použil AWLP10, do kterého se po naletování přímo zacvakne kabel. Výhoda je jeho malá velikost.

hodiny_2012_displej_maly_schema_mini

Zde je návrh plošného spoje o rozměrech 133 x 50 mm.
hodiny_2012_displej_maly_osaz_top_mini hodiny_2012_displej_maly_osaz_bottom_mini hodiny_2012_displej_maly_spoje

Seznam použitých součástek - Displej malý: - pro 2 desky všechno 2x !
C1-C5      - 100n                 SMD vel. 1206           5x
CON1       - AWLP10               (AWLP-10 - TME)         1x
D1,D2      - LED 3mm - zelena     (LED3-G-LC - TME)       2x
D3-D5      - LED 2x5mm - zelena   (LL-254GD - TME)        3x 
DIS1-4     - LED 7-segment 25mm   (SA10-21GWA - TME)      4x
DIS5-9     - LED 7-segment  7mm   (LD-S028G-C - TME)      5x
IO1-5      - 74HC595D             SO16                    5x

R1,2,6,7,9,10,14,15,17,18,22,23,27-29
           - 68                   SMD vel. 1206          15x                                     
R3-5,11-13,19-21,25,26,30,31
           - 68                                          13x
R41        - 82                   SMD vel. 1206           1x
R37,38,40  - 120                  SMD vel. 1206           3x
R39        - 150                  SMD vel. 1206           1x
R36        - 180                  SMD vel. 1206           1x
R33-35     - 270                  SMD vel. 1206           3x
R8,16,24   - 390                                          3x
R32        - 390                  SMD vel. 1206           1x
R42-45     - 4k7                  SMD vel. 0805           4x
R46        - 1k                   SMD vel. 1206           1x

T1-T4      - BC846                SOT-23                  4x   
T5         - BD140                                        1x
Download Download:
Návrh DPS a SCH - Displej malý pro Eagle (od verze 5.6).
Obrázek pl. spoje PNG - Displej malý v rozlišení 600x600 DPI



Konstrukční uspořádání + krabice

Krabice:
je vyrobená na míru z pozinkovaného plechu tloušťky 0,8mm. Nechal jsem si u klempíře ustřihnout plech 54x1200mm a ohnout 6mm hranu o 90°. A plech na záda 508x60mm. Doma jsem si pak vystříhal výkroje v rozích, naohýbal do tvaru finální krabice a všechno zaletoval cínem a velkou pájkou (s pomocí plynového hořáku, pro lepší prohřátí plechu). Finální krabice má tak rozměry 510x62x48mm (d,v,š). Obrázek plechů a rozměrů v PNG - výkres.
Spoje jsem přebrousil, některé ještě překytoval a po navrtání děr šla na řadu barva. Základ Formex (na lehké kovy) a pak sprejem několik vrstev černé.
Nechal jsem si uříznou kouřové plexisklo (505x59mm - míry jsem bral až po vyrobení krabice) tloušťky 3mm, ale pro moje účely bylo moc průsvitné, tak jsem ho nechal ještě přelepit tmavou fólií na tónování autoskel. Teprve potom byla průhlednost akorát.
Jednotlivé DPS jsou přišroubovány na 2ks duralových vinglů 15x15mm. Jejich rozměry, výřezy a vrtání děr jsou ke stažení v PNG. Všechny díry jsou vrtané 2,5mm a jsou v nich vytočeny závity M3.
Mezi DPS a vinglíky jsou plastové podložky tloušťky 1mm, aby se nedotýkaly součástky nebo vývody vinglů.
Mezi DPS ovládání a displejem čas jsou distanční sloupky M3 (díry se závitem z obou stran) délky 20mm - 6ks. Pak je osazeno na šroubcích, které drží malé displeje 8ks distanček délky 25mm, které drží zadní víko hodin.
Hodiny jsou v krabičce uchycené pomocí 6ks šroubků (3 dole, 3 nahoře), které drží v závitech vinglů. Výsledná krabička byla trošku větší, proto jsem musel vymezit vůli nalepením pásků plastů na horní část vinglů (viz. fotky).
Nakonec jsem dolů nalepil 4 gumové nožičky, výrobní štítek, popisy tlačítek a napájecího konektoru.

Download Download:
Obrázek konstrukčních vinglů v PNG - výkres vrtání a výřezů.
Obrázek plechů a rozměrů v PNG - výkres.
Obrázek štítků v PNG - 600x600 DPI



Fotky

hodiny_2012_foto_01_mini.jpg, 5,1kB
hodiny_2012_foto_02.jpg, 14kB hodiny_2012_foto_03.jpg, 25kB hodiny_2012_foto_04_mini.jpg, 11kB hodiny_2012_foto_05.jpg, 19kB hodiny_2012_foto_06_mini.jpg, 26kB hodiny_2012_foto_07_mini.jpg, 15kB hodiny_2012_foto_08.jpg, 23kB hodiny_2012_foto_09.jpg, 14kB hodiny_2012_foto_10_mini.jpg, 16kB hodiny_2012_foto_11_mini.jpg, 23kB hodiny_2012_foto_12.jpg, 11kB hodiny_2012_foto_13.jpg, 34kB hodiny_2012_foto_14_mini.jpg, 15kB


PaJa © PaJa-trb 2013- E-mail