logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zegarek binarny - nic nowego, nic odkrywczego :)

piotrva 02 Sie 2014 01:23 13497 18
REKLAMA
  • Zegarek binarny - nic nowego, nic odkrywczego :)

    Chciałbym przedstawić konstrukcję, która nie wnosi do świata elektroniki zupełnie nic nowego ponad standardowe połączenie kilku elementów, która powstała dla zabawy i żeby ładnie wyglądała, czyli zegarek binarny.

    Założeniem była budowa zegarka z widocznymi wszystkimi elementami i zasilanego z portu USB (ot tak).

    Elementy kluczowe
    1. ATMega8A
    2. DS1307
    3. 21 diodek LED
    4. Widoczna na zdjęciu drobnica

    Diody LED podłączone w matrycę 3x7, multipleksowanie z częstotliwością 1kHz.
    Przerwanie wykorzystane też do debouncingu.
    Odczyt godziny z zegarka synchronizowany przerwaniem.

    Funkcje
    1. Wyświetlanie godziny
    Nic dodać, nic ująć ;)

    2. Alarm (i jego programowanie)
    Tu oprócz programowania ciekawa funkcja - aby wyłączyć alarm musimy wybrać przycisk wskazany przez podświetlony blok diod LED - za każdym razem wybierany jest losowy przycisk na podstawie szumu z ADC.
    Sygnalizacja dźwiękowa standardowym "buzzerem".

    3. Ustawianie godziny
    Patrz pkt. 1 :)

    4. Automatyczna lub ręczna regulacja jasności.
    Co bardziej spostrzegawczy zauważyli pewnie fotorezystor. Jest on częścią dzielnika napięcia na podstawie którego procesor określa natężenie światła. Dzięki temu zegarek w ciemnościach świeci ciemniej, a w pełnym słońcu jaśniej - tak by nie razić ale być czytelnym.
    Gdyby regulacja automatyczna mi nie odpowiadała mogę włączyć ręcznie jeden z 8 poziomów jasności.

    Wykonanie
    Płytka wykonana w Satland'zie.
    Koszty całości, gdybym nie miał 90% części wyniosły by około 100 zł.

    Ostatecznie zegarek cieszy oko i spełnia swoje zadanie. Jak wspominałem to nic odkrywczego - po prostu projekt wykonany dla zabawy, ale miło się patrzy na coś co nie jest moim kolejnym projektem z milionem układów i wykonanym komercyjnie lub do zadań laboratoryjnych.

    Oprogramowanie
    Oprogramowanie powstało w języku C w środowisku Atmel Studio 6.1.

    Większość funkcji realizowana jest w przerwaniu timera1 wywoływanego z częstotliwością 1kHz, a mianowicie odświeżanie matrycy LED oraz obsługa menu wraz z eliminacją drgań styków i obsługą kliknięcia i przytrzymania przycisków.

    Flaga przerwania zewnętrznego wykorzystywana jest do wyznaczania momentu odczytu czasu z zegarka DS1307.

    Timer pracuje w trybie CTC, więc częstotliwość reguluję rejestrem OCR1A. Dodatkowe przerwanie "OCR1B" wykorzystuję do wcześniejszego wygaszenia diodek, więc dzięki temu uzyskuję efekt PWM.

    ADC pracuje w trybie free run cały czas na tym samym kanale z podpiętym dzielnikiem z fotorezystorem. Dane te są wykorzystywane do regulacji jasności a najmłodsze bity do losowania przycisku kasującego alarm.

    Dane dotyczące konfiguracji (ustawienie alarmu, tryb regulacji jasności i poziom jasności ustawianej w trybie ręcznym) przechowywane są w wolnych komórkach pamięci RAM układu DS1307, który jest podtrzymywany bateryjnie.

    To chyba tyle :)

    Zapraszam do komentowania i zadawania pytań.*

    *Poza komentarzami typu: Było, łatwizna... - to już wiem :D

    Fajne? Ranking DIY
    O autorze
    piotrva
    VIP Zasłużony dla elektroda
    Offline 
    Specjalizuje się w: mikrokontrolery
    piotrva napisał 6409 postów o ocenie 735, pomógł 625 razy. Mieszka w mieście Kraków. Jest z nami od 2008 roku.
  • REKLAMA
  • #2 13844773
    seba_x
    Poziom 31  
    Posty: 2071
    Pomógł: 29
    Ocena: 112
    A gdzie jest najmłodszy bit ? od góry czy od dołu ?
  • #3 13844906
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Najmłodszy bit jest u dołu, kodowanie BCD, czyli od lewej mamy 10 godzin, 1 godzin, 10 min, ...
    Dodatkowo najstarszy bit godzin, nieużywany, jest wykorzystany do sygnalizacji włączenia alarmu.
  • #4 13845197
    Doctore.
    Poziom 18  
    Posty: 437
    Pomógł: 1
    Ocena: 12
    Ten rezonator powinieneś chyba dać bliżej DS1307, niby szczegół, ale wiecie....
    Czemu nie przykryłeś przelotek?
    Lutowanie wygląda na ręczne, nie rozumiem czemu nie używacie pasty i piekarnika do SMD, dużo łatwiejsze i dużo lepiej wychodzi.
  • #5 13845238
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Lutowanie ręczne, cieniutka cyna i lutownica kolbowa.
    Przelotki tak zostały wykonane w Satland'zie.
    Co do piecyka to gdybym miał taki do użytku prywatnego to bym skorzystał.
    A kwarc cóż , mógłby być te 2 mm bliżej;-)
  • #6 13845591
    manekinen
    Poziom 29  
    Posty: 1629
    Pomógł: 76
    Ocena: 2360
    piotrva napisał:
    Przelotki tak zostały wykonane w Satland'zie.

    Oj, chyba źle ustawiłeś limit wielkości przelotek, i do gerberów poleciały przelotki bez maski. Sam się na to nabrałem raz czy dwa :)

    A gadżet ładny. Ja bym dał za PCB jakiś płaski akumulatorek żeby działało to bez tego kabla USB, który pewnie ściąga całość z biurka bo jest zbyt lekka. Zamiast czerwonych diod dać zielone bo będą bardziej widoczne w dzień.
  • REKLAMA
  • #7 13845705
    KrRis
    Poziom 12  
    Posty: 186
    Pomógł: 2
    Ocena: 63
    No mi się projekcik podoba, prosty i elegancko zrobiony. Faktycznie mogłeś dać trochę obszerniejszy opis bo nie każdy jest na tym forum zawodowcem, a dla młodszych i mniej doświadczonych kolegów twój projekt mógłby być jakąś inspiracją. Napisz coś może o programie i języku w jakim pisałeś, może jakiś kod źródłowy, to naprawdę może się komuś przydać i twój post nabrałby wartości dydaktycznej.
  • REKLAMA
  • #8 13845740
    [chaos]
    Poziom 11  
    Posty: 5
    Projekt fajny i przyjemny. Na pewno był źródłem kilku godzien przyjemności związanej z projektowaniem PCB.
    Moje pytanie brzmi: czemu tej przyjemności sobie nie przedłużyć i po zaprojektowaniu tej płytki, nie siąść do niej jeszcze raz i pobawić się w jak najlepsze poprowadzenie ścieżek zasilania?

    Ciężko ocenić twoją pracę bo publikowałeś tylko jedną stronę płytki ale już na tej podstawie można zasugerować:
    - zadbać o rozdzielenie bloków o dużych zakłóceniach (wyświetlacz) od tych czułych (rtc) np. stosując poligony.
    U ciebie tranzystory multipleksujące wiszą na tej samej linii zasilania co rezystory podciągające magistralę i2c (!).
    - rozprowadzić zasilanie zgodnie z topologią gwiazdy. Masę również!
    Osobna linia VCC dla procesora, osobna dla rtc, osobna na wyświetlacz.
    - zadbać o odsprzęgnięcie kondensatorami każdego bloku funkcyjnego (ramienia w/w gwiazdy)
    Tu masz trochę dziwnie prowadzoną ścieżkę za bezpiecznikiem: w jedną stronę ślepy zaułek z kondensatorami a w drugą linia zasilająca całą płytkę bez filtracji.

    Wiadomo ze wszystko to jest przesadą przy tak prostym projekcie, jednak tworzy dobre nawyki u projektanta, które zaprocentują przy bardziej zaawansowanych projektach.
  • #9 13845838
    h3c4
    Poziom 15  
    Posty: 165
    Pomógł: 6
    Ocena: 100
    bobo napisał:
    Żałosne!
    Taki opis zegara można zamieścić w piśmie dla przedszkolaków. Prezentowanie takiej pracy ( bez zachowania zasad prezentacji w dziale DIY ) to lekceważenie innych uzytkowników forum.
    Pozdrówka


    Kolego mnie nie zlekceważył - widziałem gorsze opisy, jest napisane że to nic nowego i w rzeczywistości tak jest, więc szczegóły nie są potrzebne, każdy może zbudować taki projekt, tylko wystarczy ruszyć głową a nie czekać na wszystko podane na tacy (sch/pcb).
  • #10 13845884
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    KrRis, kodu chyba nie będę udostępniać, ale z miłą chęcią odpowiem na wszelkie pytania i pomogę gdyby ktoś zamierzał zbudować podobny projekt.

    [chaos]
    Dzięki za cenne uwagi! Ogólnie cały projekt to dzieło późnych wieczorów po pracy ;)
    1. z tego ślepego zauka jest pod kondensatorem przelotka do linii tranzystorów
    2. rzeczywiście można było wszystko lepiej poprowadzić na drugiej stronie płytki i rozdzielić część cyfrową od "wysokorpądowych" diodek, choć z drugiej strony diody i tak sterowane są z jednej strony z procesora.
    3. Przy każdym zasilaniu są oczywiście kondensatory 100n
  • #11 13846763
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    maliniak80, można było dać nawet diody RGB i sterować je 8 bitowym PWM w takiej matrycy, ale w założeniu projekt miał być prosty. A że słabiutki i zupełnie nie ambitny wiem - czytałeś ostatnie linijki pierwszego postu?

    mateusz77892, Dzięki za miłe słowa dot. mojej żenująco prostej zabawki :D
    Co do lutowania to przede wszystkim długie godziny lutowania TQFP100 pin 0,5mm, gdy robiłem urządzenie w partii za małej na zlecenie montażu. A luty na płytce też szczytem estetyzmu nie są (jak ktoś wspomniał z piecyka byłyby wszystkie równiutkie i ładniutkie).
    Cyna jakiej używam do SMD to oczywiście OŁOWIOWA 0,25mm w połączeniu z cynowaniem płytki w fabryce (tu akurat cynowanie chemiczne, bo robione w ostatniej chwili przed wysyłką albowiem zapomniałem o tym więc lutowało się gorzej - zwykle stosuję cynowanie HAL).
  • #12 13847375
    Karol966
    Poziom 31  
    Posty: 2037
    Pomógł: 83
    Ocena: 645
    manekinen napisał:
    Oj, chyba źle ustawiłeś limit wielkości przelotek, i do gerberów poleciały przelotki bez maski.


    Jeżeli pcb robione było w Eagle to zdaje się domyślnie limit przelotek albo jest wyłączony albo na tyle mały, że praktycznie wszystko jest odkryte - ale co za problem odpalić jeden z darmowych programów jak ViewMate czy przez przeglądarkę www sprawdzić wygląd gerberów przed wysłaniem do płytkarni?
    http://mayhewlabs.com/3dpcb
    http://www.gerber-viewer.com/
    Jest tego dużo.

    Gorsza sprawa to położenie padu względem otworu, gdzieś czytałem co z ty zrobić ale zapomniałem, czasami oglądając płytki np z Satlandu mam wrażenie, że niektóre otwory są totalnie z boku padów.

    PS. Ten układ spokojnie zmieścił by się na jednostronnej + kilka dodatkowych zworek w postaci rezystorów smd.
    PS2. Bateria jest ogromna, może lepiej użyć mniejszej baterii i takiej podstawki?
    PS3. Nie testowałem tego osobiście ale czy wbudowany RTC w atmegach nie ma dostatecznej dokładności? W końcu i tak wszystko sprowadza się do użycia kwarcu, który ma i tak zwykle sporą rozbieżność rzędu 20 ppm. Jeśli chodzi o zużycie prądu to wystarczy dołożyć jedną diodę w sekcji zasilania, kondensator, użyć komparatora i trybu uśpienia no i mamy znikome zużycie energii :)
  • REKLAMA
  • #13 13847701
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Co do obejrzenia gerberów - projekt robiony późnymi wieczorami, nawet do zamówienia poszło bez cynowania.

    Co do płytki jednostronnej można było bardziej pokombinować.
    Bateria akurat taka miała być ;)
    Też można było odpalić RTC w Atmega, ale skoro miałem DS1307 to czemu nie użyć? W dodatku bez żadnych manipulacji z zasilaniem i mamy drugi scalak w roli dekoracji ;)

    Co do położenia otworów to przelotki owszem są nierówno powiercone...
  • #14 13849240
    Doctore.
    Poziom 18  
    Posty: 437
    Pomógł: 1
    Ocena: 12
    Karol996 napisał:
    Gorsza sprawa to położenie padu względem otworu

    No racja, masakra, miałem o tym pisać ale odpuściłem sobie ;p

    Karol996 napisał:
    Jeżeli pcb robione było w Eagle to zdaje się domyślnie limit przelotek albo jest wyłączony albo na tyle mały, że praktycznie wszystko jest odkryte - ale co za problem odpalić jeden z darmowych programów jak ViewMate czy przez przeglądarkę www sprawdzić wygląd gerberów przed wysłaniem do płytkarni?

    Ale po co, w eaglu można włączyć podgląd warstw b/tStop, i by wszystko było jasne ;-)

    piotrva napisał:
    projekt robiony późnymi wieczorami

    Heh, polowe projektów malowałem wieczorami :D

    piotrva napisał:
    Co do piecyka to gdybym miał taki do użytku prywatnego to bym skorzystał.


    No nie gadaj że nie masz czegoś takiego w kuchni:

    Zegarek binarny - nic nowego, nic odkrywczego :)

    :D :D :D
  • #15 13849293
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    No tak się składa, że nie mam :D Jakie zaskoczenie :D
  • #16 13850184
    Doctore.
    Poziom 18  
    Posty: 437
    Pomógł: 1
    Ocena: 12
    To kup sobie na allegro, za jedyne 60zł+free ship, nawet wygląda jak taki specjalny do lutowania :D :
    http://euromix.gr5.pl/piekarnik/2.jpg
    Szukamy pod nazwą "piekarnik" i cena od najniższej ;)
    Można nawet kupić z ebaja regulator PID, za ok 120zł, byśmy mieli wtedy regulacje temperatury, by wyszedł z tego PRO piekarnik za grosze :O
  • #17 13850247
    Karol966
    Poziom 31  
    Posty: 2037
    Pomógł: 83
    Ocena: 645
    A możesz napisać jakiego topnika/ jakich temperatur oraz czasu używasz? Jak się domyślam nie dodajesz tam termoobiegu :D Od pewnego czasu chodzi mi po głowie wykonanie piecyka do lutowania SMT, myślałem żeby użyć grzałki kwarcowe, które posiadam ale taki piekarnik jeśli wystarcza to jest ekstra patent. Regulator PID z 6 czujnikami też pozostał z wcześniejszego prototypu innego urządzenia ;)
    Zegarek binarny - nic nowego, nic odkrywczego :)
  • #18 13850574
    Doctore.
    Poziom 18  
    Posty: 437
    Pomógł: 1
    Ocena: 12
    Karol996 napisał:
    A możesz napisać jakiego topnika/ jakich temperatur oraz czasu używasz?

    Chodzi o paste lutowniczą(Pb/Sn)?
    Używam najtańszą jaką znalazłem, czyli:
    http://www.dx.com/p/lodestar-soldering-paste-50g-4711#.U9-OXWNBmNw
    Niestety sold out :(
    Ale jest alternatywa, nie testowałem jej:
    http://www.fasttech.com/product/1261003
    Ta pasta z DX jest ok, poza tym że po dłuższym czasie zasycha, ja temu zaradzam pakując całą pastę do strzykawki, z której to aplikuje pastę, oraz przechowuje w lodówce, przez 3 miesiące jest ok, ja nie lutuje zarobkowo, przewiduje że pasta mi wystarczy na co najmniej dwa lata :D

    Piecyk, nie ma żadnego termoobiegu, a temperatura to.... temp. topnienia pasty, BO wkładam układ do piekarnika, włączam i obserwuje aż cyna się wszędzie roztopi, potem czekam jeszcze kilka sekund, na koniec otwieram piekarnik i delikatnie dmucham na układ by go schłodzić jak najprędzej.
    W ten sposób lutowałem układy AVR bez problemu, nie wiem jeszcze jak sprawa wygląda z kondensatorami elektrolitycznymi SMD, ale bym raczej lutował je oddzielnie.
    Takie lutowanie jest przyjemne, po niewielkiej wprawie PCB wygląda jak z fabryki(nie chińskiej rzecz jasna :D ).
  • #19 13875718
    yogi009
    Poziom 43  
    Posty: 14689
    Pomógł: 848
    Ocena: 2647
    Cały ten proces da się też wykonać zwykłym hot-air'em, przy pojedynczych płytkach nie potrzeba pieca.

Podsumowanie tematu

✨ Zegarek binarny zbudowany na bazie ATMega8A i DS1307, z 21 diodami LED w matrycy 3x7, zasilany z portu USB. Użytkownik podkreśla, że projekt nie wnosi nic nowego, a jego celem była estetyka i zabawa. W dyskusji poruszono kwestie dotyczące lutowania, umiejscowienia elementów na PCB oraz optymalizacji ścieżek zasilania. Uczestnicy wymieniają się uwagami na temat lutowania SMD, użycia piekarnika do lutowania oraz jakości komponentów. Zwracają uwagę na poprawność kodowania BCD oraz na funkcje zegarka, takie jak alarm z losowym przyciskiem do wyłączenia.
Wygenerowane przez model językowy.
REKLAMA