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

Zegar LED (dla krótkowidza)

oowan 04 Jan 2019 21:02 4362 10
phoenixcontact
  • Zegar LED (dla krótkowidza)
    Do wykonania tego zegara skłonił mnie mój słabnący wzrok - leżąc w łóżku bez okularów nie mogłem odczytać godziny na zagarkach wbudowanych w sprzęt RTV - cyfry wyświetlaczy są po prostu dla mnie zbyt małe.
    Miałem w zapasach 4 czerwone wyświetlacze LED z cyframi o wysokości 20mm (po nieużywanym zagarze na MC1203 - przeżytek w ogromnej obudowie), które idealnie się nadawały. Rolę sekundnika pełni punkt dziesiętny pomiędzy drugą, a trzecią cyfrą.

    W trakcie realizacji projektu, założenia stawały się coraz bardziej wygórowane. Ostatecznie zagar miał być bezobsługowy, czyli:
    - bardzo stabilny, bez konieczności okresowej korekcji czasu,
    - łatwa zmiana czasu letni/zimowy, bez konieczności nastawiania,
    - podtrzymanie czasu podczas braku zasilania, bez konieczności okresowej wymiany baterii,
    - zmiana jasności wyświetlaczy LED w zależności od oświetlenia, żeby po ciemku nie raził w oczy.

    Świadomie zrezygnowałem z wyświetlania daty, ponieważ jak żyję, jeszcze mi się nie zdarzyło w ten sposób sprawdzać daty - od tego jest kalendarz.
    Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza)
    Akurat pomysł budowy mojego zegara zbiegł się z zakupem książki o programowaniu mikrokontrolerów AVT w języku C (ukłony dla mirekk36), więc przy okazji jest to moja pierwsza konstrukcja z mikrokontrolerem (Atmega8).

    Początkowo, jako RTC miał być użyty proponowany w książce PCF8583, Jednak, gdy zapoznałem się z parametrami kostki DS3231, od razu postanowiłem go wypróbować i płytkę przygotowałem pod oba układy.
    Podtrzymanie zasilania pozostało z koncepcji dla PCF-a, ale zrobione jest z sperkondensatorem Gold-Cap 1F 5,5V.
    Jako zasilacza, wykorzystałem "ładowarkę" 5V z wtykiem mini-usb po jakimś telefonie.
    Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza)
    Na zdjęciach widać, że płytki modułu RTC i wyświetlacza zrobione są metodą termotransferu. Niestety, z powodu awarii drukarki laserowej, płytkę zegara musiałem rysować pisakiem.
    Wszystkie trzy płytki są jednostronne. Połączenia na górnych stronach płytek, wykonane są odcinkami srebrzanki.

    Płytki wyświetlacza i zegara skręcone są stronami z miedzią. Odległość między nimi ustalają tulejki dystansowe. Niestety otwory służace do skręcenia płytek nie wyszły mi precyzyjnie i musiałem je dopiłować okrągłym iglakiem.
    Moduł RTC połączony jest z płytką zegara 8-mio stykowym goldpinem i przykręcony śrubką M3 do gwintowanego słupka.
    Gniazdo miniUSB przylutowane jest do kawałka płytki uniwersalnej (ok. 10x10mm) i wlutowane w płytkę zegara pod kątem prostym za pomocą dwóch krótkich odcinków drutu.
    Gold-Cap w wersji do montażu pionowego, wlutowany jest do kawałka płytki przykręconej z boku płytki zegara. Nie potrafiłem znaleźć dla niego bardziej dogodnego miejsca.

    Całość umieszczona jest w półprzejrzystej, czerwonej obudowie Z-77. Przez tylną poktywę przechodzi gniazdo miniUSB i przycisk microswitcha.
    Microswitch jest tak wlutowany, że jego przycisk wystaje ok. 1mm ponad pokrywę.

    Boczne ścianki obudowy są lekko skośne, więc żeby zegar stał pionowo, przy przedniej dolnej krawędzi przykleiłem dwie gumowe nóżki oderwane z uszkodzonego tunera TV USB.
    Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza)
    Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza) Zegar LED (dla krótkowidza)

    Mikrokontroler Atmega8 taktowany jest wewnętrznym zegarem 8Mhz. Nie było sensu stabilizować go kwarcem, ponieważ zajmuje się tylko odczytem czasu z układu RTC, multpleksowaniem wyświetlacza oraz mierzeniem napięcia na fotorezystorze. I to wszystko co 1 sekundę. Oprócz tego timer sprzętowy wytwarza przebieg PWM z wypełnieniem przebiegu proporcjonalnym do zmierzonego napięcia na fotorezystorze. Wartość odczytana z rejestru ACDH jest bezpośrednio przypisywana do rejestru timera OCR1A. W tym przypadku nie ma potrzeby przeliczania wyniku pomiaru napięcia na wartość w woltach.
    Przetwornik ADC wykorzystyje wewnętrzne napięcie odniesienia 2,56V.

    Potencjometrem nastawnym R19 ustawia się maksymalną jasność wyświetlaczy w świetle dziennym po przykryciu fotorezystora obudową.
    Przycisk S1 służy do zmiany czasu zimowy/letni. Zmiana czasu zapisywana jest w pamięci EEPROM mikrokontrolera. Dzięki temu po zaniku zasilania godzina nie ulega zmianie.

    Program napisany jest w C i w dużej mierze to zmodyfikowany kod ze wspomnianej wyżej książki. Działanie opisane jest w komentarzach w kodzie.

    Po ponad dwóch latach, zegar przyspieszył o 36 sekund. Stabilność RTC szacuję na poziomie 0,5ppm.
    Nie potrafię powiedzieć jak długo Gold-Cap potrafi zapewnić zasilanie dla układu RTC, bo tego nie sprawdzałem. Najdłuższa przerwa w zasilaniu (po gwałtownej burzy) trwała ponad 7 godzin. Po włączeniu zegar "ożył" z prawidłowym wskazaniem czasu.

    Trudno określić koszt całego urządzenia, bo część elementów już miałem w swoich zapasach, a niektóre pochodziły z demontażu moich wcześniejszych konstrukcji.
    Do zagara kupiłem tylko:
    ATmega8 - 6zł
    DS3231 - 13zł
    Obudowa KRADEX Z-77 - 7zł
    Gold-Cap 1F - 6zł
    gniazdo miniUSB - 1,50zł
    koszty przesyłek - 18zł

    Już po zamówieniu układu DS3231 zauważyłem, że dostępne są chińskie moduły z tą kostką w porównywalnej cenie. Cóż, trudno, tak wyszło. Zegar_DS32..LED.zip Download (7.75 kB) Zegar_DS32..LED.hex Download (3.44 kB)

    Cool? Ranking DIY
    About Author
    oowan
    Level 11  
    Offline 
    Has specialization in: linux, bonsai
    oowan wrote 43 posts with rating 50. Live in city Stanowice. Been with us since 2003 year.
  • phoenixcontact
  • #2
    zgierzman
    Level 31  
    oowan wrote:
    Początkowo, jako RTC miał być użyty proponowany w książce PCF8583, Jednak, gdy zapoznałem się z parametrami kostki DS3231, od razu postanowiłem go wypróbować
    (...)
    Po ponad dwóch latach, zegar przyspieszył o 36 sekund.


    Podoba mi się, że wyszedłeś poza schemat z książki. Najważniejsze jest samodzielne myślenie. ;-)
    Nauka nauką, ale bezmyślne kopiowanie porad z "oślej łączki" to... (nie znalazłem słowa, które nie byłoby obraźliwe, a "bezmyślność" byłoby profanacją gramatyki).
    PCF8583 pojawił się w powszechnej świadomości kilkanaście lat temu - coś około 2001 czy 2002 roku, kiedy w EdW został wydany cykl artykułów dotyczących Bascom i programowania procesorów 89C2051. Autorzy kolejnych podręczników, łącznie z Mirkiem Kardasiem, tak sobie jakoś te starożytne układy upodobali, że po 20 latach wciąż uważają je za najlepsze i jedynie słuszne.
    Nie rozumiem oślego uporu konstruktorów, którzy stosują RTC z zewnętrznym lichym kwarcem, które trzeba regulować co najmniej raz w miesiącu. I jeszcze twierdzą, że jest OK, dokładnie, a odchyłka rzędu minuty na miesiąc nie przeszkadza... Ale zapewne bezrefleksyjnie kopiują to, co wyczytali w jakimś podręczniku. A może "ośli upór" wziął się od "oślej łączki"?

    Chociaż jeśli ktoś bardzo chce, to do RTC typu PCF8583 można zastosować zewnętrzny, dokładny kwarc i tez będzie OK. Ale koszt układów, wielkość PCB, ani inne argumenty tego nie uzasadniają.

    EDIT:
    znalazłem: "mikroprocesorowa ośla łączka" to temat 2002 roku
    https://elportal.pl/pdf/k10/81_36.pdf
  • phoenixcontact
  • #3
    simw
    Level 26  
    zgierzman wrote:
    oowan wrote:
    Początkowo, jako RTC miał być użyty proponowany w książce PCF8583, Jednak, gdy zapoznałem się z parametrami kostki DS3231, od razu postanowiłem go wypróbować
    (...)
    Po ponad dwóch latach, zegar przyspieszył o 36 sekund.


    Podoba mi się, że wyszedłeś poza schemat z książki. Najważniejsze jest samodzielne myślenie. ;-)
    Nauka nauką, ale bezmyślne kopiowanie porad z "oślej łączki" to... (nie znalazłem słowa, które nie byłoby obraźliwe, a "bezmyślność" było by profanacją gramatyki).
    PCF8583 pojawił się w powszechnej świadomości kilkanaście lat temu - coś około 2001 czy 2002 roku kiedy w EdW pojawił się cykl artykułów dotyczących Bascom i programowania procesorów 89C2051. Autorzy kolejnych podręczników, łącznie z Mirkiem Kardasiem, tak sobie jakoś te starożytne układy upodobali, że po 20 latach wciąż uważają je za najlepsze i jedynie słuszne.
    Nie rozumiem oślego uporu konstruktorów, którzy stosują RTC z zewnętrznym lichym kwarcem, które trzeba regulować co najmniej raz w miesiącu. I jeszcze twierdzą, że jest OK, dokładnie, a odchyłka rzędu minuty na miesiąc nie przeszkadza... Ale zapewne bezrefleksyjnie kopiują ta, co przeczytali w jakimś podręczniku.

    W którym miejscu Kardaś uważa, że PCF to jest jakieś wielkie cudo do robienia zegarków - tak można wnioskować z Twojej wypowiedzi? W czym ten oparty na I2C układ jest lepszy do NAUKI programowania od DS'a? Widziałeś filmy M. Kardasia, w których wręcz był zachwycony możliwościami DS3231 i zdecydowanie polecał je jako ciekawy układ do projektów? Ja tez zaczynałem od tzw. bluebooka, a jakoś od samego początku używam DS3231 w swoich projektach.
    Zdecydowanie "wyrywasz z kontekstu" sens używania w książce jakiegoś układu. Przeczytaj chociaż wstęp do książki, którą "recenzujesz", a dowiesz się, że jest przeznaczona do nauki programowania uK w języku C, a nie do robienia "projektów sprzętowych".
    Sprawdź też kiedy książka wyszła. Ja mam wydanie z 2011, pewnie koncepcja powstała ze dwa lata wcześniej - czy dla hobbysty wtedy taki DS3231 był łatwo dostępny czy nie?
    Stawiam, że nie, nawet obecnie w dużych sklepach kosztuje 35 zł za sztukę netto, a ile wtedy kosztował? Warto sobie odpowiedzieć na takie pytania zanim się skrytykuje sens użycia PCF'a.

    Jak widać po autorze wątku, ale również i moich doświadczeniach "jakiś tam podręcznik" wcale nie zamyka na myślenie czytelników, wszystko zależy od czytelnika - nie od podręcznika.
  • #4
    oowan
    Level 11  
    zgierzman wrote:
    Nauka nauką, ale bezmyślne kopiowanie porad z "oślej łączki" to...

    Fajnie, że podoba ci się moje podejście, ale żeby od razu posądzać Mirka Kardasia o ... stagnację w myśleniu? Przecież jego działalność i twórczość świadczy o czymś wręcz przeciwnym! Jest to człowiek bardzo kreatywny i pomysłowy. Mało jest takich nauczycieli, którzy potrafią przekazać swoją wiedzę.
    A jeśli już wspomniałeś o "oślej łączce", to trzeba oddać honor, że Naczelny EdW, to kolejny świetny nauczyciel - gdy coś wytłumaczy, nie da się niezrozumieć.
  • #5
    Zbigniew 400
    Level 38  
    Nie rozumiem pogardy dla zabytkowych układów.
    Spełniały swoją rolę a niekoniecznie trzeba je wwyrzucać.
    Zakup gotowca ekonomicznie byłby lepszy.
    Ale nic nie zastąpi treningu w konstruowaniu choćby dla sztuki.
  • #6
    drewniany81
    Level 8  
    Biorąc pod uwagę założenia jakie sobie stawiałeś przy budowie zegara czy na chwilę obecną jesteś zadowolony z jego funkcjonowania ?
  • #7
    oowan
    Level 11  
    drewniany81 wrote:
    Biorąc pod uwagę założenia jakie sobie stawiałeś przy budowie zegara czy na chwilę obecną jesteś zadowolony z jego funkcjonowania ?

    Owszem, nawet bardzo zadowolony. Mój zegar nie ma "wad" (czyli fukcjonalności, które mi osobiście nie pasują), które miały moje poprzednie zegarki, jak i zegary fabryczne. No i przede wszystkim z daleka mogę odczytać godzinę.
    Duma mnie rozpierała, gdy moja małżonka powiedziała, że wygląda na "taki designerski". :D A pół roku później w jakiejś reklamie zauważyłem zegar podobny do mojego, tylko niebieski.
  • #8
    398216 Usunięty
    Level 43  
    A dla mnie bomba.
    Nie dość, ze samodzielnie zaprojektowany i wykonany od początku do końca (obudowy! - Nie często ostatnio to się zdarza by najpierw myśleć "w co ja to wsadzę") to spełnia zadanie.
    Nie mówiąc już o opisie i dokumentacji jaką zamieściłeś - to ostatnio w ogóle wyjątek, by ktoś zadał sobie tyle trudu i spełnił wymagania regulaminu... ;)
    Gratulacje! Dobra robota.
  • #9
    fotomh-s
    Level 24  
    Czemu gold cap zamiast tradycyjnej "pchełki"?
    I czy jest opcja wyświetlania temperatury? "Ten typ tak ma" więc szkoda tego nie wykorzystać (mówię o układzie RTC z którego da się wyciągnąć temperaturę) :-)
    Co do pół minuty na 2 lata to świetny wynik, widać kompensacja temperaturowa dobrze się spisuje.

    Quote:
    Świadomie zrezygnowałem z wyświetlania daty, ponieważ jak żyję, jeszcze mi się nie zdarzyło w ten sposób sprawdzać daty - od tego jest kalendarz.

    Kalendarz to jest do czego innego ;-)

    Generalnie dla mnie na - jest marnowanie możliwości układu RTC, ale każdy robi to na co ma ochotę. Nawet jak ktoś chce zrobić z atomowego frequency standard migacz LED to ma do tego prawo ;-)
  • #10
    oowan
    Level 11  
    fotomh-s wrote:
    Czemu gold cap zamiast tradycyjnej "pchełki"?

    Nie takie znowu pchełki, bo daje się tam chyba baterie 2032. Chciałem też wypróbować gold-capa. Nie miałem wcześniej do czynienia z taką ogromną pojemnością.
    fotomh-s wrote:
    I czy jest opcja wyświetlania temperatury? "Ten typ tak ma" więc szkoda tego nie wykorzystać (mówię o układzie RTC z którego da się wyciągnąć temperaturę) :-)

    Temperaturę można odczytywać, tylko po co? Zastanów się. To jest temperatura struktury układy i służy do stabilizacji częstotliwości wzorcowej.
    Układ jest zamknięty w niewentylowanej obudowie, więc w żaden sposób nie jest to temperatura otoczenia.
    fotomh-s wrote:
    Generalnie dla mnie na - jest marnowanie możliwości układu RTC, ale każdy robi to na co ma ochotę. Nawet jak ktoś chce zrobić z atomowego frequency standard migacz LED to ma do tego prawo ;-)

    Podstawową i najważniejszą funkcją DS3231 jest odliczanie niezwykle stabilnego czasu i tę cechę wykorzystałem. I co z tego, że układ ma kilka funkcji, które dla mnie nie mają znaczenia? Ktoś inny może je wykorzystać wszystkie.
  • #11
    szeryf3
    Level 27  
    Podoba mi się projekt i to, że twoja wiedza pochodzi z książki, którą dla własnych potrzeb udoskonaliłeś.