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

Zegar wykonany na woltomierzach

kmmepl 05 Paź 2015 20:09 10323 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
    O autorze
    kmmepl
    Poziom 13  
    Offline 
    kmmepl napisał 73 postów o ocenie 320, pomógł 7 razy. Jest z nami od 2013 roku.
  • #2 15045582
    Bartosz_MDF
    Poziom 14  
    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 15045632
    dj_volt
    Poziom 26  
    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 15045647
    zuimarek
    Poziom 10  
    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 15045766
    Zielonka
    Poziom 22  
    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 15045961
    zagwizdow
    Poziom 17  
    Można dodać programową korekcję zliczonych cykli na sekundę.
  • #7 15046407
    kmmepl
    Poziom 13  
    @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 15046938
    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 15047548
    seg
    Poziom 13  
    Totalna bzdura. A co za problem zliczać np. 10 przepełnień 100ms? W PIC16 na TMR1 bez problemu.

    Z kalkulatora:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Trzeba mieć toporny "zaoceaniczny" umysł, żeby sobie z tym nie poradzić.
  • #10 15050454
    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...
REKLAMA