- monochromatyczny wyświetlacz e-ink 1,54” 200×200,
- wskazywanie czasu i daty,
- pomiar ciśnienia, wilgotności, temperatury, wysokości,
- kompas, datownik, chronograf,
- czas pracy na jednym ładowaniu ok. 10 dni.
Prezentowany czasomierz jest zegarkiem kwarcowym wyposażonym w wyświetlacz e-ink, który symuluje pracę wskazówek. Ten typ matrycy charakteryzuje się bardzo małym zapotrzebowaniem energetycznym – pobiera energię wyłącznie podczas odświeżania obrazu, dzięki czemu doskonale nadaje się do urządzeń zasilanych bateryjnie. Ponadto, wyświetlany obraz jest dobrze widoczny, nawet przy intensywnym oświetleniu.
Zegar dysponuje czujnikami pozwalającymi na pomiar warunków atmosferycznych, magnetometrem oraz chronografem. Jego funkcje i właściwości są następujące:
- zasilanie akumulatorem Li-Po o pojemności 85 mAh,
- ładowanie poprzez złącze microUSB,
- czas pracy na jednym ładowaniu ok. 10 dni,
- pobór prądu w stanie spoczynku ok. 100 µA,
- monochromatyczny wyświetlacz e-ink 1,54” 200×200,
- pomiar ciśnienia atmosferycznego (barometr),
- pomiar wilgotności względnej powietrza,
- pomiar temperatury,
- altimetr (pomiar wysokości),
- kompas,
- datownik,
- chronograf o rozdzielczości 0,1 s,
- skala tachometryczna,
- możliwość zmiany layoutu,
- możliwość odwrócenia kolorów (negatyw),
- wymiary: średnica 44 mm, grubość 12 mm (bez nakrętek), szerokość paska 24 mm.
Budowa i działanie
Schemat ideowy został pokazany na rysunku 1. Możemy na nim wyróżnić kilka funkcjonalnych bloków: czujniki, interfejs wyświetlacza z przetwornicą napięcia, mikrokontroler z klawiaturą sterującą oraz blok zasilania z obwodem ładowania akumulatora.
Układ U1 to czujnik firmy Bosch typu BME280, który odpowiada za pomiar ciśnienia, temperatury i wilgotności. W tej aplikacji został skonfigurowany do komunikacji poprzez interfejs I2C. Obok niego znajduje się układ U6, czyli magnetometr typu QMC5883L, odpowiadający za działanie kompasu. Oba czujniki komunikują się z mikrokontrolerem przy pomocy wspólnej szyny I2C.
Tranzystor Q1 wraz z diodami D1, D2, D3 oraz cewką L1 stanowią serce przetwornicy step-up zasilającej wyświetlacz e-ink. Pracą przetwornicy, poprzez wyprowadzenie GDR, steruje układ logiczny znajdujący się w wyświetlaczu. Przetwornica uzyskuje na wyjściu, pomiędzy punktami PREVGL oraz PREVGH, napięcie o wartości aż 50 V. Standardowo, przetwornica znajduje się w module podstawki pod matrycę, jednak ze względu na rozmiary zegarka zdecydowałem się zaimplementować ją na płytce. Złącze J1 to standardowe złącze typu PFC24, które służy do podłączenia taśmy wyświetlacza. Komunikacja z mikrokontrolerem odbywa się poprzez interfejs SPI.
Elementy R6 oraz R7 stanowią dzielnik rezystancyjny do pomiaru napięcia akumulatora, na potrzeby funkcji wskaźnika baterii. Kondensator C21 pełni funkcję filtra, dzięki któremu wspomniane rezystory mogą mieć dużą rezystancję. Złącze USB oznaczone jako J2, prowadzi do układu U4 – scalonego kontrolera ładowania z funkcją CC/CV przeznaczonego dla pojedynczego ogniwa li-ion/li-po. Rezystor R11 ustawia prąd ładowania na wartość 55 mA, dioda LED D5 sygnalizuje ładowanie, a dioda LED D4 jego zakończenie.
Stabilnego zasilania dla mikrokontrolera dostarcza stabilizator liniowy typu TC1185-3.3. Jest to układ z funkcją ultra-low dropout, dzięki czemu spadek napięcia na nim, w tej aplikacji, wynosi poniżej 100 mV. W stanie uśpienia pobiera niewielki prąd o wartości ok. 60 µA.
Za sterowanie pracą całego zegara odpowiada układ U2. Jest to mikrokontroler STM32 serii G z rdzeniem Cortex M0+, który w stanie spoczynku pobiera prąd o wartości ok. 3 µA, podtrzymując działanie generatora zegarowego i zawartość pamięci RAM. Co 26 sekund rdzeń jest wybudzany przerwaniem wewnętrznym od zegara czasu rzeczywistego (RTC) i odświeża wtedy treść wyświetlacza wskazując aktualną godzinę, odczyty z czujników i stan baterii, po czym znów przechodzi to stanu uśpienia.
Montaż i uruchomienie
Cała konstrukcja składa się z trzech płytek PCB, z czego górna i dolna pełnią rolę maskownic otwartej obudowy (fotografia 1), a centralna płytka, pokazana na rysunku 2, pełni rolę płyty głównej urządzenia.
Montaż urządzenia jest typowy ale wymaga precyzji, ponieważ wszystkie kondensatory i rezystory są w małych obudowach SMD0603. Jedynym przewlekanym elementem na płytce jest kwarc zegarkowy.
Prace montażowe należy rozpocząć od zmontowania strony frontowej – z mikrokontrolerem, stronę tylną należy zmontować w kolejnym etapie.
Największą trudność mogą sprawić komponenty w obudowach LGA – czujnik BME280 oraz magnetmetr QMC5883L. Przylutowanie tych komponentów wymaga użycia kolby hot-air. Odpowiednie ustawienie mikrokontrolera i kontrolera ładowania na PCB, można rozpoznać po przedłużonej linii pierwszego wyprowadzenia (U4 jest odwrócony). W przypadku magnetometru U5 pierwsza nóżka znajduje się w prawym górnym rogu, zaś BME280 (U1) montujemy otworem z lewej strony.
Szczególną uwagę należy poświęcić złączu micro USB. Pomocne będzie wstępne pocynowanie padów i użycie lutownicy hot-air. Złącze PFC24 jest dość delikatne. Montaż należy wykonać przy pomocy lutownicy kolbowej, żeby nie nadtopić zatrzasku. W niektórych kątowych przyciskach występują kołki mocujące – należy się ich pozbyć przed montażem, gdyż płytka jest pozbawiona otworów w tych miejscach. Polecam też zwrócić uwagę na poprawną polaryzację diod D1, D2 oraz D3 – nie są one ustawione w tym samym kierunku. Kwarc lutujemy z małym zapasem długości nóżek – lepiej jest go umieścić tuż przy krawędzi płytki, żeby nie było później problemu z umiejscowieniem akumulatora w dolnej części płytki.
Po montażu należy upewnić się, że na płytce nie ma żadnych zwarć. Jeżeli wszystkie komponenty zostały umieszczone poprawnie, można wpiąć taśmę wyświetlacza przewlekając ją uprzednio przez podłużny otwór w taki sposób, żeby widzieć jednocześnie MCU oraz front matrycy, a następnie przylutować akumulator. Zegarek powinien od razu wystartować. Jeżeli na wyświetlaczu widać godzinę 10:10 oraz poprawny odczyt temperatury, wszystko zostało wykonane poprawnie. Na fotografii 2 i fotografii 3 pokazano działający zegar w różnych trybach wyświetlania.
Jeżeli chcemy, żeby zegarek był odporny na zachlapania akumulator należy odlutować, a płytkę razem z podłączonym wyświetlaczem zalecam pokryć starannie lakierem PVB używając pędzelka. Należy ominąć przyciski oraz otwór czujnika BME280. Szczególną uwagę należy poświęcić dokładnemu pokryciu złącza PFC razem z odsłoniętymi padami taśmy wyświetlacza, a także ścieżkom MCU-kwarc.
Ostatnim krokiem jest przełożenie wyświetlacza na stronę spodnią płytki i przymocowanie go na kroplę gorącego kleju w ten sposób, żeby nie zasłonić otworów montażowych.
Złożenie obudowy powinno być już formalnością – akumulator należy umieścić pośrodku płytki, a maskownice zakontrować nakrętkami tak, aby nie ścisnąć akumulatora oraz nie uszkodzić matrycy(jest bardzo krucha). Dwie nakrętki od strony wyświetlacza oraz 3 od strony akumulatora (fotografia 4). Jeżeli matryca nie jest ułożona centrycznie, można ją podgrzać suszarką i ustawić na miejscu.
Obsługa urządzenia
Zegarek został wyposażony w 3 przyciski służące do jego obsługi, oznaczonych (od góry) START, SET, RESET. Wciśnięcie przycisku SET pozwala na przejście do ustawień, gdzie można dostosować godzinę, datę, wybrać layout interfejsu, zmienić kolory, a także ustawić ciśnienie referencyjne dla altimetru oraz korektę temperatury (noszony na ręku pokazuje oczywiście zawyżoną). Strzałką przełączamy się pomiędzy wartościami, plusem zaś dodajemy jeden. Jeżeli chcemy cofnąć wartość, należy wcisnąć i przytrzymać +, docisnąć SET i puścić +. Trzymając cały czas SET, przyciskiem + będziemy teraz cofać wartość. Należy pamiętać, że w trybie ustawień MCU nie jest usypiany, więc pozostawiony w tym trybie szybko wyczerpie akumulator. Po ustawieniu godziny i daty przyciskiem SET wychodzimy z ustawień. Wskazanie barometru jest realizowane małą wskazówką, która ślizga się po brzegu, a ciśnienie odczytuje się ze skali nadrukowanej na maskownicy. Wskazanie wysokościomierza bazuje na odczycie ciśnienia, wymaga więc ustawienia poziomu referencyjnego – można to zrobić w ustawieniach.
Obsługa chronografu jest zrealizowana tak, jak w większości zegarków na rękę. Wciśnięcie przycisku START uruchamia chronograf. Aby go zatrzymać, wciskamy START ponownie i odczytujemy wynik. Pomimo zatrzymania się wskazówek, chronograf nadal odmierza czas. Ponowne wciśnięcie START powraca do wyświetlania aktualnego czasu, gdzie możemy go znów zatrzymać. Po każdym wykonaniu obrotu na tarczy minut pojawia się kropka oznaczająca 30 minut.
W celu zresetowania chronografu należy go zatrzymać i wcisnąć przycisk RESET. Przez pierwszą minutę pracy chronografu zegarek nie jest usypiany, co umożliwia wygodne korzystanie ze skali tachometrycznej.
Jeżeli zegarek jest narażony na niskie temperatury, na wyświetlaczu mogą pojawiać się cienie. Jest to efekt tzw. ghostingu, charakterystyczny dla tego typu matryc. Aby wykonać pełne odświeżenie ekranu, trzeba przytrzymać przycisk RESET i SET jednocześnie. Trzymając przycisk SET wymuszamy pracę bez usypiania MCU – jest to przydatne kiedy potrzebujemy monitorować wartości w czasie rzeczywistym.
Bartosz Pracz
bartosz.pracz.92@gmail.com
- R1, R4: 10 kΩ SMD0603
- R2, R3: 4,7 kΩ SMD0603
- R5: 1,5 Ω SMD0603
- R6, R7: 100 kΩ SMD0603
- R8, R9: 1 kΩ SMD0603
- R10: 0,4 Ω SMD0603
- R11: 15 kΩ SMD0603
- R12, R13, R14: 0 Ω SMD0603
- C1, C2, C6, C9, C22...C24: 100 nF SMD0603
- C3, C4: 10 pF SMD0603
- C5, C26, C27: 2,2 µF SMD0603
- C7...C20: 1 µF SMD0603
- C25: 220 nF SMD0603
- D1, D2, D3: MBR0530
- D4: dioda LED green SMD603
- D5: dioda LED red SMD0603
- Q1: IRLML0030TR
- U1: BME280 (LGA8)
- U2: STM32G070KBT (LQFP32)
- U3: TC1185-3.3 (SOT23)
- U4: TP4056 (HSOP-8)
- U5: QMC5883L (LGA16)
- EPD display 1,54” 200×200 wersja V2
- L1: 10 µH SMD1206
- Y1: rezonator 32,768 Hz
- J1: PFC 24 pin
- J2: USB B micro
- Akumulator Li-Po 85 mAh 25×15×3
- SW1A, SW2A, SW3A: mikroswitch