Dziś motocykl lub skuter jest dobrą alternatywą do poruszania się po zatłoczonych miastach. Niestraszne mu korki ani brak miejsc parkingowych. Motocykle i skutery są popularne, ale niestety tylko nieliczne jednoślady są fabrycznie wyposażone w zegarek, który okazuje się bardzo przydatny przy codziennych podróżach do szkoły czy pracy. Przedstawione w tym artykule urządzenie jest nie tylko zegarem, ma też bardzo pomocne funkcje, jak pomiar napięcia w instalacji pokładowej oraz temperatury – zarówno powietrza, jak i silnika. Zastosowany jasny wyświetlacz LED pozwala na czytelny odczyt zarówno w dzień, jak i po zmroku.
Opis układu
Schemat urządzenia jest przedstawiony na rysunku 1. Jego sercem jest mikrokontroler AVR ATmega32 – US2. Ten model procesora został wybrany z uwagi na dużą liczbę aktywnych wyprowadzeń, aż 32 (wszystkie zostały wykorzystane). Zadaniem taktowanego wewnętrznym zegarem mikrokontrolera jest odczyt czasu, pomiary danych za pomocą wewnętrznego przetwornika A/C oraz prezentowanie tych danych na wyświetlaczu. Z towarzyszących mu elementów należy wymienić kondensator odsprzęgający zasilanie C5, rezystor podciągają - cy reset R1 oraz elementy odpowiadające za zasilanie wewnętrznego przetwornika analogowo-cyfrowego – C6, C7 i L2. Program dla mikrokontrolera został napisany w języku C (AVR GCC).
Rys.1 Schemat modułu zegarka |
Do pomiaru czasu wykorzystany został leciwy, ale w tym zastosowaniu
całkowicie wystarczający układ PCF8563 – US3. Jest on taktowany kwarcem Q
o niskiej częstotliwości 32768 Hz. Towarzyszą mu elementy C12 i C13
według noty katalogowej. Układ US3 zasilany jest dwojako – albo wspólnym
napięciem zasilania 5V poprzez diodę D5, albo z bateryjki BAT typu
CR2032 poprzez diodę Schottky’ego D6. Bateria ta zapewnia nieprzerwane
zliczanie czasu poprzez US3 także wtedy, gdy zasilanie urządzenia jest
wyłączone. Rezystory R12 i R13 odpowiadają za polaryzację interfejsu
I2C, którym układ US3 jest odpytywany o czas przez mikrokontroler US2.
Drugą ważną funkcją mikrokontrolera jest pomiar napięcia w instalacji
pojazdu. Napięcie to jest podawane na wejście ADC1 poprzez dzielnik
rezystorowy R6/R5. Dodatkowe zabezpieczenie portu przed ewentualnymi
przepięciami zapewnia szeregowy rezystor R7 i dioda Zenera D3. Równie
przydatna jest funkcja pomiaru temperatury otoczenia, do czego
wykorzystano scalony analogowy czujnik LM335 – US4. Czujnik ten jest
polaryzowany za pomocą rezystora R14, a napięcie proporcjonalne do
temperatury jest podawane na port ADC2 mikrokontrolera poprzez dzielnik
rezystorowy R15/R16.
Rys.2 Schemat modułu wyświetlacza |
Ostatnią opcją jest pomiar temperatury silnika, co w przypadku chłodzonych powietrzem małolitrażowych jednośladów może mieć istotne znaczenie. Jako czujnik temperatury zastosowana została termopara typu K. Zapewnia ona bardzo szeroki zakres pomiarowy, ma dość liniową charakterystykę, dzięki czemu nie trzeba stosować specjalnego algorytmu do interpretacji odczytów. Wadą termopary jest bardzo niskie napięcie przez nią wytwarzane (40mV/°C), zatem przed podaniem go na port ADC0 musi zostać wzmocnione. Do tego zadania został użyty wzmacniacz operacyjny US5, który może pracować przy napięciu na wejściach równym potencjałowi ujemnej szyny zasilania (masy przy pojedynczym zasilaniu). Raczej nie powinien to być jednak zwykły tani op-amp jak np. popularny LM358 z uwagi na duże napięcia niezrównoważenia i jego dryft. W prototypowym urządzeniu użyto precyzyjnego wzmacniacza operacyjnego firmy Analog Devices AD8066. Ale może się nadać też inny – byle typu "single supply" albo "rail to rail". Wzmacniacz operacyjny pracuje w typowej konfiguracji nieodwracającej, a wzmocnienie ustalone jest za pomocą rezystorów R9-R10. Na wejściu układu zastosowano prosty filtr dolnoprzepustowy RC na elementach R8-C9, który zabezpiecza przed wzbudzaniem się wzmacniacza. Dodatkowo pasmo przenoszenia wzmacniacza jest ograniczone od góry kondensatorem C10 umieszczonym w pętli sprzężenia zwrotnego (równolegle do R9). Dodatkowymi elementami zabezpieczającymi przed przepięciami są R11 i D4, z którą równolegle występuje C11. Oczywiście na linii zasilania występuje również odsprzęgający kondensator C8. Jak wiadomo, termopara wymaga również kompensacji jej zimnego końca, ale w tym układzie dokonywane jest to software’owo za pomocą temperatury zmierzonej wcześniej układem LM335. Na schemacie widoczne są jeszcze cztery elementy – złącze programowania KANDA-ISP, złącze zasilania 12V, złącze termopary TC oraz dziwnie podłączony przycisk trybu ustawień BTN – jego funkcja zostanie omówiona w dalszej części.
Rys.3 Płytka modułu zegarka |
Do zasilania układu została zastosowana przetwornica zbudowana na układzie MC34063 – US1. Aktywnymi elementami są tu cewka L1 i dioda D1. Parametry pracy przetwornicy są ustalane za pomocą elementów kondensatora C2 (częstotliwość), R2 i R3 (napięcie wyjściowe) oraz R4 (dopuszczalna pulsacja). Z przetwornicą współpracują kondensatory: przeciwwzbudzeniowy C3, wejściowy C4 i wyjściowy C1. Początkowo w układzie zasilania zamierzałem zastosować stabilizator liniowy, jednak zbijanie 2/3 napięcia (z 14V do 5V) to nie był dobry pomysł. Z uwagi na spory pobór prądu (ponad 100mA) stabilizator grzał się niemiłosiernie. Przetwornica jest tutaj zdecydowanie lepszym rozwiązaniem. Napięcie do przetwornicy dociera poprzez diodę D2, która stanowi zabezpieczenie przed odwrotnym podłączeniem układu do zasilania.
Rys.4 Płytka modułu wyświetlacza |
Za większość zużywanego przez zegarek prądu odpowiada moduł wyświetlacza, którego schemat prezentuje rysunek 2. Zastosowano dwa klasyczne, podwójne siedmiosegmentowe wyświetlacze LED, których segmenty mają niezależne wyprowadzenia. Prąd diod wyświetlaczy jest ograniczany za pomocą rezystorów R21–R47. Wyświetlacze te nie są multipleksowane, tylko świecą w sposób ciągły. Dzięki temu możliwe jest zachowanie ich dużej jasności, co ma znaczenie dla akceptowalnej widzialności w słoneczny dzień. Niestety niezależne sterowanie skutkuje potrzebą użycia sporej liczby linii sterujących: 4 cyfry razem z kropkami to aż 32 linie. Konstrukcja bloku wyświetlacza została jednak nieco uproszczona. Założono, że na pierwszej pozycji będzie wyświetlana tylko jedynka lub znak „minus”. Skutkuje to wyświetlaniem czasu w formacie jedynie 12-godzinnym, ale za to liczba wymaganych wyprowadzeń została zredukowana do 26. Blok wyświetlacza jest połączony z resztą układu złączem 27-pinowym DISP1-DISP2 (dodatkowy pin to zasilanie).
Montaż i uruchomienie
Urządzenie zostało podzielone na dwie płytki: moduł główny oraz moduł wyświetlacza. Wygląd tych płytek jest przedstawiony na rysunkach 3 i 4. Obie są ze sobą połączone za pomocą kątowej listwy goldpin. Ale połączenie obu płytek należy przeprowadzić na końcu montażu. Z uwagi na pracę urządzenia w dość trudnych warunkach, montaż musi być przeprowadzony wyjątkowo starannie, a elementy zabezpieczone przed wpływem warunków atmosferycznych. Jeśli płytki wykonane są samodzielnie, to przed lutowaniem korzystnie jest pocynować ich ścieżki specjalnym preparatem, dzięki czemu nie będą one podatne na utlenianie. Montaż elementów należy przeprowadzić w kolejności odmiennej od standardowej. Rozpocząć należy od układów scalonych, ale po nich wlutować trzeba 5 zworek od spodu płytki (możliwie płasko) oraz 3 gniazda przyłączeniowe. Gniazda te należy wlutować od strony druku – otwory montażowe służą jedynie do właściwego pozycjonowania oraz zwiększają mechaniczną wytrzymałość złączy. Dopiero po nich można wlutować drobne elementy SMD. Dławik przetwornicy L1 należy wlutować na leżąco po delikatnym wygięciu wyprowadzeń i ich ewentualnym przedłużeniu. Szczególną trudność mogą niewprawionym sprawić rezystory wyświetlacza R21–R47, które są w rozmiarze 0603. Rezystory te należy wlutować po zamontowaniu wyświetlaczy. Trzeba też zwrócić uwagę na prawidłowe ułożenie dwusekcyjnych wyświetlaczy, z których drugi jest wlutowany "do góry nogami" – o tym, dlaczego takie ułożenie, będzie w dalszej części artykułu.
Fot.5 Moduł zegarka od strony elementów |
Po przylutowaniu wszystkich elementów do obu płytek (z wyjątkiem bateryjki BAT) należy je ze sobą połączyć wspomnianym złączem kątowym goldpin. Wygląd zmontowanych płytek prototypowego urządzenia jest widoczny na fotografiach 5 i 6.
Fot.6 Moduł zegarka od strony wyświetlaczy |
Po przeprowadzonym montażu i sprawdzeniu jego poprawności należy zaprogramować procesor, podłączając programator do złącza KANDA-ISP. Jeśli urządzenie działa poprawnie, to w dalszym kroku należy płytki pokryć kilkoma warstwami lakieru bezbarwnego w sprayu. Przed malowaniem oczywiście trzeba zabezpieczyć wyświetlacze, gniazda i przycisk BTN. Już po lakierowaniu należy odskrobać dwa pady: BAT+ i BAT– oraz wlutować w nie baterię CR2032 (uwaga na polaryzację). W układzie zastosowany został specjalny typ baterii z "wąsami" do lutowania. Po wlutowaniu dobrze jest bateryjkę usztywnić odrobiną kleju na gorąco i również polakierować.
Fot.7 Moduł zegarka wmontowany do obudowy |
Ostatnim etapem jest dopasowanie obudowy. Płytki zostały zaprojektowane
tak, aby mieściły się w standardowej obudowie typu Z-23. Należy w niej
wyciąć okienka na wyświetlacz i na gniazda przyłączeniowe oraz
otworek do wyzwalania przycisku BTN. Panelem czołowym urządzenia jest
krawędź boczna obudowy, gdyż w pobliżu konsoli przedniej większości
jednośladów nie ma zbyt wiele miejsca na
montowanie dodatkowych
elementów. W przedstawionym prototypie wykorzystano tylko jedną część
standardowej obudowy Z-23, druga została dorobiona z plastikowego
kątownika – fotografia 7. Dzięki temu urządzenie jest lepiej dopasowane
do miejsca zamontowania ponad obrotomierzem i prędkościomierzem,
wypełniając przestrzeń pomiędzy wskaźnikami a owiewką – fotografia 8.
Wyświetlacz jest przykryty odpowiednio dociętą płytką z dymionego
pleksi, która jest przykręcona dwiema imbusowymi śrubkami M3 do
plastikowej obudowy zegarka. Takie wykonanie wygląda estetycznie i jest
praktycznie nieodróżnialne od elementów fabrycznych – fotografia 9.
Istotną kwestią jest uszczelnienie obudowy, zwłaszcza jej połączenia z
pleksi. W tym celu użyto czarnego kleju na gorąco.
Fot.8 Zegarek zamontowany w motocyklu |
Zegarek poza czasem ma za zadanie wyświetlać zamiennie również inne parametry – napięcie czy temperaturę. Do przełączania tych wskazań potrzebny jest dodatkowy monostabilny przycisk, umieszczony tak, aby do jego obsługi nie trzeba było odrywać rąk od kierownicy. W testowanym pojeździe taki hermetyczny przycisk został zamontowany za pośrednictwem odpowiednio przyciętego kątownika do obejmy dźwigni sprzęgła z lewej strony kierownicy – fotografia 10. Przycisk ten można bez problemu dosięgnąć kciukiem. Przewód do podłączenia tego przycisku musi być zakończony wtykiem typu IDC pasującym do gniazda programowania KANDA-ISP. Przycisk ma zwierać pin MISO do masy (9 z 10). Dodatkowo pomiędzy styki przełącznika korzystnie jest wlutować kondensator 100nF niwelujący efekt drgań styków. Można też zastosować, jak w prezentowanym przykładzie, przycisk z wbudowanym podświetleniem LED. Potrzebne do zasilania napięcie 5V jest dostępne na złączu KANDA-ISP – pin 2. Szeregowo należy wlutować rezystor ograniczający prąd diody tak, aby nie świeciła ona zbyt mocno. Schemat przyłączenia przycisku przedstawiono na rysunku 11.
Fot.9 Zegarek wyświetlający bieżący czas |
Do podłączenia zasilania został użyty 3-pinowy wtyk typu EDG. Zasilanie zegarka należy dostarczyć z instalacji pojazdu za stacyjką. Kostka, do której można się podłączyć, jest na ogół dostępna w pobliżu lampy przedniej lub pod bakiem paliwa. Innym nieinwazyjnym sposobem wpięcia się do instalacji jest wykorzystanie kostki alarmu, która zwykle znajduje się pod kanapą.
Fot.10 Podświetlany przycisk przy kierownicy |
Do podłączenia termopary użyto wtyku EDG 2-pinowego. Ponieważ każdy wtyk w urządzeniu jest inny, tym sposobem wyeliminowano ryzyko pomyłki przy ich podłączeniu. Wnętrza wszystkich wtyków od strony kabli korzystnie jest zalać czarnym klejem na gorąco, co zabezpieczy je przed wnikaniem wilgoci – fotografia 12.
Rys. 11 Schemat podłączenia przycisku |
Termopara pozwala mierzyć temperatury w zakresie nawet do 1500 stopni
Celsjusza, zatem nie ma ograniczeń co do miejsca tego pomiaru (można
nawet wewnątrz rury wydechowej). Ja zamontowałem czujnik w tylnej części
cylindra, pod gaźnikiem. Wykorzystałem specjalny typ termopary z
fabrycznie zamontowanym oczkiem – fotografia 13. Jednak najbardziej
optymalnym miejscem byłaby miska olejowa. W takim przypadku należałoby
zaopatrzyć się w specjalny typ termopary w formie długiej metalowej
sondy (taki model jest używany w piekarnikach) i wsunąć ją zamiast
bagnetu przez odpowiednio przygotowany korek wlewu oleju. Takie
interwencje w konstrukcję silnika można wykonywać jedynie na własne
ryzyko. Czujnik przymocowany do skrzydełka cylindra jest mniej
inwazyjnym sposobem pomiaru temperatury silnika – fotografia 14.
Obsługa zegarka
Po
włączeniu urządzenia przez kilka sekund wyświetlane jest napięcie
zasilania (co umożliwia jego kontrolę przed, w trakcie i po rozruchu
silnika). Następnie zegarek przechodzi w tryb wskazywania czasu. Tutaj
widać, dlaczego wyświetlacze są wzajemnie odwrócone – otóż w takim
ustawieniu kropki dziesiętne mogą być wykorzystane do prezentacji
mrugającego dwukropka. Naciśnięcie przycisku przełącza wyświetlacz sekwencyjnie
w tryb wyświetlania temperatury powietrza, temperatury silnika i
napięcia, co pokazuje złożeniowa fotografia 15. Napięcie jest
wyświetlane z jednym miejscem po przecinku, a na końcu wskazania pojawia
się mała literka "v" (a raczej "u"). Temperatury są wyświetlane bez
części ułamkowej. Tutaj także przydaje się odwrócony wyświetlacz i
kropka w górnej części – która symbolizuje stopień. Na ostatnim
segmencie wyświetlana jest mała literka "c" – dla temperatury powietrza.
Podobnie prezentowana jest temperatura silnika, tyle że zamiast "c"
wyświetlane są trzy poziome kreski – symbolizujące użebrowanie cylindra
silnika.
Fot.12 Przycisk przed montażem |
Wyświetlacz świeci wystarczająco jasno w dzień, jednak po zmroku światło to może być zbyt mocne i powodować olśnienie. Dlatego przewidziano funkcję jego przyciemnienia – po dłuższym przytrzymaniu przycisku. Kolejne dłuższe przytrzymanie przywraca poprzednią jasność wyświetlacza.
Fot.13 Termopary |
Omówienia wymaga jeszcze tryb ustawień. Do jego obsługi potrzebny jest "przycisk trybu ustawień" BTN umieszczony obok gniazd przyłączeniowych. Przycisk ten zwiera do masy linię ADC1 odpowiedzialną za pomiar napięcia. Wykrycie przez program napięcia o wartości 0 załącza tryb ustawień. Wejście w ten tryb przy aktywnym ekranie zegara pozwala na ustawianie czasu – mruga część wyświetlająca godziny. Po krótkim naciśnięciu przycisku przy kierownicy następuje sekwencyjna zmiana godzin 1–12 i od nowa. Dłuższe przytrzymanie przycisku przełącza na ustawianie dziesiątek minut 0–9, następne przytrzymanie przełącza na ustawianie pojedynczych minut. Kolejne dłuższe przytrzymanie przycisku zatwierdza nowy, ustawiony właśnie czas – co zegarek sygnalizuje krótkim przygaśnięciem. Aby przerwać proces ustawiania, należy po prostu zaczekać kilka sekund, przez co tryb ustawiania zostanie przerwany, a zegarek powróci do poprzednio wskazywanego czasu.
Fot.14 Termopara zamontowana do użebrowania cylindra silnika |
Oprócz wyświetlania czasu urządzenie ma zaimplementowaną obsługę alarmów: zbyt niskiego napięcia akumulatora (brak ładowania!), niskiej temperatury otoczenia (ślisko!) oraz zbyt wysokiej temperatury silnika (przegrzanie!). Po przekroczeniu któregoś ze zdefiniowanych progów zegarek przełącza się w tryb wskazania, które wywołało alarm, a wyświetlacz mruga. Skasowanie alarmu następuje po naciśnięciu przycisku przy kierownicy.
Fot.15 Urządzenie wyświetlające: temperaturę powietrza, silnika oraz napięcie akumulatora |
Powyższy artykuł ukazał się w czasopiśmie "Elektronika dla Wszystkich" w numerze 8/2020
Do pobrania z elportalu:
Wykaz elementów
US1 . . . . . . . . . . . . . . . MC34063 w obudowie SO-8
US2 . . . . . . . . . . . . . . . . . . .ATmega32A TQFP44
US3 . . . . . . . . . . . . . . . . . . . . .PCF8563 SO-8
US4 . . . . . . . . . . . . . . . . . . . . . .LM335 SO-8
US5 . . . . . . . . . . . . . . . . . . . . . AD8066 SO-8
R1,R6,R8,R12,R13,R15,R16 . . . . . . . . . . .10k smd1206
R2 . . . . . . . . . . . . . . . . . . . .3k 1206 smd1206
R3,R10 . . . . . . . . . . . . . . . . . . . . 1k smd1206
R4 . . . . . . . . . . . . . . . . . . . . . . 1R smd1206
R5 . . . . . . . . . . . . . . . . . . . . . .75k smd1206
R7,R11 . . . . . . . . . . . . . . . . . . . 100R smd1206
R9 . . . . . . . . . . . . . . . . . . . . . 120k smd1206
R14 . . . . . . . . . . . . . . . . . . . . . 2k2 smd1206
R17,R18 . . . . . . . . . . . . . . . . . . . .0R smd1206
R21-R47 . . . . . . .150R smd0603, dobrać do wyświetlacza
C1 . . . . . . . . . . . . . . .22uF/10V w obudowie smd-b
C2 . . . . . . . . . . . . . . . . . . . . .500pF smd0805
C3,C5,C6,C7,C8,C9,C12 100nF . . . . . . . . . . . smd0805
C4 . . . . . . . . . . . . . . . . . 22uF/50V smd 6,3×5,4
C10 . . . . . . . . . . . . . . . . . . . . 200nF smd0805
C11 . . . . . . . . . . . . . . . . . . . . . 10n smd0805
C13 . . . . . . . . . . . . . . . . . . . . . 22p smd0805
L1 . . . . . . . . . . . . . . . . . . . .dławik 100uH 1A
L2 . . . . . . . . . . . . . . . . . .dławik osiowy 100uH
D1 . . . . . . . . . . . . . . . . . . . . . . . . 1N5819
D2,D5 . . . . . . . . . . . . . . . . . . . . . . .SM4007
D3,D4 . . . . . . . . . . . . . . . .dioda Zenera 5V1 smd
D6 . . . . . . . . . . . . . . . . . . . . . . . . SOD123
Q . . . . . . . . . . . . . . . . kwarc zegarkowy 32768Hz
DIS1,DIS2 . . . . . . . . podwójny niezależny wyświetlacz
. . . . . . . . . . . . . . . . 7seg. 13mm wspólna anoda,
KANDA-ISP . . . . . . . . . . kątowe gniazdo IDC 2x5 pin,
DISP1 . . . . . . . . . . . kątowe złącze pinhead 20 pin,
DISP2 . . . . . . . . . . . .kątowe złącze pinhead 7 pin,
12V . . . . . . . . . . .3-pinowe kątowe złącze EDG 5.08,
TC . . . . . . . . . . . 2-pinowe kątowe złącze EDG 5.08,
BTN . . . . . . . . . . . . . . . . . kątowy tact switch,
BAT . . . . . . . . . . bateria litowa CR2032 "z wąsami",
Termopara typu K,
Przycisk na kierownicę z przewodem i wtykiem IDC,
Obudowa Z-23 z maskownicą.