Bardzo prosty zegarek na mikrokontrolerze za kilka złotych
Dziś opis kolejnego chińskiego zestawu do samodzielnego złożenia. Tym razem jest to bardzo prosty w montażu zegarek, oparty o mikrokontroler AT89C2051. Zestaw można kupić za nieco ponad 1,50 dolara, więc bardzo tanio. Zegar składa się z dosłownie kilkunastu elementów przewlekanych i zawiera dobrej jakości płytkę drukowaną z soldermaską. Dzięki temu, jest idealny dla początkujących. Kupiłem będąc ciekawym, czy to coś za 5,70zł będzie działać. Zapraszam do lektury.
Zestaw do montażu za niecałe 6zł
Paczka z dalekich Chiń dotarła do mnie po około 3 tygodniach od zamówienia, oczywiście w żółtej kopercie. Wewnątrz znalazłem woreczek strunowy, a w nim wszystkie niezbędne elementy, w tym zabezpieczony wyświetlacz i schemat w formie… naklejanej etykiety. Szczegóły na zdjęciach:
Układ jest bardzo minimalistyczny i projektant dość mocno okroił go z elementów, przez co mikrokontroler pracuje na granicy swoich parametrów lub wręcz poza nimi. Niemniej jednak zegarek pracował bezawaryjnie przez kilkutygodniowy test.
Schemat układ i zasada działania
Zegarek posiada wspomniany już wcześniej mikrokontroler AT89C2051 i to on wykonuje całą robotę i to dosłownie, bo odmierzanie czasu zrealizowane zostało całkowicie programowo, bez użycia zewnętrznego, sprzętowego układu RTC (Real Time Clock). Schemat wygląda następująco:
Napisałem wcześniej, że układ jest dość minimalistyczny i okrojony z elementów. Już wyjaśniam dlaczego. O ile układ resetu jest dość typowy (elektrolit i rezystor), podobnie jak oscylator taktujący procesor, zbudowany na rezonatorze 12MHz i dwóch kondensatorach, to reszta, czyli sterowanie wyświetlaczem nie jest już tak powszechna. Otóż najczęściej w takich konfiguracjach stosuje się wyświetlacze o wspólnej anodzie. pozwala to zasilać poszczególne segmenty bezpośrednio z pinów procesora, których wydajność w stanie niskim wynosi kilka mA, anody zasila się wtedy za pośrednictwem tranzystorów, sterowanych mikrokontrolerem (piny w stanie wysokim mają wydajność prądową znacznie mniejszą niż 1mA). Tak jest to rozwiązane w: Mini płytka testowa AVR z odzysku, tutaj: Mikroprocesorowy miernik pojemności kondensatorów, czy tu: Zegar z termometrem – chiński zestaw do montażu. Ale w tym zegarku jest inaczej, zastosowano wyświetlacz, gdzie cyfry mają wspólną katodę, a segmenty to anody. Katody są sterowane wprost z pinów procesora, które w stanie niskim mają wydajność 20mA przy zasilaniu 5V, czyli tutaj wygląda to w miarę ok. Anody też są sterowane bezpośrednio przez AT89C2051, którego piny w stanie wysokim mogą być obciążone prądem 80μA, czyli 0,08mA. Zastosowano więc rezystory 1kΩ podciągające cały port P1 do plusa zasilania, co zwiększa wydajność pinu, gdy ten ustawi się w stanie wysokim, i obciąża go, gdy ustawi stan niski. W efekcie wyświetlacze ładnie świecą (zastosowano czerwone, które mają mniejsze napięcie przewodzenia i świecą przy bardzo małym prądzie), a mikrokontroler się nie grzeje. Buzzer, który piszczy przy naciskaniu na klawisze i podczas alarmów, może również sygnalizować pełne godziny, jest już sterowany klasycznie, za pośrednictwem tranzystora pnp. Zgodnie z notą aplikacyjną, w pobliżu pinów zasilania procesora, znalazł się kondensator ceramiczny.
Montaż zegarka na AT89C2051
Montaż tradycyjnie warto rozpocząć od inwentaryzacji elementów. Nie ma ich wiele: mikrokontroler z podstawką DIP20, dwa kondensatory ceramiczne 30pF, jeden 100nF, rezonator kwarcowy 12MHz, drabinka, zwana r-packiem 8x1kΩ, dwa rezystory 10kΩ, jeden kondensator elektrolityczny 10μF, tranzystor pnp 8550 (pełne oznaczenie SS8550), buzzer z generatorkiem, czterocyfrowy wyświetlacz LED, złącze śrubowe, dwa mikroswitche z klawiszami oraz oczywiście jednostronna płytka drukowana.
Płytka posiada pocynowane pola lutownicze i soldermaskę. Na stronie elementów znajdują się zarówno ich oznaczenia jak i wartości, co bardzo ułatwia montaż i nie trzeba się posiłkować schematem ideowym.
Montaż proponuję rozpocząć od dwóch rezystorów R1 i R2, następnie podstawka pod mikrokontroler – lutowana wycięciem zgodnie z nadrukiem na pcb, dalej rezonator kwarcowy (polaryzacja bez znaczenia).
Następnie można przylutować drabinkę rezytorów, kropka na obudowie musi się znaleźć koniecznie w miejscu oznaczenia 1 pinu, czyli obok kondensatora C1. Dalej lutujemy C2, C3 i C4, C1 – tutaj należy zwrócić uwagę na biegunowość, na płytce jest oznaczenie +, a na obudowie kondensatora minus. Q1 montuje się zgodnie z obrysem obudowy, następnie przyciski S1 i S2.
Wsadzając wyświetlacz, również należy zwrócić uwagę, czy kropki cyfr znajdują się na dole, buzzer – uwaga na polaryzację i na końcu najwyższa część, czyli złącze śrubowe – miejsce na przewody musi znajdować się przy krawędzi płytki :). No i można wsadzić mikrokontroler w podstawkę, zgodnie z wycięciem i kropką.
Bardziej doświadczeni miłośnicy elektroniki mogą potraktować ten opis z przymrużeniem oka, ale początkującym może się przydać.
Przed podłączeniem zasilania, najlepiej stabilizowane 5V (procesor pracuje od 2,7V do 6V), należy zwrócić uwagę na polaryzację, która NIE JEST OZNACZONA. MINUS ZASILANIA PODŁĄCZA SIĘ DO ZACISKU ZNAJDUJĄCEGO SIĘ PRZY PRZYCISKU S2, PLUS ZASILANIA DO ZACISKU PRZY BOCZNEJ KRAWĘDZI PŁYTKI.
Czyli patrząc na powyższe zdjęcie, kablem przezroczystym doprowadziłem MINUS, kablem żółtym PLUS 5V. Odwrotne podłączenie zasilania skończy się uszkodzeniem mikrokontrolera. Jak pisałem wcześniej, zegarek pracuje już od napięcia 2,7V i pobór prądu wynosi wtedy ok. 10-15mA, ale wyświetlacz dość słabo świeci. Przy zalecanych 5V, prąd wzrasta do 30-38mA. Jeśli dla kogoś buzzer piszczy zbyt cicho, można oderwać górną naklejkę, co zwiększy natężenie dźwięku.
Ustawianie czasu i alarmów
Zegarek posiada proste menu, obsługiwane za pomocą dwóch przycisków S1 i S2. Podczas normalnej pracy, czyli wyświetlania bieżącego czasu, krótkie wciśnięcie S1 nie powoduje żadnej reakcji a wciśnięcie S2 wyświetli minuty i sekundy. Dłuższe wciśnięcie S2 wyzeruje sekundy i zatrzyma zegar, krótkie wciśnięcie S2 uruchomi zegar, który zacznie wyświetlać godziny i minuty.
Dłuższe wciśnięcie S1 w trybie normalnej pracy uruchomi menu ustawiania, pojawi się litera:
- A – bieżąca godzina (0…23);
- B – bieżące minuty (0…59);
- C – kurant o pełnej godzinie (ON, OFF), brzęczyk jest aktywny w godz. 8-20;
- D – pierwszy alarm (ON, OFF);
- E – godzina pierwszego alarmu (0…23);
- F – minuty pierwszego alarmu (0…59);
- G – drugi alarm (ON, OFF);
- H – godzina drugiego alarmu (0…23);
- I – minuty drugiego alarmu (0…59);
W menu ustawień, zmian minut, godzin itd. dokonuje się za pomocą S2, a S1 umożliwia przejście do następnej pozycji. Przy ciągłej pracy przez trzy tygodnie, czas rozjechał się o około 1 minutę, więc nie jest źle.
Podsumowanie
Jest to chyba jeden z najtańszych chińskich zestawów z mikrokontrolerem. Mimo rażącej wręcz prostoty, układ może znaleźć praktyczne zastosowanie, np. jako moduł jakiegoś większego urządzenia. Budowę tego zegarka traktowałem jako ciekawostkę, montaż trwa dosłownie kilka minut, ale dla początkujących może to być niezły trening zwiększający doświadczenie. Tym bardziej, że cena układu jest śmiesznie niska. Na aliexpress można znaleźć podobny zestaw na mikrokontrolerze, ze sprzętowym zegarem i z większą płytką, ale jeszcze niższą ceną. Czyżby Chińczycy pozbywali się zapasów starego AT89C2051?
Nokia 6310i jest świetna po prostu. Najszybciej mi się wybiera nr nawet z mokrą reką czy w rękawiczce. Wygodny, świetnie…
super artykuł. można powiedzieć że będzie wiecznie aktualny dla każdego poczatkującego ( i nie tylko ) elektronika. Dziękuję!
Witam stary konwerter rs232 na USB ponownie ożył....... Dzięki za pomoc!!!
Już rozgromiłem problem... jak zwykle sam :( dobrze ,że przyświeciliście mi lampką :). wystarczy podać akceptowane bez portu samo IP…
Mam taki problem, że dane są niby wysyłane ale domoticz ich nie odbiera. Link bezpośrednio w przeglądarce odbiera ale po…