
Witam, własną konstrukcję prezentuje na elektrodzie po raz pierwszy, jestem otwarty na wasze opinie, pomysł na konstrukcję miałem już dawno temu, kupiłem wyświetlacze, jeszcze w szkole zrobiłem płytkę pod wyświetlacz (co zresztą widać) ale późnej zabrakło i wiedzy i chęci. No i ostatnio zafascynowany dodatkowo DCF-em zdecydowałem się ruszyć projekt.
Zaznaczę na samym początku że z robieniem płytek jestem na do tyłu, wiem że u niektórych plątanina kabli na płytce uniwersalnej budzi odrazę.
Część elektroniczna
W schemacie nie ma żadnych ciekawostek, jedynie do multipleksowania użyłem licznika 4017 który załącza tranzystory kolejnych wyświetlaczy. Licznikowi zapodaje sygnał zegarowy i sygnał resetu żeby powrócił do pierwszego wyświetlacza. Licznik mysi być resetowany przez uC ponieważ gry resetował się sam były problemy z kolejnością liczb. Sygnał resetu musiałem też wydłużyć do 3us bo na krótsze impulsy nie reagował. Z sygnałem zegarowym nie ma takich problemów.
Reszta standardowa, atmega8 z kwarcem zewnętrznym 8MHz, do liczenia czasu użyłem PCF8583, komunikacja za pomocą TWI(sprzętowy odpowiednik I2C). Odczytuje tylko samą godzinę bo daty nie miał bym nawet jak wyświetlić.
Jeżeli chodzi o pomiar temperatury to robi to DS1820. Musiałem go umieścić na zewnątrz obudowy bo w środku temperatura wyższa o ok 1-2 stopnie (ciepło z transformatora i stabilizatorów.
Odbiornik DCF77 zrobiłem na układzie u4224b który przez zupełny przypadek znalazłem na serwisie aukcyjnym, przeglądałem sobie aukcje z mojego miasta

Rdzeń ferrytowy ze starego radia. Antenę stroiłem na czuja ale działa i synchronizuje się. Niestety wystarczy włączony komputer czy nawet bliskość (do 10cm) mojego zegara i koniec.
Jasność wyświetlacze reguluje za pomocą PWM. Przetwornik ADC mierzy napięcie na fotorezystorze, korzystam tylko z 8 starszych bitów wyniku i wpisuje je jako wartość PWM.
Obudowa:
Z obudową zawsze jest problem, zdecydowałem się za obudowę z radio-budzika, dokładność pomiaru czasu pozostawiała wiele do życzenia a wyświetlacz w dzień świecił za słabo a w nocy za jasno :/
Program:
Jeżeli chodzi o program to jest napisany w C. Początkowo pisałem go w BASCOM bo było łatwiej (oczywiście tylko pozornie). Jak już miałem napisane 3/4 program zajmował ponad połowę procka i zaczynał żyć własnym życiem. Z nauką C zwlekałem od pewnego czasu ale tu mnie wyraźnie przycisnęło. Dwa wieczory z kursem z EDW i miałem już takie ogólne pojęcie.
Większośc funkcji jest w przerwaniach, w pętli głównej siedzi jedynie odczyt i zapis przez TWI bo on ma pętle czekające na ustawienie bitu.
T0 odpowiada za multipleksowanie, T1 za PWM, T2 odczyt klawiszy i pomocnicze liczniki, dochodzi jeszcze przerwanie od ADC i zawnętrzne INT0 od DCF77.







Całość dokumentacji oczywiście udostępniam.
Aha jeżeli chodzi o koszt wykonania to całości nie liczyłem. Pamiętam że za wyświetlacze zapłaciłem ok 22zł, u2442b kosztował mnie 10zł, reszta to zapasy.
Uwaga, projekt zawiera błędy.
Brak rezystorów podciągających I2C.
Problemy z nazwami niektórych rejestrów.
Problem z odbiorem/dekodowaniem DCF.
Cool? Ranking DIY