Jest to projekt zegara na układach TTL z budzikiem.
Wstęp
Zbudowałem go do szkoły, jako model dydaktyczny. Dosyć dawno temu to było, bo przed wakacjami w maju, jeszcze wtedy byłem w trzeciej klasie technikum, ale teraz dopiero zdecydowałem się go pokazać Fachowcom do oceny. Nauczyciele tego nie potrafili ocenić zbytnio i powiedzieć co jest nie tak, na to liczę właśnie teraz
Liczę na uwagi konstrukcyjne, a nie "daje 1 na 10"
Na każde pytanie oczywiście odpowiem.
Koszt budowy, to około 200zł. Dlaczego tak dużo? Bo w sklepie elektronicznym, który jest obok, niestety ceny TTLek są kosmiczne. Do tego doliczyć trzeba kilkadziesiąt godzin spędzonych przy projektowaniu, testowaniu i uruchamianiu. Czas ten nie był stracony, dzięki temu projektowi bardzo dużo nauczyłem się o układach TTL, jak i o zasadach rządzących elektroniką cyfrową w takich projektach, chociaż częstotliwości występujące w tym układzie nie są wielkie.
Założenia
- zegar musiał posiadać budzik;
- powinien być w większości złożony z układów TTL;
- powstać w krótkim czasie (około 3 tygodnie);
- oczywiście jak najtaniej;
- budowa modułowa, która ułatwia uruchomienie, jak i również późniejszą analizę działania uczniom;
- nie można używać układów typu: zintegrowany licznik z transkoderem 7-seg. Układ taki powinien działać na układach analizowanych na lekcjach, tzn. liczniki modulo, transkodery, itp.
Projekt
Na początku robiłem symulacje w programie Atanua, po symulacjach przetestowałem tylko części, których nie byłem pewny. Niestety nie było czasu na składanie wszystkiego na płytkach stykowych i od razu przystąpiłem do projektowania płytek w KiCADzie. Spędziłem na projektowaniu wszystkich modułów łącznie 6 dni, 3 dni symulacje i 3 KiCAD. Po złożeniu i uruchomieniu nie obyło się bez poprawek, czego byłem świadomy decydując się na przejście od razu z symulacji do projektu.
Ja do projektowania i symulacji użyłem po prostu komputera i to znacznie przyspieszyło prace. Wiem, że kiedyś robiono to ręcznie na kartce papieru i myślę, że jeśli miałbym to robić tak, to na pewno bym się tego nie podjął
Budowa ogólna
Do budowy użyłem około 30 układów. Dla łatwiejszego i szybszego uruchomienia zegar został podzielony na moduły:
- moduł sekund - liczniki dziesiątek i jedności sekund z transkoderami na kod 7-seg;
- moduł minut - liczniki dziesiątek i jedności minut, zdublowane dla ustawień budzika i zegara, selektor wybierający co ma być przekazane transkoderom 7-seg (czas budzenia lub zegar), do tego komparator na EX-OR porównujący czy minuty w pamięci budzika są równe minutom zegara;
- moduł godzin - liczniki dziesiątek i jedności godzin, również zdublowane dla licznika godzin zegara i budzika, do tego selektor źródła, czyli selektor tego co ma być wyświetlone za pomocą transkoderów 7-seg;
- moduł budzika - zbiera sygnały z komparatorów, sprawdza czy ma zezwolenie na budzenie i jeśli komparatory też na to zezwolą, to następuje uruchomienie generatora dźwięku na trzech generatorach astabilnych;
- moduł zasilacza - dostarcza wszystkim układom 5V DC do 1,5A;
- moduł sterujący - niestety to jestem najgorszą jak, dla mnie, częścią projektu, ponieważ zbudowany on jest z mikrokontrolera, zamiast z układów TTL. Niestety nie miałem już czasu na projektowanie logiki TTL, dlatego zdecydowałem się na takie rozwiązanie uznając je za szybkie i pewne. Moduł ten odpowiada za wysyłanie sygnału do modułu sekund o częstotliwości 1Hz, do modułu minut 1/60Hz, a do modułu godzin 1/3600Hz. Dodatkowo obsługuje on klawiaturę sterującą i przełącza moduły pomiędzy trybem wyświetlania zegara lub budzika. Wysyłał on również sygnał zezwalający lub zabraniający na włączenie budzika.
Liczniki
Do budowy liczników minut, sekund i godzin wykorzystałem dekadowe liczniki 74ls90. Zawiera on w swojej strukturze 4 przerzutniki JK, układ zerujący, układ ustawiający dziewiątkę, wyjście BCD i dwa wejścia zegarowe. Odpowiednio skonfigurowany może pracować jako licznik MOD6, MOD10 i MOD24, które zostały wykorzystane w modelu tego zegara
Moduł sekund
Składa się on z jednego zestawu liczników mod6 i mod10, ponieważ w trybie wyświetlania budzika nie wyświetlają się sekundy. Jest to najprostszy moduł, który uruchomiłem jako pierwszy.
Moduł minut
Licznik minut od zera do 59 składa się z liczników MOD10 i MOD6 połączonych szeregowo. Oddzielny zestaw liczników jest dla budzika i zegara. Wyboru między wyświetlaniem stanu minut i budzika dokonuje się ustawiając odpowiedni stan na szynę SET. Układ, który przełącza źródło sygnału dla transkoderów wyświetlaczy są bufory trzystanowe – tutaj działają jak selektor źródła. Porównywaniem stanu budzika i zegara zajmują się bramki EXOR, które połączone są wyjściami za pośrednictwem wielowejściowej bramki OR. Ustawianiem zer na wszystkich licznikach bezpośrednio po włączeniu zajmuje się lokalny układ resetujący.
Moduł godzin
Tak jak moduł minut, składa się on z oddzielnego zestawu liczników dla zegara i budzika, komparatora na EX-OR, selektora źródła. Tutaj został wykorzystany układ licznika modulo 24 z wyjściem BCD. Szukałem w internecie schematu tego układu ale nie znalazłem, więc sam zaprojektowałem używając dwóch liczników dekadowych 74LS90. Dodatkowo w tym układzie znajduje się układ usuwający zero przed godziną, żeby nie było takiej sytuacji, że wyświetli godzinę "06:54.04"m tylko "6:54.04".
Moduł zasilacza
Transformator, prostownik, filtr, stabilizator, kondensatory zabezpieczające przed wzbudzeniem, radiator, czyli najprostszy możliwy zasilacz. Po uruchomieniu okazało się, że układ na TTLach wraz z wyświetlaczami jest strasznie prądożerny, tzn. pobierał w porywach do 1A, przez co straty w radiatorze były tak duże, że jego temperatura rosła powyżej 100 stopni. Pierwotnie był mostek prostowniczy, zdecydowałem się na przerobienie na prostownik dwupołówkowy na dwóch diodach SR560, przez co straty spadły dwukrotnie. Na szczęście taka przeróbka nie spowodowała dużego wzrostu tętnień przy 1A, dla pewności zwiększyłem kondensator elektrolityczny.
Schemat z mostkiem:
Moduł budzika
Porównywaniem licznika godzin lub minut zegara i licznika godziny oraz minuty budzenia zajmują się bramki EX-OR (dwuwejściowe). Jedno z wejść podłączone jest do licznika minut (lub godzin) zegara, a drugie do licznika minut (lub godzin) budzika. Sygnały z bramek EX-OR „zbierane” są do jednej szyny za pomocą wielowejściowej bramki OR zrealizowanej na diodach 1N4148 (dodatkowo na płytce znajduje się rezystor pull-down – eliminujący stany nieokreślone). Szyna ta nazwana została ALARM. W momencie, kiedy na tej szynie pojawi się stan niski, następuje włączenie sygnału budzika. Sygnał budzika generowany jest za pomocą trzech multiwibratorów astabilnych na NE555. Dzięki temu uzyskuję taki dźwięk, jaki emituje każdy inny budzik z supermarketu za 5zł, coś w rodzaju "pik-pik-pik-pik ---------------- pik-pik-pik-pik".
Układ resetujący
Jak uruchomiłem już zegar, to okazało się, że po włączeniu na wyświetlaczu pokazuje się losowa godzina, często nawet typu "11:89.67". Rozwiązaniem było zbudowanie układu resetującego, który od razu po włączeniu wyzeruje wszystkie liczniki. Zrobiłem to na szeregowym układzie RC, a sygnał tego układu rozprowadziłem do wszystkich liczników.
Moduł sterujący
Tutaj nie ma nic skomplikowanego. Jak wyżej wspomniałem, to mikrokontroler z prostym jak drut programem zastępujący sieć bramek, którą miałbym zamiast niego użyć. Nie posiadam żadnych projektów, ponieważ płytkę narysowałem pisakiem olejowym i wytrawiłem. Program zajmował może z 50 linijek w bascomie i z powodzeniem zmieściłoby się takich programów z 1000 w uC
Obudowa
Obudowa powstała z listewek o szerokości 5cm z Praktikera, połączona wkrętami i poszpachlowana na rogach szpachlą naturalną. Nie polecam tej szpachli, to zwykłe wióry z vikolem, sprzedawane to jest jako właśnie szpachla naturalna. Po wyschnięciu mocno chłonie farbę. Wszystko pomalowane zostało czarną farbą. Górna i dolna pokrywa są są z plexi 5mm.
Co do wyglądu zegara, to nie należy on do najładniejszych, jednak spełnia swoje zadanie - obudowa jest solidna.
Myślę również nad rozwinięciem tego projektu, jednak zająłbym się czymś ambitniejszym niż zegar. Kto wie, może nawet kiedyś zabiorę się za budowę uC albo chociaż uP na TTL/CMOS. Tym kończę ten rozlazły temat, a niedługo wrzucę filmik z działania. Nie jest w HD, ale widać na nim to co trzeba. W załączniku symulacje modułów w formacie programu Atanua, za drobne punkty
Pozdrawiam!
Dołączam film z działania zegara:
Fajne? Ranking DIY