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 wykonany na woltomierzach

kmmepl 05 Paź 2015 20:09 9603 9
  • Zegar wykonany na woltomierzach Poniższy artykuł przedstawia urządzenie dla każdego pasjonata elektroniki. Jest to zegar, którego wskazówki są sterowane różnicą potencjałów panującą na poszczególnych wskazówkach. Sercem prezentowanej konstrukcji jest mikrokontroler PIC16F628A. Procesor firmy Microchip zarządza wyświetlaniem czasu i utrzymywaniem jak największej stabilności. Kod został napisany w kompilatorze Picbasic Pro 3.



    Idea

    Pomysł na stworzenie takiego czasomierza powstał po znalezieniu przez autora zegara opartego na multimetrze, widocznego na zdjęciu poniżej. Od ojca tego "multimetrowego" zegara, zakupiony został gotowy kit do którego dodano jednak wiele przeróbek.

    Zegar wykonany na woltomierzach


    Design

    Chciano przede wszystkim otrzymać laboratoryjny styl, więc jako bazy użyto dużego kawałka mahoniu. W nim zrobiono żłobki przeznaczone na plastikową ramkę i same woltomierze. Wszystko zostało wycięte na wymiar przy użyciu piły stołowej. Na początku planowano użyć woltomierzy o wymiarach 7.2x7.2cm o kącie wychyłu wskazówki 240°. Jednak takie woltomierze są znacznie droższe, więc zdecydowano się na takie o kącie 90° (porównanie widocznie na zdjęciu poniżej). Trzy mierniki zamontowano za pomocą aluminiowej listy kątowej. W celu polepszenia laboratoryjnego wyglądu, użyto wielkich przycisków i przełączników na panelu kontrolnym, znajdującym się pod woltomierzami.

    Zegar wykonany na woltomierzach Zegar wykonany na woltomierzach Zegar wykonany na woltomierzach






    Synchronizacja

    Mikrokontroler w tym przypadku używa kwarcu 20Mhz jako wzorca czasu. Ta wartość nie jest podzielna przez 2, więc nie jest możliwe otrzymanie bardzo dokładnego 1 sekundowego sygnału. Dla krótkiego odmierzania czasu zjawisko to nie ma znaczenia ale używanie kryształu 20Mhz przez kilka dni sprawi, że czasomierz będzie się znacznie mylił z upływem czasu. Alternatywnie jest możliwość wykorzystania zegara czasu rzeczywistego (RTC), który używa rezonatora 32.768Khz (jest to liczba podzielna przez 2). Dawałby on dokładny 1 sekundowy impuls dzięki temu błąd zegara byłby minimalny.

    W tym urządzeniu zdecydowano się na inne rozwiązanie. Wykorzystano 30 sekundowy sygnał z wzorcowego zegara, który jest wysyłany do konstrukcji. Co 30 sekund układ sprawdza czy puls został otrzymany wcześniej lub później niż oczekiwano. Jeśli tak się stanie to następuje reset wskazówki w celu synchronizacji z matką. Opisywany proceder jest widoczny na filmie poniżej.



    Pod wskazówkami znajdują się dwie diody LED, które służą do monitorowania synchronizacji. Jedna z nich miga za każdym razem, gdy 30 sekundowy puls jest otrzymany. Druga dioda zaświeca się, kiedy zegar się spóźnia/śpieszy i jest synchronizowany.

    Szkicowanie tarcz

    Przy budowie tego czasomierza autor wykonał własne tarcze. Zostały zaprojektowane w programie TurboCAD. Dla tych którzy chcieliby wykonać taki zegar, udostępniony jest gotowy wzór.

    Zegar wykonany na woltomierzach Zegar wykonany na woltomierzach Zegar wykonany na woltomierzach


    Schemat

    Energia pochodzi z 12V źródła prądu stałego. Procesor jest zasilany przez stabilizator 5V. W celu zachowania ciągłości działania dodano bateryjne podtrzymanie.

    Zegar wykonany na woltomierzach


    Dźwięk

    Za dźwięki odpowiedzialna jest gotowa płytka firmy Sure Electronics.

    Zegar wykonany na woltomierzach

    Kalibracja

    Kalibracja odbywa się w taki sposób, że przy pierwszym uruchomieniu zegara, wszystkie bazy tranzystorów Q1-Q3 są wysterowane sygnałem prostokątnym z procesora przy współczynniku wypełnienia 50%. Później za pomocą odpowiednich przycisków ustawia się wskazówki, by określić maksymalną pozycję. Gdy się to wykona informacja o położeniu zostanie zapisana w pamięci procesora i wystarczy ustawić czas.

    Zegar wykonany na woltomierzach


    Działanie układu




    źródło: http://www.instructables.com/id/Voltmeter-Clock/?ALLSTEPS


    Fajne! Ranking DIY
  • #2 06 Paź 2015 00:05
    Bartosz_MDF
    Poziom 13  

    kmmepl napisał:
    Mikrokontroler w tym przypadku używa kwarcu 20Mhz jako wzorca czasu. Ta wartość nie jest podzielna przez 2


    Zajebiście! :D 20 (milionów) nie dzieli się przez 2 :)

  • #3 06 Paź 2015 01:24
    dj_volt
    Poziom 22  

    Bartosz_MDF napisał:
    kmmepl napisał:
    Mikrokontroler w tym przypadku używa kwarcu 20Mhz jako wzorca czasu. Ta wartość nie jest podzielna przez 2


    Zajebiście! :D 20 (milionów) nie dzieli się przez 2 :)

    Faktycznie wtopa :)
    A ze swojej strony zapytam - po co ten 555? RTC zabrakło?
    Rozumiem, że mierniki "są pędzone" PWM'em?

  • #4 06 Paź 2015 02:01
    zuimarek
    Poziom 9  

    Bartosz_MDF napisał:
    kmmepl napisał:
    Mikrokontroler w tym przypadku używa kwarcu 20Mhz jako wzorca czasu. Ta wartość nie jest podzielna przez 2


    Zajebiście! :D 20 (milionów) nie dzieli się przez 2 :)


    Wypadło jak wypadło, autorowi chodziło chyba o to, że 20 000 000 nie da się podzielić przez 2^n żeby uzyskać 1 Hz. (stąd info o kwarcu zegarkowym 32768)

  • #5 06 Paź 2015 08:37
    Zielonka
    Poziom 20  

    Witam
    Panowie błąd w tym zegarze nie bierze się z tego, że nie można podzielić częstotliwości 20 Mhz. Błąd bierze się z tego, że kwarc jest "na sztywno" podłączony do procka. Wystarczyło by podłączyć zamiast C1 trymer i wyregulować częstotliwość. A poza tym fajny projekt.
    Pozdrawiam
    W.B.

  • #6 06 Paź 2015 10:32
    zagwizdow
    Poziom 17  

    Można dodać programową korekcję zliczonych cykli na sekundę.

  • #7 06 Paź 2015 14:38
    kmmepl
    Poziom 12  

    @Bartosz_MDF Przepraszam za pomyłkę. Błędnie się wyraziłem. Chodziło mi o to, że dzieląc 20Mhz wielokrotnie przez 2 nie otrzymamy na końcu jedynki.
    Tak jak to napisał autor urządzenia:

    Cytat:
    Microcontrollers use a quartz crystal as a time base in this case 20Mhz but as this in not exactly divisible by 2 you will never get a precise 1 second pulse.

    Niemniej jednak wpadka to wpadka :).

  • #8 06 Paź 2015 18:28
    vodiczka
    Poziom 43  

    kmmepl napisał:
    Niemniej jednak wpadka to wpadka
    Niestety nie jedyna. Jak mam rozumieć:
    kmmepl napisał:
    Jest to zegar, którego wskazówki są sterowane różnicą potencjałów panującą na poszczególnych wskazówkach.

  • #9 06 Paź 2015 21:23
    seg
    Poziom 12  

    Totalna bzdura. A co za problem zliczać np. 10 przepełnień 100ms? W PIC16 na TMR1 bez problemu.

    Z kalkulatora:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Trzeba mieć toporny "zaoceaniczny" umysł, żeby sobie z tym nie poradzić.

  • #10 08 Paź 2015 00:12
    deus.ex.machina
    Poziom 32  

    seg napisał:
    Totalna bzdura. A co za problem zliczać np. 10 przepełnień 100ms? W PIC16 na TMR1 bez problemu.

    Trzeba mieć toporny "zaoceaniczny" umysł, żeby sobie z tym nie poradzić.

    Wystarczy użyć rezonatora który spełnia założenie podziału przez 2^n lub zaimplementować dowolny dzielnik nawet z połykaniem impulsów... kwestia podejścia do problemu...