Spisu treści:
- Krok 1: Krok 1: Schematy
- Krok 2: Krok 2: Prototyp płyty chlebowej
- Krok 3: Krok 3: Ostateczna budowa
- Krok 4: Krok 4: Tworzenie gniazda na wyświetlacz i dawanie mu nóg
- Krok 5: Krok 5: Sprawdzanie okablowania płytki drukowanej i przygotowanie do kalibracji
- Krok 6: Krok 6: Kalibracja obwodu
- Krok 7: Krok 7: program Arduino
- Krok 8: Krok 8: Oferta PCBWay
Wideo: Zegar Arduino 60 Hz: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Ten zegar cyfrowy oparty na Arduino jest synchronizowany przez linię zasilania 60 Hz. Posiada prosty i niedrogi 4-cyfrowy 7-segmentowy wyświetlacz ze wspólną anodą, który pokazuje godziny i minuty. Wykorzystuje detektor krzyżowy do wykrywania, kiedy przychodząca fala sinusoidalna 60 Hz przekracza punkt zerowego napięcia i uzyskuje falę prostokątną 60 Hz.
W krótkich okresach częstotliwość fali sinusoidalnej przychodzącej z linii energetycznej może się bardzo nieznacznie różnić ze względu na obciążenie, ale w dłuższych okresach bardzo precyzyjnie osiąga średnią 60 Hz. Możemy to wykorzystać do uzyskania źródła czasu do synchronizacji naszego zegara.
Krok 1: Krok 1: Schematy
Istnieją dwie wersje obwodu w zależności od tego, czy chcesz użyć transformatora z odczepem środkowym, czy bez, w obu przypadkach działanie obwodu jest prawie identyczne. Do tej budowy użyłem adaptera ściennego (bez środkowego kranu), który wyprowadza 12 V AC. Użyję tego projektu (Digital Clock1 Circuit Diagram) do opisu obwodu. Należy pamiętać, że ważne jest, aby użyć adaptera ściennego, który wyprowadza 12 V AC, a nie 12 V DC, abyśmy mogli podłączyć się do fali sinusoidalnej AC w celu synchronizacji. Prawdopodobnie możesz również użyć transformatora, który wyprowadza 9 V AC, usunąć R19 i sprawić, by działał, ale 12 V jest bardzo powszechnie dostępne. Oto jak działa obwód:
120V AC przy 60Hz jest konwertowane na 12V AC przez transformator TR1. Jest on podawany do diody D4 i prostowany tak, że tylko napięcie dodatnie jest podawane i wygładzane do około DC z tętnieniem przez kondensator C3. Napięcie na C3 jest podawane do regulatora napięcia 7805 (U6) przez rezystor R19. R19 służy do obniżenia napięcia na C3, które w moim przypadku było zmierzone na około 15VDC. Może to być regulowane przez 7805, ale przy takim poziomie sygnału wejściowego 7805 musi spaść o około 10 V DC i w rezultacie robi się dość gorący. Używając R19 do obniżenia napięcia do około 10VDC zapobiegamy nadmiernemu nagrzewaniu się U6. Nie jest to więc wydajna technika konwersji energii, ale działa dla naszych celów. UWAGA: użyj tutaj rezystora co najmniej 1/2W lub więcej. Obwód pobiera około 55 mA, więc rozpraszanie mocy w R19 wynosi około 1/3W w oparciu o P=I**2*R lub P=55ma x 55ma x 120 omów = 0,363W. Next U6 wyprowadza czyste napięcie 5 V DC z C4 i C5 na wyjściu, aby odfiltrować wszelkie zakłócenia na linii zasilającej 5 V. To napięcie 5 V DC zasila wszystkie układy scalone na płycie. Z TR1 pobieramy również próbkę niefiltrowanego sygnału AC i wprowadzamy ją do potencjometru RV1, który służy do regulacji poziomu podawanego do detektora krzyżowego. R18 i R17 tworzą dzielnik napięcia, aby jeszcze bardziej obniżyć poziom napięcia AC. Pamiętaj, że jest to napięcie 12V AC i musimy zredukować go do mniej niż 5 V, aby działał z naszym detektorem zwrotnicy, który jest tylko zasilany napięciem 5VDC. R15 i R16 zapewniają ograniczenie prądu, podczas gdy D1 i D2 mają zapobiegać przesterowaniu wzmacniacza operacyjnego U5. W pokazanej konfiguracji wyjście U5 na pinie 1 będzie się przełączać między +5V i 0V za każdym razem, gdy przychodząca fala sinusoidalna zmieni się z dodatniej na ujemną. Generuje to falę prostokątną 60 Hz, która jest podawana do mikrokontrolera U4. Program załadowany na U4 wykorzystuje tę falę prostokątną 60 Hz do zwiększania zegara co minutę i godzinę. Sposób, w jaki to się robi, zostanie omówiony w sekcji dotyczącej programu oraz w komentarzach do oprogramowania. U7 używany jest rejestr przesuwny 74HC595, ponieważ mamy ograniczoną liczbę pinów cyfrowych na mikroprocesorze, więc służy on do rozszerzenia liczby wyjść. Używamy 4 pinów cyfrowych na mikroprocesorze, ale możemy kontrolować 7 segmentów na wyświetlaczu za pomocą 74HC595. Odbywa się to poprzez przesunięcie z góry określonych wzorców bitów, przechowywanych w mikrokontrolerze i reprezentujących każdą wyświetlaną cyfrę, do rejestru przesuwnego. Zastosowany tutaj wyświetlacz jest wspólną anodą, więc musimy odwrócić poziomy sygnałów wychodzących z 74HC595, aby włączyć segment. Gdy segment powinien być włączony, sygnał wychodzący z pinu wyjściowego 74HC595 będzie miał napięcie +5V, ale potrzebujemy, aby pin, który podaje na wyświetlaczu, miał 0V, aby włączyć ten segment wyświetlacza. Aby to zrobić, potrzebujemy inwerterów szesnastkowych U2 i U3. Niestety jeden układ scalony falownika może obsłużyć tylko 6 inwersji, więc potrzebujemy dwóch z nich, chociaż na drugim używamy tylko jednej z 6 bramek. Niestety marnotrawstwo. Możesz zapytać, dlaczego nie użyć tutaj zwykłego wyświetlacza typu katody i wyeliminować U2 i U3? Cóż, odpowiedź jest taka, że możesz, po prostu mam wspólny typ anody w moich dostawach części. Jeśli masz lub chcesz użyć wyświetlacza ze wspólną katodą, po prostu wyeliminuj U2 i U3 i zmień okablowanie Q1 - Q4, aby kolektory tranzystorów były podłączone do pinów wyświetlacza, a emitery tranzystorów były połączone z masą. Q1 - Q4 kontrolują, który z czterech 7-segmentowych wyświetlaczy jest aktywny. Jest to kontrolowane przez mikrokontroler za pomocą pinów podłączonych do bazy tranzystorów Q1 - Q4. Przyciski zwiększania i ustawiania będą używane do ręcznego ustawiania prawidłowego czasu zegara, jeśli chodzi o faktyczne korzystanie z zegara. Po jednokrotnym wciśnięciu przycisku Set, przycisk Increment może być użyty do przechodzenia przez godziny pokazane na wyświetlaczu. Po ponownym naciśnięciu przycisku Set, przycisk zwiększania może być użyty do przechodzenia przez minuty pokazywane na wyświetlaczu. Gdy przycisk Set zostanie naciśnięty po raz trzeci, czas zostanie ustawiony. R13 i R14 obniżają piny mikrokontrolera związane z tymi przyciskami, gdy nie są używane. Zauważ, że tutaj zdjęliśmy U4 (Atmega328p) z typowej płytki prototypowej Arduino UNO i umieściliśmy ją na płytce prototypowej z resztą naszego układu. W tym celu musimy zapewnić co najmniej kryształ X1 oraz kondensatory C1 i C2 zapewniające źródło zegara dla mikrokontrolera, pin tie 1, pin resetujący, wysoki i zapewniający zasilanie 5VDC.
Krok 2: Krok 2: Prototyp płyty chlebowej
Niezależnie od tego, czy budujesz obwód dokładnie tak, jak pokazano na schemacie, czy może używasz nieco innego transformatora, typu wyświetlacza lub innych komponentów, powinieneś najpierw obłożyć obwód, aby upewnić się, że działa i że rozumiesz, jak to działa.
Na zdjęciach widać, że do układania styków całość wymagała kilku płytek, a także płytki Arduino Uno. Aby więc zaprogramować mikrokontroler lub poeksperymentować lub dokonać zmian w oprogramowaniu, początkowo będziesz potrzebować układu scalonego mikrokontrolera na płycie UNO, aby można było podłączyć do niego kabel USB i komputer, aby wgrać program lub dokonać zmian w oprogramowaniu. Po uruchomieniu zegara na płytce prototypowej i zaprogramowaniu mikrokontrolera można go odłączyć i podłączyć do gniazdka na ostatecznym zegarze stałym na płytce prototypowej. Pamiętaj o przestrzeganiu środków antystatycznych, gdy to robisz. Podczas obsługi mikroprocesora używaj antystatycznej opaski na nadgarstek.
Krok 3: Krok 3: Ostateczna budowa
Obwód jest zbudowany na kawałku płytki prototypowej i okablowany punkt do punktu za pomocą drutu owijanego #30 AWG. Zapewnia mocny i niezawodny wynik. Ponieważ posiadany przeze mnie transformator ma wtyk męski 5mm na końcu kabla, odpowiednie gniazdo żeńskie zamontowałem z tyłu płyty, wycinając, wyginając i wiercąc kawałek płaskiej aluminiowej listwy o szerokości 1/2 w celu wykonania niestandardowego wspornika a następnie przykręciłem go do płytki małymi 4-40 nakrętkami i śrubami. Można było po prostu odciąć złącze i przylutować pozostałe przewody zasilające do płytki i oszczędzić sobie około 20 min pracy, ale nie chciałem żeby transformator był wpięty na stałe do tablicy.
Krok 4: Krok 4: Tworzenie gniazda na wyświetlacz i dawanie mu nóg
Ponieważ wyświetlacz ma 16 pinów, po 8 z każdej strony, z rozstawem pinów szerszym niż standardowe 16 pinowe gniazdo IC, musimy dostosować rozmiar gniazda do wyświetlacza. Możesz to zrobić, po prostu używając pary przecinaków do drutu, aby odciąć plastik łączący dwie strony gniazda, oddzielić je i przylutować osobno do płytki z odstępem odpowiadającym odstępom pinów na wyświetlaczu. Jest to korzystne, aby nie trzeba było lutować bezpośrednio do pinów wyświetlacza i narażać wyświetlacza na nadmierne ciepło. Możesz zobaczyć gniazdo, do którego to zrobiłem, na górze płyty na powyższym obrazku.
Aby wyświetlacz był ustawiony prawidłowo, przykręciłem dwie 1-calowe śruby do dwóch dolnych narożnych otworów płytki prototypowej, jak pokazano na zdjęciach, aby zrobić prosty stojak. To było dość podłe, więc jeśli to zrobisz, możesz chcesz umieścić coś ciężkiego z tyłu śrub, aby go ustabilizować.
Krok 5: Krok 5: Sprawdzanie okablowania płytki drukowanej i przygotowanie do kalibracji
Po podłączeniu płytki drukowanej, ale przed podłączeniem układów scalonych lub wyświetlacza lub włączeniem zasilania, dobrym pomysłem jest sprawdzenie połączeń płytki za pomocą DVM. Większość DVM można ustawić tak, aby emitowały sygnał dźwiękowy, gdy występuje ciągłość. Ustaw DVM w tym trybie, a następnie postępując zgodnie ze schematem obwodu, sprawdź jak najwięcej połączeń obwodu. Sprawdź, czy obwód nie jest otwarty lub blisko niego, między punktami +5V i uziemienia. Sprawdź wzrokowo, czy wszystkie komponenty są podłączone do właściwych styków.
Następnie podłącz transformator do obwodu i włącz go. Sprawdź, czy masz dokładnie 5 V DC na szynie zasilającej 5 V za pomocą oscyloskopu lub DVM przed podłączeniem jakichkolwiek układów scalonych lub wyświetlacza. Następnie podłącz TYLKO układ scalony Op-Amp U5 w ramach przygotowań do następnego kroku. Tutaj sprawdzimy, czy nasz obwód zwrotny generuje falę prostokątną i ustawimy potencjometrem RV1 na czysty sygnał 60 Hz.
Krok 6: Krok 6: Kalibracja obwodu
Jedyną kalibracją do wykonania jest ustawienie potencjometru RV1 na prawidłowy poziom sygnału zasilającego detektor krzyżowy. Można to zrobić na dwa sposoby:
1. Umieść sondę oscyloskopu na styku 1 U5 i upewnij się, że przewód uziemiający sondy oscyloskopu jest podłączony do masy obwodu. Następnie dostosuj RV1, aż uzyskasz czystą falę prostokątną, jak pokazano na powyższym obrazku. Jeśli ustawisz RV1 zbyt daleko w jedną lub w drugą stronę, albo nie będziesz mieć fali prostokątnej, albo fala prostokątna będzie zniekształcona. Upewnij się, że częstotliwość fali prostokątnej wynosi 60 Hz. Jeśli masz nowoczesny oscyloskop, prawdopodobnie poda Ci częstotliwość. Jeśli masz starożytny teleskop, tak jak ja, upewnij się, że okres fali prostokątnej wynosi około 16,66 ms lub 1/60 sekundy. 2. Używając licznika częstotliwości lub DVM w trybie Częstotliwość, zmierz częstotliwość na styku 1 U5 i ustaw RV1 na dokładnie 60 Hz. Po wykonaniu tej kalibracji wyłącz obwód i podłącz wszystkie układy scalone i wyświetlacz, aby zakończyć budowę obwodu.
Krok 7: Krok 7: program Arduino
Program jest w pełni skomentowany, dzięki czemu można poznać szczegóły każdego kroku. Ze względu na złożoność programu trudno opisać każdy krok, ale na bardzo wysokim poziomie tak to działa:
Mikroprocesor odbiera przychodzącą falę prostokątną 60 Hz i liczy 60 cykli oraz zwiększa liczbę sekund po każdych 60 cyklach. Gdy licznik sekund osiągnie 60 sekund lub 3600 cykli, licznik minut zostanie zwiększony, a licznik sekund zostanie zresetowany do zera. Gdy licznik minut osiągnie 60 minut, licznik godzin jest zwiększany, a licznik minut jest resetowany do zera. licznik godzin jest resetowany do 1 po 13 godzinach, więc jest to zegar 12-godzinny. Jeśli chcesz mieć zegar 24-godzinny, po prostu zmień program, aby zresetować godziny do zera po 24 godzinach. Jest to projekt eksperymentalny, więc próbowałem użyć pętli Do-While, aby stłumić odbijanie się przełącznika na przyciskach Set i Increment. Działa dość dobrze. Po jednokrotnym wciśnięciu przycisku Set, przycisk Increment może być użyty do przechodzenia przez godziny pokazane na wyświetlaczu. Po ponownym naciśnięciu przycisku Set, przycisk zwiększania może być użyty do przechodzenia przez minuty pokazywane na wyświetlaczu. Gdy przycisk Set zostanie naciśnięty po raz trzeci, czas zostanie ustawiony i zegar zacznie działać. Wzorce 0 i 1 używane do wyświetlania każdej liczby na wyświetlaczach 7-segmentowych są przechowywane w tablicy o nazwie Seven_Seg. W zależności od aktualnego czasu zegarowego, wzorce te są wprowadzane do układu 74HC595 i wysyłane do wyświetlacza. Która z 4 cyfr wyświetlacza jest włączana w dowolnym momencie, aby otrzymać te dane, jest sterowana przez mikroprocesor za pośrednictwem wyświetlacza Dig 1, 2, 3, 4 piny. Kiedy obwód jest włączony, program najpierw uruchamia procedurę testową o nazwie Test_Clock, która wysyła prawidłowe cyfry, aby podświetlić każdy wyświetlacz z liczbą od 0 do 9. Więc jeśli zobaczysz to po włączeniu, wiesz, że wszystko zbudowałeś poprawnie.
Krok 8: Krok 8: Oferta PCBWay
Na tym kończy się ten post, ale sponsorem tego projektu jest PCBWay, który w tym czasie świętuje swoje 5 urodziny. Sprawdź to na https://www.pcbway.com/anniversary5sales.html i nie zapomnij, że ich usługa montażu kosztuje teraz zaledwie 30 USD.
Zalecana:
Jak zrobić zegar analogowy i zegar cyfrowy z paskiem LED za pomocą Arduino: 3 kroki
Jak zrobić zegar analogowy i zegar cyfrowy z paskiem LED za pomocą Arduino: Dzisiaj zrobimy zegar analogowy i amp; Zegar cyfrowy z paskiem Led i modułem MAX7219 Dot z Arduino. Koryguje czas z lokalną strefą czasową. Zegar analogowy może wykorzystywać dłuższą taśmę LED, dzięki czemu można go zawiesić na ścianie, aby stać się grafiką
Zegar WiFi, zegar i stacja pogodowa, sterowanie Blynk: 5 kroków (ze zdjęciami)
Zegar WiFi, timer i stacja pogodowa, sterowanie Blynk: jest to zegar cyfrowy Morphing (dzięki Hari Wiguna za koncepcję i kod morfingu), jest to również zegar analogowy, stacja raportowania pogody i minutnik kuchenny. Jest kontrolowany w całości przez Aplikacja Blynk na smartfonie przez Wi-Fi.Aplikacja umożliwia
ESP8266 Zegar sieciowy bez zegara RTC - Nodemcu NTP Zegar bez RTC - PROJEKT ZEGAR INTERNETOWY: 4 kroki
ESP8266 Zegar sieciowy bez zegara RTC | Nodemcu NTP Zegar bez RTC | PROJEKT ZEGARA INTERNETOWEGO: W projekcie będzie wykonywany projekt zegara bez RTC, będzie pobierał czas z internetu za pomocą wifi i wyświetli go na wyświetlaczu st7735
Zegar elektroniczny C51 4 bity - Drewniany zegar: 15 kroków (ze zdjęciami)
C51 4-bitowy zegar elektroniczny - drewniany zegar: W ten weekend miałem trochę wolnego czasu, więc poszedłem dalej i zmontowałem ten 4-bitowy elektroniczny zegar cyfrowy DIY o wartości 2,40 USD, który kupiłem jakiś czas temu od AliExpress
Konwertuj zwykły zegar domowy na samoświecący zegar: 8 kroków (ze zdjęciami)
Konwertuj zwykły zegar domowy na świecący zegar: NAJPIERW SERDECZNIE DZIĘKUJĘ ZESPÓŁ INSTRUKCJI, ABY MOJE DNI ODZYSKANIA ZDROWIA BARDZIEJ ODPOWIEDZIALNE ….. W tej instrukcji chcę podzielić się z wami, jak przekonwertować zwykły zegar w domu w samoświecący się zegar.>> Za to