A kapcsolás főbb elemei:
- uC
- megjelenítő
- gyorsulás mérő szenzor
- akkumulátor
- töltő
- kikapcsoló áramkör
uC:
ATMEGA328P (32 kByte program memória, 2 kByte RAM) 8 MHz-es belső RC oszcillátorról jár, de az órához szükséges időalapot a PB6-PB7 közé kötött 32,768 kHz-es órakvarcról nyeri, a saját (real time clock) RTC-n keresztül, külső RTC áramkört nem tartalmaz.
A megjelenítő:
128x64 pixel felbontású OLED, SSD1306 vezérlővel. Ilyen eszközt általában NYÁK-ra szerelten árusítanak, de ezek méretével nem voltam elégedett, emiatt olyat kerestem, ami csak magát a kijelző üveget, és a hozzá tartozó, 10-12 mm hosszú fólia érintkezőt tartalmazza. A kijelző működéséhez kétféle feszültség szükséges:
- az elektronika működéséhez 1,65 - 3,6 V
- a panelhez, a pixelek meghajtásához 7 - 15 V
Ez utóbbit, a NYÁK-ra szerelt változatok esetén egy tekerccsel ellátott step-up konverterrel állítanak elő, ami a tekercs miatt szintén nem volt szimpatikus. Azonban a kijelzőbe integrálva található egy kondenzátoros feszültség-kétszerező, amihez külsőleg csak két, kicsi, kerámia kondenzátor szükséges, de azt tudni kell, hogy a kétféle módhoz nem ugyanaz az inicializálás szükséges és a bekötés sem egyforma.
Az OLED-et többféle üzemmódban is meg lehet hajtani (8 bit párhuzamos, 3/4 vezetékes SPI, I2C), én a 4 vezetékes SPI-t választottam, szintén helytakarékosság miatt, hardveres SPI-t használtam.
A szükséges vezérlőjelek:
- OLED RST (reset jel)
- OLED D/C (adat/parancs)
- OLED CS (chip select)
- SPI SCK (SPI órajel)
- SPI MOSI (SPI adat)
A gyorsulás szenzor:
Az alapján választottam, hogy amatőr eszközökkel képes legyek kezelni, beforrasztani. A fizikai méretei 5x3x1 mm, a tokozás típusa 14-Terminal LGA, ami azt jelenti, hogy 14 csatlakó sáv található az IC alján, a tokon kívül nincs "lába", ami nem teszi könnyűvé a kezelést, de még mindig ezt találtam a legjobbnak. Az eszköz 2,0 - 3,6 V közötti feszültség tartományban működik, 3/4 vezetékes SPI, vagy I2C felületen lehet vele kommunikálni. Én a 4 vezetékes szoftveres SPI-t választottam.
- SPI SCK (SPI órajel)
- SPI MOSI (SPI adat a uC-től a slave szköz felé)
- SPI MISO (SPI adat a slave eszköztől a uC felé)
- CS (chip select)
Mérési tartománya X, Y, Z irányban ± 2 g - ± 16 g között választható, az ofszetek programból állíthatók, az egy és két koppantást képes felismerni, ha a megfelelő regiszterekbe megfelelő értékeket írunk. Van energiatakarékos üzemállapota, ami fontos az akkumulátoros táplálás miatt. Összesen 31 regisztert tartalmaz, és egy 32 elemű tárolót (FIFO), amibe a mérési eredmények kerülnek. Innen lehet kiolvasni azokat. Képes 2 INT kimenetet meghajtani, választhatóan, mely eseményre generáljon interruptot. A mérések gyakorisága 0,1 Hz - 3.200 Hz között, 16 lépésben választható.
Nem is részletezném tovább, akit bővebben érdekel, az a mellékelt pdf-ben szemezgethet. Ebben a kapcsolásban az egy, és két koppantás felismerésére alapoztam a működést, hiszen ez 6 féle akciót tesz lehetővé (1 kopp X, Y, Z tengely mentén, 2 kopp X, Y, Z tengely mentén), amivel a menüben navigálást megoldhatónak véltem.
Akkumulátor:
Az órában egy 20x30x4 mm méretű, 200 mAh kapacitású LiPo akku kapott helyet, amit az ebay-ről szereztem be. A valóságban csak 160 mAh kapacitást mértem, de az is elegendő, mivel az óra aktív állapotban 4-6 mA áramot vesz fel, sleep módban pedig néhányszor 10 uA-t.
Akkumulátor töltő:
A méret miatt az MCP73832 töltő áramkört alkalmaztam, mely SOT23-as tokozása optimális helyhiány esetén. Egy ellenállással lehet beállítani a töltőáramot, amit jelen esetben kb. 200 mA-re választottam (4,7 kΩ). Az IC a STAT kimenetét a GND-re húzza töltés közben, ide egy kék színű LED csatlakozik, ami visszajelzést ad a töltési folyamatról.
Kikapcsoló áramkör:
Beépítettem egy P-MOSFET-et (NDS 332) az akkumulátor után, hogy a uC ki tudja kapcsolni a teljes áramkört, alacsony feszültség esetén.
A cikk még nem ért véget, lapozz!
Értékeléshez bejelentkezés szükséges!