Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Zegar RGB (WS2812B) z DCF-77

tomeeh 31 Jan 2015 20:32 24978 42
Suntrack
  • Zegar RGB (WS2812B) z DCF-77

    Witam,

    w końcu i ja postanowiłem zaprezentować swoje dokonania na elektrodzie. To mój pierwszy post w DIY, proszę o wyrozumiałość. :-)
    (for english click here)

    1. Pomysł
    Dla mnie, człowieka urodzonego pod koniec lat 70, zawsze wzorem zegara był zegar Teleexpressu. Te 60 diod sekundnika były dla mnie magnesem. Jednak sterowanie 60-ma diodami za pomocą multiplekserów, ekspanderów portów nigdy do mnie nie przemawiało. A już tym bardziej ówczesne diody dwukolorowe, bo liczba kanałów rosła do 120. Wreszcie w grudniu 2013 znajomy pokazał mi swój pasek LEDowy WS2812B. Gdy go zobaczyłem od razu wiedziałem, że to jest to, czego zawsze potrzebowałem – zamiast wielu układów cyfrowych wystarczy jeden pin procesora. No i pasek jest w wersji 60 diod – to aż się prosiło o zegar. Jeszcze w ten sam dzień odwiedziłem powszechny portal aukcyjny i zamówiłem pasek 60 diod prosto z dalekiego wschodu. Dziś mija już ponad 13 miesięcy i uważam, że można co nieco pokazać.

    2. Założenia
    Głównym założeniem jest wygoda obsługi. A najlepiej – kompletny brak obsługi, tj. żadnych przycisków – zegar ma po prostu bezobsługowo zawsze pokazywać aktualny czas.
    a. Ustawianie zegara
    Nie wiem, jak jest u was, ale mnie męczy ręczne przestawianie zegar(k)ów w domu co najmniej dwa razy do roku (zmiany czasu na letni lub zimowy). Jako, że od dawna jestem fanem wzorca czasu DCF-77, postanowiłem postawić na tą technologię. Z alternatywnych rozwiązań można by było rozważyć GPS, czy też synchronizację przez internet. Jednak ze względu na prostotę, zasięg w budynkach, no i zamiłowanie do transmisji o prędkości 1 bit na sekundę, postawiłem na DCF-77.
    b. Sterowanie jasnością diod
    Biorąc pod uwagę, że jasność w pokoju zmienia się w znacznym stopniu (noc/słoneczny dzień) zdecydowałem, że zegar trzeba wyposażyć w czujnik oświetlenia, by na jego podstawie dobrać jasność LEDów. Zegar nie spełniłby swego zadania, gdyby w dzień był nieczytelny (zbyt ciemny), bądź oślepiał w noc (zbyt jasny).

    3. Realizacja – sprzęt (hardware)
    Do wysterowania będzie potrzebny mikrokontroler. Jako, że jestem fanem małych płytek (małe jest piękne), no i sterowanie WS2812B jest wygodne od strony hardware‘u, zdecydowałem się na mały procesor. Myślałem o AVR i PIC i ostatecznie, jako, że nigdy wcześniej nie bawiłem się AVRami postawiłem na Attiny85. Sześć nóżek niepełnego Portu rozdysponowałem następująco:

    a. Pierwsza nóżka (PB5), RESET pozostała nie użyta, gdyż posiadam tylko programator ISP - usbasp z alternatywnym firmwarem USB AVR LAB (link). Swoją drogą polecam ten firmware każdemu, bo dzięki niemu nasz programator usbasp może udawać następujące narzędzia: programator AVRISPmkII, programator STK500v2, programator OpenOCD, programator JTAGICEmkII, prosty oscyloskop, interfejs boundary scan, logger I2C, konwerter USB-UART, konwerter USB-RS232/485. I jakby było mało, no to na deser jeszcze standardowy programator usbasp. Autor zrobił ciekawy bootloader, dzięki czemu wybór programatora z listy powyżej odbywa się bez przeprogramowywania firmware’u – po prostu jest programik na PC, w którym wybieramy, jakie urządzenie ma naśladować nasz hardware’owy usbasp, i wszczepienie firmware’u następuje przez USB. Ja zdecydowałem się na opcję STK500v2, która świetnie współpracuje z moim AVR Studio 4.19 – po prostu Studio widzi usbasp jako STK500, więc wszystkie funkcje (no może poza updatem softu STK500 J z pozycji AVR Studio) są dostępne. Tak, wiem, AVR Studio 4.19, to stary soft, ale mi wystarcza i nie mam ochoty instalować giganta Atmel Studio 6.

    b. Dwie nóżki (PB3, PB4) poświęciłem na kwarc 8 MHz. Może ktoś zapyta – po co kwarc, masz przecież wewnętrzny oscylator, a do tego masz przecież synchronizację DCF-77. Tak, ale jestem fanatykiem dokładności – zegar ma pokazywać zawsze dokładny czas, odchyłka ma być zawsze poniżej sekundy. Dlatego wybrałem kwarc z dokładnością dziesiątek ppm zamiast wewnętrznego oscylatora o dokładności w granicach procentów. Żeby być w pełni zadowolonym, pobawiłem się w dokładne obliczenie wartości kondensatorów obciążających kwarc – chodzi o to, by zminimalizować niedokładność. Tutaj uwaga – te kondensatory trzeba obliczyć, bo one zależą od konkretnego kwarcu. Błędem jest branie wartości prosto ze schematu, jeżeli mamy inny rodzaj kwarcu niż na schemacie. Jeśli temat obliczeń jest interesujący, mogę go rozwinąć.

    c. Czwarta nóżka (PB1) steruje linijką diod. Od strony hardware‘u wstawiłem tylko podwójną diodę D1, by sygnał danych dla linijki nigdy „nie wyszedł” poniżej masy i powyżej napięcia zasilania.

    d. Do piątej nóżki (PB0) dociera sygnał DCF-77 z moduliku, który wyciąłem (dosłownie wyciąłem brzeszczotem fragment płytki drukowanej) z jednego z zegarków. Modulik ma rozmiary 17 na 14 mm, podłączona jest do niego oryginalna antena ferrytowa. Moduł ten dostarcza mi impulsy 200/100/0 ms, które są dekodowane przez mikrokontroler. Aby poprawić jakość odbioru, zestroiłem obwód rezonansowy anteny dokładnie na 77,50 kHz. Do tego celu zbudowałem na innym pręcie ferrytowym prowizoryczną antenkę nadawczą, którą podłączyłem do generatora 77,5 kHz. Następnie do anteny odbiorczej modułu DCF zbudowałem wzmacniaczyk na pojedynczym tranzystorze J-FET i jego wyjście skierowałem na oscyloskop. Równolegle do anteny odbiorczej przykładałem różne kondensatory 1...150 pF obserwując, przy którym maksimum rezonansu wystąpi przy 77,5 kHz. Ostatecznie stanęło na kondensatorze kilkadziesiąt pF. No cóż, tak to już dziś jest, że się oszczędza na wszystkim – oryginalny moduł powinien mieć trymer do tego celu.
    Jako, że moduł pochodzi z zegarka zasilanego jedną baterią AA, na schemacie pojawił się regulator 1,5 V dla modułu DCF. Aby dopasować amplitudę sygnału wyjściowego z 1,5 V do 5 V wykorzystałem T1.

    e. Do ostatniej, szóstej nóżki mikrokontrolera (PB2) podłączyłem fotodiodę PD1, która generuje spadek napięcia na R5. Jasność odczytuję za pomocą wewnętrznego przetwornika AD.

    W trakcie uruchamiania okazało się, że linijka pracująca z sygnałami 800 kHz potrafi zagłuszyć odbiornik DCF. Z tego powodu przewidziałem opcję odłączenia linijki LED na czas synchronizacji. Niestety wszystkie nóżki procesora już wykorzystane, tak więc trzeba było jakąś funkcję zdublować. Wybór padł na sygnał z fotodiody. W momencie, gdy chcę wygasić linijkę LED, pin PB2 staje się wyjściem, wysyłam na niego stan wysoki, który to rozłącza tranzystor T2 i pozbawia linijkę napięcia zasilania. Sygnałowi z fotodiody to nie przeszkadza, no bo linijka i tak jest w tym czasie wyłączona. Z drugiej strony sygnał z fotodiody też nie jest w stanie wyłączyć T2 w trakcie normalnej pracy, gdyż na R5 odkłada się napięcie 0...3 V, a więc Vgs tranzystora T2 mieści się wówczas w przedziale 5...2 V. To za mało, by go wyłączyć (Vgsth max = 0,95 V).
    W roli złącza do programowania wykorzystałem małe 5-pinowe gniazdo.

    Ostatecznie hardware został zrealizowany na dwustronnej płytce drukowanej o wymiarach 40 na 20 mm, na której zamontowany jest również moduł odbiorczy DCF. To moja pierwsza próba termotransferu w domu. Z wyników jestem zadowolony – ścieżki pod elementami 0603 są przyzwoitej jakości. Płytka jest co prawda dwustronna, ale trawiłem tylko jedną stronę, a druga strona została niewytrwiona i pełni funkcję ekranu przeciwzakłóceniowego. Jest ona połączona z masą za pomocą przelotek, które wstawiałem, gdzie tylko się dało. Wszystkie elementy poza modułem DCF oraz kwarcem zostały zamontowane na stronie TOP. Płytka oraz antena zostały przyklejone z pomocą kleju na gorąco do tylnej, niewidocznej strony zegara.

    Z uwagi na linijkę LED, całość jest zasilana napięciem 5 V. U mnie jest to mały zasilaczyk z gniazdem USB A. Doprowadzenie zasilania wykonywałem za pomocą cienkiego drutu nawojowego 0,1, aby był on możliwie niewidoczny dla oka mojej żony (w przeciwnym wypadku żona zezwoliłaby mi na powieszenie zegara co najwyżej w piwnicy bądź garażu :-D). Przewód zasilający ma aż około 12 Ω rezystancji, ale pozwala to jeszcze na poprawną pracę zegara. Końcówka przewodu została zakończona wtykiem USB A.

    4. Realizacja – oprogramowanie
    Program napisałem AVR Studio 4.19 w języku C. Kod wynikowy zajmuje około 5 kB, zużyłem około 200 bajtów RAMu. Program jest tak skonstruowany, że co 20 milisekund następuje przerwanie od timera, w którym to: (i) sprawdzam stan na linii wejściowej od modułu DCF, (ii) pobieram próbki z fotodiody i przeliczam ja na pożądaną jasność, (iii) obliczam aktualny czas, (iv) wyświetlam aktualny czas na linijce. Tak więc można powiedzieć, że odświeżanie wyświetlacza zegara wynosi 50 Hz. Wszystko to zajmuje około 4 milisekund, po czym procesor idzie „spać” w tryb IDLE czekając na kolejne przerwanie. Nad całością czuwa watchdog o okresie przepełnienia 32 ms.
    Sporo zabawy dało mi zdekodowanie sygnału DCF-77. Jako że mym mottem było stwierdzenie „lepiej nie wyświetlać żadnego czasu, aniżeli niepoprawny” zadałem sobie trochę trudu, by napisać kod sprawdzający spójność odebranych danych na wielu poziomach. Przykładowo – mimo, że wyświetlam tylko godziny, minuty i sekundy, odbierane są również dni tygodnia, miesiąc oraz rok, które są sprawdzane pod względem spójności (np. nr dnia musi być pomiędzy 1...31). Sprawdzam oczywiście dostępne bity parzystości, początku minuty, początku danych o czasie. Dodatkowo przed wyświetleniem czasu zbieram dane z dwóch minut, sprawdzam spójność i dopiero wtedy wyświetlam. Do sprawdzenia poprawności odebranych danych korzystałem ze (STRONY), którą polecam, bo prezentuje ona na żywo odebrane sygnały DCF, a także posiada pokaźne archiwum sygnału DCF.
    Tak jak pisałem, linijka LED potrafi zakłócić standardową synchronizację, która ma się odbywać co godzinę. Jeżeli nastąpiło bezpośrednio po sobie 12 nieudanych synchronizacji, wówczas 10 sekund przed godziną 3 w nocy następuje odcięcie zasilania linijce LED, zaprzestanie wysterowania linijki, dzięki czemu sygnał DCF jest odbierany poprawnie. A dlaczego robię to o 3 w nocy? Bo niezależnie od dnia w roku (zwykły dzień bądź przestawienie na czas letni, bądź przestawienie na czas zimowy), o godzinie 3 na naszej długości geograficznej mamy już aktualny czas. Poza tym o 3 w nocy raczej rzadko korzystam z zegara, więc nie szkodzi, że wyświetlacz zostanie wyłączony na 2-3 minuty.
    Do linijki wykorzystałem gotowy sterownik „light weight WS2812 lib”, który wzbogaciłem o korektę gamma. Ostatecznie, w celu dopasowania jasności spędziłem popołudnie i wieczór (różne oświetlenie), aby skorelować odczytane wartości oświetlenia z jasnością, jaką sobie życzę. Ostatecznie naniosłem zebrane dane do arkusza kalkulacyjnego, zrobiłem aproksymację funkcją eksponencjalną i wygenerowałem 256-elementową tablicę, którą to ostatecznie zaimplementowałem w kodzie.

    5. Realizacja – obudowa
    Obudowa została wykonana ze stali o grubości 1 mm i składa się z dwóch części. Pierwszą jest pasek o średnicy około 32 cm (1m/∏) i szerokości 1,5 cm, do którego przykleiłem metrową linijkę LED. Druga część to tarcza wycięta na CNC, która w praktyce służy tylko do przykrycia płytki i anteny. Obie części są ze sobą zespawane. Na koniec całość pomalowana lakierem w sprayu na kolor srebrny.

    6. Odczyt czasu.
    Przyporządkowanie kolorów jest następujące: kolor czerwony – wskazówka godzinowa, zielony – minutowa, niebieski – sekundnik. Aby ułatwić orientację „w terenie” wstawiłem znaczniki; białe na godzinach 12, 3, 6, 9 oraz wskaźniki żółte na pozostałych godzinach. Wskaźnik na godzinie 6 może dodatkowo przyjąć kolor różowy – jest to informacja, że w danej godzinie nastąpiła poprawna synchronizacja czasu. Na deser małe animacje cieszące oko – stopniowe wygaszanie wskazówek oraz obieg wokoło tarczy przy zmianie jakiejkolwiek wskazówki – najlepiej widać to na filmiku.
    Po bezpośrednim podłączeniu zasilania wyświetlana jest również animacja „spadającej kulki” (miałem ochotę na zabawę z cosinusem), po czym wyświetlacz jest wygaszany i następuje odbiór sygnału wzorca czasu.

    Zapraszam do komentowania.

    Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77





    Cool? Ranking DIY
    About Author
    tomeeh
    Level 24  
    Offline 
    tomeeh wrote 705 posts with rating 86, helped 46 times. Live in city Ostrów Wlkp.. Been with us since 2004 year.
  • Suntrack
  • #2
    lemgo
    Level 14  
    Czy dioda godzinowa działa jak w zegarkach analogowych? Czyli czy 8:59 jest pokazywana jako prawie dziewiąta czy ósma z wieloma minutami?
    Ja bym sekundnik wyciszył (przyciemnił, dał z krokiem co 5-15 sekund) - to jest najmniej potrzebna na co dzień informacja o czasie, a najbardziej wyeksponowana.
  • #3
    And!
    Admin of Design group
    Ciekawy pomysł i estetyczne wykonanie.
    Myślę że spokojnie można z takim projektem próbować kampanii na serwisach typu 'Kikstarter'.
    Idealnie gdyby udało się uzyskać symulację długości/kształtu wskazówki, jednak do tego potrzebne byłyby pewnie dwa albo trzy paski LED.

    Sposób zasilania nieco niepokojący, co w przypadku zwarcia ? wydzieli się nieco ciepła na 'przewodach'.

    Co do filmu w przypadku takich ciekawych projektów warto zrobić dwie wersje jedną ~3min prezentującą uzyskany efekt, drugą dla osób zainteresowanych konstrukcją ~5min pokazujący szczegóły techniczne / proces budowy.
  • Suntrack
  • #4
    mitsubishit
    Level 12  
    Fajny projekt. Lubie zegary nietypowe.

    Czy dcf odbiera sygnał podczas pracy zegara? Nie jest zaklocany przez niego?
  • #5
    tomeeh
    Level 24  
    lemgo wrote:
    Czy dioda godzinowa działa jak w zegarkach analogowych? Czyli czy 8:59 jest pokazywana jako prawie dziewiąta czy ósma z wieloma minutami?

    Tak, wskazówka godzinna działa jak w zegarach analogowych - popatrz na zdjęcie "przód", na którym jest 10:37 - widać, że czerwona dioda jest pomiędzy 10 a 11, a nie na dziesiątce. W Twoim przykładzie, o godzinie 8:59 wskazówka jest już na godzinie 9. (no bo mamy rozdzielczość 5 pozycji = LEDów na jedną godzinę).
    Sprawę o którą pytasz załatwiam banalną linijką:
    Code: text
    Log in, to see the code


    lemgo wrote:

    Ja bym sekundnik wyciszył (przyciemnił, dał z krokiem co 5-15 sekund) - to jest najmniej potrzebna na co dzień informacja o czasie, a najbardziej wyeksponowana.

    To kwestia gustu, mi się na razie podoba, jak jest. W praktyce, z uwagi na niższą czułość oka na kolor niebieski niż na zielony czy czerwony i tak sekundnik jest mniej widzialny. Ale oczywiście żaden to problem wpisać inną jasność w programie.

    And! wrote:

    Sposób zasilania nieco niepokojący, co w przypadku zwarcia ? wydzieli się nieco ciepła na 'przewodach'.

    Wedługa datasheeta przewód ten wytrzymuje napięcie o wiele większe niż 5 V, dokładniej mówiąc minimum 250 V. Oto Link do datasheeta. Poza tym zasilacz jest firmowy i wierzę, że ma zabezpieczenie przeciwzwarciowe, aczkolwiek przyznaję, że nie próbwałem go zwierać.

    And! wrote:

    Co do filmu w przypadku takich ciekawych projektów warto zrobić dwie wersje jedną ~3min prezentującą uzyskany efekt, drugą dla osób zainteresowanych konstrukcją ~5min pokazujący szczegóły techniczne / proces budowy.

    Na razie jest tak, że średniozainteresowani oglądają pierwsze 10 sekund, na którym widzą działanie. Kto chce, ogląda dalej... Ale dzięki za uwagę.

    mitsubishit wrote:

    Czy dcf odbiera sygnał podczas pracy zegara? Nie jest zaklocany przez niego?

    No niestety jest. Tak jak w opisie, te 800 kHz co 20 ms robi swoje. Dlatego, tak jak w opisie powyżej, o 3 w nocy pasek się wyłącza na 2 minuty dzięki T2, by się zsynchornizować. Zastosowany kwarc ma odchyłkę 20 ppm przy całym zakresie temperatur, a to daje maksymalny błąd czasu 1,7 sekundy, który to zawsze o 3 w nocy jest niwelowany poprzez nową synchronizację.
  • #6
    sstasinek
    Level 13  
    Wykonanie super, synchronizacja dcf77 do mnie przemawia ale zegar w całości już nie, przesadnie uproszczony(być moze nie było to założeniem a oszczędność diod)
    ale byłoby przyjemniej w odczycie gdyby diody godzinowe były np. wewnątrz okręgu, minutowe na zewnątrz naśladując łatwy do zdekodowania każdemu zegar wzkazówkowy,
    Można by wówczas wykorzystać pozostałe na obwodzie do świecenia kontrastowym dla "wskazówki" kolorem np. w trybie nocnym doświetlania pokoju przy jednoczesnym zachowaniu czytelności ;)

    Co do sekundnika..
    Zamiast sekundnika ledowego może w środeczku kręcący się płynnie silniczek z analogową "wskazówką"?
    Zegary z płynnym sekundnikiem są relaksujące i pasowały by do klimatu zegara led
    Idąc dalej z projektami, kółko godzinowe kołem, większy romb minutowy(wyszczególnione na rogach kwadranse)..
    Sekundnik mógłby być jedynie pulsującą diodą w środku która zmieniała by barwe od niebieskiej po czerwoną
    hm?
    W sumie cieszę się z formy Twojego projektu bo pobudza wyobraźnie :)
    Dodaje do listy "muszę zrobić po swojemu"
    Ale jestem nieco zawiedziony wyciętym odbiornikiem bo liczyłem klikając projekt na opis odbiornika własnego projektu.. tym niemniej dzięki za podsunięcie "bazy rozwojowej" i przypomnienia o istnieniu tych diod(używanych w DIY chyba głównie do ambilight?)
  • #7
    tomeeh
    Level 24  
    sstasinek wrote:
    Wykonanie super, synchronizacja dcf77 do mnie przemawia ale zegar w całości już nie,
    przesadnie uproszczony(być moze nie było to założeniem a oszczędność diod)
    ale byłoby przyjemniej w odczycie gdyby diody godzinowe były np. wewnątrz okręgu, minutowe na zewnątrz naśladując łatwy do zdekodowania każdemu zegar wzkazówkowy.


    To trochę kwestia gustu. Ja chciałem wykorzystać gotowy metrowy pasek. Chcąc dołożyć drugi, wewnętrzny miałbym problem, bo wszystkie one mają taki sam raster, więc w praktyce musiałbym robić swój pasek z innym mniejszym odstępem między diodami dla wewnętrznego okręgu.

    sstasinek wrote:
    Można by wówczas wykorzystać pozostałe na obwodzie do świecenia kontrastowym dla "wskazówki" kolorem np. w trybie nocnym doświetlania pokoju przy jednoczesnym zachowaniu czytelności ;)

    Pozostałe diody są celowo wygaszone, gdyż zasilacz dostarcza 500 mA prądu, przy wielu zapalonych mogłoby już prądu nie starczyć. Nie wspominając już o spadku na cienkich przewodach zasilających. A ich niewidoczność (-> znikomy przekrój) była warunkiem "zezwolenia" na powieszenie w pokoju gościnnym.

    sstasinek wrote:

    Co do sekundnika..hm,
    zamiast sekundnika ledowego w środeczku np. kręcący się płynnie silniczek z analogową "wskazówką"?
    Zegary z płynnym sekundnikiem są relaksujące pasowały by do klimatu zegara
    Idąc dalej z projektami, kółko godzinowe kołem, większy romb minutowy(wyszczególnione na rogach kwadranse).. ale to najmniej istotne.

    Mechanika to nie jest moja mocna strona. Nie chciałem też robic hałasującej choinki - wg mnie powstał ciekawy dość filigranowy zegareczek. A propos płynności, to miałem chwilowo również płynniejsze przechodzenie pomiędzy diodami sekundnika, ale nie podobało mi się to, gdyż wówczas trudno było powiedzieć, w którym momencie jest dokładnie początek sekundy (wszystko było jakby rozmyte).

    sstasinek wrote:

    Jestem nieco zawiedziony wyciętym odbiornikiem bo liczyłem klikając projekt na opis odbiornika własnego projektu.. tym niemniej dzięki za podsunięcie "bazy rozwojowej"

    Sorry, że jesteś zawiedziony. Szczerze mówiąc, to na samym początku przymierzałem się do budowy odbiornika, ale miałem spore kłopoty z dostaniem scalaka, oraz kwarcu 77,5 kHz. Część rzeczy typu antena trymer mam skompletowane. Ale ostatecznie wypatroszyłem inny zegar. Bałem się trochę, że nie podołam i zniechęcę się do projektu na samym początku. Ale frajdy z DCFem miałem sporo - przy programowaniu.
  • #8
    piopedro
    Level 12  
    Osobiście poszedłbym w kierunku NTP poprzez WiFi, od pewnego czasu żaden zegar DCF który posiadam nie synchronizuje się w mieszkaniu - kiedyś robiły to przynajmniej w nocy.
    Duże miasto i wzrost zakłóceń w eterze (komórki, transmisja radiowa danych itp) robią swoje...
  • #9
    GarrutoSan
    Level 29  
    Patrząc na "prostotę" obsługi tego zegara, nie wiele ma on wspólnego z inspiracją.
    To jak patrzeć na obraz przedstawiający pożar i w inspiracji namalować rzekę.

    Zegar to rzecz konstrukcyjnie skomplikowana, ale w odczycie powinna być prosta.
    U Ciebie jest odwrotnie. Prosta budowa, dziwny odczyt.
    Gdybyś nie napisał co to jest, to na pierwszy rzut oka bym się nie domyślił.
    A już na pewno nie skojarzył bym tego z teleekspresem.
  • #10
    M. S.
    Level 34  
    Rozpoznanie, która dioda wskazuje godzinę, a która minutę wymaga zapamiętania kolorów. Gdyby godziny wyświetlać po wewnętrznej stronie pierścienia odczyt byłby intuicyjny. Z sekundnikiem nie ma problemu bo "porusza" się szybko.
  • #11
    Bartusjusz
    Level 25  
    Wszędzie malkontenci :)

    Mnie się w każdym razie podoba. A mógł byś zastosować swój zegar jako obręcz do tego czarnego(na przykład na podłodze), i wkleić krótki filmik?
    Ciekaw jestem jak by to wyglądało, w końcu byli tacy co robili obwódki z led'ów na telewizory.
  • #12
    JedenZero
    Level 10  
    Zegar prezentuje się znakomicie. Mam pomysł na wersję 2, ze wskazówkami: Obrócić pasek LED diodami do środka i od każdej diody do środka przymocować szklaną kapilarę, lub jakąś inną przeźroczystą rurkę, na tyle cienką żeby się zmieściło 60 sztuk. Rurki przy diodach godziny i minuty powinny się podświetlić - zjawisko wewnętrznego odbicia.
  • #13
    tomeeh
    Level 24  
    piopedro wrote:
    Osobiście poszedłbym w kierunku NTP poprzez WiFi, od pewnego czasu żaden zegar DCF który posiadam nie synchronizuje się w mieszkaniu - kiedyś robiły to przynajmniej w nocy.

    Próbowałeś ustawić zegar anteną równolegle skierowaną na Frankfurt? Jako opcję polecam też dostrojenie anteny. Jako ciekawostkę też muszę przyznać, że około od miesiąca moje dwa pozostałe zegary (ten z filmu z lewej strony, oraz jeszcze inny elektroniczny) gorzej odbierają sygnał. Z kolei ten tutaj prezentowany, z podstrojoną anteną, radzi sobie najlepiej i zawsze ustawia się w ciągu 2 minut.


    GarrutoSan wrote:
    Patrząc na "prostotę" obsługi tego zegara, nie wiele ma on wspólnego z inspiracją.
    To jak patrzeć na obraz przedstawiający pożar i w inspiracji namalować rzekę.

    Zegar to rzecz konstrukcyjnie skomplikowana, ale w odczycie powinna być prosta.
    U Ciebie jest odwrotnie. Prosta budowa, dziwny odczyt.
    Gdybyś nie napisał co to jest, to na pierwszy rzut oka bym się nie domyślił.
    A już na pewno nie skojarzył bym tego z teleekspresem.

    Moim celem nie było zbudowanie zegaru z teleekspresu, lecz zegar ten był dla mnie inspiracją, chodzi o LEDowy sekundnik. Czyli chodzi mi o temat "wykorzystanie LEDów jako wskazówki" i nic poza tym. Nie lubię zegarów z wyświetlaczem cyfrowym, jak w teleekspresie. Jeśli chodzi o odczyt - no trudno polemizować, może po prostu występuje różnica w IQ (proszę się tu nie obrażać, absolutnie nie chcę tutaj rozpętywać wojny na wyzwiska), ale dla mnie odczyt nie przysparza najmniejszego problemu. I żona też nie ma kłopotu. Pamiętacie zegary binarne? Tam przecież nie jest wcale prościej, wręcz przeciwnie, a one też mają grono zwolenników.
    Mówiąc o prostocie - chodzi mi o bezobsługowość w ustawianiu czasu i jasności.

    Więc reasumując - zrobiłem taki zegar, jaki chciałem i nie planuję zmian w sposobie wyświetlania, bo dla mnie (a zegar robiłem dla siebie) jest bardzo czytelny.

    M. S. wrote:

    Rozpoznanie, która dioda wskazuje godzinę, a która minutę wymaga zapamiętania kolorów. Gdyby godziny wyświetlać po wewnętrznej stronie pierścienia odczyt byłby intuicyjny.

    Tak to prawda, trzeba zapamiętać, dlatego przejąłem kolory RGB w kolejności od najwolniejszej do najszybszej wskazówki. Skrótu RGB nie sposób zapomnieć. Ten wewnętrzny pasek to ciekawy pomysł, ale tak jak pisałem, wymagałby on innego, nieco mniejszego rastra diod LED, trzeba by robić dla niego dodatkową płytkę "flex". To byłoby dość drogie.

    Bartusjusz wrote:

    A mógł byś zastosować swój zegar jako obręcz do tego czarnego(na przykład na podłodze), i wkleić krótki filmik?

    Dla zabawy mogę to pokazać, ale testowałem tą opcję i nie sprawdza się w praktyce. Otóż pasek zakłóca odbiór DCF również na tym stricte analogowym zegarze. Tak więc ta przerwa o trzeciej godzinie musiała by trwać dłużej, by analogowy nadążył, a on potrzebuje więcej czasu do synchronizacji. Ale jeśli Ci zależy, spróbuje to pokazać.

    JedenZero wrote:

    Zegar prezentuje się znakomicie. Mam pomysł na wersję 2, ze wskazówkami: Obrócić pasek LED diodami do środka i od każdej diody do środka przymocować szklaną kapilarę, lub jakąś inną przeźroczystą rurkę, na tyle cienką żeby się zmieściło 60 sztuk. Rurki przy diodach godziny i minuty powinny się podświetlić - zjawisko wewnętrznego odbicia.

    Tak, też rozpatrywałem opcję dorobienia jakichś światłowodów domowej roboty. Ale biorąc pod uwagi moje zdolności manualne stwierdziłem, że w moim wykonaniu, ucierpiała by na tym estetyka. Zamiast światłowodów można by wytrawić płytkę, na której to diody byłby usytuowane "przodem" do obserwatora. Tylko, że ta płytka musiałaby być sporawa, a taki pasek na taśmie flex można kupić gotowy. Ale dzięki za uwagę.
    Może niełatwo w to uwierzyć, ale odczyt na żywo wygląda lepiej niż nagranie, na którym jak widzę, kolory są co nieco rozmazane. Nagranie robiłem tylko przy świetle sztucznym, by móc pokazać co się dzieje w przypadku zupełnie zgaszonego światła ("ciemność, widzę ciemność"). Aby nagranie się udało, musiałem zmusić kamerę do migawki 1/50 w trybie manualnym, przez co wszystko jest może co nie co niedoświetlone (mimo przesłony otwartej maksymalnie).
  • #14
    sstasinek
    Level 13  
    Quote:
    To trochę kwestia gustu. Ja chciałem wykorzystać gotowy metrowy pasek. Chcąc dołożyć drugi, wewnętrzny miałbym problem, bo wszystkie one mają taki sam raster, więc w praktyce musiałbym robić swój pasek z innym mniejszym odstępem między diodami dla wewnętrznego okręgu.


    A niby dlaczego?
    Przecież wskaźnik godzinowy wymaga jedynie 12 diod, w czym przeszkadza raster? Nie można ich rozdzielić? Np. zostawić 48(po 4 na godzine do dyspozycji) z zachowaniem Twoich proporcji obwodu tarczy?

    Quote:
    Pozostałe diody są celowo wygaszone, gdyż zasilacz dostarcza 500 mA prądu, przy wielu zapalonych mogłoby już prądu nie starczyć. Nie wspominając już o spadku na cienkich przewodach zasilających. A ich niewidoczność (-> znikomy przekrój) była warunkiem "zezwolenia" na powieszenie w pokoju gościnnym.


    Hm, w takim razie potrzeba by zasilacza na wyższe napiecie np. 24V i przetwornicy step down za 5-10zł :) 500mA drucikiem na 24V daje równoważnik aż 2.4A na 5V
    Wychodzi że to must have dla ściennych zegarków ledowych tylko podejrzewam że źle wpłynie na odbiornik DCF. Jakim drucikiem zasilasz?

    Quote:
    Mechanika to nie jest moja mocna strona. Nie chciałem też robic hałasującej choinki - wg mnie powstał ciekawy dość filigranowy zegareczek.


    No fakt, masz racje

    Quote:
    (...) miałem spore kłopoty z dostaniem scalaka, oraz kwarcu 77,5 kHz. Część rzeczy typu antena trymer mam skompletowane.


    A o jaki scalak chodzi? UE 2125, U2775b, U4224b czy o ten->
    http://www.electroniccircuitsdesign.com/radio-circuits/dcf77-module-circuit-using-mas6180c1.html
    Znasz inne schematy? Masz linki? Bo faktycznie trudno scalaki znaleźć
    Opis protokołu znam z polskiej http://dcf77.comxa.com/
    Zainteresowało do synchronizacji mojego zegarka skuterowego w oparciu o http://grylewicz.pl/mini-plytka-testowa-avr-z-odzysku/ - warunek podobny do Twojego zegara - bez przycisków toteż RTC z podtrzymaniem odpada.
    Postanowiłem uparcie nie kupować modułu z PCF.. a zamiast przycisku wykorzystać wolny pin do czujnika temp 1wire DS1820 i/lub impulsów obrotomierza
    Natomiast baza nie ma rezonatora i w jeden dzień gubi minuty.
    W zamierzeniu odpalam, podświetla, synchronizuje i wsio.. w sumie robota nie warta czasu bo można samochodowy zegarek z podświetleniem mieć za 30zł ale skoro czasomierzenie już jest..
    Utknałem na prostym i tanim module DCF który by można zintegrować w płytke z prockiem i zrobić ot zegarko licznik na skuter, rower wbrew pozorom trudno znaleźć bo jesli to zegarek nie ma licznika, jeśli licznik rowerowy to nie ma podświetlenia...
    Rozbieranie analogowych w celu pozyskania modułu nie ma sensu, ma być powtarzalne i tanie w produkcji :)

    Na elektrodzie jest sporo czasomierzy ale jedynie gotowce odbiornikowe, na Elektronice Praktycznej jest kilka tematów ale znów bez schematu odbiornika..
    Co do programowania DCF-77 to w BASCOM jest gotowiec http://www.mcselec.com/index.php?option=com_content&task=view&id=86&Itemid=57
    lub w C na AGH http://fpga.elektro.agh.edu.pl/fpga_files/Dydaktyka/JOS/Baza%20projekt%C3%B3w/Uklady%20sterujace%20-%20symulatory,%20modele/Zegar%20cyfrowy%20synchronizowany%20sygna%C5%82em%20wzorca%20czasu%20DCF%20-%2077/Opis%20projektu.pdf
    DCF-77 jakotakie nie jara tak jak stworzenie gotowca dla transmitera AM nie tylko radiowego a z użyciem modulacji na koncentryk(seperator, transmisja i jest opcja na czujnik stacji pogodowej a centralka tym samym sposobem jako odbiorniczek przy TV), Potrzebny scalak w stylu LM567 + wzmacniacz z ARW

    Quote:
    Ale ostatecznie wypatroszyłem inny zegar. Bałem się trochę, że nie podołam i zniechęcę się do projektu na samym początku. Ale frajdy z DCFem miałem sporo - przy programowaniu.


    Rozumiem, wisi i działa
  • #15
    JedenZero
    Level 10  
    tomeeh wrote:

    Tak, też rozpatrywałem opcję dorobienia jakichś światłowodów domowej roboty. Ale biorąc pod uwagi moje zdolności manualne stwierdziłem, że w moim wykonaniu, ucierpiała by na tym estetyka. Zamiast światłowodów można by wytrawić płytkę, na której to diody byłby usytuowane "przodem" do obserwatora. Tylko, że ta płytka musiałaby być sporawa, a taki pasek na taśmie flex można kupić gotowy. Ale dzięki za uwagę.


    precyzyjne mocowanie 60 rurek to było by faktycznie trudne, ale są drukarki 3D i jest także przeźroczysty filament - może z tym coś pokombinować? Jak już ktoś zauważył, w crowdfundingu taki projekt by poszedł spokojnie.
  • #16
    tomeeh
    Level 24  
    Bartusjusz wrote:

    A mógł byś zastosować swój zegar jako obręcz do tego czarnego(na przykład na podłodze), i wkleić krótki filmik?

    Proszę bardzo - filmik dosłownie z podłogi:




    sstasinek wrote:

    A niby dlaczego?
    Przecież wskaźnik godzinowy wymaga jedynie 12 diod, w czym przeszkadza raster? Nie można ich rozdzielić? Np. zostawić 48(po 4 na godzine do dyspozycji) z zachowaniem Twoich proporcji obwodu tarczy?

    O tak, to dobry pomysł, zmniejszyć liczbę diod (obciąć pasek). Na to nie wpadłem, tak mocno przystawałem przy tym gotowym 60-diodowym pasku.

    sstasinek wrote:

    Hm, w takim razie potrzeba by zasilacza na wyższe napiecie np. 24V i przetwornicy step down za 5-10zł :) 500mA drucikiem na 24V daje równoważnik aż 5A na 5V
    Wychodzi że to must have dla ściennych zegarków ledowych tylko podejrzewam że źle wpłynie na odbiornik DCF. Jakim drucikiem zasilasz?


    Jest w opisie: średnica 0,1 mm. Przy obecnej długości, każdy z przewodzików ma już 6 Ω! Słusznie, zakłócenia z DC/DC mogłyby wpłynąć na DCF.

    sstasinek wrote:

    A o jaki scalak chodzi? UE 2125, U2775b, U4224b czy o ten->
    http://www.electroniccircuitsdesign.com/radio-circuits/dcf77-module-circuit-using-mas6180c1.html
    Znasz inne schematy? Masz linki? Bo faktycznie trudno scalaki znaleźć


    Miałem gdzieś jakiegoś fajnego, dawali nawet próbki, ale nie mogę teraz znaleźć producenta. Pamiętam, że do niego potrzebny był kwarc 77,5 kHz a takiego też nie mogłem namierzyć. Wiesz, i w sumie pomyślałem tak: skoro pójdę na "łatwiznę" i wykorzystam scalaka z kilkoma elementami biernymi, to dlaczego nie wziąć gotowego modułu. I tak i tak nie nauczę się zbytnio radiówki.
  • #17
    ryborz
    Level 23  
    Interesujący projekt. Również jestem fanem różnego rodzaju zegarków.
    Czy w pełnym słońcu nie ma problemów z odczytem?
    Zastanowiłbym się nad standardowymi diodami 5mm lub 3mm ponieważ regulując kąt instalacji można zmienić długość snopa światła uzyskując efekt pseudo analogowy. Rozumiem że taka konstrukcja byłaby trudniejsza w montażu oraz sterowaniu.
    Największa wada jaką widzę to zasilanie. Niektóre osoby wspominają tu o crowdfundingu. W mojej opinii niewiele osób zdecyduje się kupić zegar, do którego po ścianie trzeba ciągnąć przewody. Moim zdaniem to właśnie zasilanie jest wielkim "NO GO" dla ściennych zegarów LED.
    Swoją drogą na kickstarterze były już podobne konstrukcje.
  • #18
    helem
    Level 2  
    Ciekawy pomysł.

    Mam jedną wskazówkę co do strojenia anteny DCF. W antenach ferrytowych do małych korekt wykonuje się przesunięcie nawiniętej cewki wzdłuż rdzenia. No oczywiście o ile jest to fizycznie możliwe, na zdjęciach nie widać szpulki, więc cewka pewnie przyklejona. Trymery więc nie są potrzebne.
    Co do samego faktu zestrojenia to moim zdaniem nie ma on większego sensu, gdyż wsadzenie anteny ferrytowej tak blisko ścianek wykonanych ze stali i tak rozstroiło obwód (nie wspominając o spadku skuteczności anteny wskutek ekranowania).
    Jeśli nie możesz zmienić materiału obudowy ja spróbowałbym zrobić większą antenę używając pręta ferrytowego z jakiegoś zezłomowanego radia oraz dostrojenie przeprowadziłbym na antenie zamontowanej w obudowie.

    Pozdrawiam,
    Paweł
  • #19
    SylwekK
    Level 32  
    Bardzo fajny projekcik, a film "z podłogi" super efekt :)
    Mam tylko jedno pytanie i odbiega nieco od samego zegara, choć tworzy przy prezentacji świetny klimat... co to za muzyka w tle ?? :)
  • #20
    tomeeh
    Level 24  
    ryborz wrote:

    Czy w pełnym słońcu nie ma problemów z odczytem?

    Podejrzewam, że mógłby być. Mój zegar wisi wysoko, około 40 cm od sufitu, tam promienie słońca go nie dopadną, więc nie będę miał okazji przetestować.

    ryborz wrote:

    W mojej opinii niewiele osób zdecyduje się kupić zegar, do którego po ścianie trzeba ciągnąć przewody. Moim zdaniem to właśnie zasilanie jest wielkim "NO GO" dla ściennych zegarów LED.

    Jestem w stanie się zgodzić. Dla freaków jak my elektronicy, coś takiego może jeszcze ujść, ale dla "mas" raczej nie.

    helem wrote:

    Jeśli nie możesz zmienić materiału obudowy ja spróbowałbym zrobić większą antenę

    Co do obudowy, to na nic lepszego nie wpadłem. Oczywiście, że dla DCF lepiej sprawdziłby się plastik, bądź drewno, ale nie miałem narzędzi do obróbki.
    Antena mogłaby być większa, to prawda. Zbyt duża też jednak nie, bo nie chcę, by wystawała z obudowy.

    SylwekK wrote:

    co to za muzyka w tle ?

    To jest z gotowców youtube, na licencji Creative Commons: Albis, New land.
  • #22
    tomeeh
    Level 24  
    Te dwa elementy wstawiłem po to, by zewnętrzne zakłócenia tak łatwo nie zresetowały mi kontrolera. Kiedyś, bawiąc się mikrokontrolerami od Analog Devices miałem z tym problem i na wszelki wypadek wstawiam taki filtr. Możliwe, że AVRy są tutaj lepsze, więc można by te elementy pominąć.
  • #24
    tomeeh
    Level 24  
    Tak mnie kusiło, by podczas normalnej pracy C3 pozostawić bez napięcia, toteż podpiąłem go do góry (VCC), by AVR nie musiał go ładować swoim pullupem, gdyby był on na dole (GND). Zakładałem, że to obojętne, czy zakłócający impuls ładuje kondensator (C3 podpięty do VCC), czy też go rozładowuje (C3 podpięty do GND). Teraz widzę, że podpięcie do GND dało by zdefiniowany reset po podaniu zasilania. Jest jeszcze jakiś inny argument przemawiający za GND?
  • #25
    Zloty60
    Level 21  
    Zegar z teleekspresu "zapełniał się" sekundami po okręgu po czym kasował wskazanie i tak w kółko :)


    Projekt niezły.
  • #26
    tomeeh
    Level 24  
    Tak. Masz absolutną rację.



    Już powoli zaczynam żałować, że użyłem nazwy teleekspres.
    W tym projekcie nie chodzi o naśladowanie zegara z programu. Chciałem się wytłumaczyć skąd taki a nie inny pomysł. Zatem chodzi mi o inspirację zegarem teleekspresu, czyli przedstawienie wskazówki na 60 LEDach umieszczonych na okręgu. Nic więcej. U góry jest napisane, dlaczego nie włączam wielu diod jednocześnie (tak jak w teleekspresie).
  • #27
    Zloty60
    Level 21  
    Czy przewidujesz udostępnienie wsadu ?
  • #28
    sstasinek
    Level 13  
    tomeeh wrote:

    Tak to prawda, trzeba zapamiętać, dlatego przejąłem kolory RGB w kolejności od najwolniejszej do najszybszej wskazówki. Skrótu RGB nie sposób zapomnieć.


    Quote:
    Ten wewnętrzny pasek to ciekawy pomysł, ale tak jak pisałem, wymagałby on innego, nieco mniejszego rastra diod LED, trzeba by robić dla niego dodatkową płytkę "flex". To byłoby dość drogie.


    Zegar RGB (WS2812B) z DCF-77 Zegar RGB (WS2812B) z DCF-77 http://cdn.instructables.com/FCU/ZEI9/HMVJOWAJ/FCUZEI9HMVJOWAJ.MEDIUM.jpg
    Taśmy można zamawiać dowolnej długości i przycinać na dowolne kawałki bo każdy sterownik i każdej dioda jest w łańcuchu komunikacji. Można kupić po 1,2,3,10,20,100,1000 sztuk jak komu pasuje(maximum 5 metrów)

    edit dubla o pocinaniu paska na dwa mniejsze
    (ciach)

    Skoro 60 to limit aktualnym projekcie, a mi i kilku innym brakuje czytelności myśle że można by "uratować" czytelność bez modyfikacji fizycznej jedynie poprzez przetwornice i aktywować wycinek "pie" dla godziny. Wtedy godzina może dominować poprzez zapełnianie okregu i każdy nawet jeśli nie zna RGB odczyta przybliżony czas. W roli minutnika dał bym dwie-trzy diody zaświecone naraz by były czytelne na tle godziny a sekundnik jako ta najmniej istotna jedna dioda w która lata sobie dokoła i potwierdza że zegar odlicza. Biała bo to daje opcje "nakładania" na dowolny kolor wycinka tortu, a na tle znacznikow nie rzuca namolnie w oczy. Natomiast gdyby do mnie trafiła tasiemka(powtarzam) pociachał bym na dwie.. zmarnował dużo czasu na robienie DCF i zintegrowania przetwornicy a po czasie zrezygnował :D Inne podejście... każdy ma swoje i to jest fajne.

    Kończe spamować, miło było poznać, poważnie zainspirować i głośnym myśleniem przemyśleć swój.

    Ostatnie pytanie: jaka cena za wszystko i każdy z elementów osobno?, diody, płytka, obudowa, rozebrany zegarek z dcf, pi razy oko to sobie ustawie alarm na kompletowanie w odpowiednim czasie finansowym :)
  • #29
    tomeeh
    Level 24  
    Zacytowałeś jedną z początkowych wypowiedzi; w późniejszej z 1 lutego, 15:05 przyznałem już, że niepotrzebnie trzymałem się tych 60 diod i że pomysł z obcięciem uważam za trafiony. Nadal przy tym obstaję. Kto wie, może pomysł rozwinę.

    Ty rozpatrywałeś różne kombinacje, do mnie przemawia tylko 60+48, gdyż ciężko mi jest wyobrazić sobie mniej niż 60 punktów na sekundę/minutę - po to jest DCF, bym zawsze mógł polegać na tym zegarze i mieć odczyt z dokładnością do sekundy.

    Jeśli chodzi o budżet, to nie ma on znaczenia, bo przecież DIY rządzi się innymi prawami - satysfakcją tworzenia, cena nie gra roli. Co ciekawe, stwierdzam, że ta satysfakcja tworzenia jest większa, niż satysfakcja ze stworzonego przedmiotu.

    Na czym polega twoja idea wycinka (pie)? Chodzi Ci o to, by godzina była wyświetlana nie na jednym LEDzie, lecz na kilku sąsiadujących tworzących sektor?

    Dzięki za konstruktywne uwagi, ban za spamowanie nam chyba nie grozi, bo sensownie wymieniliśmy pomysły.

    Co do finansów - pasek kosztował w grudniu 2013 17,99$ z przesyłką z Chin. Zegar dawca DCF kosztował około 5€ (nabyty w niemieckim Conradzie dawno temu). W tej samej cenie widywałem moduliki DCF. Obudowa po znajomości, no a reszta to drobnica - góra kilkanaście złotych.

    @złoty - na razie zostawiam wsad "dla siebie".