Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Zegar LED z budzikiem (ATtiny2313 SMD + CMOS4017)

MaThiR 14 Paź 2008 19:13 26158 40
  • Zegar LED z budzikiem (ATtiny2313 SMD + CMOS4017)

    W ramach sprawdzenia umiejętności programowania oraz ich praktycznego wykorzystania zbudowałem zegar oparty na mikrokontrolerze AVR ATtiny 2313. Układ wzbogaciłem dodatkowo o licznik CMOS4017 w celu zwolnienia dwóch dodatkowych pinów, ostateczny układ połączeń z portami mikrokontrolera wygląda tak:
    - najstarszy bit portu B to resetowanie układu 4017
    - reszta bitów portu B zostały użyte do obsługi siedmiu kresek wyświetlacza
    - cztery najmłodsze bity portu D są odpowiedzialne za przyciski, a reszta kolejno do najstarszego to: generator dźwięku, kropki wyświetlacza i wejście CLK układu 4017. Na płytce dodatkowo umieściem stabilizator 7805 i trymer do kalibracji częstotliwości taktowania od którego zależy szybkość pracy zegarka. Płytkę projektowałem (Eagle) i wykonałem metodą termotransferu, w załączniku zamieściłem wszystkie niezbędne pliki potrzebne do jej wykonania.
    Program napisałem w języku Bascom w dwóch wersjach - z budzikiem i bez:
    - wersja pierwsza: przycisk pierwszy służy do zmiany trybu ustawiania czasu (minut i godzin osobno), przycisk drugi powoduje wyświetlenie sekund na wyświetlaczu, a dwa ostatnie służą do płynnie przyspieszanego dodawania i odejmowania (w trybie wyśwetlania sekund oba przyciski zerują wartość sekund)
    wersja druga: pierwszy przycisk działa tak samo, drugi podobnie tyle że służy do przestawiania czasu pobudki, trzeci płynnnie zwiększając szybkość dodaje, a czwarty wyłącza budzenie
    Za obudowę służy zgięty prostokąt pleksi do której jest przykręcona płytka (szczegóły na zdjęciach).

    Mankamenty, czyli co mógłbym zmienić:
    W projekcie PCB układ 4017 nie ma podłączonego zasilania, zrobiłem małe przelotki po stronie druku. Sprawa druga dotyczy programu - kolejny byłby na pewno z punktu widzenia użytkownika i programisty napisany bardziej zwięźle, logicznie, za każdym razem gdy wracam do tego projektu mam dziesiątki pomysłów na lepszą wersję zegarka (może za następnym razem:D ). No i zamiast układu CMOS4017 można użyć choćby np. MC14499, na to wpadłem też trochę za późno...

    Pokaz slajdów:

    http://mathir.fotosik.pl/albums/display/slideshow.php?alb=477148


    Fajne!
  • #2 14 Paź 2008 22:06
    markovip
    Poziom 34  

    Witam
    Zegarek bardzo oryginalny, ale...

    michal512 napisał:
    Perfekcyjna estetyka wykonania.[...]

    No i tutaj nie jestem zgodny, z przodu dałeś pleksi (jednak te śruby strasznie szpecą...) a z tyłu nic...
    A jak zegarek się przewróci do tyłu i spadnie np. na coś metalowego co za nim leży, i co? wszystko się popali...
    Moja rada to zamontowanie z tyłu cienkie pleksi ;)

    Pozdrawiam

  • #3 14 Paź 2008 22:08
    wojto15-05
    Poziom 18  

    Estetyka na wysokim poziomie.
    Zegar ładnie się prezentuje.
    Mam takie pytanie jak wyginałeś plexę?
    (na gorąco - palnik i jazda czy jakoś inaczej?)
    Mogłeś dać jakiś filterek na wyświetlacze żeby były bardziej czytelne,
    ale i tak konstrukcja elegancka, pozazdrościć.
    Pozdrawiam.

  • #4 15 Paź 2008 09:41
    MALTIN
    Poziom 15  

    Wszystko ładnie pięknie tylko bym wymienił te śruby na jakieś ładne srebrne imbusiki:) będzie ładniejsze. I zabezpiecz sobie tą tylną ścianę bo rzeczywiste będziesz musiał wrócić do projektu ;]

  • #5 15 Paź 2008 11:50
    slu_1982
    Poziom 26  

    A ja bym polakierował laminacik

  • #6 15 Paź 2008 13:21
    karol75
    Poziom 16  

    A jak ATtiny2313 startuje bez rezystora podciągającego reset do plusa?
    Mi nie chciał żaden startować.

    Drugie w zasadzie pytanie
    Dlaczego stosujesz ATTiny2313 w wersji smd przy tak prostej płytce mogła by być ona jednostronna?

  • #7 15 Paź 2008 15:10
    mkpl
    Poziom 37  

    karol75 przecież płytka jest jednostronna a poza tym z tego co zauważyłem elementy smd są tańsze:)

    Co do zegarka wykonanie jest na poziomie jedyne co bym zmienił to tego 4017 w smd.
    Jak ma się kwestia dokładności odmierzanego czasu?

  • #8 15 Paź 2008 16:08
    MaThiR
    Poziom 16  

    Płytka z tyłu ma na sobie grubą warstwę kalafonii, niestety toner mi się rozmazał podczas czyszczenia acetonem, stąd te smugi których nie udało mi się usunąć. Teraz czyszczę rozpuszczalnikiem nitro. Na pierwszym zdjęciu w pokazie slajdów jest inna płytka, ale tego samego układu (pierwsza prototypowa).

    Do wyginania pleksi użyłem czterech płytek tekstolitu które zacisnąłem równo przy miejscu zaginania (szpara kilkumilimetrowa). Następnie nagrzewałem opalarką z obu stron aż pleksa zaczęła się sama uginać pod ciężarem kleszczy samozaciskowych, w takim momencie wystarczyło trochę mocniej przygiąć i gotowe. Trzeba pamiętać żeby pod płytki usztywniające nie dostał się większy brud i miały gładką powierzchnię, w przeciwnym razie możemy się spodziewać odciśniętych wzorków w miejscu grzania.

    Płytka jest jednostronna, montaż układu ATtiny2313 w wersji SMD po stronie druku pozwolił mi na zaoszczędzenie miejsca, gdyby był w obudowie DIP20 całość na pewno byłaby większa.

    Z końcóką reset nie miałem żadnych problemów.

    Osłona na tył była w planie, niestety nie miałem wystarczająco długich śrub. Wiem, są nieestetyczne, gdy będę miał okazję to kupię lepsze. Możliwość uszkodzenia elektrycznego jest znikoma, zwarcie jakiejkolwiek końcówki obu układów scalonych nie niesie za sobą żadnych poważnych konsekwencji, jedynie zwarcie emiterów tranzystorów do masy może je uszkodzić no i oczywiście zwarcie końcówek IN i OUT stabilizatora w przypadku gdy zasilacz będzie miał duży zapas napięcia.

    Układ czasowy na bazie zliczania impulsów taktowania nie jest najlepszy, ale do takich celów jak amatorski zegarek wystarczający. Dołączonym trymerem można minimalnie regulować częstotliwością taktowania procesora.

  • #9 15 Paź 2008 17:51
    jokerrro
    Poziom 11  

    zegarek swietny :) a jak z kosztami??

  • #10 15 Paź 2008 19:45
    BANANvanDYK
    Poziom 38  

    Przydałaby się przyciemniona szybka wyświetlacza w celu poprawy kontrastu przy nasłonecznieniu. Najlepiej wyobrażam sobie ten zegar w ciemnej plexi, a widzę że obecny design urządzeń Hi-Fi idzie w tym kierunku. Jaki jest pobór prądu?

  • #11 15 Paź 2008 20:34
    459239
    Użytkownik usunął konto  
  • #12 15 Paź 2008 20:42
    karol75
    Poziom 16  

    mkpl
    Jak jednostronna skoro smd i przewlekany?

    Może i tańsze ale koszt wykonania płytki wyższy / trudniejszy

    Nie patrzyłem na płytkę
    Przejżałem żeczywiście plytka jednostronna ale spróbuj utworzyć płytkę w Eagle ze schematu i procek jest smd, schemat zamieszczony i dopiero zmieniona przy robieniu płytki.

    Pozostaje pytanie o rezystor podciągający.

  • #13 15 Paź 2008 20:54
    Damian_Max
    Poziom 14  

    Fajny projekcik, to zależy od gustu, ale ja tam bardzo lubię projekty wykonane jak ten, mam na myśli że wszystko jest na wierzchu, można zobaczyć, obejrzeć - popodziwiać.
    Tylko w tym przypadku ważna jest estetyka wykonania płytki i lutów.

    Fajny projekt podoba mi się :)
    Pozdrawiam.

  • #14 15 Paź 2008 21:23
    MaThiR
    Poziom 16  

    Jedna cyfra składa się z 7 kresek i kropki o wspólnej anodzie czy katodzie (zależy od modelu wyświetlaczy). Łącznie są 4 segmenty. Zostaje tutaj wykorzystana bezwładność oka - segmenty są załączane każdy osobno, po kolei, i adekwatnie do zaświeconej pozycji jest przypisywana odpowiednia wartość do bajtu sterującego kreskami cyfry i kropką (8 segmentów - 8 bitów). Elementy wszystkich czterech segmentów są połączone równolegle. W takim układzie wykorzystujemy 12 portów mikrokontrolera (8 na sterowanie elementami cyfr i 4 na załączanie odpowiednich segmentów). Ja w układzie wykorzystałem CMOS'a 4017 do kolejnego załączania segmentów, wykorzystuję 2 porty zamiast 4 - jeden do naliczania (CLK) a drugi do resetowania CMOS'a (RST).

    Specjalnie na cele budowy zegarka niczego nie kupowałem, kilka mikrokontrolerów kupiłem wcześniej, wyświetlacze wyjąłem z płytki testowej, generator dźwięku sam się dzieś na warsztacie znalazł, w rezonatory zainwestowałem też wcześniej, przyciski to groszowe sprawy, kondensatory i rezystory z demontażu, tak samo podstawka.

  • #15 16 Paź 2008 13:04
    ostry_18
    Poziom 24  

    MaThiR napisał:
    Ja w układzie wykorzystałem CMOS'a 4017 do kolejnego załączania segmentów, wykorzystuję 2 porty zamiast 4 - jeden do naliczania (CLK) a drugi do resetowania CMOS'a (RST).


    Jak już tak zakombinowałeś, żeby do multipleksowania korzystać z oddzielnego scalaka, trzeba było pomyśleć, a wtedy wykorzystywałbyś nie dwie a jedną nogę mikroprocesora. Po prostu - w 4017 robi się tak, że (chcąc mieć 4 wyjścia) piąte wyjście podłączasz do resetu i.. reset robi się sam, bez udziału procesora

  • #16 16 Paź 2008 16:46
    wrobello
    Poziom 11  

    Wykonanie staranne, troszkę te śrubki szpecą ten zegarek ale o gustach się nie dyskutuje.
    Osobiście pomalowałbym jakoś ładnie laminat...

  • #17 16 Paź 2008 22:00
    goodbay
    Poziom 11  

    Zegarek super ale przydała by się dokumentacja i wzór płytki w PDF lub innym popularnym formacie.
    Marcin

  • #18 17 Paź 2008 16:15
    hehehehuhuhu
    Poziom 19  

    Pytanie do MaThiR , skąd wziąłeś projekt bo zdaje mi się że takowy już gdzieś widziałem tylko nie pamiętam gdzie.
    P.

  • #19 20 Paź 2008 14:35
    bsw
    Poziom 15  

    Schematu nie obejrzałem bo nie mam na czym... Napisz czy zastosowałeś kwarc zegarkowy? Jak ze stabilnością wskazań - tiny przecież nie ma RTC na pokładzie... Też przymierzam się do zegarka na tiny ale troszkę mniejszego (naręcznego :-))

    Co do stosowania 4017 - wyświetlasz coś oprócz cyferek ? jeśli nie to można było zastosować dekoder 4026 - z czterech pinów masz 7 segmentów pozostałe 4 na multipleksowanie i cały wyświetlacz obsługujesz jednym 8-pinowym portem :-)

  • #20 20 Paź 2008 17:15
    MaThiR
    Poziom 16  

    Gdyby końcówka RST była podłączona z jednym z wyjść w układzie CMOS4017 nie wiem czy pracowałby poprawnie. Gdyby się pojawiły jakieś nieporządane zakłócenia, lagi musielibyśmy resetować cały zegarek, ponieważ poprzestawiałyby się miejsca wyświetlanych cyferek.

    Oczywiście można zastosować inny lepszy układ, dedykowany specjalnie pod obsługę wyswietlaczy, jednakże CMOS'a 4017 miałem akurat na składzie.

    Odnośnie kosztów niczego specjalnie na potrzeby zegarka nie kupowałem, zrobiłem z tego co się nazbierało na warsztacie. Kupując wszystkie części w 30zł - 40zł może się zmieścisz.

    Cytat:
    Pytanie do MaThiR , skąd wziąłeś projekt bo zdaje mi się że takowy już gdzieś widziałem tylko nie pamiętam gdzie.
    P.

    To jest typowa amatorska konstrukcja z wykorzystaniem mikroprocesora, można ją zrealizować na wiele innych podobnych sposobów.

    Wybaczcie zapomnałem - schemat:
    Zegar LED z budzikiem (ATtiny2313 SMD + CMOS4017)

    Dokładność zegarka opierającego się na kwarcu przyłączonego do mikroprocesora jest wystarczająca. Trzeba jednak pamiętać o trymerze, do tego zegar pracuje w raczej stabilnych warunkach - temperatura (20-24°C) i wilgotność raczej nie ulegają drastycznym zmianom.

  • #21 20 Paź 2008 22:55
    kargo
    Poziom 10  

    Witam
    Podobne rozwiązanie(2313+4017) było przedstawione w Elektronice Praktycznej 02/2006 na stronie 109 - "Zegar ustawiany pilotem". Rozwiązanie to różni się od powyższego tym że wszelkich nastaw zegara dokonujemy pilotem na podczerwień a nie klawiaturą oraz tym że zegar ma wyjście przekaźnikowe.

  • #22 18 Lut 2010 08:49
    radziejtech
    Poziom 9  

    Zbudowałem tez ten zegarek. Tylko mam problem. Nigdy nie programowałem w Bascom. W ogóle nigdy nic nie progamowałem. Znajomy ma programator ale on robił tylko w C i na Bascomie sie nie zna. HELP

  • #23 18 Lut 2010 11:55
    MaThiR
    Poziom 16  

    Znalazłem 2 wersje programu, w załączniku masz pliki wsadowe *.HEX. Możesz je wgrać przy pomocy dowolnego programu obsługującego programatory do procesorów AVR.
    Zresztą najprostszym rozwiązaniem będzie instalacja darmowego pakietu BASCOM AVR, otwórz listingi z pierwszego postu, skompiluj i wgraj. Obsługa tego programu nie jest trudna.

  • #24 19 Lut 2010 08:07
    radziejtech
    Poziom 9  

    Gdzie w załączniku?
    W basscomie kompiluje się ale nie widzi układu. W innym progranie widzi wszystko OK. Może mam złe ustawienia w tym basscomie?

  • #25 19 Lut 2010 10:25
    MaThiR
    Poziom 16  

    Zapomniałem dołączyć do ostatniego postu... :oops:
    Czy w opcjach BASCOM AVR wszystko dokładnie poustawiałeś? Częstotliwość rezonatora, model mikroprocesora, programator itp?

  • #26 12 Mar 2010 13:34
    radziejtech
    Poziom 9  

    Po wgraniu wsada zegarek działał ale źle naliczał. 1sekunda zmieniała się po 7-8 sekundach ;/ po drugie wyświelacz miał słabe odświeżanie. Chyba rezygnuje i zbuduje zegarek na Atmega8.

  • #27 15 Mar 2010 22:36
    MaThiR
    Poziom 16  

    Z tego mogłoby wynikać, że jest taktowany nieodpowiednio. Czy jest taktowany rezonatorem czy wewnętrznym zegarem RC? Przestawiłeś fusebity?

  • #28 18 Mar 2010 15:02
    radziejtech
    Poziom 9  

    Zegar jest z kwarcem takim jak na schemacie. Fusy też były ustawiane. Ja tego nie ustawiałem tylko kolega. Ja jestem zielony w programowaniu ;/

  • #29 18 Mar 2010 18:09
    danloop
    Poziom 15  

    zegarek super :) idealny na biurko elektronika. Mam tylko pytanie o zasilanie, bo nie widać baterii, nie wiem czy zasilasz go z zasilacza osobnego? Bo z gniazdka raczej nie

  • #30 19 Mar 2010 10:36
    radziejtech
    Poziom 9  

    Pod X1 podłączasz zasilanie np.12V. W czrwonej ramce oznaczyłem stabilizator od 5V.
    Jesli masz zasilacz 5V to podłączasz go bez tego co jest oznaczone na czerwono.

    Zegar LED z budzikiem (ATtiny2313 SMD + CMOS4017)